APT 包管理器使用指南¶
约 845 个字 97 行代码 预计阅读时间 4 分钟
说明
本文不需要全部掌握,仅作为参考资料供按需查询
什么是 APT¶
APT(Advanced Package Tool)是 Ubuntu 和 Debian 系统中的核心包管理器,它为用户提供了一个统一、高效的软件包管理解决方案。通过 APT,用户可以轻松地搜索、安装、升级和卸载软件包,同时自动处理复杂的依赖关系。
基本功能介绍¶
查询功能¶
APT 提供了强大的包查询功能,帮助用户快速找到所需的软件包:
# 搜索包含关键词的软件包
apt search 关键词
# 显示包的详细信息
apt show 包名
# 列出所有已安装的包
apt list --installed
# 列出可升级的包
apt list --upgradable
使用 apt search
时,系统会在包名和描述中搜索关键词,并显示匹配的结果。这对于不确定具体包名的情况特别有用。
安装功能¶
APT 的安装功能不仅简单易用,还能自动解决依赖问题:
# 安装单个软件包
sudo apt install 包名
# 同时安装多个软件包
sudo apt install 包名1 包名2 包名3
# 安装指定版本的软件包
sudo apt install 包名=版本号
# 仅下载不安装
sudo apt download 包名
在安装过程中,APT 会自动检查并安装所需的依赖包,确保软件能够正常运行。如果存在依赖冲突,系统会提示用户并给出解决方案。
卸载功能¶
APT 提供了灵活的卸载选项,可以根据需要选择不同的卸载方式:
# 卸载软件包但保留配置文件
sudo apt remove 包名
# 完全卸载软件包及其配置文件
sudo apt purge 包名
# 卸载不再需要的依赖包
sudo apt autoremove
# 清理下载的包文件缓存
sudo apt autoclean
使用 remove
命令时,系统会保留配置文件,方便将来重新安装时恢复设置。而 purge
命令则会彻底删除所有相关文件。
系统更新¶
保持系统更新是维护系统安全性和稳定性的重要措施:
# 更新包列表
sudo apt update
# 升级已安装的包
sudo apt upgrade
# 升级系统到新版本
sudo apt dist-upgrade
# 一键更新和升级
sudo apt update && sudo apt upgrade
更换软件源¶
默认的软件源可能因为网络环境或地理位置导致下载速度较慢。更换为国内镜像源可以显著提升包管理速度。
备份原有源文件¶
在修改源文件之前,建议先备份:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
常用国内镜像源¶
以下是一些可靠的国内镜像源(以 Ubuntu 24.04 为例):
清华大学镜像源:
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu/ noble-security main restricted universe multiverse # security 源不建议用镜像
阿里云镜像源:
deb https://mirrors.aliyun.com/ubuntu/ noble main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ noble-updates main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ noble-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu/ noble-security main restricted universe multiverse
更换源的步骤¶
- 编辑源文件:
sudo nano /etc/apt/sources.list
- 替换内容为选择的镜像源
- 保存并退出编辑器
- 更新包列表:
sudo apt update
DEB822 格式¶
Ubuntu 24.04 和 Debian 13 开始使用 DEB822 格式取代老的 /etc/apt/sources.list,使用键值对的方式取代老的单行,合并了同源的 Suites 和 Types,配置起来变得更简明了。例如清华源就可以写成
# /etc/apt/sources.list.d/ubuntu.sources
Types: deb deb-src
URIs: https://mirrors.tuna.tsinghua.edu.cn/ubuntu
Suites: noble noble-updates noble-backports
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
Types: deb deb-src
URIs: http://security.ubuntu.com/ubuntu/
Suites: noble-security
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
其他步骤与之前相同。
常见问题与解决方案¶
依赖问题¶
现象: 安装软件时出现依赖冲突或无法满足依赖要求
解决方案:
# 尝试修复依赖问题
sudo apt --fix-broken install
# 强制重新配置包
sudo dpkg --configure -a
# 清理包管理器状态
sudo apt clean && sudo apt autoclean
锁定问题¶
现象: 出现 "Could not get lock" 错误
解决方案:
# 查看占用进程
sudo lsof /var/lib/dpkg/lock*
# 强制删除锁文件(谨慎使用)
sudo rm /var/lib/dpkg/lock*
sudo dpkg --configure -a
GPG 密钥问题¶
现象: 出现 "NO_PUBKEY" 错误
解决方案:
# 添加缺失的密钥
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 密钥ID
# 或者使用新的方式
wget -qO - https://密钥URL | sudo apt-key add -
网络连接问题¶
现象: 无法连接到软件源
解决方案: 1. 检查网络连接 2. 尝试更换镜像源 3. 检查防火墙设置 4. 使用代理(如果需要)
磁盘空间不足¶
现象: 安装失败提示磁盘空间不足
解决方案:
# 清理包缓存
sudo apt clean
# 移除不需要的包
sudo apt autoremove
# 清理系统日志
sudo journalctl --vacuum-time=7d
高级技巧¶
包版本管理¶
# 查看包的所有可用版本
apt policy 包名
# 阻止包被自动升级
sudo apt-mark hold 包名
# 取消阻止
sudo apt-mark unhold 包名
使用 APT 配置文件¶
创建 /etc/apt/apt.conf.d/99local
文件可以自定义 APT 行为:
APT::Install-Recommends "false";
APT::Install-Suggests "false";
APT::Get::Show-Upgraded "true";
批量操作¶
# 从文件安装多个包
sudo apt install $(cat package_list.txt)
# 导出已安装包列表
dpkg --get-selections > installed_packages.txt