2020.03.13第九章

本文详细介绍了在Linux环境下如何使用RPM和YUM工具进行软件包的安装、升级、卸载及查询等操作。涵盖了RPM包的结构解析、安装参数说明,以及YUM工具的优势和使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

安装RPM包或源码包

RPM工具

  • RPM是Red Hat Manager的缩写。它是以一种数据库记录的方式将我们所需要的套件安装到Linux主机的一套管理程序。
    如果虚拟机光驱中还有系统安装盘镜像,就可以通过执行如下命令把光驱挂载到/mnt目录下。先检查一下VMware右下角的小光驱图标是否点亮,如果没有,点击一下,再点击“连接”就可以点亮它。当挂载光驱后,会在/mnt/Packages目录下看到很多后缀为.rpm的文件,这些文件就是RPM包。
    在这里插入图片描述
  • 每个RPM包的名称都由-和.分成了若干部分。
  • 比如在abrt-2.1.11-36.el7.centos.x86_64.rpm包中:
  • abrt为包名
  • 2.1.11为版本信息
  • 45.e17.centos为发布版本号
  • x86_64为运行平台。
  • 常见的运行平台有:i386、i586、i686和x86_64。
  • 注意的是,CPU目前分32位和64位,i386、i586和i686都为32位平台,x86_64为64位平台。
  • 有些RPM包并没有写具体的平台而是noarch(如ant-1.9.2-el7.noach.rpm),这说明这个RPM包没有硬件平台限制。

安装RPM包

安装命令示例:
# cd /mnt/Packages/
# rpm -ivh libjpeg-turbo-devel-1.2.90-5.el7.x86_64.rpm
  • -i:表示安装
  • -v:表示可视化
  • -h:表示显示安装进度
    另外,在安装RPM包时,常用的附带参数还包括:
  • –force:表示强制安装,即使覆盖属于其他包的文件也要安装。
  • –nodeps:表示当要安装的RPM包依赖于其他包时,即使其他包没有安装,也要安装这个包。

升级RPM包

  • 命令:rpm -Uvh filename
  • -U:表示升级

卸载RPM包

  • 命令:rpm -e filename
    filename是通过rpm的查询功能所查询到的。
  • 对此介绍:先查找一个已经安装的包,然后使用-e选项卸载。
示例命令:
# rpm -qa libjpeg-turbo-devel
# rpm -e libjpeg-turbo-devel
  • 卸载时,-e选项后面的filename和安装时时有区别的。
  • 安装时,是把一个存在的文件作为参数,而卸载时只要包名即可。

查询一个包是否已安装

格式命令:rpm -q RPM包名        //“包名”不带平台信息和后缀名的

示例命令:
在这里插入图片描述

  • 如图显示不存在。
 安装命令:
# rpm -ivh libjpeg-turbo-devel-1.2.9o-5.el7.x86_64.rpm
# rpm -q ibjpeg-turbo-devel
可以使用命令rpm -qa查询当前系统所有已安装的RPM包,限于篇幅,只列出前10个,如下:
# rpm -qa |head

得到一个已安装的RPM包的相关信息

要得到一个已安装RPM包的相关信息,可以使用以下格式命令:

# rpm -qi 包名    //不需要加平台信息和后缀名
示例命令:
# rpm -qi libjpeg-turbo-devel

列出一个RPM包的安装文件

格式命令:rpm -ql 包名
示例命令:# rpm -ql libjpeg-turbo-devel

列出某个文件属于哪个RPM包

格式命令:# rpm -qf 文件的绝对路径
示例命令:# rpm -qf /usr/lib64/libjpeg.so

yum工具

  • yum工具比RPM工具更加方便。
  • yum最大的优势是可以联网区下载所需要的RPM包,然后自动安装。如果要安装的RPM包有依赖关系,yum工具会依次安装所有相关的RPM包。

列出所有可用的RPM包

使用yum list命令,可以列出所有的RPM包资源,如:

# yum list | head -n 20

在这里插入图片描述

  • 如图最左侧是RPM包名 中间是版本信息 最右侧是安装信息
  • 如果安装,最右侧就显示@base、@update或@anaconda,前面都会有@符号,如果未安装,则显示base或anaconda;如果RPM包已安装但需升级,则显示updates

搜索RPM包

    命令:# yum search [相关关键词]
    示例命令:# yum search vim

可用grep过滤,而找到相应的RPM包,如:

# yum list |grep ‘vim’

安装RPM包

命令:# yum install [-y] [RPM包名]

如果不加-y选项,则会以与用户交互的方式安装。

示例命令:# yum install -y protobuf -vim
  • 在这个过程中,它首先会把需要安装的RPM包列出,如果有依赖关系,也会把所有依赖的包列出来。然后询问用户是否需要安装,输入y则安装,输入n则不安装。
  • 但可以直接加-y选项,就省略了这一步。

卸载RPM包

命令:# yum remove [-y] [RPM包名]
示例命令:# yum remove protobuf-vim
  • 卸载和安装一样可以直接加上-y选项省略那一步。

升级RPM包

命令:# yum update [-y] [RPM包]
示例命令:# yum update bash

使用本地光盘制作yum源

在Linux系统下使用光盘制作yum源,步骤如下:
1.挂载光盘
# mount /dev/cdrom /mnt
2.删除/etc/yum.repos.d目录下所有的repo文件(删除前,最好做一个备份)
# cp -r /etc/yum.repos.d /etc/yum.repos.d_bak
# rm -rf /etc/yum.repos.d/*
3.创建新文件dvd.repo
# vim /etc/yum.repos.d/dvd.repo
4.刷新repos生成缓存
# yum makecache
然后就可以使用yum命令安装所需的软件包了,比如可安装一个tftp的RPM包,如:
# yum install -y tftp

利用yum工具下载RPM包

在进行操作前,需恢复上一步的yum源,否则yum还会出问题,操作如下:
# rm -rf /etc/yum.repos.d
# mv /etc/yum.repos.d_bak /etc/yum.repos.d
# yum list   //必须执行,因为这样可以生成缓存,方便下次使用
  • 有时候可以下载RPM包但不安装,这仅仅是复制给其他机器使用。
  • 前面有介绍使用yum工具安装RPM包时,首先得下载RPM包,然后再去安装,所以使用yum工具完全可以做到只下载而不安装。
命令:# yum install 包名 -y --downloadonly
  • 虽然下载了RPM包,但没保存到预想得目录下,默认会在/var/cache/yum/x86_64/7/xxx/packages,xxx指的时base、updates或extras,它和yum list最右侧的字符串时一致的。
    下载到指定目录的命令:
# yum install 包名 -y --downloadonly --downloaddir=/usr/local/src

如果下载到/usr/local/src目录下,示例命令:

# yum install -y ypbind --downloadonly --downloaddir=/tmp/
  • 如果包已经安装过了,yum install --downloadonly就不起作用了;
    如果就是想下载包,方法如下:
# yum reinstall -y bash --downloadonly

安装源码包

  • 常见的源码包一般都是用C语言开发的,因为C语言时Linux上最标准的程序语言。
  • Linux上的C语言编译器称为gcc,它可以把C语言编译成可执行的二进制文件。
  • 如果机器上没有安装gcc,就无法编译源码,安装命令如下:
# yum install -y gcc

在这里插入图片描述


下载源码包

  • 下载源码包一定要区官方站点,因为从其他网站下载的源码包很有可能被修改过。
    示例:把httpd的源码包下载到/usr/local/src目录下
# cd /usr/local/src/
# wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.2.32.tar.gz

解压源码包

  • 示例命令:
# tar -zxvf httpd-2.2.32.tar.gz

··················

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值