在 Linux 中使用 apt-get 命令的终极指南

本初学者指南向您展示了在 Linux 中可以使用 apt-get 命令做什么,如何使用它们来查找新包、安装和升级新包以及清理系统。

如果您已经开始使用 Ubuntu 或任何基于 Ubuntu 的 Linux 发行版,例如 Linux Mint、elementary OS 等,您现在一定已经接触过 apt-get 命令。

事实上,在安装 Ubuntu 之后要做的第一件事就是使用apt-get update 和 apt-get upgrade。

现在,您可能知道一些 apt-get 命令及其用法,但您可能不知道其他一些命令。

在本初学者指南中,我将通过示例解释各种 apt-get 命令,以便您可以像专家 Linux 用户一样使用它们。

什么是apt-get?

apt-get 是一组命令行工具,允许您在 Debian 和 Ubuntu 中安装、删除和更新通过 APT(高级包工具)安装的 deb 包。这使得在基于 Debian 的发行版上管理包变得更加容易。

我想您已经知道 Ubuntu 是从Debian Linux衍生而来的。Debian 使用dpkg 打包系统。打包系统是一种提供程序和应用程序以供安装的方式。这样,您就不必从源代码构建程序。

APT(高级包工具)是与这个包系统交互的命令行工具。已经有 dpkg 命令来管理它,但 apt 是一种对用户更友好的处理包的方式。您可以使用它来查找和安装新包、升级包、清理包等。

APT 有两个主要工具:apt-get 和 apt-cache。apt-get 用于安装、升级和清理包,而apt-cache 命令用于查找新包。您将在本指南后面的示例中看到所有这些命令。

现场还有一个较新的 apt 命令,它是 apt-get 的简单版本.

我在本教程中使用 Linux Mint,但您可以使用任何其他基于 Ubuntu 的 Linux 发行版,例如 elementary OS、Linux Lite 等。

使用 apt-get 命令

让我们从 apt-get 命令开始。你就是无法逃避这个命令。最好对它有所了解,这样你就可以稍微更好地处理你的 Linux 系统。

使用 apt-get 更新包数据库

apt-get 基本上在可用包的数据库上工作。如果你不更新这个数据库,系统将不知道是否有更新的包可用。事实上,这是全新安装后需要在任何基于 Debian 的 Linux 系统上运行的第一个命令。

更新包数据库需要超级用户权限,所以你需要使用 sudo。

sudo apt-get update

运行此命令时,您将看到从各种服务器检索的信息。

apt-get更新命令

您会在这里看到三种类型的行:hit、get 和 ign。让我向您解释一下:

  • hit : 包版本没有变化
  • ign:包被忽略。这可能有多种原因。软件包太新以至于它甚至懒得去检查新版本,或者在检索文件时出错但错误很小,因此被忽略了。这不是错误。没有必要担心。
  • get:有可用的新版本包。apt-get 将下载此信息(不是包本身)。您可以在上面的屏幕截图中的“get”行看到下载的信息。

使用 apt-get 升级已安装的软件包

一旦更新了包数据库,就可以升级已安装的包。最方便的方法是升级所有有可用更新的包。为此,您可以使用以下命令:

sudo apt-get upgrade
apt-get升级命令

要仅升级特定程序,请使用以下命令:

sudo apt-get upgrade <package_name>

还有另一种方法可以使用以下命令执行完整升级:

sudo apt-get dist-upgrade

但是你应该避免使用这个命令。我将在下一节中解释原因。

升级和 dist-upgrade 之间的区别

命令 apt-get upgrade 很听话。它从不尝试删除任何包或尝试自行安装新包。

另一方面,命令 apt-get dist-upgrade 是主动的它查找与正在安装的软件包的较新版本的依赖关系,并尝试自行安装新软件包或删除现有软件包。

听起来 dist-upgrade 更强大更智能,不是吗?但这样做有风险。

看,它有一个“智能”冲突解决系统。它会尝试升级最重要的软件包,而牺牲那些不太重要的软件包。这可能会导致删除一些您可能不想要的包。这就是为什么在生产机器上应该避免 dist-upgrade 的主要原因。

apt-get update 和 apt-get upgrade 有什么区别?

这是一个很常见的混淆。您不是唯一对术语更新和升级感到困惑的人。

虽然听起来 apt-get update 应该更新软件包,但事实并非如此。apt-get update 只更新可用包的数据库。例如,如果你安装了 XYX 包 1.3 版,在 apt-get update 之后,数据库将反映更新的 1.4 版可用。

当您在 apt-get update 之后执行 apt-get upgrade 时,它​​会将已安装的软件包升级到较新的版本。

这就是为什么更新 Ubuntu 最快最方便的方法是使用这个命令的原因:

