Package Manager

Package Manager


  • Package 管理工具的分类

  • rpm

  • yum

  • Source Code Install


管理工具的分类

前段管理工具:
Debian:deb
Redhat,Suse…:rpm

前端管理工具:
Debian:apt-get
Redhat:yum,dnf

RPM

RPM是什么?
RPM全称是RPM Package Manager,是一款用来管理软件包的工具。 
RPM有什么用?
RPM能够用来管理程序包,包括软件包的安装,删除,卸载,升级,降级,查询操作。

RPM包名:

Packagename-modname-major.minor.revision.distributions.arch.rpm

例如: NetworkManager-adsl-1.0.6-27.el7.x86_64.rpm

rpm命令的格式:

rpm [COMMAND] [OPTION]

查询:

rpm -q [option]

    -a:显示当前主机所有包。
    -i [Package_name]:显示程序包的详细信息。
    -l [Package_name]:列出程序包安装后生成的所有文件。
    -c [Package_name]:列出程序的配置文件。
    -d [Package_name]:列出程序包的文档文件。
    -p [Package_PATH]:针对还未安装的程序做查询。需要与q和其他参数搭配使用。
    --scripts [Package_name]:列出程序包自带的脚本。
    --provides [Package_name]:列出程序包所提供的功能。
    -R [Package_name]:查询指定程序包所依赖的功能。
    --whatprovides [功能]:查询指定功能是哪个程序包提供的。
    --whatrequires [功能]:查询所有以来此功能的所有程序包。

    常用用法:-qa -qi -ql -qc -qd -qpi -qpl...

安装:

rpm -i [OPTIPN] [PACKAGE_PATH]

    -v|-vv:显示安装的详细信息。
    -h:以hash表的格式来实时显示进度,单位#。
    --test:测试安装。
    --nodeps:忽略依赖关系。
    --replacepkgs:重新安装。

    --nosignature:不检查来源合法性。
    --nodigest:不检查包的完整性。

    --noscript:不执行脚本。
      %pre:安装前脚本。
      %post:安装后脚本。
      %noprenu:卸载前脚本。
      %postun:卸载后脚本。

卸载:

    rpm -e [Package_name]

