在Linux中使用apt命令
简介:本文通过示例向我们展示如何在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
此命令将删除自动安装的库和软件包,以满足已安装软件包的依赖性。如果删除了软件包,则这些自动安装的软件包(尽管无用)仍保留在系统中。