sudo apt-get update && sudo apt-get upgrade -y

使用 apt-cache 命令搜索包

老实说,这不是我搜索包裹的首选方式。但是当您正在寻找某个特定的库时,这会非常方便。

您需要做的就是使用以下命令(在这里您甚至不需要 sudo):

apt-cache search <search term>
在 linux 命令行中使用 apt 搜索包

您不需要知道包的确切名称。它搜索包名称及其简短描述,并显示基于此的结果。

如果您只想搜索具有特定包名称的 apt 包,您可以使用以下命令:

apt-cache pkgnames <search_term>

这将为您提供以搜索词开头的所有包的列表。

Linux 命令行中的可用包详细信息

知道确切的包名称后,您可以使用以下命令获取有关它的更多信息,例如版本、依赖项等:

apt-cache showpkg <package_name>
apt-get命令安装包

使用 apt-get 安装新包

如果您知道软件包的名称,则可以使用以下命令轻松安装它:

sudo apt-get install <package_name>

只需将 <package_name> 替换为您想要的包即可。假设我想安装 Pinta 图像编辑器。我需要做的就是使用下面的命令:

sudo apt-get install pinta

这个命令的好处是它有自动完成功能。因此,如果您不确定确切的包名称,您可以键入几个字母并按选项卡,它会建议所有可用这些字母的包。例如:

在命令行 linux 中安装软件包

安装多个包

您不限于一次只安装一个软件包。您可以通过提供它们的名称一次安装多个包:

sudo apt-get install <package_1> <package_2> <package_3>
在 Linux 中安装软件包

如果你在一个已经安装的包上运行 install 会怎样?

假设您已经安装了一个包,但您仍然使用了安装命令。apt-get 实际上会查看数据库,如果有更新的版本可用,它会将已安装的软件包升级到更新的版本。

所以使用这个命令不会造成任何伤害——除非你不想升级包。

安装包而不升级

假设由于某种原因你想安装一个包,但如果它已经安装了又不想升级它。这听起来很奇怪,但您可能有理由这样做。

对于这种情况,您可以按以下方式使用 no-upgrade 标志:

sudo apt-get install <package_name> --no-upgrade
没有升级包 Linux

只升级一个包,不安装它

如果你想升级一个已经安装的包,但不想安装它,你可以使用以下命令:

sudo apt-get install <package_name> --only-upgrade
仅使用 apt-get Linux 升级软件包

安装特定版本的应用程序

默认情况下,将为任何应用程序安装存储库中可用的最新版本。但是,如果出于某种原因,您不想安装最新版本,您可以指定包版本号。(您需要知道要安装的确切版本号)。

您需要做的就是将版本号添加到包的名称中:

sudo apt-get install <package_name>=<version_number>

使用 apt-get 删除已安装的包

安装软件包并不是您可以使用 apt-get 做的唯一事情。您也可以使用它删除包。您需要做的就是以这种方式使用命令:

sudo apt-get remove <package_name>

自动完成也适用于此。因此,只需开始输入包名称并按 Tab 键,它就会建议所有以这些字母开头的已安装包。

卸载软件包的另一种方法是使用清除。该命令按以下方式使用:

sudo apt-get purge <package_name>

apt-get remove 和 apt-get purge 有什么区别?

  • apt-get remove 只是删除包的二进制文件。它不涉及配置文件
  • apt-get purge 删除与包相关的所有内容,包括配置文件

因此,如果您“删除”了一个特定的软件然后再次安装它,您的系统将具有相同的配置文件。当然,再次安装时会要求覆盖已有的配置文件。

当您弄乱了某个程序的配置时,当您想从系统中完全清除它的痕迹并重新开始时,Purge 特别有用。

大多数时候,一个简单的删除就足以卸载一个包。

使用 apt-get 清理你的系统

哦是的!您还可以使用 apt-get 清理系统并释放一些磁盘空间。

您可以使用以下命令清除 apt 缓存(本地保存的检索包文件):

sudo apt-get clean

另一种方法是使用自动清理。与上面的 clean 命令不同,autoclean 只删除那些检索到的包文件,现在版本较新,因此不再使用。

sudo apt-get autoclean

释放磁盘空间的另一种方法是使用自动删除。它删除自动安装的库和包以满足另一个已安装包的依赖性。如果删除该软件包,则这些自动安装的软件包在系统中将无用。此命令删除此类包。

sudo apt-get autoremove

这是清理 Linux 系统的命令行方式。如果您更喜欢 GUI,这里有一些适用于 Linux 的 CCleaner 替代品,您可以在 Ubuntu 和基于 Ubuntu 的 Linux 发行版上使用它们。

类似文章

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注