apt系列

dpkg

Debian为了解决软件管理问题,开发了dpkg(Debian Packager)来简化软件的安装,更新和移除,然后又在dpkg的基础上开发了APT(Advanced Packaging Tool)

  • Debian首先维护了一个代码仓库,这个仓库中有大量预先基于dpkg处理好的软件和软件依赖
  • 软件仓库中的所有软件信息被记录在一张表中,当仓库中的软件发生变动时(例如更新、新增或者移除),该表也会对应变化
  • Debian终端用户获取远程仓库的记录表,从而知晓当前软件仓库中软件的情况
选项 描述
-s 报告指定包的状态信息

/var/lib/dpkg/info

在这里保存了各个软件包的配置文件列表

如果把这里的内容全部删除系统并不会崩溃,如果有未完全安装的软件包,那么把这个文件删除后再新建一个info是有效的解决方式

软件包的期望状态

状态 全称 描述
u unknown 软件包未安装且用户未请求安装
i install 用户请求安装软件包
r remove 用户请求卸载软件包
p purge 用户请求卸载软件包并清理配置文件
h hold 用户请求保持当前软件包版本

dpkg --configure -a

如果apt被打断了,包被下载了但解压过程可能没有被完全配置或者安装,就可能出现问题

--configure让dpkg完成半安装的软件的配置,-a说明不只是一个特定的包,而是所有的解压过后的,但是没有被配置的软件都应该进行该处理

apt-

  • 同步远程仓库中的记录表:apt-get update
  • 将本地所有软件包更新至远程仓库最新版本:apt-get upgrade
  • 在软件仓库中搜索某一软件包:apt-cache search <package>
  • 安装某个包:apt-get install <package>
附加选项 描述
-f--fix-missing 有时候会因为网络问题得不到一些包,这时候需要做
  • 清除不必要的包,这些包是为了满足其他软件包的依赖而安装的,但是现在不再需要:apt-get autoremove
  • 把已经安装的软件包的安装包删除掉:apt-get clean
  • 删除已经安装的软件包(保留配置文件):apt-get remove
附加选项 描述
--purge 删除安装包,不保留配置文件,同时删除相应依赖软件包