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

server/2024/10/24 11:51:29/

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

文章目录

    • 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系统中安装和管理软件。除此之外,好像还有其他方式,比如在线安装的方式,但是还没试过。


http://www.ppmy.cn/server/134440.html

相关文章

牛客周赛63

https://ac.nowcoder.com/acm/contest/91592 好数 简单的判断两位数&#xff0c;且十位等于个位 #include <bits/stdc.h> #define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); #define int long long using namespace std; using ll long long; using pii …

SIP 业务举例之 Call Forwarding - No Answer(无应答呼叫转移)

目录 1. Call Forwarding - No Answer 简介 2. RFC5359 的 Call Forwarding - No Answer 信令流程 呼转开始 呼转完成 3. Call Forwording - No Answer 过程总结 博主wx:yuanlai45_csdn 博主qq:2777137742 想要 深入学习 5GC IMS 等通信知识(加入 51学通信),或者想要 …

原型模式和建造模式的区别

原型模式&#xff08;Prototype Pattern&#xff09;和建造者模式&#xff08;Builder Pattern&#xff09;虽然都是创建型设计模式&#xff0c;但它们的应用场景和实现方式有着显著的区别。以下是二者的详细对比&#xff1a; 1. 意图和应用场景 原型模式&#xff1a; 意图&a…

【有啥问啥】智能座舱中的ADDW认证是什么?

智能座舱中的ADDW认证是什么&#xff1f; 随着汽车行业的智能化转型&#xff0c;智能座舱作为现代汽车的核心组成部分&#xff0c;正以前所未有的速度改变着我们的驾驶与乘坐体验。它不仅集成了先进的娱乐、导航和信息交互功能&#xff0c;更重要的是&#xff0c;通过一系列安…

STM32G474之“运放OPAMP和ADC”以及“ADC和DMA”问题

在使用STM32G474之“运放OPAMP和ADC”&#xff0c;或“ADC和DMA”时&#xff0c;要注意一下几个问题。如果有有标准库&#xff0c;就不会用HAL库了。不是没有吗&#xff1f;凑合用吧。 问题1、将“DAC3通道1”通过内部连接到"运放OPAMP1"&#xff0c;运放输出到引脚…

使用pyqt创建一个移动的矩形

使用pyqt创建一个移动的矩形 程序功能概述效果详细代码 程序功能概述 程序的主要功能是在一个窗口内绘制一个矩形框&#xff0c;并使这个矩形框能够以固定的速度向右移动。当矩形框移动出窗口右侧边界时&#xff0c;它会重新出现在窗口的左侧。 效果 详细代码 import sys fr…

docker run 命令解析

docker run 命令解析 docker run 命令用于从给定的镜像启动一个新的容器。这个命令可以包含许多选项&#xff0c;下面是一些常用的选项&#xff1a; -d&#xff1a;后台运行容器&#xff0c;并返回容器ID&#xff1b;-i&#xff1a;以交互模式运行容器&#xff0c;通常与 -t …

048_python基于Python的广东旅游数据分析

目录 系统展示 开发背景 代码实现 项目案例 获取源码 博主介绍&#xff1a;CodeMentor毕业设计领航者、全网关注者30W群落&#xff0c;InfoQ特邀专栏作家、技术博客领航者、InfoQ新星培育计划导师、Web开发领域杰出贡献者&#xff0c;博客领航之星、开发者头条/腾讯云/AW…