文章目录
- 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进行处理,非常感谢!