10_ Linux软件安装指南:RPM、YUM、源码安装

系列文章导航:01_Linux基础操作CentOS7学习笔记-优快云博客

文章目录
    • 1. RPM包安装
    • 2. YUM包管理器
    • 3. 源码安装

在Linux系统中,软件安装是日常管理中的一项基本任务。本文将详细介绍三种常见的软件安装方法:RPM包安装、YUM包管理器安装和源码编译安装。
包类型:

  1. RPM,SRC.RPM,SRPM:红帽专用格式的软件包,可以使用RPM包管理工具进行安装、卸载和查询信息。

  2. 源码包:包含源代码,需要编译和安装才能使用。

  3. 二进制包:以.bin或.run为扩展名的软件包,给予执行权限可以直接安装或使用,类似于Windows的.exe包。

  4. 预编译包:在其他对应平台已经编译好的包,只需直接拷贝到对应路径即可实现安装。

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:Packages
rpm -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 install
baseurl=file:///run/media/root/RHEL-7.2 Server.x86_64/
enabled=1
gpgcheck=0
gpgkey=file:///run/media/root/RHEL-7.2 Server.x86_64/RPM-GPG-KEY-redhat-release

3. 源码安装

源码安装涉及从源代码编译软件,这种方法提供了最大的灵活性,但也需要更多的步骤。

源码安装步骤:

  1. 下载软件包,并检查软件签名或MD5值。
  2. 解压源码包:tar -xvf source_code.tar.gzunzip source_code.zip
  3. 进入解压目录,执行make distcleanmake clean
  • make distclean:清除配置及编译信息。
  • make clean:清除编译信息。
  1. 配置:./configurecmake
  • ./configure --help:查询帮助,查看有哪些功能可选。

  • ./configure --prefix=/opt/axel --bindir=/xbin --etcdir=/xetc --mandir=/xman

    注意:配置完成后注意看成功与否,建议使用echo $?进行查看。

  1. 编译(把源代码编译为二进制):make
  2. 安装:make install(等同于rpm -ivh)。
  3. 卸载(进入源码包中才可执行):make uninstall

注意:

  • 执行make指令必须处于源代码目录中,且该目录下必须存在Makefile文件。

通过这些方法,就能在Linux系统中安装和管理软件。除此之外,好像还有其他方式,比如在线安装的方式,但是还没试过。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值