テストからパッケージをインストールするにはどうすればいいですか?

テストからパッケージをインストールするにはどうすればいいですか?

私はUbuntu 16.04 LTSサーバーを使用していますが、修正が必要です出典: vagrantYakkety 向けにリリースされたバージョンではあります1.8.1+dfsg-2が、Xenial 向けにはリリースされていません。

1.8.1+dfsg-2では、リリースされたら公式パッケージに置き換えられるように、Xenial にそれをインストールするにはどうすればよいですか?

更新: パッケージは必要ないことに注意してくださいpin。安定版がリリースされたら、次の安定版に更新したいのです。

答え1

今回だけ新しいパッケージが必要で、Ubuntu の現在のリリースに適したバージョンがリリースされたらそれを置き換えたい場合は、次の操作を実行できます。

  1. ビルド ツールと依存関係をインストールします。

    sudo apt-get install build-essential devscripts
    sudo apt-get build-dep vagrant
    
  2. パッケージ ソースをダウンロードして解凍します。

    dget -u https://launchpad.net/ubuntu/+archive/primary/+files/vagrant_1.8.1+dfsg-2.dsc
    cd vagrant-1.8.1
    
  3. 慎重に作成されたローカル バージョン サフィックスを持つ変更ログ エントリを追加します (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構成されたリポジトリでバージョン (またはそれ以降) が利用可能になると、ローカル パッケージを「アップグレード」することを提案します。

  4. バイナリ パッケージをビルドします。

    debuild -b -j"`getconf _NPROCESSORS_ONLN`"
    
  5. ビルドされたパッケージを でインストールしますsudo dpkg -i <DEBFILE>...

PS: パッケージを自分でビルドしようとはしていないので、問題が発生する可能性があります。たとえば、Yakkety のソース パッケージは、Xenial にないパッケージ (バージョン) に依存している可能性があります (この時点では可能性は低く、アップストリーム バージョンも同じであるため)。その場合は、回避策を検討できます。

関連情報