你应该把apt的文档看多两遍,去apt官方社区多问问,明显你的理解不准确。
你给的链接的文档的作者一知半解,绝对要打他屁股,升级软件不是先删除旧的版本,再安装新的版本,没时间给你解析,自己多看文档,多问问。
apt 设计得比较糟糕的一点是所有的 remove 操作都默认会卸载掉依赖目标的其他包。假如 A 和 B 都依赖 C,pacman -R C 会报错不满足依赖关系,而 apt remove C 会默认把 A 和 B 也一起卸载了。如果要让 pacman 像 apt 的行为一样把 A 和 B 也一起卸载了,就要加个参数 -c。这个参数在 Arch Wiki 中明确说明了是危险参数,要慎用,却是 apt 的默认行为。
比起 autoremove,我认为更危险的是 -y 参数。万一 autoremove 的时候要把关键软件包给卸载了,不加 -y 的话还能看到卸载一大堆包肯定有鬼,选 n 终止操作就不会发生危险了,加了 -y 可能就来不及刹车了
apt 设计得比较糟糕的一点是所有的 remove 操作都默认会卸载掉依赖目标的其他包。假如 A 和 B 都依赖 C,pacman -R C 会报错不满足依赖关系,而 apt remove C 会默认把 A 和 B 也一起卸载了。如果要让 pacman 像 apt 的行为一样把 A 和 B 也一起卸载了,就要加个参数 -c。这个参数在 Arch Wiki 中明确说明了是危险参数,要慎用,却是 apt 的默认行为。
比起 autoremove,我认为更危险的是 -y 参数。万一 autoremove 的时候要把关键软件包给卸载了,不加 -y 的话还能看到卸载一大堆包肯定有鬼,选 n 终止操作就不会发生危险了,加了 -y 可能就来不及刹车了
那就习惯不加y,看清楚先哈哈
那就习惯不加y,看清楚先哈哈
然而按照设计要求,升级或者商店安装卸载不需要用户干预,不加 -y 又过不去,没合适的办法就很烦
这是啥
我用autoremove之前,都会把卸载的包名存在文件里,出现问题还有机会补救
这是啥
Arch Linux 的包管理器
反对

既然一个包已经不需要了,还留着他干啥,用autoremove的做法是没问题的,是楼主理解的不对。
deepin的问题是他只标记了为数不多的虚包为手动安装的包,比如说dde这一个包,而所有应用程序都是作为dde的依赖自动安装的,如果删掉这其中任何一个依赖库都会删除dde,这时再autoremove就会删除所有的应用程序。但是事实上引发问题的是“删除dde的依赖库”,根本不关autoremove的问题。如果楼主认为在apt的设计中用autoremove命令过于危险,楼主应该去要求改进删除重要软件包的警告,让管理员放心去用autoremove,而不是去用挂系统去吓唬用户。
他的问题出在升级软件是先卸载再安装,不想跟他解析。pacman一样的依赖逻辑,一样的升级方式,不解析。
他的问题出在升级软件是先卸载再安装,不想跟他解析。pacman一样的依赖逻辑,一样的升级方式,不解析。
🙂
Popular Ranking
ChangePopular Events
More

中文 
慎用 apt-get autoremove !
(转自https://www.shuzhiduo.com/A/pRdB0gQDJn/)
apt-get 提供了一个用于下载和安装软件包的简易命令行界面。
卸载软件包主要有这3个命令
remove – 卸载软件包
autoremove – 卸载所有自动安装且不再使用的软件包
purge – 卸载并清除软件包的配置
apt-get remove的行为我们很好理解,就是删除某个包的同时,删除依赖于它的包
例如: A 依赖于 B, B 依赖于 C
apt-get remove 删除B的同时,将删除A(很好理解,A依赖于B,B被删了,A也就无法正常运行了)
apt-get autoremove的行为重点是卸载所有自动安装
例如:C 依赖于 B, D 依赖于B, 且D没有被其他手动安装的包依赖
apt-get remove C 将删除C, 同时提示你用apt-get autoremove去清除B,D apt-get autoremove C 将删除B, C, D aptitude remove C 将删除B, C, D
我的理解: 删除C, 那么B,D 这两个包既是自动安装的,且没有其他手动安装的包依赖于它们,
则可以判定B,D也是没必要的
apt-get purge的行为卸载并清除软件包的配置,很容易理解
依赖性永远是个噩梦,不要考虑用 apt-get autoremove 卸载自己不熟悉的软件包
apt-get remove卸载的是自己以及自己的下系
apt-get autoremove则是卸载与自己相关而没有被其他手动安装包所依赖的包,
如果你不是对一个包了解的话,有可能一用一下autoremove一下,你的系统就挂了。