Linux软件安装管理
发布日期:2022-02-27 02:37:58 浏览次数:46 分类:技术文章

本文共 1379 字,大约阅读时间需要 4 分钟。

先附上 deepin 的

  1. List item

目录

1、软件包管理简介

Linux 下的安装包分为两类:

  • 源码包
    Linux 最早的软件安装包本质上就是一个 源代码包。优点:开源、可以自由选择功能、由于是本机编译安装所以执行效率更高、卸载方便;缺点:安装步骤较多且出现错误、编译时间长、编译过程中一旦出错对新手不友好……
  • 二进制包
    与 Windows 下的软件安装包类似。优点:安装升级和卸载简单、安装速度快;缺点:无法查看源代码、功能选择不灵活、依赖性

依赖性

依赖就像在 Windows 下,使用 eclipse 前必须配置好 Java 环境一样,比喻不恰当,但想表达的意思应该到了哈哈

  • 树形依赖:a -> b -> c
  • 环形依赖:a -> b -> c -> a
  • 模块依赖:与上面两种不同,模块依赖是依赖具体的文件(一般以.so.2结尾)而不是包,只看模块名我们无法得知这个文件究竟是哪个包里面的,只能一个包一个包地试,现在,我们可以用这个查询这个模块属于哪个模块。

2、rpm 命令管理

2.1 rpm包命名规则
http-2.2.15-15.el6.centos.1.i686.rpm- httpd 软件包名- 2.2.15 软件版本号- 15 软件发布的次数- el6.centos 适合的Linux平台- i686 适合的硬件平台- rpm 扩展名
2.2 安装命令

安装前必须进入包所在文件夹下,并使用包全名。

rpm -ivh 包全名	-i(install) 安装	-v(verbose)显示详细信息	-h(hash)显示进度	--nodeps 不检测依赖性
2.3 升级与卸载
  • 升级新的包对系统来说也是一个陌生的包,它的本质就是安装,所以必须用包全名,
rpm -Uvh 包全名		-U(upgrade) 升级
  • 要卸载的包必然是已经存在的,所以可以使用包名
rpm -e 包全名		-e(erase) 升级		--nodeps 不检查依赖性
2.4 rpm包查询
  • 查询包是否安装
rpm -q 包名		-q(query) 查询
  • 查询所有已经安装的rpm包
rpm -qa 包名		-q(query) 查询		-a(all) 所有
  • 查询软件包详细信息
rpm -qip 包名		-q(query) 查询		-i(information) 所有		-p(package)查询未安装包信息(就是查一下如果要安装某一个软件,系统会把它的文件放在哪里)
  • 通过文件名查询该文件属于哪个包(前提是该文件是通过 rpm 安装的)
rpm -qf 系统文件名		-q(query) 查询		-f(file) 文件
  • 查询软件包的依赖性
rpm -qf 系统文件名		-q(query) 查询		-R(requires) 查询依赖性		-p(Package)查询未安装的包的依赖性






以下待更新







2.5 rpm包检验

3、yum 在线管理

帮我们解决安装软件时遇到的依赖问题(redhat 提供的 yum 收费、centos 提供的 yum 免费)。虽然可以自动安装,但不会进行依赖查询。

4、源码包管理

5、脚本安装包

所谓的脚本安装包,就是将复杂的软件安装过程写成程序脚本,下载这个脚本到本地、执行,可以实现 “一键安装”,其本质还是 源码包 和 二进制包。

转载地址:https://blog.csdn.net/weixin_43399464/article/details/105017815 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Python Notes 0
下一篇:About Html

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2024年04月03日 11时55分52秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

大疆机甲大师教育机器人Python API中文化之四五:云台灯效,指定序号 2021-06-29
大疆机甲大师教育机器人Python API中文化之六:关灯 2021-06-29
“中文编程”知乎专栏两岁了——山雨欲来风满楼 2021-06-29
大疆机甲大师Python API之七:做个闹钟 2021-06-29
【意外走向】大疆机甲大师Python API之八:计时——为性能测试展开1000次循环 2021-06-29
RFC#2457——Rust 语言支持非 ASCII 码标识符在 GitHub 引发的激辩(一) 2021-06-29
RFC#2457——Rust 语言选择支持非 ASCII 码标识符在 GitHub 引发的激辩(二) 2021-06-29
”为什么有这么多人执着于中文编程?”回答两千赞留念及回应 2021-06-29
【家务】盘点小孩玩具零件缺失情况 2021-06-29
开发中文 API 的一些策略 2021-06-29
从日本编程书籍《我的第一本编程书》中译版看中文例程如何扬长避短——标识符(一) 2021-06-29
中文命名标识符如何区分类型和变量 2021-06-29
编程术语成系统中文化的意义 2021-06-29
草蟒 Python 中文 API 与 IDE 支持尝鲜 2021-06-29
一种改进中文 API 可读性的方法:参数不限于在末尾 2021-06-29
中文编程开发工具的生存模式探讨 2021-06-29
写给木兰编程语言研发团队的公开信 2021-06-29
为什么要急着为「木兰」编程语言贴上“造假”的标签? 2021-06-29
编程语言国产化的关键一战——对肆意污名化“木兰”编程语言说“不” 2021-06-29
各大媒体对「木兰」编程语言的不当言论盘点 2021-06-29