CentOS-7 安装软件

66 阅读4分钟

rpm

rpm(Redhat Package Manager),几乎所有的 Linux 发行版本都使用了这种形式的命令管理、安装、更新和卸载软件。rpm 命令包含了五种基本功能:安装、卸载、升级、查询和验证。

语法格式:

rpm [option]

rpm 命令常用的参数选项:

选项说明
-q查询软件包
-p后接以".rpm"结尾的软件包
-i(1) 与-qp一起使用,是"info"的意思,即显示软件包的概要信息
(2) 独立使用,是"install"的意思,即安装软件包
-l显示软件包中的所有文件列表
-R显示软件包的依赖环境
-v显示详细信息
-h用"#"显示安装进度条
-a与-q参数搭配使用,用于查询所有软件包
-e卸载软件包
-f查询文件或命令属于哪个软件包
-U升级软件包

案例:

$ wget https://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/lrzsz-0.12.20-36.el7.x86_64.rpm

# 查看 rpm 包信息
$ rpm -qpi lrzsz-0.12.20-36.el7.x86_64.rpm
Name        : lrzsz
Version     : 0.12.20
Release     : 36.el7
Architecture: x86_64
Install Date: (not installed)
Group       : Applications/Communications
Size        : 184846
License     : GPLv2+
Signature   : RSA/SHA256, Fri 04 Jul 2014 11:35:32 AM CST, Key ID 24c6a8a7f4a80eb5
Source RPM  : lrzsz-0.12.20-36.el7.src.rpm
Build Date  : Tue 10 Jun 2014 07:29:11 AM CST
Build Host  : worker1.bsys.centos.org
Relocations : (not relocatable)
Packager    : CentOS BuildSystem <http://bugs.centos.org>
Vendor      : CentOS
URL         : http://www.ohse.de/uwe/software/lrzsz.html
Summary     : The lrz and lsz modem communications programs
Description :
Lrzsz (consisting of lrz and lsz) is a cosmetically modified
zmodem/ymodem/xmodem package built from the public-domain version of
the rzsz package. Lrzsz was created to provide a working GNU
copylefted Zmodem solution for Linux systems.

# 查看包中内容(包可以不安装)
$ rpm -qpl lrzsz-0.12.20-36.el7.x86_64.rpm
/usr/bin/rb
/usr/bin/rx
/usr/bin/rz
/usr/bin/sb
/usr/bin/sx
/usr/bin/sz
/usr/share/locale/de/LC_MESSAGES/lrzsz.mo
/usr/share/man/man1/rz.1.gz
/usr/share/man/man1/sz.1.gz

# 查看一个包下有哪些命令(前提是包已经安装)
$ rpm -ql lrzsz
/usr/bin/rb
/usr/bin/rx
/usr/bin/rz
/usr/bin/sb
/usr/bin/sx
/usr/bin/sz
/usr/share/locale/de/LC_MESSAGES/lrzsz.mo
/usr/share/man/man1/rz.1.gz
/usr/share/man/man1/sz.1.gz

# 查看包的依赖
$ rpm -qpR lrzsz-0.12.20-36.el7.x86_64.rpm
libc.so.6()(64bit)
libc.so.6(GLIBC_2.11)(64bit)
libc.so.6(GLIBC_2.14)(64bit)
libc.so.6(GLIBC_2.15)(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.7)(64bit)
libnsl.so.1()(64bit)
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PartialHardlinkSets) <= 4.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rtld(GNU_HASH)
rpmlib(PayloadIsXz) <= 5.2-1

# 安装 rpm 包
$ sudo rpm -ivh lrzsz-0.12.20-36.el7.x86_64.rpm
Preparing...                          ################################# [100%]
	package lrzsz-0.12.20-36.el7.x86_64 is already installed
	
# 安装远程的 rpm 包
$ sudo rpm -ivh https://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/lrzsz-0.12.20-36.el7.x86_64.rpm
	
# 查询系统中是否安装了指定的包
$ rpm -qa lrzsz
lrzsz-0.12.20-36.el7.x86_64

# 卸载 rpm 包
# --nodeps 卸载的时候只卸载指定的包而不卸载其依赖的包
# 建议卸载的时候一定要加这个选项,否则可能会卸载掉一些系统必备的包导致损坏
$ sudo rpm -e lrzsz --nodeps

# 查看文件属于哪个 rpm 包(前提是命令已存在)
$ rpm -qf $(which ifconfig)
net-tools-2.0-0.25.20131004git.el7.x86_64

yum

yum(Yellow dog Updater Modified) 是多个 Linux 发行版的软件包管理器,例如 Redhat RHEL、CentOS和Fedora,yum 主要是用于自动安装、升级 RPM 包,可以自动查找并解决 RPM包 之间的依赖关系,yum 命令的语法格式:

yum [option] [command] [package]

yum命令常用的参数选项:

选项说明
-y确认操作
--nogpgcheck忽略GPG验证
-C直接使用系统 yum 缓存,不下载更新缓存
-q不输出信息
-v显示详细信息

yum命令常用的子命令:

命令说明
yum install httpd安装 httpd 软件包
yum localinstall httpd-2.2.15-54.el7.centos.x86_64.rpm安装本地 RPM 包,包名也可以替换为一个包的下载地址
yum remove httpd
yum erase httpd
卸载 httpd 软件包,注意:慎用,会卸载所有的依赖软件包,可能导致其他软件不可用
推荐使用:rpm -e httpd --nodeps
yum search httpd搜索与指定软件包名称相匹配的所有可用的软件包 (模糊匹配)
yum list httpd搜索指定名称的特定软件包 (精确匹配)
yum info httpd获取 httpd 软件包的信息
yum update httpd更新 httpd 软件包
yum deplist httpd查看 httpd 软件包的依赖
yum list列出所有可用的软件,命令输出很多,可以结合 less 命令分页显示
yum list installed列出所有已经安装的软件
yum provides /etc/my.cnf
yum provides ifconfig
查找指定的文件属于哪个软件包
查找命令属于哪个软件包
yum check-update检查是否有可以更新的软件包
yum update更新系统中的所有包,即更新系统,upgrade 命令已经废弃
yum grouplist列出所有可用的包组
yum groupinstall 'MySQL Database'安装包组下的所有软件包
yum groupupdate 'MySQL Database'更新包组下的所有软件包
yum groupremove 'MySQL Database'移除包组下的所有软件包
yum groupinfo 'Base'查看已安装的包组下面有哪些包
yum repolist列出启用的 yum 源
yumrepolist all列出系统中所有的 yum 源,包括禁用的
yum --enablerepo=base install httpd从指定的 yum 源中安装软件
yum --disablerepo=updates,extras install httpd安装软件的时候不使用指定的 yum 源
yum clean all清理所有 yum 缓存
yum history查看 yum 操作的历史记录

针对选项 --enablerepo 和 --disablerepo 的说明:

enablerepo.png