文章目录
    
- 
      
一、什么是Apt?
 - 
      
二、使用 apt 命令管理基于 Debian 和 Ubuntu 的 Linux 发行版中的包
 
    
    
    一、什么是Apt?
   
    
     Apt ( Advanced Package Tool )
    
    是 Debian 的一套核心工具。Apt 可用来:
   
- 安装应用程序
 - 移除应用程序
 - 保持应用为最新
 - 还有更多功能……
 
    Debian Linux 使用
    
     dpkg
    
    打包系统。打包系统是一种提供安装程序和应用程序的方式,这样就不必从源代码构建程序,但是这并不是处理包的最好方法。APT(Advanced Package Tool,高级打包工具)是在基于 Debian 的 Linux 发行版中与打包系统交互的命令行工具。
   
虽然已经有 dpkg 命令来管理包,但 APT 是一种更友好的管理包的方式。可以用它来查找和安装新软件包、升级软件包、删除软件包等。
    
     apt-get
    
    可能是最流行的APT交互工具,但是
    
     apt
    
    作为它的替代品正慢慢被推广。
   
    
    
    二、使用 apt 命令管理基于 Debian 和 Ubuntu 的 Linux 发行版中的包
   
我在本教程中使用 Ubuntu 21.04,但你可以使用任何其他基于 Debian/Ubuntu 的 Linux 发行版,例如 Linux Mint、elementary OS、Linux Lite 等。
    
    
    2.1、使用 apt 更新包数据库
   
apt 作用于可用包的数据库。如果数据库没有更新,系统将不知道是否有可更新的软件包可用。这就是为什么在任何 Linux 系统中进行了全新安装后,首先要更新存储库。
    更新包数据库需要超级用户权限,因此您需要使用
    
     sudo
    
    。
   
sudo apt update
运行此命令看到从各种服务器检索的包信息:
    
    
    在此处看到三种类型的行:
    
     Hit
    
    、
    
     Get
    
    和
    
     Ign
    
    。基本上这些是:
   
- 
     命中(
Hit
):包版本与之前的版本没有变化。 - 
     忽略(
Ign
):包被忽略。要么是包版本太新,它甚至懒得检查,要么在检索文件时出错,但错误微不足道,因此被忽略。 - 
     获取(
Get
):有一个新版本可用。它将下载有关版本的信息(而不是包本身)。您可以在上面的屏幕截图中看到带有“获取(
Get
)”行的下载信息(大小以
kb
为单位)。 
    
    
    2.2、使用 apt 升级已安装的软件包
   
更新软件包数据库后,就可以升级已安装的软件包。最方便的方法是升级所有具有可用更新的软件包。可以简单地使用以下命令:
sudo apt upgrade
这将显示将要升级的所有软件包的数量和种类。
    
    
   
还有另一种方法可以使用以下命令提供完整升级:
sudo apt full-upgrade
    
     full-upgrade
    
    与
    
     upgrade
    
    的工作原理相同,只是如果系统升级需要删除系统上已安装的软件包,它会这样做。然而,正常的升级命令不会这样做。
   
    
    
    2.3、apt update 和 apt upgrade 的区别
   
    虽然听起来像当执行
    
     apt update
    
    时,它会更新软件包,你将获得最新版本的软件包。但事实并非如此。
    
     apt update 只更新包的数据库
    
    。
   
例如,如果你安装了 XYZ 包 1.3 版,则在 apt 更新后,数据库将知道有更新的 1.4 版可用。当你在 apt update 之后执行 apt upgrade 时,它会将已安装的软件包升级(或更新)到较新的版本。
    这就是为什么使用此命令
    
     更新 Ubuntu 系统
    
    最快、最方便的原因:
   
sudo apt update && sudo apt upgrade -y
    
    
    2.4、使用 apt 安装新软件包
   
如果已经知道包的名称,则可以使用以下命令进行安装:
sudo apt install <package_name>
    只需将
    
     <package_name>
    
    替换为所需的包。假设你想安装
    
     mplayer
    
    ,你可以简单地使用下面的命令:
   
