Linux-开发与管理 P5软件管理

文章目录

  • Linux-开发与管理 P5软件管理
    • 软件包管理简介
      • 软件包简介
      • 软件包管理工具分类
    • 软件管理机制
      • 软件安装与卸载
      • 静态包管理
    • APT软件包管理工具
      • 运作机制与配置文件
      • apt-get工具集
      • apt-cache工具集
    • 更多内容

Linux-开发与管理 P5软件管理

软件包简介

Linux 系统主要支持RPMDeb两种软件包管理工具

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

上一篇 2020年11月15日
下一篇 2020年11月15日

相关推荐