系列文章导航:01_Linux基础操作CentOS7学习笔记-CSDN博客
文章目录
- RPM包安装- 2. YUM包管理器- 3. 源码安装
在Linux系统中,软件安装是日常管理中的一项基本任务。本文将详细介绍三种常见的软件安装方法:RPM包安装、YUM包管理器安装和源码编译安装。
包类型:
- RPM,SRC.RPM,SRPM:红帽专用格式的软件包,可以使用RPM包管理工具进行安装、卸载和查询信息。
- 源码包:包含源代码,需要编译和安装才能使用。
- 二进制包:以.bin或.run为扩展名的软件包,给予执行权限可以直接安装或使用,类似于Windows的.exe包。
- 预编译包:在其他对应平台已经编译好的包,只需直接拷贝到对应路径即可实现安装。
1. RPM包安装
RPM(Red Hat Package Manager)是一种广泛使用的软件包管理格式,特别适用于Red Hat系列的Linux发行版。
优势:
- 兼容性好
- 信息丰富
- 安装速度快
获取RPM包:
- 从安装光盘或ISO安装镜像文件获取
- 通过网络获取,如www.rpmfind.net或www.pbone.net
- 自行定制RPM包
关于RPM软件包的安装、卸载和信息查询等基本说明:
# rpm软件包的格式分析
tree-1.6.0-10.el7.x86_64.rpm # 软件安装包文件名
tree # 包名1.6.0-10 # 版本号
el7 # 系统发行号
x86_64 # CPU架构rpm# 扩展名# 安装,速度很快rpm-ivh /<path>/package_name-version-cpu.rpm
rpm-i 安装包文件名
-i# 安装-v# 显示详细信息-h# 以#号显示安装进度--test# 测试安装--nodeps# 安装时不考虑依赖关系(但必须所有依赖都安装,功能才完整)--force# 强制安装,用于覆盖重装--excludedocs# 不安装文档文件--inexcludedocs# 安装文档文件(默认)# 依赖关系:如果依赖关系为 A->B->C,安装时先装C,再装B,最后装A,卸载顺序相反# 查询已经安装的rpm-q 包名称 # 查询目标是否已经安装rpm-qi 包名称 # 版本信息rpm-qd 包名称 # 说明文档rpm-qc 包名称 # 配置文件rpm-ql 包名称 # 文件列表rpm-qR# 查包的依赖rpm-qa# 列出系统下所有已经安装的软件包rpm-qa|grep xxx # 模糊查找某个包是否安装rpm-qf /usr/bin/ls # 根据程序执行文件查询由哪个包安装所得(反向查询)rpm-qf /lib64/libmenu.so.5.9 # 反向查询该库由哪个包安装得来rpm-qf /etc/rc.d/init.d/network # 反向查询network服务有哪个包安装得来# 未安装包查询时必须指定p:Packagesrpm-qpi 安装包文件名 # 版本信息rpm-qpd 安装包文件名 # 说明文档rpm-qpc 安装包文件名 # 配置文件rpm-qpl 安装包文件名 # 文件列表rpm-qpR 安装包文件名 # 查询软件包的依赖关系rpm-qp--scripts 包文件名 # 查询安装时使用的脚本# 反查rpm-qf# 根据已经安装后得到的内容(可执行文件、库文件、文档文件、配置文件)查询它的安装包名# 依赖关系rpm-qR samba
# 升级rpm-Uvh /<path>/package_name-version-cpu.rpm # 升级,如果升级的目标不存在,升级的动作等同于安装的动作rpm-Fvh /<path>/package_name-version-cpu.rpm # 升级,如果升级的目标不存在,停止升级# 卸载rpm-e 包名称
rpm-e--nodeps# 不解决依赖关系,直接卸载# 在线安装rpm-ivh http://www.rpmfind.net/linux/centos/7.9.2009/os/x86_64/Packages/tree-1.6.0-10.el7.x86_64.rpm
常用RPM命令:
- 安装:
rpm -ivh package_name-version-cpu.rpm
- 查询已安装:
rpm -q package_name
- 查询详细信息:
rpm -qi package_name
- 查询文件列表:
rpm -ql package_name
- 卸载:
rpm -e package_name
2. YUM包管理器
YUM是一个强大的包管理器,能够自动解决软件包之间的依赖关系。
关键信息:
- yum配置文件必须存放在
/etc/yum.repos.d
目录之下,必须以.repo
后缀结尾。 - 必须指定合法的安装源(具备RPM包且这些包建立repodata数据关系)。
/etc/yum.repos.d
目录下可以放置多个yum配置文件,一个配置文件中也可以指定多个仓库(源),但每个启用的仓库必须可用,如果有任何一个配置文件有错误,则整个yum不可用。baseurl
可以指定仓库地址的协议(file://、http://、https://、ftp://),必须指向可访问到repodata数据目录的路径。
常用YUM命令:
yum makecache
:制作缓存,提高yum的效率。yum clean all
:清空缓存。yum repolist
:列出当前系统配置启用的仓库。yum install pgname
:安装指定的软件包,解决依赖关系后会询问确认。yum install -y pgname
:不询问直接安装指定的软件包。yum reinstall pgname
:重新安装指定的软件包。yum remove pgname
:卸载指定的软件包。yum remove -y pgname
:不询问直接卸载指定的软件包。yum erase pgname
:卸载指定的软件包。yum list
:列出所有仓库中的软件包列表。yum info pgname
:查询指定包的信息,相当于rpm -qi命令。yum search "key"
:根据关键字在仓库中查找软件包,不区分大小写,关键字可以是包名或包的描述信息。yum localinstall 本地rpm安装文件名
:使用yum安装本地的RPM包,通过yum仓库解决本地rpm包的依赖。yum update
:更新系统中所有的RPM包。yum grouplist
:查看可用的软件包组。yum groupinfo 包组名
:查看指定软件包组的信息。yum groupinstall 包组名
:安装指定软件包组。yum groupremove 包组名
:卸载指定软件包组。yum history list
:列出yum的历史动作。yum history info
:查看最后一次yum操作的详细信息。yum history info 17
:查看yum历史操作id编号为17的详细信息。yum deplist pgname
:查询指定包的依赖关系。
通过yum安装本地的rpm包时,如果存在依赖关系,yum会自动通过现有的仓库解决依赖关系。可以使用
--nogpgcheck
选项来跳过校验检查。
在客户端中定义yum源(以redhat7为例):
配置文件必须放在
/etc/yum.repos.d/
目录下,并以
.repo
结尾。
示例配置文件内容:
[redhat7]name=redhat7 installbaseurl=file:///run/media/root/RHEL-7.2\ Server.x86_64/
enabled=1gpgcheck=0gpgkey=file:///run/media/root/RHEL-7.2\ Server.x86_64/RPM-GPG-KEY-redhat-release
3. 源码安装
源码安装涉及从源代码编译软件,这种方法提供了最大的灵活性,但也需要更多的步骤。
源码安装步骤:
- 下载软件包,并检查软件签名或MD5值。
- 解压源码包:
tar -xvf source_code.tar.gz
或unzip source_code.zip
。 - 进入解压目录,执行
make distclean
或make clean
。
make distclean
:清除配置及编译信息。make clean
:清除编译信息。
- 配置:
./configure
或cmake
。
./configure --help
:查询帮助,查看有哪些功能可选。./configure --prefix=/opt/axel --bindir=/xbin --etcdir=/xetc --mandir=/xman
注意:配置完成后注意看成功与否,建议使用echo $?
进行查看。
- 编译(把源代码编译为二进制):
make
。 - 安装:
make install
(等同于rpm -ivh
)。 - 卸载(进入源码包中才可执行):
make uninstall
。
注意:
- 执行
make
指令必须处于源代码目录中,且该目录下必须存在Makefile
文件。
通过这些方法,就能在Linux系统中安装和管理软件。除此之外,好像还有其他方式,比如在线安装的方式,但是还没试过。
版权归原作者 多练项目 所有, 如有侵权,请联系我们删除。