sudo apt install mplayer
    
    
   
    可以使用自动完成功能。当不确定确切的包名称时,可以输入几个字母并按
    
     Tab
    
    ,它会建议所有以这些字母开头的可用的包。例如:
   
    注意是按
    
     Tab
    
    ,而不是Enter!
   
    使用自动完成功能查找具有给定名称的包:
    
    
   
    
    
    2.5、使用 apt 安装多个软件包
   
不必一次只安装一个软件包。可以通过同时提供多个软件包名称来一次安装多个软件包:
sudo apt install <package_1> <package_2> <package_3>
    
    
    2.6、如果在已安装的软件包上运行 apt install 会怎样
   
这将只查看数据库,如果找到更新的版本,它会将已安装的软件包升级到较新的软件包。因此,使用它不会造成任何伤害,除非你不希望它升级。
    
   
    
    
    2.7、在不升级的情况下安装软件包
   
    如果由于某种原因你想安装一个包,但不想升级,如果它已经安装了。在这种情况下,你可以通过以下方式使用选项
    
     –no-upgrade
    
    :
   
sudo apt install <package_name> --no-upgrade
    
   
    
    
    2.8、只升级软件包,而不是安装它
   
如果你只想升级软件包但不想安装它(如果尚未安装),则可以使用以下命令执行此操作:
sudo apt install <package_name> --only-upgrade
    
   
    
    
    2.9、安装特定版本的应用程序
   
默认情况下,将为应用程序安装存储库中可用的最新版本。但是如果不想安装最新版本,可以指定版本号。你需要知道要安装的确切版本号。
    只需在包名称后添加
    
     =version
    
    即可。
   
sudo apt install <package_name>=<version_number>
    
    
    2.10、使用 apt 删除已安装的软件包
   
删除软件包就像安装它们一样简单。只需使用以下命令:
sudo apt remove <package_name>
    
    
    卸载软件包的另一种方法是使用清除。该命令的使用方式如下:
   
sudo apt purge <package_name>
    
    
    apt remove 和 apt purge 的区别
   
- 
     
apt remove
只是删除包的二进制文件。它留下了残留的配置文件。 - 
     
apt purge
删除与包相关的所有内容,包括配置文件。 
    如果你习惯于
    
     apt remove
    
    删除特定软件然后重新安装它,你的软件将具有相同的配置文件。当然,再次安装时会要求你覆盖现有的配置文件。
   
    当你弄乱了程序的配置,你想从系统中完全清除它的痕迹再重新开始,清除会很有用。也可以在已删除的包上使用
    
     apt purge
    
    。
   
    
    通常,
    
     apt remove
    
    卸载软件包绰绰有余。
   
    
    
    2.11、搜索packages
   
这不是搜索包的最好方式。但是当你在寻找一些特定的库时,这很有用。只需将以下命令与所需的搜索词一起使用,就可以找到包含搜索词的所有包。
apt search <search term>
    
    
    
   
    
    
    2.12、查看package的内容
   
如果你想在安装或删除软件包之前了解有关软件包的更多信息,可以使用以下命令:
apt show <package_name>
这将显示有关给定包的信息,例如其依赖项、安装和下载大小、包的不同来源、包内容的描述等:
    
   
    
    
    2.13、列出可升级和已安装的版本
   
apt 命令有一个名为 list 的新选项。使用此命令,可以查看所有准备升级的较新版本的软件包:
apt list --upgradable
    
    
    还可以使用
    
     --installed
    
    选项查看系统上所有已安装的软件包:
   
apt list --installed
    
   
    还有第三个选项,称为
    
     –all-versions
    
    。它将列出可用于你的系统的所有软件包:
   
apt list --all-versions
    
    
    
   
    
    
    2.14、使用 apt 清理系统
   
    与 apt-get 不同,这里没有 clean 和 autoclean 命令。但是仍然可以使用
    
     autoremove
    
    选项释放一些磁盘空间:
   
sudo apt autoremove
安装软件时会自动安装一些满足依赖关系的库和包。如果软件包被删除,这些自动安装的库和包虽然没有用,但仍会保留在系统中。可以使用此命令清除掉。
    
   
    本文翻译并修改自
    
     Using apt Commands in Linux [Complete Guide]
    
    。作者:Abhishek Prakash。英文过关的可以去阅读原文。