“ it”(即purge
)如何知道依赖项和配置文件的位置?
如何purge
确定某个特定的软件创建了某个文件?
是否存在某种配置文件来记录程序创建的所有文件,以便purge
可以在删除过程中访问记录并将文件与程序进行匹配?
是的,有这样的文件。特别是*.list
,*.postrm
和*.conffiles
,这些都存储在/var/lib/dpkg/info
目录中。
这些.postrm
文件是删除软件包后运行的删除后脚本。这些脚本由软件包维护者负责,并且每个脚本都针对特定的软件包量身定制。/var/lib/dpkg/info/usb-modeswitch-data.postrm
例如,如果您检查,将会看到类似以下内容的内容:
#!/bin/sh
set -e
# Automatically added by dh_installdeb
dpkg-maintscript-helper rm_conffile "/etc/usb_modeswitch.d/230d:0001" 20101222-3 -- "$@"
# End automatically added section
也有*.list
和*.conffiles
文件,它们基本上是列表。gnome-terminal.list
,例如,将列出gnome-terminal
安装时创建的所有文件和目录。这些*.list
文件对于确定安装了什么非常有用。*.conffiles
列出软件包的所有配置文件。例如,虽然xterm.list
给出了所有文件,但是`xterm.conffiles *仅给出了conffiles。换句话说,conffile的内容也将出现在列表文件中。
$ cat /var/lib/dpkg/info/xterm.conffiles
/etc/X11/app-defaults/XTerm
/etc/X11/app-defaults/KOI8RXTerm-color
/etc/X11/app-defaults/XTerm-color
/etc/X11/app-defaults/UXTerm-color
/etc/X11/app-defaults/UXTerm
/etc/X11/app-defaults/KOI8RXTerm
我不太清楚如何*.conffiles
工作。我的假设是,删除后脚本具有较高的优先级,并且apt-get
仅使用它们*.conffiles
来仔细检查其中列出的文件是否已删除。
正如@AB正确地提醒我的那样,还有一些*.prerm
文件,其中一些确实删除了.conf文件,但不一定,例如,用于xpdf
app的一个文件正在删除/etc/xpdf/includes
目录中的文件。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句