apt
和 apt-get
是 Linux 系统中用于处理包安装与管理的前端工具,通常用在基于 Debian 的系统中,如 Ubuntu。这两个命令之间有几个主要区别:
界面和用户体验
apt
提供了一个更为友好的用户界面,输出更易于阅读,包含彩色高亮和进度条。apt-get
的输出更为严谨和详细,主要面向脚本使用。
功能
apt
旨在提供一个简洁的命令集,合并了apt-get
和apt-cache
的常见用法,如安装、删除、升级包和搜索包信息等。apt-get
中包含了一些更高级的选项,如autoremove
、build-dep
等。
使用
- 对于日常包管理任务,如安装、删除和升级包,建议使用
apt
。 - 对于更复杂的包管理操作、自动化脚本和向后兼容,使用
apt-get
。
命令语法
- 两者命令的基本语法是类似的,但
apt
对语法和选项的限制更少。比如,在apt
中,您可以使用apt install package
和apt list --upgradable
,但apt-get
需要使用apt-get install package
和apt-cache policy package
来获取详细信息。
开发和支持
apt
是较新的工具,提供了大多数常用的功能,并且正在不断开发中,以改善用户体验。apt-get
是更传统的工具,已经非常稳定,广泛用于多年,因此得到了广泛的测试和支持。
apt
是一个相对现代的工具,适合日常的包管理操作,用户体验更好;而 apt-get
提供了一些更专业的选项和向后兼容性,更适合自动化和脚本中。两者在功能上有很大的重叠,但并不是完全互换。在命令行上熟练使用任意一个工具都能够很好地管理您的 Debian 系统或其衍生系统的软件包。
apt-get:
更新包索引:
sudo apt-get update
这会同步包索引文件,更新所有配置的源(repositories)中的包列表。
安装新包:
sudo apt-get install packageName
替换 "packageName" 以安装新的软件包。
升级所有已安装的包:
sudo apt-get upgrade
升级所有已安装的包到最新版本。注意:这不会改变任何包的版本,只会安装更新。
安装可用更新(智能升级):
sudo apt-get dist-upgrade
除了执行 upgrade
的任务外,还能智能处理依赖变化,可能会添加或移除包。
移除包:
sudo apt-get remove packageName
移除指定的包但保留配置文件。
完全移除包及其配置文件:
sudo apt-get purge packageName
移除指定的包并删除其配置文件。
自动移除不需要的包:
sudo apt-get autoremove
移除所有自动安装但不再由任何已安装的软件包需要的包。
清除本地仓库的检索文件:
sudo apt-get clean
清除本地缓存的 .deb 文件,释放磁盘空间。
仅清除过时的检索文件:
sudo apt-get autoclean
仅移除仓库中不再提供的包的 .deb 文件。
下载软件包的源码:
sudo apt-get source packageName
#下载指定包的源代码。
安装依赖以构建源码包:
sudo apt-get build-dep packageName
#安装所需的所有依赖来构建指定的源码包。
查看包的详细信息:
apt-cache show packageName
#显示与指定包相关的元数据,如描述、大小、版本等。
执行 apt-get
命令时,通常最好先运行 sudo apt-get update
以确保你安装或升级到最新版本的包。对于多数命令,您可以指定多个包名,用空格分开。此外,很多 apt-get
命令可以通过添加 -y
选项来跳过确认提示,从而便于自动化和脚本化。
apt
更新源列表:
sudo apt update
这个命令会同步系统的包列表信息源,以便 apt
能获取到最新版本的软件信息。
升级软件包:
sudo apt upgrade
使用此命令将系统上的所有包更新到最新版本。
完整升级:
sudo apt full-upgrade
此命令执行 upgrade
相同的功能,但它还会删除当前安装的包(如果需要),以确保所有系统的软件都升级到最新版本。
安装软件包:
sudo apt install packageName
安装或更新指定的包。如果没有指定版本号,APT 会安装最新版本。
移除软件包:
sudo apt remove packageName
从系统中删除指定的包,但保留其配置文件。
完全移除软件包及配置文件:
sudo apt purge packageName
完全删除指定的包及其配置文件。
自动清理不再需要的包:
sudo apt autoremove
自动删除所有不再由其他已安装软件包所需的软件包。
搜索软件包:
apt search searchTerm
在软件包的名称和描述中搜索包含搜索词的相关包。
显示软件包信息:
apt show packageName
显示关于包的详细信息,如其描述、版本、大小、依赖关系等。
列出可升级的软件包:
apt list --upgradable
显示所有有可用更新的软件包列表。
列出所有已安装的软件包:
apt list --installed
列出系统上安装的所有软件包。
清理APT缓存:
sudo apt clean
清除本地下载的软件包缓存,释放磁盘空间。
检查错误:
sudo apt check
检查是否有损坏的依赖关系。
编辑源列表:
sudo apt edit-sources
直接编辑软件源列表文件 `/etc/apt/sources.list`。