卸载deb软件包时如何清理依赖

使用过几个发行版,有 ubuntu,fedora,deepin,但目前使用 openSUSE 当桌面工作。
deepin 真的不错,QQ、截图、各种深度应用,但 openSUSE 最吸引我的地方是他的软件包的管理和他的图形界面,yast 这个工具真的太好用了。
yast 的软件工具好在可以将每一个包的所有文件安装路径显示出来、依赖的库全部都显示出来,当然 rpm -qa 命令也能做到。还能显示软件的版本。deepin 和 Ubuntu 的软件仓库里面只能显示有这个软件,至于安装在哪,依赖什么库都没有(可能需要命令行吧,我不会)

另外让我觉得特别好的就是,suse 软件包管理工具有一个选项,·删除软件包时清理」,可以把将要删除的软件包依赖的,而又不被其他软件包依赖的,(或者说是孤立的包)清理掉。这功能对于有洁癖的人来说太好用了。

** 总之,YAST,太强大了!**

但是请问,像 ubuntu、deepin 这种 apt-get 的,如何实现呢?我知道有一个 apt-get autoremove,但这个命令是针对整个系统来说的。
有没有类似于 suse 那样,卸载某一个软件的时候,同时查看、卸载这个软件依赖的包,(不针对真个系统,而只针对这个软件包)

不仅仅要能卸载,还要能查看那些孤立的包,先让我看看,然后我在卸载。

一般认为自动清理局限很大,什么叫不被依赖的软件?没有任何软件依赖 Emacs,可我要使用用的就是它呀。排除掉软件,如果说没有依赖的库就可以删除,那万一我自己写软件需要这个库呢?软件不依赖它我工作依赖它。这些都是计算机再怎么智能都解决不了的问题,因为需要用户决定。用户不懂怎么办?不懂就不要动它呗。。。。。

其它发行版不了解。但一般认为 YaST 是同类软件中最好的。

sudo apt-get autoremove

apt-get autoremove 清理的是 " 为满足依赖自动安装" 的,又 " 不被其它任何包依赖" 的 软件包。
@PaleFire 提到的 emacs 不恰当,因为 emacs 不属于 " 为满足依赖自动安装" 的软件包。

参考
debian.org/doc/manuals/aptitude/ch02s02s06.en.html
debian.org/doc/manuals/debian-reference/ch02.en.html#_the_package_state_for_apt
garron.me/en/bits/apt-mark-set-auto-manual-installation.html
raphaelhertzog.com/2011/03/07/debian-cleanup-tip-6-remove-automatically-installed-packages/

这是个伪命题。理论上每次卸载软件的主包后都执行一次 autoremove,都只会移除本软件之前自动安装的依赖。如果还移除了别的,那就是以前卸载时没清依赖。反正你也不需要它们了,理它作甚?

常见由 autoremove 引起的问题:不小心卸载了一个大虚包 如 mate-desktop-environment,然后 autoremove … 整个桌面都被卸了。

恩 ,对,应该叫没有依赖的库!!

那请问,我明白了 auto-remove 这个命令怎么用,他可以删除那些不被依赖的库
那显示那些不被依赖的库的命令是什么呢?

看看 這一篇 有沒有幫助
debian-handbook.info/browse/stable/sect.apt-get.html
6.2.7. Tracking Automatically Installed Packages
One of the essential functionalities of apt-get (which was initially specific to aptitude) is the tracking of packages installed only through dependencies. These packages are called “ automatic ”, and often include libraries for instance.

这是自动安装的,不是没有 dependants 的
直接运行 apt-get autoremove 不就行了?

我不是說要移除
我是在給這句話建議 (不是 給結論)

建議把
6.2.7. Tracking Automatically Installed Packages
整段看完
看看有沒有 有用的資訊

補充
請參閱
askubuntu.com/a/287766
Orphaned packages

manpages.ubuntu.com/manpages/vivid/man8/apt-mark.8.html
sudo apt-mark { auto | manual } 套件名稱

  1. auto
    auto is used to mark a package as being automatically installed,
    which will cause the package to be removed when no more manually
    installed packages depend on this package.
    這個指令會導致該套件的孤兒相依套件被 autoremove 移除
  2. manual
    manual is used to mark a package as being manually installed, which
    will prevent the package from being automatically removed if no
    other packages depend on it.
    這個指令會導致該套件的孤兒相依套件不被 autoremove 移除