文章目录
- Linux-开发与管理 P5软件管理
-
- 软件包管理简介
-
- 软件包简介
- 软件包管理工具分类
- 软件管理机制
-
- 软件安装与卸载
- 静态包管理
- APT软件包管理工具
-
- 运作机制与配置文件
- apt-get工具集
- apt-cache工具集
- 更多内容
Linux-开发与管理 P5软件管理
软件包简介
Linux 系统主要支持RPM和Deb两种软件包管理工具
Linux为用户提供了不同层次和类型的软件包管理工具,根据用户交互方式的不同,可以将常见的软件包管理工具分为三类,命令行工具、文本窗口界面和图像界面
下面将对几种分类进行详细讲解
软件包管理工具分类
类别 | 常用工具 | 描述 |
---|---|---|
命令行 | dpkg-deb、dpkg、apt | 在命令行模式下完成软件包管理任务 |
文本窗口界面 | dselect、aptitude、tasksel | 在文本窗口模式中,使用窗口和菜单可以完成软件包管理任务 |
图形界面 | synaptic | 在X-window图形桌面环境中运行,具有更好的交互性、可读性、易用性等特点 |
dpkg是最早的Deb包管理工具,它在Debian一提出包管理模式后就诞生了;使用dpkg可以实现软件包的安装、编译、卸载、查询,以及应用程序打包等功能
APT系列工具可能是Deb软件包管理工具中功能最强大的,Ubuntu将所有的开发软件包存放在Internet上的许许多多镜像站点上;用户可以选择其中最适合自己的站点作为软件源,然后在APT工具的帮助下,就可以完成所有的软件包的管理工作,包括维护系统中的软件包数据库、自动检查软件包依赖关系、安装和升级软件包、从软件源镜像站点主动获取相关软件包等
软件管理机制
运作机制与配置文件
运行机制简介
dpkg并不会自动解决软件卸载过程中遇到的软件包依赖性问题,而通过apt-get命令可以解决此问题,APT是Ubuntu Linux中功能最强大的命令行软件包管理工具,用于获取、安装、编译、卸载和查询Deb软件包,以及检查软件包依赖关系;Ubuntu采用集中式的软件仓库机制,将各式各样的软件包分门别类地存放在软件仓库中,进行有效的组织和管理
软件源是指散布在互联 中的众多服务器,在这些服务器中存放了大量的软件包,用于进行用户主机的更新和升级,它们是专门向Ubuntu用户免费开放的,所以只要在软件源中定期上传最新版本的软件,便可确保所有用户用到最新发布的软件包
两个维度
Ubuntu将软件包从两个维度—支持力度和安装必要性,合理地进行了划分;Ubuntu的每一个版本都是安装这个软件包分类体系管理软件源的,并一直延续下去
维度一
首先根据软件包开发组织对该软件的支持程度,以及其遵从的开源程度
1.核心(Main):官方维护的开源软件,是由Ubuntu官方完全支持的软件,包括大多数流行的、稳定的开源软件
2.公共(Universe): 区维护的开源软件,是由Ubuntu 区的计算机爱好者维护的软件
3.受限(Restricted):官方维护的非开源软件,是专供特殊用途,而且没有自由软件版权,不能直接修改软件,但依然被Ubuntu团队支持的软件
4.多元化(Multiverse):非Ubuntu官方维护的非开源软件,是指那些非自由软件,通常不能被修改和更新,用户使用这些软件包时,需要特别注意版权问题
维度二
从另一个角度根据软件包的必要性和安全性,也可将软件包划分为4类
1.安全更新(Security):稳定的、安全的软件包,是必须要安装的
2.最新更新(Updates):最新完成的更新软件包,建议安装
3.推荐更新(Proposed):提前释放出的更新,处于Alpha测试阶段的软件包
4.修补性更新(Backports):在Ubuntu旧版本中部分地添加新功能,该类软件包无任何技术支持
apt-get工具集
简介
在Ubuntu Linux中,通常使用apt-get命令管理软件包,只需告知软件包名字,该命令就可以自动完成软件包的获取、安装、编译和卸载,并检查软件包依赖关系
基本结构
子命令
子命令 | 描述 |
---|---|
update | 下载更新软件包列表信息 |
upgrade | 将系统中所有软件包升级到最新的版本 |
install | 下载所需软件包并进行安装配置 |
remove | 卸载软件包 |
autoremove | 将不满足依赖关系的软件包自动卸载 |
source | 下载源码包 |
build-dep | 为源码包构建所需的编译环境 |
dist-upgrade | 发布版升级 |
dselect-upgrade | 根据dselect的选择来进行软件包升级 |
clean | 删除缓存区中所有已下载的包文件 |
autoclean | 删除缓存区中老版本的已下载文件 |
check | 检查系统中依赖关系的完整性 |
子选项
选项 | 描述 |
---|---|
-d | 仅下载软件包,而不安装或解压 |
-f | 修复系统中存在的软件包依赖性问题 |
-m | 当发现缺少关联软件包时,仍试图继续执行 |
-q | 将输出作为日志保留,不获取命令执行进度 |
-purge | 与remove子命令一起使用,完全卸载软件包 |
-reinstall | 与install子命令一起使用,重新安装软件包 |
-b | 在下载完源码包后,编译生成相应的软件包 |
-s | 不做实际操做,只是模拟命令执行结果 |
-y | 对所有询问都做肯定的回答 |
-u | 获取已升级的软件包列表 |
-h | 获取帮助信息 |
-v | 获取apt-get版本 |
apt-cache工具集
简介
apt-cache是一个apt软件包管理工具,配合不同的子命令和参数使用,可以实现查询软件源和软件包的相关信息及包依赖关系等功能
基本结构
子命令
子命令 | 描述 |
---|---|
showpkg | 获取二进制软件包的常规描述信息 |
showsrc | 获取源码包的详细描述信息 |
show | 获取二进制软件包的详细描述信息 |
stats | 获取软件源的基本统计信息 |
dump | 获取软件源所有软件包的简要信息 |
dumpavail | 获取当前中已安装的所有软件包的描述信息 |
unmet | 获取所有未满足的依赖关系 |
search | 根据正则表达式检索软件包 |
depends | 获取该软件包的依赖信息 |
rdepends | 获取所有依赖于该软件包的软件包 |
pkgnames | 列出所有已安装软件包的名字 |
policy | 获取软件包当前的安装状态 |
子选项
选项 | 描述 |
---|---|
-p | 软件包缓存 |
-s | 源代码包的缓存 |
-q | 关闭进度获取 |
-i | 获取重要的依赖关系 |
-c | 读取指定配置文件 |
-h | 获取帮助信息 |
更多内容
Linux-开发与管理 P1 shell编程
Linux-开发与管理 P2 GCC编译器
Linux-开发与管理 P3 GDB调试器
Linux-开发与管理 P4 Makefile基础
Linux-开发与管理 P5 软件管理
Linux-开发与管理 P6 用户管理
Linux-开发与管理 P7 文件系统
文章知识点与官方知识档案匹配,可进一步学习相关知识CS入门技能树Linux入门初识Linux24752 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!