Linux中的包管理

1. RPM介绍

rpm是linux中的包管理软件,通过rpm用户可以对rpm包进行查询、安装、卸载、升级和校验等操作。

1.1 查询

查询
-q:可以查看某个包是否已经安装
-qa:查看系统已经安装的所有包
-qi:查询某个安装包的详细情况
-ql:查询安装某个包之后会生成哪些文件
-qc:查询某个软件的配置文件
-qd:查询某个软件的所有文档
–script:查询包中所包含的脚本文件

1.2 安装

安装
-ivh:安装某软件包,并显示安装过程和进度条
–force:强制安装
–nodeps:忽略依赖关系
–noscripts:不执行包中的脚本文件

1.3 卸载

卸载
-e:卸载某个软件

1.4 升级、降级

升级、降级
-U:如有有旧版本,就升级;如果没有旧版本,则执行安装操作
-F:如果有旧版本,就升级;如果没有旧版本,则不执行任何操作
–oldpackage:执行降级操作

1.5 验证rpm包完整性

  1. 首先需要导入公钥文件才能进行完整性的校验 
    rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
  2. 然后通过-K选项进行完整性的校验:

[root@localhost Packages]# rpm -K tree-1.6.0-10.el7.x86_64.rpm 
tree-1.6.0-10.el7.x86_64.rpm: rsa sha1 (md5) pgp md5 OK

1.6 解开rpm安装包

有时候我们需要解开rpm安装包来安装包中某一个单独的文件,这些时候我们就需要用到rpm2cpio工具了: 
[root@localhost tree]# rpm2cpio ../tree-1.6.0-10.el7.x86_64.rpm |cpio -id 
177 blocks

注意 
rpm有一个数据库文件位于/var/lib/rpm/中,其中维护着所有已经安装的软件的元数据等信息,如果这个库文件被损坏会影响rpm的正常运行,将无法再通过rpm -q查询到已经安装到的软件的信息。


2. YUM

yum为rpm的前台工具,因为rpm难以解决软件安装的依赖性问题,所以yum应运而生。yum可以自动解决软件依赖性问题,其底层依赖于rpm运行。 
yum为C/S架构,需要yum服务端和客户端,服务端存放rpm包和rpm包的元数据。yum客户端会有一个缓存用于存放缓存到本地的rpm包的元数据。

2.1 配置yum源

yum需要在/etc/repos.d/下创建后缀为.repo格式的文件来配置yum源


  1. [base] #yum源ID
  2. name=CentOS $releasever cdrom #yum源的名字
  3. baseurl=file:///media/cdrom #yum源的地址,支持http,ftp,file三种格式
  4. gpgcheck=1 #是否开启包完整性验证,0为不开启,1为开启
  5. gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #验证包完整性的公钥存放的地址

注意

  • yum源的版本需要和系统版本匹配
  • yum源ID不能有空格和特殊符号
  • 可以采用变量:$releaserver:当前系统版本 $basearch:当前系统架构
  • 一个baseurl可以配置多个地址

2.2 查看可用的yum源


  1. [root@localhost yum.repos.d]# yum repolist
  2. Loaded plugins: fastestmirror, langpacks
  3. Loading mirror speeds from cached hostfile
  4. repo id repo name status
  5. base CentOS 7 cdrom 9,363
  6. repolist: 9,363

2.3 安装、卸载、升级软件包

yum install:安装软件包
-y:不需要用户执行交互,自动安装
-q:静默模式安装
yum install /路径/包名:安装本地软件包,自动解决依赖关系

yum remove|erase:卸载软件包

yum update:升级软件包

2.4 安装、卸载、升级组包

yum groupinstall:安装组包

yum groupremove:卸载组包

yum groupupdate:升级组包

2.5 清除缓存

缓存文件位于/var/cache/yum下 
yum clean all #清除缓存

2.6 搜寻软件包

yum search 软件名

2.7 查看包信息

yum info 软件名

2.8 查看执行历史,回退


  1. [root@localhost yum.repos.d]# yum history
  2. Loaded plugins: fastestmirror, langpacks
  3. ID | Login user | Date and time | Action(s) | Altered
  4. ——————————————————————————-
  5. 2 | root <root> | 20170418 05:26 | Install | 1
  6. 1 | System <unset> | 20170322 02:18 | Install | 1394
  7. history list
回退 
yum history undo 2

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

(0)
王子豪王子豪
上一篇 2017-04-17 21:29
下一篇 2017-04-17 22:07

相关推荐

  • 浅谈Openssl与私有CA搭建

        随着网络技术的发展、internet的全球化,信息共享程度被进一步提高,各种基于互联网的应用如电子政务、电子商务日益增多并愈加被人们工作和生活依赖。但是,由于互联网的开放性和通用性,网络上的信息是对所有人公开的,这就使网络上的数据传输过程中存在被窃听、篡改等安全隐患,并极有可能给用户带来不可估量的损失。为此,各种保证数据在互联网上…

    Linux干货 2015-06-04
  • N25期第一周作业

    计算机的组成与功能  一台能正常工作的计算机有硬件和软件组成,计算机的硬件就好比人的躯体,计算机的软件就好比人的思想,人的思想控制指挥人的躯体,计算机有了软件才能进行工作。 硬件大致由CPU,内存,输入输出设备,存储设备组成,各个部件的主要作用流程是:由输入设备(例如:键盘)输入数据, 数据暂时出入内存, 而后由内存传到CPU(CPU又由运算器+控…

    Linux干货 2016-12-05
  • iptables实验1

    Iptables 实验1 基于状态放行telnet, ftp, ssh, http, samba, icmp等服务; (1) 对本机的ping请求每分钟不得超出20个; (2) 每客户端对本机的ssh的并发连接数不得超过3个; (3) 本机的telnet服务仅允许工作时间内访问; 本机IP地址192.168.42.113 下面我们先放行所有入站状态为ESTA…

    Linux干货 2016-10-24
  • linux文件系统

       文件系统: linux区分大小写:                    标准的linux文件系统xfs ext(如ext4),严格区分大小写,例:MAIL,Mail,mail;而windows是不那么敏感的。 这是因为文件系统的格式不同。比如:U盘的Fat32在linux中是vfat文件系统就可不区分大小写 不同文件系统,下面显示一个隐藏文…

    Linux干货 2017-11-19
  • 文本处理工具sed

    处理文本的工具sed Stream EDitor,  行编辑器     sed 是一种流编辑器,它一次处理一行内容。处理时,把     当前处理的行存储在临时缓冲区中,称为“模式空间”(     pa…

    Linux干货 2016-08-10
  • M20-1权限作业

    1、当用户xiaoming对/testdir 目录无执行权限时,意味着无法做哪些操作? [root@centos7 testdir]# ls -ld /testdir/ drwxr-xrw-. 3 root root 27 Aug  5 0…

    Linux干货 2016-08-05

评论列表(1条)

  • renjin
    renjin 2017-04-21 11:04

    主要介绍了包管理器rpm和yum的使用,内容介绍的很详细,排版也很不错,加油!加油!