在Linux中使用apt命令

时间:2020-01-09 10:44:39  来源:igfitidea点击:

简介:本文通过示例向我们展示如何在Linux中使用apt命令,以便我们可以有效地管理软件包。

apt在Ubuntu 16.04中首次发现,逐渐受到欢迎。随着越来越多的基于Ubuntu的Linux发行版将apt推荐为软件包管理的推荐命令,是时候该学习如何使用apt命令了。

什么是apt?

Debian Linux使用dpkg打包系统。打包系统是提供用于安装的程序和应用程序的一种方式。这样,我们不必从源代码构建程序,相信我,这不是处理软件包的好方法。 APT(高级软件包工具)是用于与基于Debian的Linux发行版中的软件包系统进行交互的命令行工具。

已经有dpkg命令来管理它。但是APT是处理包装的一种更友好的方式。我们可以使用它来查找和安装新软件包,升级软件包,删除软件包等。

apt命令提供了与APT交互和管理软件包的命令行方式。

在这一点上,我必须提到apt-get可能是围绕APT最受欢迎的工具。但是,apt逐渐被替代。我已经在上一篇文章中解释了apt和apt-get之间的区别,以及为什么首先介绍apt的原因,因此,我将不再赘述。

使用apt命令来管理基于Debian和Ubuntu的Linux发行版中的软件包

我在本教程中使用的是Ubuntu 16.04,但是我们可以使用任何其他基于Debian / Ubuntu的Linux发行版,例如Linux Mint,基本OS,Linux Lite等。

另外,我在Ubuntu中使用Pop图标和主题,因此我的终端看起来与通常的紫色主题终端不同。

如果愿意,我们可以观看针对Ubuntu用户的基本apt命令的视频。

订阅我们的YouTube频道以获取更多Linux视频

使用apt更新软件包数据库

apt实际上在可用软件包的数据库上工作。如果数据库未更新,则系统将不知道是否有任何更新的软件包。这就是为什么在全新安装后,更新存储库应该是任何Linux系统中要做的第一件事。

更新软件包数据库需要超级用户权限,因此我们需要使用sudo。

sudo apt update

运行此命令时,我们会看到正在从各种服务器检索软件包信息。

apt update将更新软件包数据库

我们会在此处看到三种类型的行,即"命中","获取"和"点火"。基本上这些是:

  • 命中:软件包版本与以前的版本没有任何变化
  • Ign:程序包被忽略。或者软件包太新了,以至于它甚至都不需要检查,或者在检索文件时出现错误,但是错误很小,因此被忽略了。别担心,这不是错误。
  • 获取:有可用的新版本。它将下载有关版本的信息(而不是软件包本身)。我们可以在上面的屏幕快照的" get"行中看到下载信息(以kb为单位)。

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

更新软件包数据库后,即可升级已安装的软件包。最方便的方法是升级所有具有可用更新的软件包。我们可以简单地使用以下命令:

sudo apt upgrade

这将向我们显示要升级的软件包数量和数量。

一次升级所有软件包

使用下面的命令,还有另一种方法可以提供完整的升级:

sudo apt full-upgrade

完全升级与升级的工作原理相同,只是如果系统升级需要删除系统上已经安装的软件包,它将执行此操作。而普通的升级命令将不会执行此操作。

apt更新和apt升级有什么区别?

虽然听起来像是在进行apt更新时,它将更新软件包,并且我们将获得软件包的最新版本。但这不是真的。 apt update仅更新软件包的数据库。

例如,如果我们安装了XYZ软件包1.3版,则在apt更新之后,数据库将知道有较新的1.4版可用。在apt更新后进行apt升级时,它会将安装的软件包升级(或者更新,无论我们喜欢哪个术语)到较新版本。

这就是为什么使用以下命令以最快,最方便的方式更新Ubuntu系统的原因:

sudo apt update && sudo apt upgrade -y

如何使用apt安装新软件包

如果我们已经知道软件包的名称,则可以使用以下命令进行安装:

