web-dev-qa-db-ja.com

依存関係が満たされていないため、puppetをインストールできません

新しいubuntu14.04マシンにpuppetをインストールしようとしていますが、次のエラーが発生します

一部のパッケージをインストールできませんでした。これは、不可能な状況を要求したか、不安定なディストリビューションを使用していて、必要なパッケージがまだ作成されていないか、受信から移動されていないことを意味している可能性があります。次の情報は、状況の解決に役立つ場合があります。

The following packages have unmet dependencies:
puppet : Depends: puppet-common (= 3.7.0-1puppetlabs1) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

私は指示に従いました ここ そして以下をしました

$ wget https://apt.puppetlabs.com/puppetlabs-release-trusty.deb   
$ Sudo dpkg -i puppetlabs-release-trusty.deb   
$ Sudo apt-get update

私も試しました

apt-get install Ruby  
apt-get -f install  
uncommenting the 'devel' sources in puppetlabs.list

どんな助けでも本当にありがたいです。

編集1
欠落している「puppet-common」パッケージをインストールしようとすると、「facter」が欠落しているという同様のメッセージが表示されます。

puppet-common : Depends: facter (>= 1.7.0) but it is not going to be installed

それをインストールしようとすると、

facter : Depends: virt-what but it is not installable

編集2これは私のソースがどのように見えるかです

/etc/apt/sources.list

deb http://ports.ubuntu.com/ubuntu-ports/ trusty main restricted
deb-src http://ports.ubuntu.com/ubuntu-ports/ trusty main restricted
deb http://ports.ubuntu.com/ubuntu-ports/ trusty-updates main restricted
deb-src http://ports.ubuntu.com/ubuntu-ports/ trusty-updates main restricted
deb http://ports.ubuntu.com/ubuntu-ports/ trusty-security main restricted
deb-src http://ports.ubuntu.com/ubuntu-ports/ trusty-security main restricted

/etc/apt/sources.list.d/puppetlabs.list

deb http://apt.puppetlabs.com trusty main
deb-src http://apt.puppetlabs.com trusty main
deb http://apt.puppetlabs.com trusty dependencies
deb-src http://apt.puppetlabs.com trusty dependencies
deb http://apt.puppetlabs.com trusty devel
deb-src http://apt.puppetlabs.com trusty devel

編集3apt-getupdateの出力を以下で見つけてください

Ign http://apt.puppetlabs.com trusty InRelease
Hit http://apt.puppetlabs.com trusty Release.gpg    
Hit http://apt.puppetlabs.com trusty Release        
Ign http://ports.ubuntu.com trusty InRelease    
Hit http://apt.puppetlabs.com trusty/main Sources
Ign http://ports.ubuntu.com trusty-updates InRelease
Hit http://apt.puppetlabs.com trusty/dependencies Sources
Ign http://ports.ubuntu.com trusty-security InRelease
Hit http://apt.puppetlabs.com trusty/devel Sources
Hit http://apt.puppetlabs.com trusty/main armhf Packages
Hit http://ports.ubuntu.com trusty Release.gpg 
Hit http://apt.puppetlabs.com trusty/dependencies armhf Packages
Hit http://apt.puppetlabs.com trusty/devel armhf Packages
Hit http://ports.ubuntu.com trusty-updates Release.gpg
Hit http://ports.ubuntu.com trusty-security Release.gpg
Hit http://ports.ubuntu.com trusty Release     
Hit http://ports.ubuntu.com trusty-updates Release                    
Hit http://ports.ubuntu.com trusty-security Release                   
Hit http://ports.ubuntu.com trusty/main Sources                       
Hit http://ports.ubuntu.com trusty/restricted Sources
Hit http://ports.ubuntu.com trusty/main armhf Packages
Hit http://ports.ubuntu.com trusty/restricted armhf Packages
Hit http://ports.ubuntu.com trusty/main Translation-en
Hit http://ports.ubuntu.com trusty/restricted Translation-en
Hit http://ports.ubuntu.com trusty-updates/main Sources
Hit http://ports.ubuntu.com trusty-updates/restricted Sources
Hit http://ports.ubuntu.com trusty-updates/main armhf Packages
Ign http://apt.puppetlabs.com trusty/dependencies Translation-en_US
Ign http://apt.puppetlabs.com trusty/dependencies Translation-en
Hit http://ports.ubuntu.com trusty-updates/restricted armhf Packages
Ign http://apt.puppetlabs.com trusty/devel Translation-en_US
Hit http://ports.ubuntu.com trusty-updates/main Translation-en
Ign http://apt.puppetlabs.com trusty/devel Translation-en
Ign http://apt.puppetlabs.com trusty/main Translation-en_US
Hit http://ports.ubuntu.com trusty-updates/restricted Translation-en
Ign http://apt.puppetlabs.com trusty/main Translation-en
Hit http://ports.ubuntu.com trusty-security/main Sources
Hit http://ports.ubuntu.com trusty-security/restricted Sources
Hit http://ports.ubuntu.com trusty-security/main armhf Packages
Hit http://ports.ubuntu.com trusty-security/restricted armhf Packages
Hit http://ports.ubuntu.com trusty-security/main Translation-en
Hit http://ports.ubuntu.com trusty-security/restricted Translation-en
Ign http://ports.ubuntu.com trusty/main Translation-en_US
Ign http://ports.ubuntu.com trusty/restricted Translation-en_US
2
yakka

