在Ubuntu和其他基于Debian的Linux发行版中,apt
和apt-get
都是用于包管理的命令行工具,但它们有一些区别和不同的使用场景。
apt
apt
是一个较新的命令行工具,旨在简化用户的使用体验。它集成了apt-get
和apt-cache
的一些功能,提供了更为简洁和用户友好的命令格式。以下是apt
的一些特点:
- 综合性:
apt
集成了apt-get
和apt-cache
的功能,可以进行安装、更新、删除和搜索等操作。 - 易用性:命令格式更简单,输出信息更人性化。例如,它的进度条更美观,错误信息更容易理解。
- 推荐使用:对于日常使用和基本操作,
apt
被推荐使用。
一些常用的apt
命令示例:
- 更新包列表:
sudo apt update
- 升级所有已安装的软件包:
sudo apt upgrade
- 安装软件包:
sudo apt install <package_name>
- 删除软件包:
sudo apt remove <package_name>
- 搜索软件包:
apt search <package_name>
- 显示软件包信息:
apt show <package_name>
apt-get
apt-get
是一个更老、更底层的工具,功能上更为丰富和细粒度。它主要用于脚本和自动化任务中,因为它的输出和行为在不同版本之间变化较小。以下是apt-get
的一些特点:
- 稳定性:
apt-get
在不同版本的Ubuntu中行为一致,适合用于脚本和自动化任务。 - 高级功能:提供了更多高级选项和功能,例如
dist-upgrade
和build-dep
等。 - 不适合新手:输出信息和用法相对较为复杂,不如
apt
易于理解。
一些常用的apt-get
命令示例:
- 更新包列表:
sudo apt-get update
- 升级所有已安装的软件包:
sudo apt-get upgrade
- 安装软件包:
sudo apt-get install <package_name>
- 删除软件包:
sudo apt-get remove <package_name>
- 清理已下载的包文件:
sudo apt-get clean
- 自动删除不再需要的包:
sudo apt-get autoremove
总结
- 对于日常使用和简单操作,
apt
更加便捷和用户友好,推荐使用。 - 对于脚本和需要更多控制的场景,
apt-get
更加合适,因为它的行为更稳定并且功能更强大。
其他常见的以 apt-
开头的命令
apt-cache
apt-cache
用于查询包管理系统的包信息和索引。它可以搜索包、显示包的详细信息和依赖关系等。
- 搜索软件包:
apt-cache search <package_name>
- 显示软件包信息:
apt-cache show <package_name>
- 显示软件包的依赖关系:
apt-cache depends <package_name>
- 显示反向依赖关系:
apt-cache rdepends <package_name>
apt-file
apt-file
用于搜索哪些包包含特定的文件。这个工具在安装一些依赖关系较多的软件包时非常有用。
- 更新apt-file数据库:
sudo apt-file update
- 搜索包含特定文件的包:
apt-file search <file_name>
apt-config
apt-config
用于查询和设置APT的配置选项。它允许用户查看和修改APT的配置文件。
- 查看APT的配置:
apt-config dump
- 获取特定配置值:
apt-config get <configuration_option>
apt-mark
apt-mark
用于改变包的状态,可以将包标记为手动安装或自动安装,或者保持包的安装状态。
- 标记包为手动安装:
sudo apt-mark manual <package_name>
- 标记包为自动安装:
sudo apt-mark auto <package_name>
- 保持包的当前版本:
sudo apt-mark hold <package_name>
- 取消包的保持状态:
sudo apt-mark unhold <package_name>
apt-add-repository
apt-add-repository
用于添加、删除或管理软件包仓库(PPA,Personal Package Archive)。
- 添加新的PPA:
sudo add-apt-repository ppa:<repository_name>
- 删除PPA:
sudo add-apt-repository --remove ppa:<repository_name>
- 添加自定义仓库:
sudo add-apt-repository '<repository_entry>'
apt-key
apt-key
用于管理APT的密钥,确保从软件仓库下载的包是经过签名和验证的。
- 添加密钥:
sudo apt-key add <key_file>
- 列出所有密钥:
apt-key list
- 删除密钥:
sudo apt-key del <key_id>
参考链接:
- APT: The Advanced Package Tool
- Difference between apt and apt-get
- Ubuntu Manpage: apt
- Ubuntu Manpage: apt-get
- Ubuntu Manpage: apt-cache
- Ubuntu Manpage: apt-file
- Ubuntu Manpage: apt-config
- Ubuntu Manpage: apt-mark
- Ubuntu Manpage: add-apt-repository
- Ubuntu Manpage: apt-key