Debianにいくつかのプログラムをインストールしようとしましたが、Linuxを初めて使用して問題が発生しました。インストールしようとするとbuild-essential
:
sudo apt-get install build-essential
または、他の同様のコマンドを実行すると、「インストール候補」がないと表示されます。
同様の別の質問で答えを見つけましたが、解決策が見つかりませんでした。
答え1
E: Package 'build-essential' has no installation candidate
次のエラーは、ストレージがコンピュータに存在しないことを意味します。main
sources.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からインストールする場合は、AptでDVDのみをパッケージソースとして構成することもできます。
より詳細なトラブルシューティングを行うには、エラーメッセージやその他の症状がエラーを識別するのに役立ちますが、通常はこのレベルでシステムを理解するだけで自分自身を診断するのに十分です。
1つのマイナーな迷惑は、設定URLが通常のApt出力にはっきりと表示されないことです。構成は次のとおりです。
deb http://example.net/path distribution section another
Packages
Apt自体は、サーバー上の1つ以上のファイルへの完全なURLパスを構成するためにいくつかの部分を埋めます。この--print-uris
オプションを使用すると、取得する内容を正確に表示できます。