いくつかのパッケージにカスタム パッチを適用するため、次のことを試しました。
アップグレードするパッケージが表示されたら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 がパッケージのアップグレードを表示していることがわかります。