源文链接:https://help.ubuntu.com/lts/serverguide/package-management.html
<https://help.ubuntu.com/lts/serverguide/package-management.html>

ubuntu包管理简介(Package Management)


ubuntu系统有一个集成安装、升级、配置和卸载的软件包管理系统。该软件包管理系统除了包含超过45000软件包的库外,它的设施还能够解决软件包之间的依赖问题和更新检测。用户可以有很多工具与包管理系统之间交互,既有命令行工具也有图形化界面的。
ubuntu的包管理系统源自Debian GNU/Linux的包管理系统,包文件(package files)包含实现软件功能的所有必要文件、元数据和介绍。
Debian的包文件通常后缀是
‘.deb’,包通常是已经编译成二进制文件的,安装很快,不需要再编译。许多复杂的包需要依赖其他包,ubuntu的软件包管理系统可以自动解决这个问题。

包管理工具

dpkg

dpkg是基于Debian的系统所用的包管理工具,可以安装、卸载和编译包,但是不能自动解决依赖问题。是Debian早期的包管理工具,后来才出现的apt。
- dpkg -l | grep “xxx”
列出所有安装的软件包,grep用来筛选。
- dpkg -L packagename
列出这个软件包安装在文件系统中产生的文件。
- dpkg -S filename
列出这个文件是由哪个软件包的安装产生的。
- dpkg -i packagename.deb
安装软件包
-dpkg -r packagename
卸载软件包,不建议,因为其他依赖于packagename的软件可能不能正常工作。

apt

apt命令是一个强大的命令行工具,与ubuntu的Advanced Packaging
Tool协同工作来完成新软件包的安装,已安装软件包的升级,软件包列表的更新,甚至可以更新整个ubuntu系统。作为一个命令行工具,apt在ubuntu系统中的运用最便捷灵活,可以通过终端连接使用,可以写入系统管理员的脚本中等等。
apt管理安装包主要依赖于列表文件,所以在执行安装升级操作前都最好更新一下这个列表。
- apt install packagename
- apt remove packagename
- apt remove –purge packagename
会删除包的配置文件,这个操作会引发一定的危险,需谨慎。
- apt update
更新安装包的列表,主要是更新’/etc/apt/sources.list’和‘/etc/apt/sources.list.d’中的文件
- apt upgrade
根据列表更新安装包。
另外,这里推荐一个看到的关于apt很好的介绍牛皮糖的blog
<https://blog.csdn.net/xiaoqu001/article/details/www.cnblogs.com/yuxc/archive/2012/08/02/2620003.html>
。这里摘录一下。

我是个赛车发烧友,想装个赛车类游戏玩玩。有哪些赛车类游戏可供选择呢?
apt-cache search racing game
出来了一大堆结果。看看有没有更多关于torcs这个游戏的信息。
apt-cache show torcs
看上去不错。这个游戏是不是已经安装了?最新版本是多少?它属于哪一类软件,universe还是main?
apt-cache policy torcs
好吧,现在我要来安装它!
apt-get install torcs
在控制台下我应该调用什么命令来运行这个游戏呢?在这个例子中,直接用torcs就行了,但并不是每次都这么简单。我们可一通过查找哪些文件被安 装到了
“/usr/bin”文件夹下来确定二进制文件名。对于游戏软件,这些二进制文件将被安装到“/usr/games”下面。对于系统管理工具相应的文件夹是“/usr/sbin”。
dpkg -L torcs|grep /usr/games/

这个命令的前面一部分显示软件包“torcs”安装的所有文件(您自己试试看)。通过命令的第二部分,我们告诉系统只显示前一部分的输出结果中含有“/usr/games”的那些行。
这个游戏很酷哦。说不定还有其他赛道可玩的?
apt-cache search torcs
我的磁盘空间不够用了。我得把apt的缓存空间清空才行。
apt-get clean
哦不,老妈叫我把机器上的所有游戏都删掉。但是我想把配置文件保留下来,这样待会我只要重装一下就可以继续玩了。
apt-get remove torcs
如果我想连配置文件一块删除:
apt-get remove –purge torcs
额外的软件包
deborphan和debfoster工具可以找出已经安装在系统上的不会被用到的软件包。

aptitude

aptitude is a featureful package manager for Debian GNU/Linux systems。aptitude
与 apt-get 一样,是 Debian 及其衍生系统中功能极其强大的包管理工具。与 apt-get
不同的是,aptitude是建立在apt基础之上的,可以提供apt和dselect的功能以及其他二者没有的功能。举例来说,aptitude
在删除一个包时,会同时删除本身所依赖的包。这样,系统中不会残留无用的包,整个系统更为干净。以下是笔者总结的一些常用 aptitude
命令,仅供参考。详细可以查阅这个链接debianmanual-aptitude
<https://www.debian.org/doc/manuals/aptitude/ch01s02.en.html>
- aptitude update 更新可用的包列表
- aptitude safe-upgrade 升级可用的包,但是不会删除无用的包
- aptitude safe-upgrade 激进地升级可用的包,会自动处理依赖关系,但这个动作也存在隐患
- aptitude dist-upgrade 将系统升级到新的发行版
- aptitude install pkgname 安装包
- aptitude remove pkgname 删除包
- aptitude purge pkgname 删除包及其配置文件
- aptitude search string 搜索包
可以加多个以空格分割的string,搜索的逻辑是或,含有任意的字符串都会打印出来。
- aptitude show pkgname 显示包的详细信息
- aptitude clean 删除下载的包文件
- aptitude autoclean 仅删除过期的包文件
另外在install/remove/upgrade动作后都可以加上‘-s’参数,会显示出模拟的动作但不会实际执行。

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:ixiaoyang8@qq.com
QQ群:637538335
关注微信