apt 命令 #
apt
(Advanced Package Tool)是 Debian 和基于 Debian 的 Linux 发行版(如 Ubuntu)中的包管理命令行工具。它是apt-get
和apt-cache
等工具的高级前端,提供了更友好的界面和更现代的功能。
语法 #
apt [选项] 子命令
常用子命令 #
子命令 | 描述 |
---|---|
update |
更新可用包列表 |
upgrade |
升级已安装的包 |
full-upgrade |
升级包,必要时可以移除其他包(相当于apt-get dist-upgrade ) |
install |
安装包 |
remove |
移除包 |
purge |
移除包及其配置文件 |
autoremove |
移除不再需要的自动安装的包 |
search |
搜索包 |
show |
显示包详细信息 |
list |
列出包 |
edit-sources |
编辑源列表文件 |
clean |
清除本地仓库的检索文件 |
autoclean |
清除本地仓库中过时的检索文件 |
常用选项 #
选项 | 描述 |
---|---|
-y, --yes |
自动回答是,不提示确认 |
-q, --quiet |
静默输出 |
-v, --verbose |
详细输出 |
-s, --simulate |
模拟操作但不实际执行 |
--no-install-recommends |
不安装推荐的包 |
--no-upgrade |
不升级已安装的包 |
--only-upgrade |
只升级已安装的包 |
--allow-downgrades |
允许降级包 |
--fix-broken |
修复损坏的依赖关系 |
-d, --download-only |
仅下载,不安装 |
常见用法 #
1. 更新包索引 #
apt update
这将更新本地包索引,但不会安装或升级任何包。
2. 升级已安装的包 #
apt upgrade
这将升级所有已安装的包到最新版本,但不会移除任何包。
3. 完全升级系统 #
apt full-upgrade
这将升级整个系统,必要时可以移除一些包以解决依赖关系。
4. 安装包 #
apt install package_name
例如:
apt install nginx
5. 安装多个包 #
apt install package1 package2 package3
6. 安装特定版本的包 #
apt install package_name=version
例如:
apt install nginx=1.18.0-0ubuntu1
7. 移除包 #
apt remove package_name
这将移除包,但保留配置文件。
8. 完全移除包及其配置 #
apt purge package_name
或者:
apt remove --purge package_name
9. 移除不再需要的依赖 #
apt autoremove
这将移除那些最初是作为依赖项自动安装,但现在不再需要的包。
10. 搜索包 #
apt search keyword
例如:
apt search "web server"
11. 显示包信息 #
apt show package_name
例如:
apt show nginx
12. 列出已安装的包 #
apt list --installed
13. 列出可升级的包 #
apt list --upgradable
14. 清理本地缓存 #
apt clean
这将删除/var/cache/apt/archives/
中的所有包文件。
15. 清理过时的包文件 #
apt autoclean
这将只删除那些不能再下载的包文件(过时的版本)。
高级用法 #
1. 模拟安装 #
apt -s install package_name
这将模拟安装过程,显示将会发生什么,但不会实际安装。
2. 只下载不安装 #
apt -d install package_name
这将下载包文件但不安装。
3. 修复损坏的依赖关系 #
apt --fix-broken install
这在安装过程中断后特别有用。
4. 不安装推荐的包 #
apt --no-install-recommends install package_name
这将只安装必要的依赖,不安装推荐的包。
5. 从特定仓库安装包 #
apt install -t repository_name package_name
例如:
apt install -t focal-backports package_name
6. 查看包的依赖关系 #
apt depends package_name
7. 查看哪些包依赖于特定包 #
apt rdepends package_name
配置文件 #
APT 的主要配置文件和目录:
/etc/apt/sources.list
:主要的软件源列表/etc/apt/sources.list.d/
:附加软件源列表目录/etc/apt/apt.conf
:APT 配置文件/etc/apt/apt.conf.d/
:APT 配置目录/etc/apt/preferences
:包优先级配置/var/cache/apt/archives/
:下载的包文件缓存
与 apt-get 的区别 #
apt
命令是为终端用户设计的,而 apt-get
更适合在脚本中使用。apt
提供了:
- 更简洁的命令(例如
apt update
而不是apt-get update
) - 进度条和彩色输出
- 自动显示可升级的包数量
- 合并了
apt-get
和apt-cache
的常用功能
提示 #
- 在执行重要操作前,先运行
apt update
确保包索引是最新的 - 使用
apt full-upgrade
而不是apt upgrade
可以确保所有包都得到更新 - 定期运行
apt autoremove
可以清理系统中不再需要的包 - 使用
apt list --installed | grep package_name
可以快速检查特定包是否已安装 - 在服务器环境中,考虑使用
--no-install-recommends
选项减少安装的包数量 - 使用
apt-mark
命令可以将包标记为手动或自动安装 - 在生产环境中执行重大更改前,使用
-s
选项模拟操作 - 使用
/etc/apt/apt.conf.d/
目录中的配置文件可以自定义 APT 行为