本文基于Linux上CentOS 7版本进行配置演示
目录
注意:
RPM将源代码与安装规则打包在一起,降低了单个软件的安装难度。
Yum软件仓库是将大量RPM软件包打包到一起,解决软件包之间的依赖关系,更方便安装。
一.rpm管理软件包
1.rpm命令格式及参数
(1)格式:rpm 参数 包名
(2)参数:
参数 | 实现功能 |
-i | 安装软件包 |
-v | 提供安装时详细输出 |
-h | 软件包安装时列出哈希标记 |
-e | 卸载软件包 |
-U | 升级软件包 |
-qa | 查询已安装软件包 |
-qf | 查询文件所属软件包,即查看某个文件是由哪一个包提供 |
-qi | 显示已安装的rpm软件包信息 |
-ql | 查看指定软件包的文件列表 |
-qd | 查询软件的事例文档 |
--nodeps | 安装时不验证依赖关系 |
--force | 强制安装 |
(3)常用搭配
命令搭配 | 实现功能 |
rpm -ivh 包名 | 安装软件 |
rpm -Uvh 包名 | 升级软件 |
rpm -qpi 包名 | 查询软件的描述信息 |
rpm -qpl 包名 | 列出软件的文件信息 |
2.rpm从本地获取软件包下载
(1)首先下载好对应版本镜像,在虚拟机上连接到镜像
(2)创建新目录作为镜像挂载点,将镜像挂载好
[root@sulibao ~]# mount /dev/sr0 /media/cdrom/
mount: /dev/sr0 is write-protected, mounting read-only
[root@sulibao ~]# df -h
/dev/sr0 4.4G 4.4G 0 100% /media/cdrom
(3)切换到挂载目录下的Packages目录内,查找自己需要的包
[root@sulibao ~]# cd /media/cdrom/
[root@sulibao cdrom]# ll
total 696
-rw-r--r-- 3 root root 14 Oct 30 2020 CentOS_BuildTag
drwxr-xr-x 3 root root 2048 Oct 27 2020 EFI
-rw-rw-r-- 21 root root 227 Aug 30 2017 EULA
-rw-rw-r-- 21 root root 18009 Dec 10 2015 GPL
drwxr-xr-x 3 root root 2048 Oct 27 2020 images
drwxr-xr-x 2 root root 2048 Nov 3 2020 isolinux
drwxr-xr-x 2 root root 2048 Oct 27 2020 LiveOS
drwxr-xr-x 2 root root 673792 Nov 4 2020 Packages
drwxr-xr-x 2 root root 4096 Nov 4 2020 repodata
-rw-rw-r-- 21 root root 1690 Dec 10 2015 RPM-GPG-KEY-CentOS-7
-rw-rw-r-- 21 root root 1690 Dec 10 2015 RPM-GPG-KEY-CentOS-Testing-7
-r--r--r-- 1 root root 2883 Nov 4 2020 TRANS.TBL
[root@sulibao cdrom]# cd Packages/
[root@sulibao Packages]# ll | grep httpd
-rw-rw-r-- 4 root root 2846172 Oct 15 2020 httpd-2.4.6-95.el7.centos.x86_64.rpm
-rw-rw-r-- 4 root root 203780 Oct 15 2020 httpd-devel-2.4.6-95.el7.centos.x86_64.rpm
-rw-rw-r-- 14 root root 1409564 Oct 15 2020 httpd-manual-2.4.6-95.el7.centos.noarch.rpm
-rw-rw-r-- 4 root root 95136 Oct 15 2020 httpd-tools-2.4.6-95.el7.centos.x86_64.rpm
-rw-rw-r-- 3 root root 59564 Jul 4 2014 libmicrohttpd-0.9.33-2.el7.x86_64.rpm
(4)使用命令下载即可
[root@sulibao ~]# rpm -ivh texlive-fpl-svn15878.1.002-45.el7.noarch.rpm
//我的存放位置是在/usr/share/下
[root@sulibao ~]# cd /usr/share/
drwxr-xr-x 3 root root 24 Jan 11 11:17 texlive
3.rpm从网络地址获取软件包下载
以qq为例,到官网复制下qq的rpm软件包地址,直接使用命令安装即可
[root@sulibao Packages]# rpm -ivh https://dldir1.qq.com/qqfile/qq/QQNT/c005c911/linuxqq_3.0.0-571_x86_64.rpm
二.yum管理软件包
1.yum命令格式及参数
(1)格式:yum 参数 (-y) 软件包名
-y选项表示默认同意安装步骤
(2)参数:
参数 | 实现功能 |
install 包名 | 安装指定软件包 |
reinstall 包名 | 重新安装软件包 |
repolist (all) | 查看系统中配置的yum库配置信息 |
list all | 列出yum库中所有可安装的软件包 |
grouplist | 查看仓库内所有的包组 |
groupinfo 包的组名 | 查看指定包的组内的详细信息 |
list installed | 列出已经安装的所有包 |
check-update | 检查可更新的软件包 |
update | 升级所有软件包 |
groupinstall 包的组名 | 安装指定包组里面所有包 |
remove 包名 | 卸载包 |
provides 文件名 | 查看文件属于那个软件包 |
info 包名 | 查看指定包的详细信息 |
search 包名 | 查看包名模糊匹配的包 |
clean all | 清楚软件仓库缓存 |
2.从本地/网络获取下载
配置yum软件仓库(可参考专栏相关文章),在按照上文命令参数进行下载,仔细阅读你安装后的报文,配置都正确一般是提示安装完成或者以前安装过。
[root@sulibao ~]# yum install -y gcc
Loaded plugins: fastestmirror, langpacks
Bad id for repo: CentOS 7 2009, byte = 6
Loading mirror speeds from cached hostfile
* base: mirror.lzu.edu.cn
* extras: ftp.sjtu.edu.cn
* updates: ftp.sjtu.edu.cn
Resolving Dependencies
--> Running transaction check
---> Package gcc.x86_64 0:4.8.5-44.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
============================================================================================================================================================================================
Package Arch Version Repository Size
============================================================================================================================================================================================
Installing:
gcc x86_64 4.8.5-44.el7 base 16 M
Transaction Summary
============================================================================================================================================================================================
Install 1 Package
Total download size: 16 M
Installed size: 37 M
Downloading packages:
gcc-4.8.5-44.el7.x86_64.rpm | 16 MB 00:00:04
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : gcc-4.8.5-44.el7.x86_64 1/1
Verifying : gcc-4.8.5-44.el7.x86_64 1/1
Installed:
gcc.x86_64 0:4.8.5-44.el7
Complete!
[root@sulibao ~]# yum install -y gcc
Loaded plugins: fastestmirror, langpacks
Bad id for repo: CentOS 7 2009, byte = 6
Loading mirror speeds from cached hostfile
* base: mirror.lzu.edu.cn
* extras: ftp.sjtu.edu.cn
* updates: ftp.sjtu.edu.cn
Package gcc-4.8.5-44.el7.x86_64 already installed and latest version
Nothing to do