sudo apt install <package_name>

只需将<package_name>替换为所需的软件包即可。假设我们要安装mplayer,只需使用以下命令即可:

sudo apt install mplayer

使用apt安装软件包

这里的好处是我们可以使用自动完成功能。因此,如果不确定确切的软件包名称,则可以输入几个字母并按Tab键,它将建议所有包含这些字母的软件包。例如:

使用自动补全功能查找具有给定名称的软件包

如何使用apt安装多个软件包

我们不必每次只安装一个软件包。我们可以同时提供多个软件包名称来一次安装多个软件包:

sudo apt install <package_1> <package_2> <package_3>

如果在已经安装的软件包上运行apt install怎么办?

不用担心。这只会检查数据库,如果找到了较新的版本,它将把已安装的软件包升级到较新的软件包。因此,使用它不会造成任何伤害,除非我们不希望对其进行升级。

如何在不升级的情况下安装软件包

如果出于某种原因要安装软件包,但又不想升级,请先安装它。在这种情况下,我们可以通过以下方式使用选项–no-upgrade:

sudo apt install <package_name> --no-upgrade

无需升级即可安装

如何仅升级软件包而不安装软件包

如果我们只想升级软件包但不想安装它(如果尚未安装),则可以使用以下命令进行:

sudo apt install <package_name> --only-upgrade

仅升级套件

如何安装特定版本的应用程序

默认情况下,将为应用程序安装存储库中可用的最新版本。但是,如果我们不想安装最新版本,则可以指定版本号。我们需要知道要安装的确切版本号。

只需添加= version和包名即可。

sudo apt install <package_name>=<version_number>

如何使用apt删除已安装的软件包

关于安装软件包的足够的讨论,让我们看看如何删除软件包。删除软件包就像安装它们一样容易。只需使用以下命令:

sudo apt remove <package_name>

取出包裹

自动补全在这里也适用。因此,我们只需开始输入软件包名称,然后按Tab键,它将建议所有已安装的软件包(以这些字母开头)。

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

sudo apt purge <package_name>

apt remove和apt purge有什么区别?

  • apt remove只是删除软件包的二进制文件。它留下残留配置文件。
  • apt purge删除与软件包相关的所有内容,包括配置文件。

如果我们使用" apt remove"删除特定软件然后再次安装,则软件将具有相同的配置文件。当然,再次安装时,系统会要求我们覆盖现有的配置文件。

当我们弄乱了程序的配置时,清除非常有用。我们想从系统中完全删除其痕迹,也许重新开始。是的,我们可以在已经删除的软件包上使用" apt purge"。

通常," apt remove"足以卸载软件包。

搜索包裹

不是我搜索软件包的首选方式。但这在我们寻找特定的lib时很有用。只需对所需的搜索词使用以下命令。它将查找包含搜索词的所有软件包。

apt search <search term>

搜索包裹

查看包装内容

如果要在安装或者删除软件包之前了解更多信息,可以使用以下命令:

apt show <package_name>

这将显示有关给定软件包的信息,例如其依赖性,安装和下载大小,可用的软件包来源,对软件包内容的描述等:

显示包装信息

列出可升级和已安装的版本

apt命令有一个名为list的新选项。使用此命令,我们可以看到所有具有较新版本准备升级的软件包:

apt list --upgradeable

列出所有可升级的软件包

我们还可以使用已安装选项查看系统上所有已安装的软件包:

apt list --installed

还有第三个选项叫all-versions。它将列出可用于系统的所有软件包:

apt list --all-versions

如何使用apt清理系统

我已经讨论过清理Ubuntu系统以释放空间的方法。与apt-get不同,我们这里没有clean和autoclean命令。我们仍然可以使用autoremove选项并释放一些磁盘空间:

sudo apt autoremove

此命令将删除自动安装的库和软件包,以满足已安装软件包的依赖性。如果删除了软件包,则这些自动安装的软件包(尽管无用)仍保留在系统中。