前言
这期呢主要说一说Linux中包软件管理相关命令,这一期的命令虽然只有两个。但 软件包的安装和卸载都是我们平常最常用的,需要熟练掌握。
rpm和yum 是CentOS 主要的包软件管理。
两个命令各有用处,①yum需要互联网,yum会去网上的yum源获取所需的软件包
② rpm 操作相对复杂,需要我们做得更多
rpm rpm包管理器
1、简介
rpm 命令包含了安装、卸载、升级、查询和验证5个基本功能
2、语法格式
rpm [参数选项]
3、参数选项
参数 | 参数说明 |
---|---|
-q | 查询软件包 |
-p | 后面接“.rpm”为后缀的软件包 |
-i | ①与-qp配合使用,表示显示软件包的概要信息 info ②安装软件包 install |
-l | 显示软件包种所有文件列表 |
-R | 显示软件包依赖环境 |
-v | 显示详细信息 |
-h | 用“#” 显示安装进度条 |
-a | 与-q参数搭配使用,用于查询所有的软件包 |
-e | 卸载软件包 |
-f | 查询文件或命令属于哪个软件包 |
-U | 升级软件包 |
4、 实践操作
我们下载一个rpm包telnet-server-0.17-66.el7.x86_64.rpm作为后续实践操作文件
[root@xiezhr test]# wget https://mirrors.aliyun.com/centos/7.9.2009/updates/x86_64/Packages/telnet-server-0.17-66.el7.x86_64.rpm
--2022-08-02 22:47:29-- https://mirrors.aliyun.com/centos/7.9.2009/updates/x86_64/Packages/telnet-server-0.17-66.el7.x86_64.rpm
Resolving mirrors.aliyun.com (mirrors.aliyun.com)... 101.226.26.240, 101.226.26.241, 101.226.26.242, ...
Connecting to mirrors.aliyun.com (mirrors.aliyun.com)|101.226.26.240|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 42148 (41K) [application/octet-stream]
Saving to: ‘telnet-server-0.17-66.el7.x86_64.rpm’
100%[========================================================================================================================================================================>] 42,148 --.-K/s in 0.01s
2022-08-02 22:47:29 (3.70 MB/s) - ‘telnet-server-0.17-66.el7.x86_64.rpm’ saved [42148/42148]
① 查看rpm包信息
[root@xiezhr test]# rpm -qpi telnet-server-0.17-66.el7.x86_64.rpm
Name : telnet-server
Epoch : 1
Version : 0.17
Release : 66.el7
Architecture: x86_64
Install Date: (not installed)
Group : System Environment/Daemons
Size : 56361
License : BSD
Signature : RSA/SHA256, Wed 18 Nov 2020 10:20:43 PM CST, Key ID 24c6a8a7f4a80eb5
Source RPM : telnet-0.17-66.el7.src.rpm
Build Date : Tue 17 Nov 2020 12:44:28 AM CST
Build Host : x86-01.bsys.centos.org
Relocations : (not relocatable)
Packager : CentOS BuildSystem <http://bugs.centos.org>
Vendor : CentOS
URL : http://web.archive.org/web/20070819111735/www.hcs.harvard.edu/~dholland/computers/old-netkit.html
Summary : The server program for the Telnet remote login protocol
Description :
Telnet is a popular protocol for logging into remote systems over the
Internet. The package includes a daemon that supports Telnet remote
logins into the host machine. The daemon is disabled by default.
You may enable the daemon by editing /etc/xinetd.d/telnet
② 查看rpm包内容
[root@xiezhr test]# rpm -qpl telnet-server-0.17-66.el7.x86_64.rpm
/usr/lib/systemd/system/telnet.socket
/usr/lib/systemd/system/telnet@.service
/usr/sbin/in.telnetd
/usr/share/man/man5/issue.net.5.gz
/usr/share/man/man8/in.telnetd.8.gz
/usr/share/man/man8/telnetd.8.gz
③ 查看rpm包的依赖环境
[root@xiezhr test]# rpm -qpR telnet-server-0.17-66.el7.x86_64.rpm
/bin/sh
/bin/sh
/bin/sh
libc.so.6()(64bit)
libc.so.6(GLIBC_2.14)(64bit)
libc.so.6(GLIBC_2.15)(64bit)
libc.so.6(GLIBC_2.16)(64bit)
libc.so.6(GLIBC_2.2.5)(64bit)
libc.so.6(GLIBC_2.3)(64bit)
libc.so.6(GLIBC_2.3.4)(64bit)
libc.so.6(GLIBC_2.4)(64bit)
libc.so.6(GLIBC_2.8)(64bit)
libutil.so.1()(64bit)
libutil.so.1(GLIBC_2.2.5)(64bit)
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rtld(GNU_HASH)
systemd
systemd
systemd
systemd
rpmlib(PayloadIsXz) <= 5.2-1
④ 安装rpm 包(参数h 以“#”显示进度条)
[root@xiezhr test]# rpm -ivh telnet-server-0.17-66.el7.x86_64.rpm
Preparing... ################################# [100%]
Updating / installing...
1:telnet-server-1:0.17-66.el7 ################################# [100%]
⑤ 查询是否安装指定的rpm包
[root@xiezhr test]# rpm -qa telnet-server
telnet-server-0.17-66.el7.x86_64
⑥ 卸载rpm 包
# 卸载刚才安装的telnet-server
[root@xiezhr test]# rpm -e telnet-server
# 再次查看rpm包,已经没有了,说明卸载成功了
[root@xiezhr test]# rpm -qa telnet-server
yum 自动化RPM包管理工具
1、简介
yum 命令主要用于自动安装升级rpm软件包,需要连接互联网
2、语法格式
yum [参数选项] [指令] [软件包]
3、常用参数
参数 | 参数说明 |
---|---|
-y | 确认操作 |
-q | 不输出信息 |
-v | 显示详细信息 |
4、常用指令
指令 | 指令说明 |
---|---|
yum install softwarename | 安装softwarename包 |
yum repolist | 列出启用的yum源 |
yum repolist all | 列出所有yum,包括禁用的yum源 |
yum remove softwarename | 卸载softwarename包 |
yum list softwarename | 查看软件源中是否有此软件 |
yum list all | 列出所有软件名称 |
yum list installd | 列出已经安装的软件名称 |
yum list available | 列出可以用yum安装的软件名称 |
yum clean all | 清空yum缓存 |
yum search softwarename | 根据软件信息搜索软件名字 |
yum whatprovides filename | 在yum源中查找包含filename文件的软件包 |
yum update | 更新软件 |
yum history | 查看系统软件改变历史 |
yum reinstall softwarename | 重新安装 |
yum info softwarename | 查看软件信息 |
yum groups list | 查看软件组信息 |
yum groups info softwaregroup | 查看软件组内包含的软件 |
yum groups install softwaregroup | 安装组件 |
5、实践操作
① 安装httpd包
[root@xiezhr ~]# yum install httpd
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
epel | 4.7 kB 00:00:00
extras | 2.9 kB 00:00:00
nodesource | 2.5 kB 00:00:00
os | 3.6 kB 00:00:00
updates | 2.9 kB 00:00:00
(1/4): epel/7/x86_64/group_gz | 97 kB 00:00:00
(2/4): epel/7/x86_64/updateinfo | 1.1 MB 00:00:00
(3/4): epel/7/x86_64/primary_db | 7.0 MB 00:00:01
(4/4): updates/7/x86_64/primary_db
...
② 查看yum源中是否是否有此软件
[root@xiezhr ~]# yum list telnet-server
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
Available Packages
telnet-server.x86_64 1:0.17-66.el7 updates
③ 清空yum 缓存
[root@xiezhr ~]# yum clean all
Loaded plugins: fastestmirror, langpacks
Cleaning repos: epel extras nodesource os updates
这期内容就到这,下期根据思维导图就到Linux用户相关命令的使用了。