跳到主要内容

Ubuntu APT命令

APT(Advanced Package Tool)是Ubuntu和其他基于Debian的Linux发行版中用于管理软件包的工具。它简化了软件包的安装、更新、升级和删除过程。无论你是初学者还是有经验的用户,掌握APT命令都是管理Ubuntu系统的关键。

什么是APT?

APT是一个命令行工具,用于处理.deb格式的软件包。它能够自动处理依赖关系,并从配置的软件源中获取软件包。APT的主要功能包括:

  • 安装软件包
  • 更新软件包列表
  • 升级已安装的软件包
  • 删除软件包
  • 搜索软件包

基本APT命令

更新软件包列表

在安装或升级软件包之前,建议先更新本地的软件包列表。这可以确保你获取到最新的软件包信息。

bash
sudo apt update

输出示例:

Hit:1 http://archive.ubuntu.com/ubuntu focal InRelease
Get:2 http://archive.ubuntu.com/ubuntu focal-updates InRelease [114 kB]
...
Fetched 1,243 kB in 2s (623 kB/s)
Reading package lists... Done

升级已安装的软件包

更新软件包列表后,你可以使用以下命令升级系统中已安装的软件包:

bash
sudo apt upgrade

输出示例:

Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be upgraded:
curl libcurl4
2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 1,234 kB of archives.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n]
提示

如果你希望升级所有软件包,包括那些需要删除旧包的新版本,可以使用 sudo apt full-upgrade

安装软件包

要安装一个软件包,使用以下命令:

bash
sudo apt install <package_name>

例如,安装curl

bash
sudo apt install curl

输出示例:

Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
libcurl4
The following NEW packages will be installed:
curl libcurl4
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 1,234 kB of archives.
After this operation, 2,345 kB of additional disk space will be used.
Do you want to continue? [Y/n]

删除软件包

要删除一个软件包,使用以下命令:

bash
sudo apt remove <package_name>

例如,删除curl

bash
sudo apt remove curl

输出示例:

Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
curl
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
After this operation, 1,234 kB disk space will be freed.
Do you want to continue? [Y/n]
警告

sudo apt remove 只会删除软件包,但保留配置文件。如果你想彻底删除软件包及其配置文件,可以使用 sudo apt purge <package_name>

搜索软件包

如果你不确定软件包的确切名称,可以使用以下命令搜索:

bash
apt search <keyword>

例如,搜索与python相关的软件包:

bash
apt search python

输出示例:

Sorting... Done
Full Text Search... Done
python3/focal 3.8.2-0ubuntu2 amd64
interactive high-level object-oriented language (default python3 version)
...

高级APT命令

清理未使用的软件包

随着时间的推移,系统中可能会积累一些不再需要的软件包。你可以使用以下命令清理这些未使用的软件包:

bash
sudo apt autoremove

输出示例:

Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
libcurl4
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
After this operation, 1,234 kB disk space will be freed.
Do you want to continue? [Y/n]

查看软件包信息

要查看某个软件包的详细信息,可以使用以下命令:

bash
apt show <package_name>

例如,查看curl的详细信息:

bash
apt show curl

输出示例:

Package: curl
Version: 7.68.0-1ubuntu2.7
Priority: optional
Section: web
Origin: Ubuntu
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
...

列出已安装的软件包

要列出系统中已安装的所有软件包,可以使用以下命令:

bash
apt list --installed

输出示例:

Listing... Done
curl/focal,now 7.68.0-1ubuntu2.7 amd64 [installed]
libcurl4/focal,now 7.68.0-1ubuntu2.7 amd64 [installed]
...

实际应用场景

场景1:安装开发工具

假设你正在设置一个新的开发环境,需要安装gitpython3build-essential(包含GCC等编译工具)。你可以使用以下命令:

bash
sudo apt install git python3 build-essential

场景2:升级系统

在长时间使用系统后,你可能希望升级所有已安装的软件包。你可以使用以下命令:

bash
sudo apt update
sudo apt upgrade

场景3:清理系统

在删除一些不再需要的软件包后,你可以使用以下命令清理未使用的依赖项:

bash
sudo apt autoremove

总结

APT是Ubuntu系统中管理软件包的核心工具。通过掌握基本的APT命令,你可以轻松地安装、更新、升级和删除软件包。此外,高级命令如autoremoveshow可以帮助你更好地管理系统。

附加资源

练习

  1. 使用apt search命令搜索你感兴趣的软件包。
  2. 安装一个软件包,然后使用apt show查看其详细信息。
  3. 尝试升级系统中的所有软件包,并使用autoremove清理未使用的依赖项。

通过实践这些命令,你将更加熟悉APT的使用,并能够更高效地管理你的Ubuntu系统。