Debian で必要なビルドインストールの問題

Debian で必要なビルドインストールの問題

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.listmainそして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からインストールする場合は、AptでDVDのみをパッケージソースとして構成することもできます。

より詳細なトラブルシューティングを行うには、エラーメッセージやその他の症状がエラーを識別するのに役立ちますが、通常はこのレベルでシステムを理解するだけで自分自身を診断するのに十分です。

1つのマイナーな迷惑は、設定URLが通常のApt出力にはっきりと表示されないことです。構成は次のとおりです。

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

PackagesApt自体は、サーバー上の1つ以上のファイルへの完全なURLパスを構成するためにいくつかの部分を埋めます。この--print-urisオプションを使用すると、取得する内容を正確に表示できます。

関連情報