web-dev-qa-db-ja.com

パッケージの依存関係を修正しますか?

私が想定しているように、Sudo apt-get install build-essentialを使用してビルドに不可欠なものをインストールしようとしています。エラーで戻る

    The following packages have unmet dependencies:
     build essential : Depends: g++ (>= 4:4.4.3) but it is not going to be installed
    E: Unable to correct problems, you have held broken packages.

Sudo apt-get install -fSudo apt-get updateSudo apt-get upgradeなど、いくつかの異なる修正を使用しようとしましたが、パッケージを修正したものはありません。 Sudo apt-get install -fを使用する場合、これはターミナルが私に言うことです。

    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    The following packages were automatically installed and are no longer required:
      linux-image-3.19.0-25-generic linux-image-extra-3.19.0-25-generic
    Use 'apt-get autoremove' to remove them.
    0 upgraded, 0 newly installed, 0 to remove and 13 not upgraded.

他のオプションは何も返しません。他のガイドや質問をいくつか調べましたが、どれもうまくいきませんでした。私はdpkg -iを試して依存関係をインストールしてみました。自分でラブリンスを追跡して依存関係を手動でインストールしようとしましたが、最後にライトが見つからなくなるまで依存関係がどんどん増えていきました依存関係の冷たいトンネルの。私が使用していないターミナルからbuild-essentialをインストールする簡単な方法はありますか、またはこの依存関係の長いリストをインストールできるコマンドはありますか?必要なすべての情報が含まれていると思います。これは私が試したdpkg -iガイドへのリンクです- `dpkg -i`に依存関係をインストールさせる方法 追加情報が必要な場合は、それを入手できます!

編集:

これはapt-cache policy build-essential g++の出力です。

    build-essential:
      Installed: (none)
      Candidate: 11.6ubuntu6
      Version table:
         11.6ubuntu6 0
            500 http://us.archive.ubuntu.com/ubuntu/ trusty/main AMD64 Packages
    g++:
      Installed: (none)
      Candidate: 4:4.8.2-1ubuntu6
      Version table:
         4:4.8.2-1ubuntu6 0
            500 http://us.archive.ubuntu.com/ubuntu/ trusty/main AMD64 Packages

私は他の誰かの解決策も実行しましたが、うまくいきませんでしたが、コードに何か興味深いことに気付いたので、Sudo apt-get dist-upgradeをもう一度実行して、独自に情報を取得しました。これが私が手に入れたものです。それが何を意味するのか、どのように修正するのかわかりません。誰かがここで複数の質問のいずれかに答えることができれば、それは非常に役に立ちます!ありがとうございました!

    $ Sudo apt-get dist-upgrade
    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    Calculating upgrade... Done
    The following packages have been kept back:
      cpp-4.8 gcc-4.8-base gcc-4.8-base:i386 libasan0
    0 upgraded, 0 newly installed, 0 to remove and 4 not upgraded.

これを見た後、Sudo apt-get updatesSudo apt-get install -fを実行しようとしましたが、以前と同じ出力が得られました。

1
James

これは状況固有の修正である可能性があります(これが2回発生したことがないため、わかりません)。ただし、Sudo apt-get install build-essential checkinstallを実行すると、すべての依存関係がインストールされました。依存関係をインストールするもう1つの方法は、gdebiを使用することです(どちらかについては不明です。私はこれを使用したことがありませんが、調査の結果、うまくいくと思います)。 Sudo apt-get install package checkinstallを使用して他のパッケージをインストールしようとしましたが、依存関係を修正するように求められませんでした。

0
James

私はこれを行う2つの方法のみを知っています:Sudo apt-get install -fともう1つは、ブラウザーを使用してすべてを手動でダウンロードし、/var/cache/apt/archives(ダウンロードしたパッケージが存在するフォルダー)内にパッケージを配置して、再度インストールを呼び出す方法です。 。

破損が依存関係の未解決の原因である場合に備えて、パッケージの整合性を確認できます。私のカンフーはそれよりも深くありません。削除してからauroremoveを実行し、必要なソフトウェアで再度インストールを呼び出すこともできます。

2
userDepth