在OS X或Linux中是否可以确定特定操作在文件系统中引起的更改?
我的用例是:我正在安装十几个包,这是另一个包的先决条件。
其中一些不应该是必要的。我不明白为什么我需要所有这些。所以我想确切看看每个包的功能:它添加了哪些文件,修改了哪些文件,删除了哪些文件(尽管这应该是无)。
我该怎么做?
答案 0 :(得分:0)
在基于.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