linux基础之软件包管理
一,软件包管理简介
二,rpm包管理-rpm命令
三,rpm包管理-yum在线管理
四,源码包管理
五,脚本安装包与软件包选择
<div id="a03">俺是ccc</div>
<div id="a04">俺是ddd</div>
<div id="a05">俺是eee</div>
<div id="a06">俺是fff</div>
一,软件包管理简介
1,软件包分类
(1)源码包:
解开包后,你还需要使用编译器将其编译成为可执行文件。这在Windows系统中是几乎没有的,因为Windows的思想是不开放源程序的。
-
优点:开源,即用户可以看到源代码,用户可以修改源代码;可以自由选择所需的功能;软件是编译安装,效率更高。
-
缺点:需要手动安装,安装慢。
(2)二进制包(RPM包、系统默认包):
解开包后就可以直接运行的。在Windows中所有的软件包都是这种类型。安装完这个程序后,你就可以使用,但你看不到源程序。而且下载时要注意这个软件是否是你所使用的平台,否则将无法正常安装。
- 缺点:编译之后的包,不能看到源代码;功能选择不够灵活;依赖性(卸载安装有严格顺序)。
- 优点:不需要手动安装,安装速度快;包管理系统简单(安装、卸载、升级、验证等)
(3)区别
几乎所有的Linux发行版本都使用某种形式的软件包管理安装、更新和卸载软件。与直接从源代码安装相比,软件包管理易于安装和卸载;易于更新已安装的软件包;易于保护配置文件;易于跟踪已安装文件。
通常,用tar打包的,都是源程序;而用rpm、dpkg打包的则常是可执行程序。一般来说,自己动手编译源程序能够更具灵活性,但也容易遇到各 种问题和困难。而相对来说,下载那些可执行程序包,反而是更容易完成软件的安装,当然那样灵活性就差多了。所以一般一个软件总会提供多种打包格式的安装程序的。你可以根据自己的情况来选择。
二,rpm包管理-rpm命令
1,rpm包命名规则
2,RPM包依懒性
树形依赖(A-B-C-D):要想安装软件 A,必须先安装 B,而安装 B 需要先安装 C…….解决此类型依赖的方法是从后往前安装,即先安装 D,再安装 C,然后安装 B,最后安装软件 A。
环形依赖(A-B-C-D-A):各个软件安装的依赖关系构成“环状”。解决此类型依赖的方法是用一条命令同时安装所有软件包,即使用 rpm -ivh 软件包A 软件包B …。
模型依赖:软件包的安装需要借助其他软件包的某些文件(比如库文件),解决模块依赖最直接的方式是通过 http://www.rpmfind.net 网站找到包含此文件的软件包,安装即可。
2,rpm安装
2.1 ,切换至Packages目录
1,rpm安装
rpm -ivh 包全名
-i (install) 安装
-v(verbose) 显示详细信息
-h(hash) 显示进度
--nodeps 不检测依懒性
2,rpm升级
rpm -Uvh 包全名
-U (upgrade) 升级
3,卸载
rpm -e 包名
-e(erase)卸载
--nodeps 不检查依懒性
4,查询
rpm -q 包名
查询包是否安装
rpm -qa
查询所有rpm包
查询软件包详细信息
rpm -qi 包名
-i 查询软件信息(information)
-p 查询未安装包信息
查询包中文件安装位置
rpm -ql 包名
-l 列表 (list)
-p 查询未安装包信息(package)
查询系统文件属于哪个rpm包
rpm -qf 系统文件名名
-f (file)
查询软件包的依懒性
rpm -qR 包名
-R 查询软件包的的依懒性(require)
-p 查询未安装包信息(package)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?