我有一個Debian軟件包,它必須更新一些文件。這些文件將在卸載Debian軟件包後存在。我想將它們與我的包一起刪除,當我撥打apt-get刪除。使用自己的更新機制卸載Debian軟件包後的剩餘文件
如果我更新的文件添加到
/var/lib/dpkg/info/<package>.list
,他們將被刪除。
更新: 我會
室射頻文件夾中刪除的postrm.debhelper腳本文件夾
但感覺不對。 ;)
我有一個Debian軟件包,它必須更新一些文件。這些文件將在卸載Debian軟件包後存在。我想將它們與我的包一起刪除,當我撥打apt-get刪除。使用自己的更新機制卸載Debian軟件包後的剩餘文件
如果我更新的文件添加到
/var/lib/dpkg/info/<package>.list
,他們將被刪除。
更新: 我會
室射頻文件夾中刪除的postrm.debhelper腳本文件夾
但感覺不對。 ;)
首先,我會說這聽起來像一個包有點不正確的行爲,刪除在安裝前存在的卸載文件,我強烈建議不要做任何這樣的包在打包供使用廣大市民。但是,如果是私人使用,並且相關人員明白它的作用,那應該沒問題。
刪除prerm或postrm中的文件聽起來像是最好的答案。但請確保您無條件執行rm
;在除包裝總體去除之外的幾種情況下,可以調用前期和後期。
除了您希望確保文件將被刪除之前從文件系統中刪除程序包的內容,postrm優於prerm。
在postrm,我建議做一些像
case "$1" in
purge|disappear)
rm -rf $your_folder
esac
你可以添加remove
到purge
和disappear
那裏,如果你想,即使這個包是「刪除」,而不是要刪除的文件「清除」(「清除」意味着包的配置文件將被保留;這通常意味着稍後再次安裝包的機會)。
甲postrm也將被稱爲上的正常包的升級時,或者當升級或初始安裝失敗(動作upgrade
,failed-upgrade
,abort-install
,和abort-upgrade
)。請參閱Debian政策,詳細說明如何以及何時使用這些政策。在這些情況下,你幾乎肯定不想執行rm
。
安裝軟件包之前文件不存在。安裝的軟件包更新了一些文件,這些文件不會被刪除。但有了你的提示,我將添加刪除和清除刪除整個文件夾,我創建時安裝debian軟件包。甚至一些文件進入這個文件夾得到更新,我希望他們被清除,當包將被卸載。 – imizeropt
請讓你的問題更清楚。您是否運送需要更改*的文件包,或者這些文件是否屬於其他包,或者它們不屬於任何包?您是否希望*在卸載軟件包時刪除它們?直接更改'/ var/lib/dpkg/info/$ package.list'幾乎肯定不是一個好主意。 –
我想刪除的文件不屬於其他程序。應該隨軟件包卸載一起刪除它們。 – imizeropt