dpkg 、apt

1. apt简介

Advanced Package Tool,即APT。是一款适用于Unix和Linux系统的应用程序管理器。是debian,ubuntu发行版的包管理工具,与红帽中的yum工具非常类似。 最初于1998年发布,用于检索应用程序并将其加载到Debian Linux系统。APT成名的原因之一在于其出色的解决软件依赖关系的能力。

APT的命令行工具:apt-get apt等。

2. apt 常用的命令

  • apt-cache和apt-get是apt包的管理工具,他们根据/etc/apt/sources.list里的软件源地址列表搜索目标软件、并通过维护本地软件包列表来安装和卸载软件。
  • 查看本机是否安装软件: whereis package_name 或者 which package_name

2.1 注意

apt-get命令一般需要root权限执行,所以一般跟着sudo命令。

//例:
sudo apt-get xxxx

2.2 apt-get 常用命令

2.2.1 安装软件包

apt-get install packagename
  • 安装名为packagename 的软件包

2.2.2 卸载软件包

apt-get remove packagename
apt-get remove --purge packagename
  • 第一个命令:卸载名为packagename 的软件包,保留配置文件
  • 第二个命令:卸载名为packagename 的软件包,不保留配置文件
apt-get autoremove packagename
apt-get autoremove --purge packagname
  • 第一个命令:删除包及其依赖的软件包
  • 第二个命令:删除包及其依赖的软件包+配置文件
dpkg --force-all --purge packagename

有些软件很难卸载,而且还阻止了别的软件的应用,就能够用这个,但是有点冒险。

2.2.3 更新软件包列表

apt-get update
  • 在修改/etc/apt/sources.list或/etc/apt/preferences之后运行该命令。
  • 此外需要定期运行这一命令以确保你的软件包列表是最新的。

2.2.4更新软件包

apt-get upgrade
apt-get dist-upgrade
  • 两条命令可以使用这条命令更新软件包。
  • apt-get upgrade不仅可以从相同版本号的发布版中更新软件包,也可以从新版本号的发布版中更新软件包(但是不推荐使用这个命令)。
  • 新版本号的发布版中更新软件包 推荐命令为apt-get dist-upgrade。
apt-get -u upgrade
  • -u选项让APT显示完整的可更新软件包列表。不加这个选项,你就只能盲目地更新。APT会下载每个软件包的最新更新版本,然后以合理的次序安装它们。注意在运行该命令前应先运行apt-get update更新数据库,更新任何已安装的软件包。

2.2.5删除硬盘上备份的软件包

apt-get autoclean
apt-get clean
  • apt会把已装或已卸的软件都备份在硬盘上
  • 第一个命令: 可以把已经卸载的软件包的备份给删除了。
  • 第二个命令:将已经安装的和已卸载的软件包的备份给删除了。

2.2.6 在软件包列表中搜索 软件包

apt-cache search packegename

如果不知道完整的软件包名字,可以只输入其中一个子集。

2.2.7清除那些已卸载的软件包的.deb文档

apt-get autoclean

3.apt 和 apt-get

3.1 apt 和 apt-get

在开始对比 apt 与 apt-get 命令的区别之前,我们先来看看这两个命令的背景,以及它们要试图达到的目的。

Debian 作为 Ubuntu、Linux Mint 和 elementary OS 等 Linux 操作系统的母板,其具有强健的「包管理」系统,它的每个组件和应用程序都内置在系统中安装的软件包中。Debian 使用一套名为 Advanced Packaging Tool(APT)的工具来管理这种包系统,不过请不要把它与 apt 命令混淆,它们之间是其实不是同一个东西。

在基于 Debian 的 Linux 发行版中,有各种工具可以与 APT 进行交互,以方便用户安装、删除和管理的软件包。apt-get 便是其中一款广受欢迎的命令行工具,另外一款较为流行的是 Aptitude 这一命令行与 GUI 兼顾的小工具。

如果你已阅读过我们的 apt-get 命令指南,可能已经遇到过许多类似的命令,如apt-cache、apt-config 等。如你所见,这些命令都比较低级又包含众多功能,普通的 Linux 用户也许永远都不会使用到。换种说法来说,就是最常用的 Linux 包管理命令都被分散在了 apt-get、apt-cache 和 apt-config 这三条命令当中。

apt 命令的引入就是为了解决命令过于分散的问题,它包括了 apt-get 命令出现以来使用最广泛的功能选项,以及 apt-cache 和 apt-config 命令中很少用到的功能。

在使用 apt 命令时,用户不必再由 apt-get 转到 apt-cache 或 apt-config,而且 apt 更加结构化,并为用户提供了管理软件包所需的必要选项。

简单来说就是:apt = apt-get、apt-cache 和 apt-config 中最常用命令选项的集合。

3.1 apt 和 apt-get 命令之间的区别

虽然 apt 与 apt-get 有一些类似的命令选项,但它并不能完全向下兼容 apt-get 命令。也就是说,可以用 apt 替换部分 apt-get 系列命令,但不是全部。

apt 命令 取代的命令 安装软件包
apt install apt-get install 安装软件包
apt remove apt-get remove 移除软件包
apt purge apt-get purge 移除软件包及配置文件
apt update apt-get update 刷新存储库索引
apt upgrade apt-get upgrade 升级所有可升级的软件包
apt autoremove apt-get autoremove 自动删除不需要的包
apt full-upgrade apt-get dist-upgrade 在升级软件包时自动处理依赖关系
apt search apt-cache search 搜索应用程序
apt show apt-cache show 显示安装细节

当然,apt 还有一些自己的命令:

  • apt list 列出包含条件的包(已安装,可升级等)
  • apt edit-sources 编辑源列表
posted @ 2020-04-18 00:06  江南又一春  阅读(277)  评论(0编辑  收藏  举报