私はUbuntu 16.04 LTSサーバーを使用していますが、修正が必要です出典: vagrantYakkety 向けにリリースされたバージョンではあります1.8.1+dfsg-2
が、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 にないパッケージ (バージョン) に依存している可能性があります (この時点では可能性は低く、アップストリーム バージョンも同じであるため)。その場合は、回避策を検討できます。