apt-get Upgrade 不考慮手動建置和安裝的軟體包

apt-get Upgrade 不考慮手動建置和安裝的軟體包

我嘗試了以下操作,因為我將自訂補丁應用於某些套件:

apt-get upgrade顯示要升級的軟體包時,我使用 apt-get source 下載原始程式碼,應用補丁,重建,安裝(使用dpkg -i)。然後安裝最新版本。但即使在 apt-get update 之後,我手動建立並使用 dpkg 安裝的軟體包仍然出現在升級中,因此會再次被覆蓋。

我該如何解決這個問題?

答案1

這更多的是給其他有相同問題的人的臨時說明,直到有更明智的人可以幫助解決問題。

在我的建置腳本中我放入

VERSION=$(grep -R "Version: " | grep .dsc | head -1 | awk '{print $2}')
NEW_NUMBER=$((${VERSION: -1} + 1))
NEW_VERSION=$(echo $VERSION | sed "s/ubuntu${VERSION: -1}/ubuntu$NEW_NUMBER/")
grep -rl $VERSION | xargs sed -i "s/$VERSION/$NEW_VERSION/g"

就在之後apt-get source <package-name>

這會將軟體包版本的最後一個數字更改為下一個更高的數字(例如ubuntu2將變為ubuntu3)。

此解決方法在這裡有效。

快速重現法: 確保您嘗試使用的軟體包已完全升級。現在當你這樣做時:

cd /tmp
apt-get -b source <package>
sudo dpkg -i *.deb

並檢查您將看到 apt-get 顯示您的軟體包的升級。

相關內容