APTでパッケージをインストールしようとしているときに「パッケージが見つかりません」


209

コマンドラインからパッケージをインストールしようとすると、エラーが発生します。

$ sudo apt-get install <package>
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package <package>

誰もこれで私を助けることができますか?


5
18.04サーバーでは、ユニバース、マルチバース、およびバックポートがデフォルトで無効になっているため、これは最近多く発生しています。
wjandrea

1
インストールされていないコマンドを入力するときに役立つヒントを改善するためのランチパッドの問題はありますか?(ただ、それは非常に参考になる有効になっていないリポジトリ内にあることをほのめかし)
するThorbjörnRavnアンデルセン

これは、通常はDockerとSingularityの両方を使用してコンテナーを作成するときによくヒットします。Singularityコンテナには、異なるBootStrapオプションがdebootstrapありdockerます。何らかの理由debootstrapで、ベースのUbuntuイメージ(例えばxenial)で開始するために使用する場合、一部のパッケージがで見つからないこのエラーが発生しapt-getます。解決策は、dockerBootStrap に切り替えることで終わり、再び機能します。
user5359531

これはここ数日間私の進行を止めていますが、wjandreaが示唆しているように、宇宙、多宇宙、またはバックポートが無効になっているためではありません。
ジャッカロープ

@Jackalopeその場合、パッケージ名が間違っているか、実行する必要がありますsudo apt update。にapt-cache search続けて検索用語を使用して、正しいパッケージ名を検索します。
mchid

回答:


156

最初に、パッケージが実際に存在するかどうかを確認します。

  1. Webブラウザーでpackages.ubuntu.comにアクセスします
  2. 「パッケージディレクトリの検索」までスクロールします
  3. 「キーワード」フィールドにインストールしようとしているパッケージを入力します。

    [完全一致のみを表示]を有効にします。

    「配布」を使用しているUbuntuのバージョンに変更します。

    ここに画像の説明を入力してください

結果ない場合、探しているパッケージは存在せず、次の手順は機能しません。サードパーティのPPAまたは別のインストール方法が必要になる場合があります。

場合は結果が発見され、パッケージが存在し、これらの手順を続行することがあります。

  1. オープンソフトウェアのソース(またはソフトウェア・アップデート 13.04+で)ダッシュでそれを検索することもできます。
  2. 「Ubuntu Software」タブを開きます。
  3. このタブの最初の4つのチェックボックスが有効になっていることを確認します。

    ここに画像の説明を入力してください

  4. パッケージリストを更新してから、次のコマンドでテストします。

    sudo apt-get update
    sudo apt-get install <TEST_PACKAGE>
    

44
簡単なものsudo apt-get updateで十分であることがわかりました。あなたのマイレージは異なる場合があります。
エドワードフォーク

1
sudo apt-get updateまた、Windows 10上のUbuntuで働いていました(この回答の後半で参照されているUIがそのシステムに存在しないため、これは重要です)。
ジェームズ

1
ソフトウェアとアップデートのスクリーンショットで助かりました!!
カルペシュソニ

launchpad.netも検索することを忘れないでください!
ジョナサン

1
サーバーをシェルから実行していますが、GUIを開くことができません。コマンドラインのみでこれを解決することは可能ですか?
ユリシーズアルベス

82

このトピックについて多くの質問があります。ここで、基本的な/一般的な答えを提供します。

場合はapt-get install、パッケージを見つけることができない、インストールするパッケージは、あなたが追加したリポジトリ(中のものの中に見つけることができませんでした/etc/apt/sources.listし、下/etc/apt/sources.list.d/)。

次の(一般的な)手順は、これを解決するのに役立ちます。

  1. Ubuntuリポジトリが有効になっていることを確認します。

    すべてのリポジトリ(有効にするにはmainuniverserestricted、をmultiverse)、次のコマンドを使用します。

    sudo add-apt-repository main
    sudo add-apt-repository universe
    sudo add-apt-repository restricted
    sudo add-apt-repository multiverse
    

    詳細については、ヘルプをご覧ください。

  2. その他のパッケージのPPAを見つけるには:

  3. PPAを追加(コマンドラインで)

    次のコマンドを使用します。

    sudo add-apt-repository ppa:<repository-name>
    

    詳細については、Ubuntuコミュニティヘルプをご覧ください。

  4. 更新することを忘れないでください(変更をaptに認識させてください):

    リポジトリを変更した後、このコマンドを実行することが不可欠です。

    sudo apt-get update
    

    最適なダウンロードサーバーを選択すると、更新が高速化される場合があります。

  5. 最後にパッケージをインストールします。

    sudo apt-get install <package>
    

    コマンドラインによるパッケージ管理を参照してください。

    追加/ヒント:を使用して正しいパッケージ名(リポジトリ内の名前)を見つけることができますapt-cache search <package-name>



