web-dev-qa-db-ja.com

Vagrantをインストールしようとしましたが、libarchive13の依存関係の問題により失敗しました

choz@Choz-Liu:~$ Sudo apt-get -f install vagrant
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
vagrant : Depends: bsdtar but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

choz@Choz-Liu:~$ Sudo apt-get install bsdtar
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
bsdtar : Depends: libarchive13 (= 3.1.2-11build1) but     3.1.2-11ubuntu0.16.04.2 is to be installed
E: Unable to correct problems, you have held broken packages.
2
kororo

これには未解決のバグがあるようです: https://bugs.launchpad.net/ubuntu/+source/vagrant/+bug/1503565

そのページのユーザーMatthew Giassa(mgiassa)には、潜在的な回避策があります。

Matthew Giassa(mgiassa)は2016-10-07に次のように書いています。

最近、4.4.0-38-generic#57-Ubuntu SMP上のUbuntu 16.04.1でこの問題が発生しました。

libarchive13のビルドラベルが間違っているか、bsdtarが間違ったバージョンを予期しているようです。

私はこれを介してこれを修正することができました:

  • apt-getダウンロードbsdtar mkdir temp_out dpkg-deb -R

  • bsdtar_3.1.2-11build1_AMD64.deb temp_out

  • #「temp_out/DEBIANの制御ファイルを変更し、バージョンを「3.1.2-11build1」から「3.2.1-2〜ubuntu16.04.1。」に変更しました。保存して閉じます。

  • dpkg-deb -b temp_out FIXED_bsdtar.deb

  • Sudo dpkg -i ./FIXED_bsdtar.deb

その後、「sudo apt-get install vagrant」経由でvagrantを正常にインストールして使用することができました。このアプローチの唯一の欠点は、bsdtarパッケージが実際に修正されたときに最終的に手動で解決する必要があることです。

これはおそらく長期的な解決策としては素晴らしいことではないので、バグにパッチが適用されるまで、とりあえず vagrantをダウンロード にするとよいでしょう。

3
interduo
  1. Debian 16.04に適したbsdtarをダウンロードします(主にU16.04のlibarchive13用): https://packages.ubuntu.com/xenial/AMD64/bsdtar/download

    wget -P /tmp http://security.ubuntu.com/ubuntu/pool/universe/liba/libarchive/bsdtar_3.1.2-11ubuntu0.16.04.3_AMD64.deb
    
  2. ローカルにインストールします:

    apt install /tmp/bsdtar_3.1.2-11ubuntu0.16.04.3_AMD64.deb
    
  3. その後、vagrantをインストールできます。

    apt install vagrant
    
0
Tomas Lipensky