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)
Net18_肖肖Net18_肖肖
上一篇 2016-03-27 21:57
下一篇 2016-03-27 22:08

相关推荐

  • iptables实验3 关于内网外网的地址转换及端口转换

    地址属于内核,而不属于网卡!!!!     网络防火墙的实现(主要是forward链) 172.16.100.68(A)和172.16.100.67(B) 192.168.12.10(B)和192.168.12.77(C)(VNET2) B作为C的网关   配置B主机的网卡一个为192.168.1.72,另一个为172.16.2…

    Linux干货 2016-10-30
  • varnish原理及配置事例

    Varnish是一款高性能的开源HTTP加速器(其实就是带缓存的反向代理服务),可以把http响应内容缓存到内存或文件中,从而提高web服务器响应速度。与传统的 squid 相比,varnish 具有性能更高、速度更快、管理更加方便等诸多优点,很多大型的网站都开始尝试使用 varnish 来替换 squid,这些都促进 varnish 迅速发展起来 Varn…

    Linux干货 2015-12-06
  • 第三周_Linux用户基础命令

    文本操作命令
    用户相关命令

    Linux干货 2017-12-24
  • N26-第十四周

    1、系统的INPUT和OUTPUT默认策略为DROP;[root@centos7 ~]# iptables -P INPUT DROP[root@centos7 ~]# iptables -P OUTPUT DROP1、限制本地主机的web服务器在周一不允许访问;新请求的速率不能超过100个每秒;web服务器包含了admin字符串的页面不允许访问;web服务…

    Linux干货 2017-06-20
  • MBR详解

    前言:     话说,现在买电脑如果预装win8以上的系统,基本上都是GPT。想当年博主买的电脑预装的win8磁盘分区样式就是GPT,而且貌似如果想把win8换win7就得把GPT改成MPR。虽然会在最后提到GPT,不过本文还是主要讲解MBR,并通过实验验证。 机械硬盘: 主引导记录(Master Boot Record,缩写:MBR),…

    Linux干货 2016-11-14
  • 虚拟机的三种网络模式

    前言     虚拟机的网络模式,是环境部署时的重要环节。不同的运行环境对网络的要求也是不用的,本章节重点介绍虚拟机的三种网络模式、以及他们之间的区别 虚拟机网络模式      无论是vmware,virtual box,virtual pc等虚拟机软件,一般来说,虚拟机有三种网络模式: 1.桥接 2…

    2017-07-11

评论列表(1条)

  • stanley
    stanley 2016-03-27 22:03

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