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 21:18
下一篇 2016-12-30 22:49

相关推荐

  • 初识Linux-即使是997也不能停止学习

    1.计算机的组成及其功能:    从1946年第一台通用计算机ENIAC诞生至今,几乎所有的计算机系统都是建立在冯诺依曼体系结构上的。那么何为冯诺依曼体系结构? 冯诺依曼体系结构:        控制器:是整个计算机的中枢,负责计算机的整体调度工作,将指令从存储器中取出,并对指令进行解释执行。 &n…

    Linux干货 2016-10-29
  • bash特性

    一、命令历史     概念:shell进程能够将之前执行过的命令保存记录下来     存储位置:         1、命令历史的文件             使用以下环境变量查看相关参数:     &…

    Linux干货 2016-09-19
  • LAMP部署之NFS共享网络存储

    LAMP部署之NFS共享网络存储 架构图: 说明:     当一个网站的访问量上来之后,一台WebServer服务器无法应付那么高的并发,需要横向扩展Web服务器数量,     当我们访问网页,向Web服务器请求资源时,资源主要分为静态资源和动态资源(程序处理),  &…

    Linux干货 2016-06-20
  • 0809vim编辑器作业

    1、如何设置tab缩进为4个字符? :set tabstop=4 首先在命令扩展模式下列出所以set设置的相关选项set all  找到一个跟tab相关的选项,上网查了下意思,tabstop表示的意思就是制表为,他的默认值设置的为8,我们目的是4,那么在命令扩展模式下设置:set tabstop=4就OK了 2、复制/etc/rc.d/init.d…

    Linux干货 2016-08-09
  • grep 命令详解

    grep 命令详解 概述:本文档基于 info grep 翻译,完成度可能 90% 左右。 作者:N10-guli 时间:2016-01-05 版本:v1.0 目录:     1,grep 命令的选项     2,grep 命令的正则表达式     3,gre…

    Linux干货 2016-02-14
  • shell脚本编写-4

    1、while 循环的特殊用法(遍历文件的每一行) while read line; do 循环体 done < /PATH/FROM/SOMEFILE 依次读取/PATH/FROM/SOMEFILE 文件中的每一行,且将行赋值给变量line 练习:扫描/etc/passwd 文件每一行,如发现GECOS 字段为空,则填充用户名和单位电话为629856…

    Linux干货 2016-09-01