![给定一个包名称,我如何才能知道安装该包后会发生什么变化?](https://linux22.com/image/847428/%E7%BB%99%E5%AE%9A%E4%B8%80%E4%B8%AA%E5%8C%85%E5%90%8D%E7%A7%B0%EF%BC%8C%E6%88%91%E5%A6%82%E4%BD%95%E6%89%8D%E8%83%BD%E7%9F%A5%E9%81%93%E5%AE%89%E8%A3%85%E8%AF%A5%E5%8C%85%E5%90%8E%E4%BC%9A%E5%8F%91%E7%94%9F%E4%BB%80%E4%B9%88%E5%8F%98%E5%8C%96%EF%BC%9F.png)
给定一组apt
要应用的命令和包(例如install foo bar baz
)autoremove quux blerg bang
,有没有办法计算运行这些命令时产生的系统状态的差异?
我所说的“系统状态”不仅仅指某个给定的包是否会安装/删除其他包,还指会产生哪些实际变化 - 文件被删除或移动、脚本运行等等。
答案1
您可以在模拟模式下运行 apt-get,例如:
和
sudo apt-get --simulate install foo bar baz
或者sudo
没有
apt-get --simulate install foo bar baz
这不会改变您系统上的任何内容,但会打印出当您运行该命令时 apt-get 将执行的操作。
答案2
您可能正在寻找更多调试。 问题是... 信息太多了,对于不了解所读内容的人来说毫无用处。 但这里是:
sudo apt-get -o Debug::pkgDPkgProgressReporting=true -o Debug::pkgPackageManager=true -o Debug::pkgDPkgPM=true install package
但是,嘿,还有很多其他方法可以做到这一点。例如:
apt-get --print-uris install package
## This will print a lot of url. Download them.
wget uris
dpkg-deb -c *.deb
这将向您显示内容。您需要评估分开的控制脚本 (post/pre inst/rm)。