:パッケージがリポジトリで使用できない場合は、使用可能になるまで待つ(新しいバージョンまたは更新されたバージョンの場合)かapt-get、ソースからのコンパイル、実行可能バイナリのダウンロードなど以外のインストールプロセスを使用する必要があります


3
また、Debian / Ubuntuにいるlibnameときに、ユーザーがを検索している可能性もありますlibname2
saiarcot895

3
まず、パッケージに依存し、多くの仮定をしています。まず、saiarcot895によって指摘されているように、OPが正しいパッケージ名を識別したと仮定しています。次に、パッケージが利用可能であると仮定しています。一般に、最初に問題を特定することが最善です。その後、可能な限りリポジトリからインストールします。特に必要がない限り、ppaは2番目の選択肢です。パッケージがリポジトリまたはppaにない場合は、ソースからコンパイルする必要があります。あなたは本当に十分な情報を持っていません。
パンサー14年

@ saiarcot895 @ bodhi.zazen:apt-cache searchリポジトリから正しいパッケージ名を見つけるために提供するように回答を修正しました。
パンディア14

素晴らしい答えの男、勝者になるはずの人

9

xbmcは、Ubuntu 12.04(正確)以降のみ、ユニバースリポジトリでのみ使用できます。Ubuntuの古いリリースを使用している場合は、アップグレードするか、別の場所からxbmcを取得する必要があります。

Ubuntu 12.04を使用している場合は、ユニバースリポジトリを有効にしていることを確認してください。ファイル/etc/apt/sources.list(およびディレクトリ内のファイル)で有効にしたリポジトリを確認できます/etc/apt/sources.list.d。このファイルに次のような行が含まれていることを確認してください

deb http://al.archive.ubuntu.com/ubuntu/ precise universe

または

deb http://zw.archive.ubuntu.com/ubuntu/ precise main restricted universe multiverse

次のような行だけを見つけた場合

deb http://mn.archive.ubuntu.com/ubuntu/ precise main restricted

上記のように、の行がない場合は、その行の最後にuniverse追加するuniverseか、のある別の行を追加しprecise universeます。

を変更する必要がある場合は/etc/apt/sources.listsudo apt-get update後で実行してから、もう一度インストールしてください。それでもパッケージが見つからない場合は、の完全なコンテンツ/etc/apt/sources.listとの出力を投稿してsudo apt-get updateください。


@EliahKagan私は自分の答えがそのように解釈されるとは思わなかったので、明確にしようとしました。なぜないalzw?(OPの手がかりが得られたら、OPに適切なミラーを選択しようとしますが、ここ
Gilles

5

私はUbuntuは初めてですが、この「パッケージを見つけることができません」というエラーを回避するためのいくつかの解決策を発見したので、これを書いています。これがショックを引き起こす可能性がある3つの状況があります。

  1. Ubuntuをインストールした後、更新せずにアップグレードした場合、これが発生する可能性があります。
  2. 今後発生するソフトウェアの更新が多数ある場合は、+ を押して「Update Manager」と入力して、すべての重要なセキュリティ更新/推奨更新がオフになっていることを確認します。AltF2
  3. 問題1と2は、すべての更新を更新またはクリアした後でも発生する可能性があります。しかし、永遠の解決策は次のとおりです。ポイント1と2を試してsudo apt-get killmanagerからsudo apt-get update、を入力しsudo apt-get upgradeます。動作しない場合は問題なく入力してから、を入力します。

これで、ターミナルを介してソフトウェアをインストールできるようになります。


それでも「sudo apt-get update」行にエラーが表示される場合は、「sudo apt-get upgrade」を使用してみてください。これは動作します。Linuxは非常に大文字と小文字が区別されるよう確認してくださいあなたの代わりに「須藤」の「sudoの」のような小さな文字ですべてのコマンドを使用してください
シャンサンダー

5

ファイルをインストールしようとした場合:

sudo apt-get install libstdc++.so.6

パッケージの代わりに。エラーメッセージが表示されます。

E: Unable to locate package libstdc++.so.6
E: Couldn't find any package by regex 'libstdc++.so.6'

libstdc++.so.6debianパッケージにあるため、インストールできないファイルをインストールしようとしたためです。

を使用apt-fileして、そのファイルを含むパッケージを検索できます。それをインストールするには、次を入力します。

sudo apt-get install apt-file

次に、インデックスを更新する必要があります。

sudo apt-file update

その後、ファイルを含むパッケージを検索できますlibstdc++.so.6

sudo apt-file find libstdc++.so.6

次に、検索されたファイルを含む多くのパッケージを見つけます。この例では、検索結果を1つだけ貼り付けます。

libstdc++6: /usr/lib/x86_64-linux-gnu/libstdc++.so.6

その後、必要なパッケージをインストールできますlibstdc++6

sudo apt-get install libstdc++6
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.