我喜欢 Macports 和 Arch 包管理器,因为我可以生成我手动安装的所有包的列表,并每隔一段时间“修剪”包树以保持我的发行版精简。我想知道如何使用apt-get
和来做到这一点yum
。
例如,使用 Macports,我可以输入port echo requested
并获得我已明确安装的所有软件包的详细列表。如果我看到几周前安装的软件包不再需要,我可以立即卸载它。为了摆脱未使用的依赖项,我可以重复执行port uninstall leaves
.可以使用类似的命令pacman
。
我不清楚如何使用apt-get
并yum
在阅读相关手册页并进行大量谷歌搜索后实现类似的功能。一个好的包管理器最重要的功能之一应该是让管理员轻松管理显式安装的包列表。当然我错过了一些东西。
感谢您的帮助!
答案1
要显示手动安装的软件包,请使用
apt-mark showmanual
.要显示自动安装的软件包,请使用apt-mark showauto
.
也apt-get
有autoremove
。从手册页
自动删除
autoremove 用于删除为满足其他包的依赖关系而自动安装但现在不再需要的包。
因此用于apt-get autoremove
此。
通常apt
会提示您是否可以自动删除软件包,因此我希望用户很快就会意识到这个命令。
此外,还有像debfoster
和 之类的软件包deborphan
可以帮助用户减少软件包混乱。
还有wajig
几个可用于修剪软件包的命令,包括但不限于large
、 和sizes
,可用于查看系统上安装的大型软件包。
另外,值得一提的是apt
中的日志文件/var/log/apt
,特别是history.log
,它保存了 执行的安装和删除的日志apt
。
答案2
yum 有很多方法:
yum autoremove
yumdb search reason user (this will include things done via. the installer though).
yum history
yum list distro-extras
yum list extras
package-cleanup --leaves (see man page for options).
...要理解的主要区别是,对于 Mac ports,您使用的软件只是控制软件包的一小部分,而对于 yum/apt,您将处理整个系统。