我使用的是 Ubuntu 16.04 LTS 伺服器,需要修復https://launchpad.net/ubuntu/+source/vagrant1.8.1+dfsg-2
在為 Yakkety 發布的版本中,但沒有為 Xenial 發布。
那麼如何1.8.1+dfsg-2
為 Xenial 安裝它,以便在發布後將其替換為官方包?
更新:請注意,我不想要pin
這個包。我希望在該穩定版發布後將其更新到該穩定版。
答案1
如果您這次只想要較新的軟體包,並且還希望在為您當前版本的 Ubuntu 發布正確的版本後將其替換,您可以:
安裝建置工具和相依性:
sudo apt-get install build-essential devscripts sudo apt-get build-dep vagrant
下載包源碼並解壓縮:
dget -u https://launchpad.net/ubuntu/+archive/primary/+files/vagrant_1.8.1+dfsg-2.dsc cd vagrant-1.8.1
添加帶有精心設計的本機版本後綴的變更日誌條目(將
anatoly
日誌訊息替換為您想要的任何內容):debchange --local=~anatoly 'Backport to Xenial'
這會將軟體包版本提升到
1.8.1+dfsg-2~anatoly1
.波形符號後綴具有以下屬性:它實際上被視為比 更低的版本1.8.1+dfsg-2
:$ dpkg --compare-versions 1.8.1+dfsg-2~anatoly1 '<' 1.8.1+dfsg-2; echo $? 0
1.8.1+dfsg-2
這意味著一旦版本(或更新版本)在配置的儲存庫中可用,套件管理器將建議「升級」本機套件。建置二進位包:
debuild -b -j"`getconf _NPROCESSORS_ONLN`"
使用 .安裝建置的套件
sudo dpkg -i <DEBFILE>...
。
PS:我沒有嘗試自己建立該軟體包,因此您可能會遇到問題。例如,Yakkety 的來源套件可能依賴 Xenial 中不存在的套件(版本)(此時可能性較小,因為它是相同的上游版本)。在這種情況下,我們可以尋找解決方法。