在 Debian 和 Ubuntu 上,我们通常使用 APT 命令来管理包。APT,全称为 Advanced Package Tool,通常简称为 APT,是 Debian、Ubuntu 和其他类似 Linux 发行版的包管理系统。它充当较低级别 dpkg 包管理器的前端,用于安装、管理和提供有关 .deb 包的信息。除了这些功能之外,APT 还与存储库接口以获取包,并且还提供了非常有效的依赖项管理。本文介绍使用 APT 及其命令行工具来执行与包管理相关的常见功能,包括命令介绍和简单示例,比如 apt-get、apt-cache 和较新的 apt。
其他包管理器和工具也用于与 APT 或 dpkg 交互。一种流行的方法称为Aptitude。 Aptitude 包括命令行界面和交互式用户界面。虽然它确实提供了高级功能,但默认情况下通常不会安装它,所以本文我们不会介绍。
准备工作
1、准备一个 Debian/Ubuntu 系统
在 Debian 或 Ubuntu 上运行的系统。 也可以使用其他采用 APT 包管理器的 Linux 发行版。 如果还没有兼容的系统,可以进行重装系统。
2、连接到搬瓦工 SSH
其次我们需要通过 SSH 连接到搬瓦工 VPS,然后才能进行一系列操作。
apt 和 apt-get/apt-cache 有什么区别?
虽然相似之处多于不同之处,但在决定使用哪个命令时需要考虑几个重要的点。
- apt:一种较新的工具,它整合了 apt-get 和 apt-cache 的功能。与其他工具相比,apt 工具更加直接和用户友好。它还具有一些额外的功能,例如进度栏和列出包的功能等。Ubuntu 和 Debian 都推荐 apt 命令而不是 apt-get 和 apt-cache。
- apt-get 和 apt-cache:apt-get 命令管理软件包(及其依赖项)的安装、升级和删除。 apt-cache 命令用于搜索包并检索有关包的详细信息。这些命令的更新旨在永不引入破坏性更改,即使以牺牲用户体验为代价。输出对于机器可读性很好,这些命令最好限制在脚本中使用。
简而言之,apt 是一个包含其他 APT 特定工具的大部分功能的单一工具。它主要设计用于作为最终用户与 APT 交互,其默认功能可能会更改以包含新功能或最佳实践。如果您不想冒险破坏兼容性和/或更喜欢与更简单的输出交互,则可以使用 apt-get 和 apt-cache 代替,尽管确切的命令可能会有所不同。
Debian/Ubuntu 安装软件包教程
下面首先介绍一下怎么安装指定的包和所有必需的依赖项。在下面的示例中,将 [package] 替换为要安装的软件包的名称。apt install 命令可与 apt-get install 互换。
sudo apt install [package]
在安装软件包之前,强烈建议获取更新的软件包版本和依赖项信息,并将软件包和依赖项升级到最新版本:
sudo apt update && sudo apt upgrade
其他选项:
- 指定版本:
sudo apt install [package]=[version]
- 重新安装:
sudo apt reinstall [package]
- 安装多个:
sudo apt install [package1] [package2]
- 自动确认:
sudo apt install [package] -y
Debian/Ubuntu 更新软件包教程
此命令获取有关所有可用软件包及其依赖项的最新版本的详细信息,一般建议在安装包之前都先执行一下下面命令。
sudo apt update
此命令等效于 apt-get update。
Debian/Ubuntu 升级软件包教程
将所有软件包升级到最新版本,包括升级现有依赖项和安装新依赖项。请务必注意,当前安装的版本不会被删除,而是会保留在您的系统上。
sudo apt upgrade
此命令等效于 apt-get upgrade –with-new-pkgs。如果没有 –with-new-pkgs 选项,apt-get upgrade 命令只会升级现有的包/依赖项,而忽略任何需要安装新依赖项的包。
在升级包之前,强烈建议获取更新的包版本和依赖信息:
sudo apt update && sudo apt upgrade
其他选项:
- 查看所有可用升级列表,请使用带有 –-upgradable 选项的 list 命令。
apt list --upgradeable
- 要升级特定包,请使用 install 命令并附加包名称。如果该软件包已安装,它将升级到您的系统知道的最新版本。要仅升级(不安装)软件包,请使用 –only-upgrade 选项。在下面的命令中,将 [package] 替换为要升级的包的名称。
sudo apt install --only-upgrade [package]
- apt full-upgrade 命令(相当于 apt-get dist-upgrade)可以删除软件包以及升级和安装它们。在大多数情况下,不建议定期运行这些命令。要删除不需要的包(包括内核),请改用 apt autoremove。
Debian/Ubuntu 卸载软件包教程
介绍完安装、升级、更新之后,再看一下怎么卸载。将 [package] 替换为要删除的包的名称即可:
sudo apt remove [package]
要删除包以及任何配置文件,请运行以下命令:
sudo apt purge [package]
这两个命令分别相当于 apt-get remove 和 apt-get purge。
要删除任何未使用的依赖项,请运行 apt autoremove (apt-get autoremove)。 这通常在卸载软件包或升级软件包之后完成,有时有助于减少磁盘空间。
sudo apt autoremove
Debian/Ubuntu 列出软件包教程
如果想要列出已经安装的包、可以升级的包、或者是所有包的版本,可以使用 apt list 命令。apt-cache 中没有直接等效的命令。
列出所有已安装的包:
apt list --installed
列出所有可用的升级包:
apt list --upgradeable
列出所有可用软件包的所有版本:
apt list --all-versions
其他选项:
- 使用 grep 快速搜索特定包名称或其他字符串的列表。 将 [string] 替换为您要搜索的包名称或其他术语。
apt list --installed | grep [string]
- 使用类似 less 的内容查看器与输出进行交互。
apt list --installed | less
Debian/Ubuntu 搜索可用软件包教程
在所有可用包中搜索指定的术语或正则表达式字符串。
apt search [string]
命令 apt-cache search 与此类似,但 apt search 的输出更加用户友好。
其他选项:
- 使用 –full 选项查看每个包的完整描述/摘要。
apt search --full [string]
- 要查找标题或描述包含多个术语的包,请用空格分隔每个字符串。
apt search [string1] [string2]
Debian/Ubuntu 查看软件包信息教程
最后介绍一下怎么查看包信息,以下命令类似于 apt-cache show –no-all-versions [package]。
apt show [package]
输出中的信息包括:
- Package:包的名称。
- Version:包的版本。
- Installed-Size:此包在磁盘上占用的空间量,不包括任何依赖项。
- Depends:依赖列表。
- APT-Manual-Installed:指定包是手动安装还是自动安装(例如,作为另一个包的依赖项)。(仅限 apt 命令)
- APT-Sources:存储包信息的存储库。(仅限 apt 命令)
- Description:包的详细描述。
以上就是在 Debian 和 Ubuntu 上使用 APT 进行包管理的一些方法。
搬瓦工新手优惠推荐/入门教程
温馨提醒 如果您有选择困难症,直接选中间的 CN2 GIA-E方案,季付 $49.99,多达 12 个机房任意切换
方案 | 内存 | CPU | 硬盘 | 流量/月 | 带宽 | 机房 | 价格 | 购买 |
---|---|---|---|---|---|---|---|---|
CN2 (最便宜) |
1GB | 1核 | 20GB | 1TB | 1Gbps | DC3 CN2 DC8 ZNET |
$49.99/年 | 购买 |
CN2 | 2GB | 1核 | 40GB | 2TB | 1Gbps | $52.99/半年 $99.99/年 |
购买 | |
CN2 GIA-E (最推荐) |
1GB | 2核 | 20GB | 1TB | 2.5Gbps | DC6 CN2 GIA-E DC9 CN2 GIA 日本软银 JPOS_1 联通荷兰 EUNL_9 |
$49.99/季度 $169.99/年 |
购买 |
CN2 GIA-E | 2GB | 3核 | 40GB | 2TB | 2.5Gbps | $89.99/季度 $299.99/年 |
购买 | |
HK | 2GB | 2核 | 40GB | 0.5TB | 1Gbps | 香港 CN2 GIA | $89.99/月 $899.99/年 |
购买 |
HK | 4GB | 4核 | 80GB | 1TB | 1Gbps | $155.99/月 $1559.99/年 |
购买 |