2012-07-26 220 views
2

我有一個定製的Debian軟件包,現在安裝和卸載罰款,但有幾個問題:Debian軟件包卸載過程

  1. 我想知道我怎樣才能使卸載過程中檢查文件在磁盤上。假設文件/etc/file.conf存在,我不希望該軟件包被卸載。那可能嗎?我嘗試將檢查添加到prerm和postrm,但是由包安裝的所有文件都會被刪除,即使IF prerm和postrm腳本退出時也會出現錯誤。

我猜測可能有一個特定的退出代碼,我應該在這些腳本中使用?

  • 在卸載過程中有時通過軟件包創建一些目錄不被刪除,因爲它們不爲空。錯誤如下:「dpkg:warning:刪除軟件包名稱時,目錄'/ opt/packagename /'不爲空,因此未刪除。」有沒有辦法強制刪除包中安裝的所有文件?
  • 我已經通過文檔幾次尋找答案,但似乎我一直沒有找到正確的地方。

    回答

    2

    我想知道如何讓卸載過程檢查磁盤上的文件。 假設文件/etc/file.conf存在,我不希望軟件包被卸載。 可能嗎?我嘗試將prerm和postrm添加到該檢查中,但是由該包安裝的所有文件都會被刪除,即使IF prerm和postrm腳本退出並顯示錯誤。

    從prerm腳本不會退出將不會刪除所有已安裝的文件。

    #!/bin/sh 
    if [ -x /etc/file.conf ]; then 
        echo "You shall not remove me" >&2 
        exit 1 
    fi 
    

    在卸載過程中有時打包創建了一些目錄 不會被刪除,因爲它們不是空的。錯誤是這樣的:使用「dpkg:警告: 同時去除軟件包名,目錄‘/選擇/包/’不是空的,所以 不會被刪除。」有沒有辦法通過軟件包強制刪除所有安裝的文件 ?

    軟件包安裝該文件將被刪除。該警告信號 在應用程序的生命週期中創建的文件。您可以使用postrm 腳本將其刪除。

    作爲一個方面說明,包不應該把東西到/ opt。

    +0

    奇怪的是,在prerm中添加了check和'exit 1'做了勾號。我確信我之前嘗試過,正如我在問題中提到的那樣。無論如何感謝! – Debianuser 2012-08-07 14:34:06