Linux apt与apt-get使用和区别!

1,013 阅读4分钟

这是我参与 8 月更文挑战的第 17 天,活动详情查看: 8月更文挑战

简介

apt(Advanced Packaging Tool)是一个在 DebianUbuntu 中的 Shell 前端软件包管理器。

apt 命令提供了查找、安装、升级、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

apt 命令执行需要超级管理员权限(root)

Debian 及其衍生产品如:UbuntuLinux Mint Raspbian的包格式为.deb文件,APT 是最常见包操作命令,可以搜索库、安装包及其依赖和管理升级。而要直接安装现成.deb包时需要使用dpkg命令。

CentOSFedora Red Hat 系列 Linux 使用RPM包文件,并使用yum命令管理包文件及与软件库交互。

在最新的 Fedora 版本中,yum命令已被dnf取代进行包管理。

系统格式工具
Debian.debapt, apt-cache、apt-get、dpkg
Ubuntu.debapt、apt-cache、apt-get、dpkg
CentOS.rpmyum
Fedora.rpmdnf

常用命令

列出所有可更新的软件清单命令:sudo apt update

升级软件包:sudo apt upgrade

列出可更新的软件包及版本信息:apt list --upgradeable

升级软件包,升级前先删除需要更新软件包:sudo apt full-upgrade

安装指定的软件命令:sudo apt install <package_name>

安装多个软件包:sudo apt install <package_1> <package_2> <package_3>

更新指定的软件命令:sudo apt update <package_name>

显示软件包具体信息,例如:版本号,安装大小,依赖关系等等:sudo apt show <package_name>

删除软件包命令:sudo apt remove <package_name>

清理不再使用的依赖和库文件: sudo apt autoremove

移除软件包及配置文件: sudo apt purge <package_name>

查找软件包命令: sudo apt search <keyword>

列出所有已安装的包:apt list --installed

列出所有已安装的包的版本信息:apt list --all-versions

image-20210803145441699

image-20210803145825579

更换apt软件源

打开/etc/apt/sources.list配置文件

sudo vim /etc/apt/sources.list

在文件中添加我们自己配置的软件源,根据自己的Linux版本去选择对应的软件源,这个可以自行去百度对应软件源,如果里面有预先配置的软件源记得加上#注释掉

下面以KALI为例:

清华软件源:
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ buster main contrib non-free
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ buster main contrib non-free

阿里软件源:
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse

image-20210803150948348

进行更新

sudo apt update

Apt 和 Apt-Get的区别

如果你了解过 apt-get ,可能已经遇到过许多类似的命令,如apt-cacheapt-config 等。如你所见,这些命令都比较低级又包含众多功能,普通的Linux 用户也许永远都不会使用到。换种说法来说,就是最常用的 Linux 包管理命令都被分散在了 apt-getapt-cache apt-config 这三条命令当中。

apt 命令的引入就是为了解决命令过于分散的问题,它包括了 apt-get 命令出现以来使用最广泛的功能选项,以及 apt-cacheapt-config命令中很少用到的功能。

在使用 apt 命令时,用户不必再由 apt-get 转到 apt-cache apt-config,而且 apt 更加结构化,并为用户提供了管理软件包所需的必要选项。

简单来说就是:apt = apt-get、apt-cache 和apt-config 中最常用命令选项的集合。

apt 命令取代的命令命令的功能
apt installapt-get install安装软件包
apt removeapt-get remove移除软件包
apt purgeapt-get purge移除软件包及配置文件
apt updateapt-get update刷新存储库索引
apt upgradeapt-get upgrade升级所有可升级的软件包
apt autoremoveapt-get autoremove自动删除不需要的包
apt full-upgradeapt-get dist-upgrade在升级软件包时自动处理依赖关系
apt searchapt-cache search搜索应用程序
apt showapt-cache show显示装细节
新的apt命令命令的功能
apt list列出包含条件的包(已安装,可升级等)
apt edit-sources编辑源列表

目前还没有任何Linux发行版官方放出 apt-get 将被停用的消息,至少它还有比 apt 更多、更细化的操作功能。对于低级操作,仍然需要 apt-get

既然两个命令都有用,那么我该使用 apt 还是 apt-get 呢?作为一个常规 Linux 用户,系统极客建议大家尽快适应并开始首先使用 apt。不仅因为广大 Linux 发行商都在推荐 apt,更主要的还是它提供了Linux包管理的必要选项。

最重要的是,apt 命令选项更少更易记,因此也更易用,所以没理由继续坚持 apt-get

最后结大家提供两点使用上的建议:

  • apt 可以看作 apt-getapt-cache 命令的子集, 可以为包管理提供必要的命令选项。
  • apt-get 虽然没被弃用,但作为普通用户,还是应该首先使用 apt

参考文档

Linux中apt与apt-get命令的区别与解释

Linux软件包管理基本操作入门

Linux apt 命令|菜鸟教程

推荐阅读

Linux Shell编程基础!

Linux sudo和sudoers详解!

Linux TCP内核参数设置与调优(详细)!

运维一定要知道的Linux RAID详解!

Linux服务管理(详解)!

服务器硬件指南!