我知道一个程序包包含两个组件:config
和data
文件。在软件包升级(即安全升级)期间,data
可以覆盖config
文件,但文件应始终保持不变。同时config
文件通常/etc
和data
中/usr
。但是,有时区分是模糊的。
就我而言,我已经修改了Icedove
(Thunderbird)的图标文件:
/usr/share/applications/icedove.desktop
现在,每次有Icedove
(Thunderbird)更新时,我的更改都会被默认文件覆盖(即使两次更新之间都没有更改)。
有什么方法可以防止该特定文件被覆盖?
将其设置为不可变chattr +i icedove.desktop
不是一个好主意,因为在软件包升级期间会产生错误。
$XDG_DATA_HOME/applications/icedove.desktop
,尽管该位置通常默认为您提到的搜索路径。所述XDG基本目录规范还提供了在搜索路径$XDG_DATA_DIRS
为系统宽覆盖。我的回答是有关XDG基本目录在这种情况下如何应用的更详细的解释。