升级

    rpm <-U --upgrade |-F> [option] [Package_name】   
    -U:如果有更新就更新,没有软件就安装。  
    -F:如果有更新就更新,没有就推出。
    -V:详细信息。
    -h:hash表显示。
    --fouce:强制。

降级:

#rpm -F --oldpackage [Package_name]

校验,导入密钥:

rpm -V [Package_name]

rpm –import [Key_File]

rpm DB

    rpm {--initdb|--rebuilddb}
    --initdb:初始化rpm数据库。
        如果事先不存在就创建;否则,不执行任何操作。
    --rebuilddb:重建
        无论是否存在,直接创建数据库。

YUM

YUM是什么?
Yellow Dog Updata modify,是基于RPM的一款前端包管理工具。
YUM的功能是什么?
YUM通过仓库的方式来实现自动下载安装的过程,并通过元数据表来自动解决程序包的依赖问题。
YUM 原理

YUM Repository

YUM中的仓库是什么?
是存储了众多的rpm包,以及包相关的元数据文件(repodata目录下)。
文件服务器的形式:
ftp:// http:// nfs:// file:///

Create Repository:

  1. 通过命令创建。

     yum-config-manager --add-repo=[REPO_PATH]
  2. 通过配置文件创建。 vim /etc/yum.repos.d/*.repo

     [repo_ID]
     name=repo_name  
     baseurl=repo_path_url_1   指定仓库URL,可以指定多个URL。   
              repo_path_url_2 
     enable={0|1}              是否开启次仓库,默认为1,启用。
     enablegroups={0,1}     是否开启包组功能,批量管理包,默认为1,启用。
    
     gpgcheck={0|1}            是否开启gpg检查包完整性与合法性,默认为1,启用。
     gpgcheck=KEY_PATH         指定gpg金钥位置。
    
     failovermthhod={roundrobin|priority}    选择使用哪一个URL。
                默认为roundrobin,随机选择URL。
                priority,按照顺序轮询。
    
     username , passwd         某些仓库是需要身份验证的。
     cost=#                  指定仓库的开销,默认数值为1000。

YUM命令的格式:

yum [COMMAND] [OPTION]

命令行的选项:

     -y   所有交互都选择YES
     --nogpgcheck   不用进行完整性和合法性校验
     --disablerepo [repoistory_ID]   关闭这个仓库
     --enablerepo [repoistory_ID]   开启这个仓库
     --noplugins  禁止使用插件

查询显示:

     yum list [installed|updates] [glob...] 
     yum repolist   仓库列表。
     yum info [glob...]   包信息。
     yum [provides | whatprovides] [glob...]   所具有的功能与依赖的功能。
     yum search [string...] 根据字段来查询包。
     yum deplist [glob...]      列出依赖关系。
     yum history [info] [glob...]       不带参数即查看历史信息,info并指定glob查询单独一个包的历史信息。

安装,重装:

     yum install [PACKAGE...]       安装
     yum reinstall [PACKAGE...] 重装

卸载,降级:

     yum remove [PACKAGE...]        删除包。
     yum downgrade [PACKAGE...] 降级包。

清除,创建:

     yum clean [PACKAGE|metadata|expire-cache|rpmdb|plugins|all]    清除特定或者全部数据。
     yum makecache    创建缓存。

包组相关:

     yum grouplist      列出包组。
     yum groupinstall     安装包组。
     yum groupupdate      升级包组。
     yum groupremove      删除包组。
     yum groupinfo [GROUP_PACKAGE]      查询包组信息。

yum仓库文件的中变量详解:

     $releasever :OS发行版主版本号
     $arch:平台
     $basearch:基础平台
     $YUM0-$YUM9
     例如: http://mirros.163.com/centos/$releaserver/$basearch/$OS

Source Code Install

Source Code Install什么是?
源码安装,指的是通过还没编译的源代码,自行编译安装程序包。
Source Code Install有什么功能?
通过源码安装安装的程序与通过程序包安装的程序基本功能完全一致。
Source Code Install有什么好处?
通过源码安装,可以灵活选择程序模块,自行指定安装后的文件存放位置。

source code install

程序包安装概述:

二进制程序包:
textapp-VERSION-release.src.rpm –>安装后使用rpmbuild命令制作成二进制格式的rpm包,然后再安装。

源码安装: 
源代码 –> 预处理 –> 编译(gcc) –> 汇编 –> 链接 –> 执行

源码获取渠道:

官方自建站点:
apache.org (ASF)
mariadb.org …

代码托管:
sourceforge
Github.com
code.google.com

源码安装的步骤:

C代码编译安装三步骤 :

  • ./configuer :
    (1)通过选项传递参数,指定启用特性,安装路径等;执行时会参考用户的指令以及Makefile.in文件生成makefile;
    (2)检查依赖到的外部环境;

  • make:
    根据makefile文件,调用编译器,构建应用程序;

  • make install:
    链接文件;

源码安装的基本命令以及参数:

    ./configure [option]
    --prefix=PREFIX    指定文件安装路径
    --sysconfdir=DIR        指定配置文件安装路径
    --help      查看帮助
    ...

    make

    make install

源码安装注意事项:

  1. 安装前一定要查看文档,README , INSTALL 两个文档。

  2. 如果自行知道安装文件存放位置,请事前创建好程序文件存放目录。

  3. 源码安装完成后,要将系统环境变量设置正确。

    PATH=[bin_PATH]$PATH        可执行文件路径
    LD_LIBRARY_PATH=[lib_PATH]$LD_LIBRARY_PATH      动态库文件路径
    LIBRARY_PATH=[lib_PATH]$LIBRARY_PATH            静态库路径
    C_INCLUDE_PATH=[include_PATH]$C_INCLUDE_PATH        头文件路径
    
    MAN中的帮助文档路径指定:
    在 /etc/man_db.conf 文件中添加: 
          MANDATORY_MANPATH                       /PATH/TO/man

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

(0)
上一篇 2016-03-27 21:57
下一篇 2016-03-27 22:08

相关推荐

  • 浏览和管理log文件

    浏览和管理log文件 log文件是一种包含系统消息的文件,包括内核、服务和应用运行在其上。不同的日志文件对应不同的日志信息。例如,默认的系统log文件,一个log文件对应安全消息,一个log文件对应计划任务。当要对一个系统问题排错例如加载内核驱动或者当寻找对系统的非授权登录攻击,日志文件是很有帮助的。一些log文件被一个称之为rsyslogd的守护进程控制。…

    Linux干货 2017-05-15
  • 马哥教育网络班21期+第6周课程练习

    请详细总结vim编辑器的使用并完成以下练习题 1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; [root@localhost ~]#cp /etc/rc.d/rc.sysinit /tmp/ [root@localhost&nbs…

    Linux干货 2016-07-29
  • 通用二进制安装MySQL(MariaDB)

    一、前言     MySQL是一个关系型数据库管理系统,是最流行的关系型数据库管理系统,由于其体积小、速度快、总体拥有成本低,并且之前是完全开源,所以大受欢迎。但由于后面MySQL卖给了SUN,随后SUN被Oracle收购,虽然也有开源免费版本,但是很多功能都需要另外购买商业版本,导致现在MySQL使用份额逐渐减少。所…

    Linux干货 2015-10-15
  • 激情的魅力samba服务(热舞篇)

    正如名称一样的迷人的一个服务,充满了激情。火热的天气中更添加一分悸动,本章就尝试对下面火热的samba服务是要如何破解并掌握于手心中。(本篇当中借鉴了鸟哥私房菜和linux就该这么学还有传说中的中华小题库,通过做题来对于samba进行初步的了解)后续还会添加一篇关于samba服务的文章,作为深度了解。 首先了解下samba的来源,听说作者老道(Tridgwe…

    Linux干货 2017-08-19
  • 文件搜索者-find命令详解

    1. 文件查找:          在linux系统中由于文件的众多,往往需要在众多的文件当中查找某一个文件,如果时间一长,很难记得文件存放至何处,不过,这一点,你不比担心,因为开发人员为我们提供了强大的文件搜索工具,下面将介绍两款常用的文件查找工具locate,和find,这两…

    Linux干货 2016-08-15
  • Linux的常见文件类型

      在linux中,文件的类型和权限通常以【-rwxr-xr-x】来表示,文件以第一个字符来表示不同的文件类型,具体如下。   – :普通文件;颜色为灰白色   d :目录文件;颜色为蓝色   b :块设备文件;颜色为黄色   c :字符设备文件;颜色为黄色   p :管道文件;颜色为绿…

    Linux干货 2016-10-20

评论列表(1条)

  • stanley
    stanley 2016-03-27 22:03

    又见md,用了md确实很上档次。逻辑清楚,内容丰满,赞