【Linux】软件安装管理

先附上 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、脚本安装包

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值