Tel*_*Why 8 uninstall apt purge software-installation
“它”(即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
Run Code Online (Sandbox Code Playgroud)
还有*.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
Run Code Online (Sandbox Code Playgroud)
我不太清楚如何 *.conffiles工作。我的假设是删除后脚本优先,并且apt-get仅使用这些脚本*.conffiles来仔细检查其中列出的文件是否已删除。
正如 @AB 正确提醒我的那样,还有一些*.prerm文件,其中一些确实删除了 .conf 文件,但不一定,例如应用程序的文件删除了目录xpdf中的文件/etc/xpdf/includes
| 归档时间: |
|
| 查看次数: |
756 次 |
| 最近记录: |