Debian で build-essential をインストールする際の問題

Debian で build-essential をインストールする際の問題

Debian にいくつかのプログラムをインストールしようとしていますが、Linux を使うのは初めてなので、問題が発生しています。次のようbuild-essentialにインストールしようとすると、

sudo apt-get install build-essential

または他の同様のコマンドでは、「インストール候補」がないと表示されます

このような他の質問で答えを探しましたが、解決策が見つかりません。

答え1

次のエラーは、リポジトリがE: Package 'build-essential' has no installation candidate存在しないことを意味しますmainsources.list

パッケージbuild-essentialは、mainリポジトリ。

まず、次の項目を編集する必要がありますsources.list:

sudo apt edit-sources

次の行を追加します(sources.listサンプルmainそしてcontrib成分):

deb http://httpredir.debian.org/debian jessie main contrib
deb-src http://httpredir.debian.org/debian jessie main contrib

deb http://httpredir.debian.org/debian jessie-updates main contrib
deb-src http://httpredir.debian.org/debian jessie-updates main contrib

deb http://security.debian.org/ jessie/updates main contrib
deb-src http://security.debian.org/ jessie/updates main contrib 

次のコマンドを保存して実行し、build-essentialパッケージをインストールします。

sudo apt update
sudo apt upgrade
sudo apt install build-essential

答え2

Aptが利用可能なパッケージを認識するには、有効な設定/etc/apt/sources.list(通常はディストリビューションのインストール時に正しく初期化されます)が必要であり、設定されたネットワークの場所からファイルを正常にダウンロードする必要がありますPackages。一般的なエラーのシナリオは次のとおりです。

  • 廃止された構成。サポートされなくなったディストリビューションを使用しようとしている場合、以前は正しかった URL は/etc/apt/sources.list機能しなくなります。症状は、サーバー全体が消えてしまった場合は、「ファイルが見つかりません」というエラーまたは「ホストへのルートがありません」というエラーです。
  • 同様の症状で、Apt がファイルをダウンロードできないファイアウォールの問題Packages。他の場所から Apt が設定した場所に接続できる場合は、プロキシを使用する必要があるかもしれません。
  • 通常、数分または数時間後に自然に解消される一時的なサーバー エラーです。
  • 実行に失敗しましたapt-get update。ファイルのローカル コピーPackagesが古すぎる場合、サーバー上のアーカイブに存在しないパッケージ バージョンを指すことになります。

あまり一般的ではありませんが、考えられる問題の原因としては、誤って構成ファイルを消去したこと (バックアップから復元しましたか? 質問に十分な情報を含めて、ディストリビューションの一般的なデフォルトを教えていただけますか?)、物理的な接続の問題 (インターフェイスは起動していて、Google などに接続できますかcurl?)、ローカル ディスクの問題 (Packagesファイルが破損していますか? ディスクが読み取り専用でマウントされていますか?) などが挙げられます。DVD からインストールした場合は、DVD のみが Apt でパッケージ ソースとして構成されている可能性もあります。

より詳細なトラブルシューティングを行うには、エラー メッセージやその他の症状がエラーの特定に役立ちますが、このレベルでシステムを理解していれば、自分で診断するのに十分な場合がよくあります。

ちょっとした不満は、設定URLが通常のApt出力からははっきりと見えないことです。設定は次のようになります。

deb http://example.net/path distribution section another

PackagesApt 自体がいくつかの部分を入力して、サーバー上の1 つ以上のファイルへの完全な URL パスを構築します。この--print-urisオプションを使用すると、正確に何を取得しようとしているのかを確認できます。

関連情報