linux程序包管理

Linux程序包管理

       API:Application Program Interface

       ABI:Application Binary Interface

          Unix-like,

             ELF

          Windows

                exe,msl

         库级别的虚拟化;

              Linux:WinE

              Windows:Cywin

  系统级开发:

      C/C++: http, vsftpd,nginx

         go

  应用级开发:

      java/Python/perl/ruby/php:

     java:hadoop,hbase,(jvm)

          Python:openstack,(pvm)

          perl:(perl)

          ruby:(ruby)

            php:(php)

   程序格式:

       源代码:文本格式的程序代码:

       编译开发环境:编译器,头文件,开发库

       二进制格式:文本格式的程序代码–>编译器–>二进制格式(二进制程序,库文件、配置文件、帮助文件)

  java/python程序格式:

       源代码:编译成能够在其虚拟机(jvm/pvm)运行的格式;

       开发环境:编译器、开发库

       二进制

 项目构建工具:

     c/c++:make

     java:maven

 程序报管理器:

     源代码–>目标二进制格式–>组织成为一个或有限几个”包“文件;

         安装、升级、卸载、查询、校验

      程序包管理器:

          debian:dpt, dpkg, ".deb"

          redhat: redhat package manager简称rpm, ”.rpm"

          S.u.S.E:rpm, ".rpm"

          Gentoo: ports

          Archlinux:

      源代码:name-VERSION.tar,gz

        VERSION: major.minor.release

     rpm包名格式:

          name-VERSION-release.arch.rpm

          VERSION: major.minor.release

          release.arch: rpm报的发行号

          release.os:  2.el7.i386.rpm

          rchetecture: i386,x64(amd64),ppc,noarch

          redis-3.0-1.centos7.x64.rpm<–redis-3.0.2.targz

     拆包:主包和支包

          主包:name-VERSION-release.arch.rpm

          支包:name-function-VERSION-release.arch.rpm

          function:devel,utils,libs….

          依赖关系:

              x, y, z

              x–>y,z

              y–>A,B,C

              C–>y

     前端工具:自动解决依赖关系;

          yum:rhel系列系统上rpm包管理器的前端工具;

          apt-get (apt-cache):deb包管理的前端工具;

          zypper: suse的rpm管理器前端工具;

          dnf: Fedora 22+系统上rpm包管理器的前端工具;

     程序包理器:

         功能:将编译好的应用程序的个组成文件打包成一个或几个程序包文件,从而更方便地实现程序包的安装,升级,卸载和查询等管理操作;

         1、程序包的组成清单(每个程序报都单独实现);

           文件清单

           安装和卸载是运行的脚本

        2、数据库(公共)

           程序报的名称和版本;

           依赖关系;

           功能说明;

           安装生成各文件的路径及校验码信息;

           等等

           /var/lib/rpm/

    获取程序报的途径:

       (1)系统发行版的光盘或官方的文件服务器(或镜像站点):

            http://mirrors.aliyun.com

           http://mirrors.sohu.om;

           http://mirrors.163.com

       (2)项目的官方站点

       (3)第三方组织:

            (a)EPEL

            (b)搜索引擎

               http://pkgs.org

               http://rpmfind.net

               http://rpm.pbone.net

      (4)自动动手,丰衣足食

         建议:检查其合法性

         来源合法性;

         程序包的完整性;

     CentOS系统删rpm命令管理程序包:

        安装,升级,卸载,查询和校验,数据库维护

        rpm命令:rpm [OPTIONS] [PACHAGE-]

        安装:-i.–freshen

        升级:-u,–update,-F,–freshen

        卸载:-e, –erase

        查询:-q'–query

        校验:-V,–verify

        数据库维护:–builddb, –initdb

        安装:rpm{-i |–install-options] PACKAGE-FILE…

             rpm

             GENERAL OPTIONS:

             -v: verbose,详细信息

             -vv:更详细的输出

             [install-options]:

             -h: hash marks输出进度条;每个#表示2%的进度;

            –test: 测试安装,检查并报告依赖关系及冲突消息等;

            –replacepkgs: 重新安装

       注意:rpm可用自带脚本:

             四类:

          preinstall:安装过程开始之前运行的脚本,%pre

          postinstall:安装过程完成之后运行的脚本,%post

          preuninstall:卸载过程真正开始执行之前运行的脚本%postun,–nopostun]

          –nosignature: 不检查包签名信息,不检查来源合法性;

          –nodigest: 不检查包完整信息;

原创文章,作者:shadow,如若转载,请注明出处:http://www.178linux.com/65391

(0)
shadowshadow
上一篇 2016-12-30
下一篇 2016-12-30

相关推荐

  • Linux Basics-重定向与管道:第一部分

    Linux Basics-重定向与管道:第一部分 概述 本教程将介绍 Linux 中重定向标准 IO 流的基本技术。学习: 什么是重定向与标准 IO 流:标准输入、标准输出和标准错误 各种流和管道的实际应用   前提条件 你应该了解 Linux 基本知识以及拥有一个正常工作的 Linux 系统,在本文说明的实例中,我采用是CentOS 7 内核版本…

    Linux干货 2016-10-29
  • iptables简单概念..

    iptables: 包过滤型的防火墙 Firewall:防火墙,隔离工具;工作于主机或网络边缘,对于进出本主机或本网络的报文根据事先定义的检查规则作匹配检测,对于能够被规则匹配到的报文作出相应处理的组件;    主机防火墙     网络防火墙   &…

    Linux干货 2017-06-19
  • vim编辑器

    一、vim简介    vi: Visual Interface,文本编辑器     文本: ASCII, Unicode     文本编辑种类:         行编辑器: sed…

    Linux干货 2016-08-10
  • 0803linux基础小记

    让普通用户无法登录: centos 6  touch /etc/nologin echo "wating" > /etc/nologin 普通用户登录时不能进入系统,有提示信息 centos7  touch /etc/nologin 或touch /run/nologin  chage -l …

    Linux干货 2016-08-05
  • linux文件管理

    目录创建删除,软硬链接的区别和注意,file命令的使用,工作中遇到一些情况的处理方法

    2017-11-18
  • samba服务实现:linux和windows之间共享

    1,首先在linux(centos6,7)安装好samba程序:     yum -y install samba   samba-common        主配置文件:/etc/samba/smb.conf   ~]# groupadd share_gro…

    2017-03-05