答えは、私が予想していたよりもはるかに単純であることが判明しました。

ターミナルで入力しました

software-properties-gtk

「UbuntuSoftware」の下で、すべてのソースにチェックマークを付けました。その後、アップデートを行って再度インストールしてみたところ、うまくいきました!

有用な提案をありがとうピーターHorvath。

0
yakka

簡単な答えは次のとおりです。

apt-get -f install

コマンドを実行すると、必要なものがダウンロードおよびインストールされます。

DpkgベースのOSでのパッケージのインストールには、次の3つのステップがあります。

  1. 一部のスクリプトファイルのコピーが呼び出されます
  2. ファイルは抽出されたインストールパッケージからのものであり、ルートファイルシステムにコピーされます
  3. 一部のスクリプトafter再度呼び出されます。

Debianパッケージは、実際には次の標準化されたコレクションです。1。インストールスクリプト2.その依存関係に関する情報3.すべてのファイルを含む実際のtar.xzアーカイブ。

パッケージのファイルはすでにファイルシステムにコピーされていますが、構成はコピーされていません。したがって、プログラムはおそらく機能しませんが、(1)と(2)はすでに発生しています!

これにより、dpkg -lコマンドを実行したかどうかを確認できます(おそらく非常に長いリストが表示されます。おそらくdpkg -l|moreの方が適しています)。パッケージisはすでにインストールされていますが、「破損」状態です。これは、apt-get -f installコマンドで修正できます。このコマンドは、パッケージとインストールされている.dpkgリポジトリの両方で利用可能な依存関係情報を収集し、修正する方法を見つけますすべて

その主な目標は、不足しているパッケージを必要な順序で検索、ダウンロード、およびインストールすることです。しかし、それが不可能な場合は、アンインストールすることさえあります。彼が何をしたいのかがわかります。それが実行できる場合(そしてほとんどの場合:実行可能)、最終的にはすべてが正常に機能するシステムが得られます。

Extension#1:エラーメッセージは、このpuppetパッケージがpuppet-commonという名前の別のパッケージに依存していることを示しています。このパッケージはおそらくデフォルトのリポジトリにはありませんが、おそらくpuppetパッケージのURLの隣にあります。これが原因であり、aptがそれを見つけてシステムにインストールできない理由です。ただし、修正も非常に簡単です。必要なpuppet-commonパッケージもダウンロードし、それもインストールします。

Extension#2:そこにある説明を読みましたが、どういうわけか最初のステップを逃したとほぼ確信しています。 /etc/apt/sources.listファイルでpuppetlabsリポジトリのURLを見つける必要がありますか?そうでない場合は、手順1(puppetlabsリポジトリをaptにインポートする)を再度実行します。何か問題がある場合は、sources.listを質問にコピーしてください。さらに先に進みます。