Linux
安裝本地 .deb 後的 Apt-Get 衝突
前段時間我在我的 debian/squeeze 伺服器上安裝
apt-get install
了nginx 包。我的要求現在已經改變,我需要安裝 nginx--with-http_xslt_module
。要使用此選項安裝 nginx,我執行了以下操作:
apt-get build-dep nginx
apt-get source nginx
- 修改 debian/rules 以添加所需的選項
dpkg-buildpackage -rfakeroot -uc -b
dpkg -i nginx_0.7.62-4_amd64.deb
這一切似乎都很好,但是現在當我這樣做時,
apt-get dist-upgrade
它會嘗試再次安裝 nginx 二進製文件。請您給點建議……
- 以這種方式建構 nginx 是滿足我需求的首選解決方案嗎?
- 如果是這樣,我怎麼能告訴 apt 我不想再安裝二進制 nginx 而不做 a
remove
?
我認為您正在尋找的是持有包裹的能力。當一個包被持有時,不會嘗試以任何方式升級或更改它。
像這樣的命令將設置 nginx 保持。
dpkg --get-selections | grep 'nginx' | sed -e 's/install/hold/' | sudo dpkg --set-selections
您可能需要說明您已執行此操作。當需要升級到下一個主要版本時,您可能需要刪除此保留。
我真的不明白你想要什麼——你不想安裝 nginx,但你也不想刪除它?這是沒有意義的。如果你想確保你的包的建構保持安裝,並且沒有升級到標準版本,那麼你想使用包固定,如
apt_preferences
手冊頁中所述。