使用yum、rpm进行软件包管理

在前面我们通过使用yum的命令下载了httpd和dhcp,大家可能觉得通过一条命令的方式下载需要的功能简直不要太简单!那么yum除了下载的功能外,还有其他的作用吗?除了yum外,还有其他的命令来下载安装软件吗?本章节将详细介绍。

一、软件包管理

软件包分类:

1.源码包:直接开放源代码(一般使用c语言,容易报错,所以一般不采用源代码包);

2.二进制包:源代码包经过编译之后的机器码包(也称rpm包、系统默认包)。

 rpm包相较于源码包的优点是安装速度快,只需要通过几个命令就能实现软件包的安装、升级、查询和卸载;但是缺点是经过编译后,不能看到源代码,功能选择不如源代码灵活,而且具有依赖性(如下载a软件必须先下载b软件;卸载a软件时先卸载b软件)

二、rpm包管理

1.rpm包名命名

这里以kolourpaint-4.10.5-4.e17.x86_64.rpm为例

2.rpm包依赖性

  • 树形依赖:a——>b——>c
  • 环形依赖:a——>b——>c——>a
  • 模块依赖:可以在www.rpmfind.net

3.rpm相关命令

  • 包全名:操作的包是没有安装的软件包时使用包全名
  • 包名:操作已经安装的软件包时,使用包名。在/var/lib/rpm里查看

了解上面两个区别后,我们就可以使用一系列的rpm命令管理安装包了。

rpm -i          ##安装
    -v          ##显示过程
    -h          ##hash加密
    -e          ##卸载
    -q          ##查看
    -a          ##所有
    -p          ##软件包
    -ql         ##查看软件在系统中的安装文件路径
    -qlp        ##查看未安装的软件包在系统中如果安装后产生文件的路径
    -qf         ##根据某个文件找出此文件属于哪个安装包
    -qc         ##查看软件的配置文件名称
    -qd         ##查看软件的帮助信息
    --scripts   ##查看脚本
    --nodeps    ##安装软件忽略软件依赖
    --force     ##强行安装软件
    -Kv         ##检测软件包是否被篡改

4.yum相关命令

yum clean all           ##清除原有yum缓存
    repolist            ##列出仓库信息
    install software    ##安装软件
    update              ##更新
    list installed      ##列出已安装
    list available      ##可安装软件
    list all            ##列出所有软件
    reinstall software  ##重新安装软件
    remove software     ##卸载软件
    info dhcp           ##查看dhcp信息
    search dhcp         ##软件信息搜索,根据关键字搜索
    whatprovides file   ##根据文件找出包含此文件的软件

安装软件组:
yum groups list         ##列出软件组
    groups info         ##查看软件组的信息
    groups install sfgroup   ##安装软件组
    groups remove sfgroup    ##卸载软件组

三、命令操作

了解完上面的基本命令后,我们做几个实验具体操作一下。打开虚拟机后,发现yum用不了,这是因为我们上次试验中搭建yum源时没有进行永久配置。

永久配置yum的方法:

vim /etc/rc.d/rc.local
在里面最后一行加上:
mount /dev/sr0 /rhel7.2/       ##rhel7.2是我上篇博客建立过的,这里进行永久挂载即可
chmod 755 /etc/rc.d/rc.local   ##修改文件权限,开机可以执行
reboot                         ##重启

 

1.wps的安装

这里我已经有了wps的安装包。

使用yum安装要使用包全名:

安装完成后可以看到:

2.kolourpaint的安装

同样我们也是已经提前下载好了这两个软件包。

使用yum命令下载kolourpaint后发现:

这是因为前面提到过的rpm包的依赖性,为了解决这个问题,我们可以采用rpm忽略依赖性的命令来继续下载:

可以看到已经没有那么多依赖性的提示了。

使用rpm强制性安装kolourpaint:

假如有的安装包被篡改该如何发现呢?

这里使用这两个安装包来进行试验:

 

当如上图显示OK时,证明软件包未被篡改。

怎样让我想安装的带有依赖性的软件包可以直接使用yum来安装呢?

createrepo -v /var/www/html/software/

ls查看software里是否出现了repodate

这时我们打开/etc下的/yum.repos.d/yum.repo

在后边加上:

   [software]
   name=third software
   baseurl=file:///var/www/html/software
   gpgcheck=0

yum clean all之后

就可以直接使用yum install 命令下载软件了。

下载完软件后,它的包名可以作为命令直接启动此软件。假如不小心删掉了,其实也有恢复的方法:
首先我们要把软件包复制一份

然后把复制包里的启动命令提取出来:

要把这个命令还原肯定得先知道这个命令原先在哪里:

也可以使用yum -qlp的命令直接查找路径:

 

查找出kolourpaint在/usr/bin下,因此我们把kolourpaint复制过去:

现在我们可以继续使用kolourpaint来启动这个软件了。

 

如果在查看可安装软件时不需要64位或其他不想看到的软件包,我们可以在这里编辑:

这样就不会看到和下载64位的软件了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值