Apt
apt
是 Ubuntu 上的包管理器,它有如下命令:
# install
sudo apt install package
# remove
sudo apt remove package
# remove and delete config file
sudo apt remove --purge package
# update package list
sudo apt update
# upgrade installed package
sudo apt upgrade
# search the package
sudo apt search package
其中值得强调的是,安装或者包的时候,并不会完全连网,包的搜索是在 /etc/apt/sources.list
下进行的,所以如果这个文件比较落后,那么安装和更新会并不及时,所以如果没有安装到符合预期的包,那么可以先使用 sudo apt update
来先更新。
此外,我们还常见到 apt-get
指令,这个指令是 apt
的“前辈”, apt
可以兼容 apt-get
的命令,两者的命令都很类似, apt
的优点在于对于 search
的支持更好,并且可以支持更加复杂的依赖关系,更新包时会删除旧版本的包。
Dpkg
dpkg
是 Debian 系统及其衍生版本(如 Ubuntu)中用于软件包管理的底层工具。它用于安装、卸载和管理 .deb
软件包。 dpkg
不会自动处理依赖关系,所以常来来说我们只使用 apt
,相当于基于 dpkg
的一个可以处理依赖关系的封装。
我们使用 dpkg
往往是基于手动安装包的场景,如下所示:
# download the package.deb to current dictory
sudo apt download package
# install package
sudo dpkg -i package.deb
# fix the broken dependency, not nessary
sudo apt install -f
如果希望卸载包,可以用:
# 卸载软件包,但保留配置文件
sudo dpkg -r package.deb
# 完全卸载软件包,包括配置文件
sudo dpkg -P package.deb
Update-alternatives
在 Ubuntu 中我们可以安装同一个软件的不同版本,比如说我们希望安装一个较靠前版本的 gcc
:
sudo apt install gcc-4.8
然后我们可以使用如下命令来切换版本:
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 100
切换完后可以用如下命令查看:
sudo update-alternatives --config gcc
可以使用如下命令删除上面的设置:
sudo update-alternatives --remove gcc /usr/bin/gcc-4.8