如何由于新的软件包安装而确定文件系统的变化



在OS X或Linux中是否有可能确定特定操作在文件系统中造成的更改?

我的使用情况是:我正在安装十几个软件包,这是另一个软件包的先决条件。

其中一些不需要。我不明白为什么我需要所有这些。因此,我想确切查看每个软件包的作用:它添加了哪些文件,它修改了哪些文件,哪些文件已删除(尽管这应该不是)。

我该怎么做?

基于.rpm的Linux系统rpm实用程序是您的朋友。我没有建议基于.deb的Linux的建议,也没有建议OS x。

要检查通过特定软件包运行的脚本,您可以使用选项--scripts--triggers查看软件包的作用。

rpm -q --scripts packagename

示例:

rpm -q --scripts initscripts
preinstall scriptlet (using /bin/sh):
/usr/sbin/groupadd -g 22 -r -f utmp
postinstall scriptlet (using /bin/sh):
touch /var/log/wtmp /var/run/utmp /var/log/btmp
chown root:utmp /var/log/wtmp /var/run/utmp /var/log/btmp
chmod 664 /var/log/wtmp /var/run/utmp
chmod 600 /var/log/btmp
/sbin/chkconfig --add netfs
/sbin/chkconfig --add network
/sbin/chkconfig --add netconsole
/sbin/chkconfig --add rawdevices
preuninstall scriptlet (using /bin/sh):
if [ $1 = 0 ]; then
  /sbin/chkconfig --del netfs
  /sbin/chkconfig --del network
  /sbin/chkconfig --del netconsole
  /sbin/chkconfig --del rawdevices
fi
rpm -q --triggers initscripts
triggerun scriptlet (using /bin/sh) -- initscripts < 7.62
/sbin/chkconfig --del random
exit 0

要检查保存在系统上的文件列表,请使用-l选项

rpm -ql packagename

相关内容

最新更新