有时候我们上网找与Linux相关的资料的时候,经常会需要安装一些软件包,找到的一些文章会贴出命令我们直接去命令行里执行就能一键下载安装,然后这些命令中逃不开的就是apt和apt-get。
那么apt和apt-get有什么区别呢?
首先我们先了解一下APT。
APT(Advanced Packaging Tool),是Debian使用的软件包管理系统。那么既然是Debian使用的,为什么我们搜的Ubuntu的教程里使用的也是apt呢?
那是因为Debian是Ubuntu的母系,也就是说Ubuntu是基于Debian的,那么使用同一套软件包管理工具也是合情合理的对叭。
我们今天的主角就是APT中的一员。
简单来说apt和apt-get都是帮助我们安装,更新,删除软件包的工具。
不一样的是,apt-get比apt诞生的更早,因此它更加底层一些,这也就意味着它使用起来可能不如apt简单(对于小白来说)。比如说如果我们要安装软件包A,而安装软件包A需要先有软件包B,我们使用apt命令安装A的时候,会自动帮我们把依赖的B也装上,而使用apt-get就不会了,但是也有解决方案,就是输入 apt-get install -f 这个命令。
除了依赖方面的差别,还有用户体验方面的差别,但是其实无所谓,就是apt比apt-get多了进度条,可升级软件包数量之类的提示。
还有一个比较重要的差别就是apt是集成了apt-get、apt-cache和apt-config等工具的常用功能,提供了更为集中和简化的命令选项。而apt-get是作为一个独立工具的,包含了更细化和底层的操作功能。这也就意味着apt-get会比apt更加适合用在脚本上。
另外,apt和apt-get部分命令实际上是一致的,所以实际上如果我们只是日常安装更新删除软件包的话,二者实际上是可以互相替换的。
所以最后总结一下,日常使用用apt,写脚本用apt-get。
这篇内容有点少,我们再加点,我们再加点用的比较多的apt命令。下面命令使用的时候基本需要加上sudo获取权限。
安装软件包
apt install 软件包
安装软件包及其依赖(apt-get不会),如果已经安装过了,那么不会有什么改变,除非指定了重新下载的选项--reinstall
删除软件包
apt remove 软件包
删除指定软件包,但是会保留相关配置文件,使用purge替换掉remove可以完全删除。
除了我们手动删除软件包,还可以自动删除为了别的软件包而下载的没用的依赖包,使用下面这个命令。
apt autoremove
更新软件包
apt upgrade
比较本地缓存和已经安装的软件包版本,会从软件源下载安装新版本。
更新本地缓存
apt update
检查配置的软件源,获取最新的软件包信息并缓存到本地。基本上我们要安装,更新软件包之前都会执行一遍。
后面我们再说怎么配置软件源。
查找软件包
apt search 关键词
根据关键词搜索软件包。
查看软件包
apt list
列出我们已经安装的软件包。apt-get用不了。
那接下来我们来看看如何配置APT的软件源。
配置文件就在 /etc/apt/sources.list
我们在修改之前最好备份一下(复制一份改个名)。
一般情况下我们用的是国内的镜像源。直接把原本文件的内容覆盖粘贴即可(挑一个就行)。
清华
ubuntu | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirrorhttps://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
阿里
阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区 (aliyun.com)https://developer.aliyun.com/mirror/
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
修改完记得 sudo apt update 一下。