apt-get のエラーが発生したときの対処法を、まとめます。
今回のケースは、プロキシを通しているはずなのに、apt-get update やapt-get installでエラーが発生する問題が発生しました。
おそらく、会社や大学等で使用する場合は、プロキシの問題がついて回ってくると思います。
この対処法も含めて、apt-get でエラーが発生したときの流れをまとめました。
以前もapt-get updateでエラーが吐き出される問題がありましたが、解決に至らず、、、。
発生したapt-getコマンドエラーと環境
問題が発生した環境
・Debian9
・VirtualBox
・ホストOS:Windows10
発生したエラー内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
無視:1 http://ftp.jp.debian.org/debian stretch InRelease 無視:2 http://download.OOOOOO.com/debian stretch InRelease 無視:3 http://security.debian.org/debian-security stretch/updates InRelease 無視:4 http://ftp.jp.debian.org/debian stretch-updates InRelease エラー:5 http://download.OOOOOO.com/debian stretch Release 403 Forbidden エラー:6 http://security.debian.org/debian-security stretch/updates Release 403 Forbidden エラー:7 http://ftp.jp.debian.org/debian stretch Release 403 Forbidden エラー:8 http://ftp.jp.debian.org/debian stretch-updates Release 403 Forbidden パッケージリストを読み込んでいます... 完了 E: リポジトリ http://download.OOOOOO.com/debian stretch Release には Release ファイルがなくなっています。 N: このようなリポジトリから更新を安全に行うことができないので、デフォルトでは更新が無効になっています。 N: リポジトリの作成とユーザ設定の詳細は、apt-secure(8) man ページを参照してください。 E: リポジトリ http://security.debian.org/debian-security stretch/updates Release には Release ファイルがなくなっています。 N: このようなリポジトリから更新を安全に行うことができないので、デフォルトでは更新が無効になっています。 N: リポジトリの作成とユーザ設定の詳細は、apt-secure(8) man ページを参照してください。 E: リポジトリ http://ftp.jp.debian.org/debian stretch Release には Release ファイルがなくなっています。 N: このようなリポジトリから更新を安全に行うことができないので、デフォルトでは更新が無効になっています。 N: リポジトリの作成とユーザ設定の詳細は、apt-secure(8) man ページを参照してください。 E: リポジトリ http://ftp.jp.debian.org/debian stretch-updates Release には Release ファイルがなくなっています。 N: このようなリポジトリから更新を安全に行うことができないので、デフォルトでは更新が無効になっています。 N: リポジトリの作成とユーザ設定の詳細は、apt-secure(8) man ページを参照してください。 |
状況としては、プロキシを通しているのに、aot-get updateも、apt-get install もエラーが吐き出される状況。
解決策:設定ファイルapt.conf編集する
プロキシを通しても、apt-geコマンドがエラーとなるのは、
・設定ファイルapt.confが存在しない
もしくは、
・設定ファイルapt.confの記述内容が正しくない可能性があります。
apt.confの記述内容
1 2 3 |
Acquire::http::Proxy "http://proxy server : port 番号"; Acquire::https::Proxy "https://proxy server : port 番号"; Acquire::ftp::Proxy "ftp://proxy server : port 番号"; |
上記の内容で、/etc/apt/apt.confを設定しapt-get コマンドを実行すると通ります。
もしapt.confがない場合
現在使用している環境に、設定ファイルapt.confが存在しない場合は、手動で作って構いません。
どんなエディタでもいいので、/etc/apt/apt.confを作成し、上記の内容を書き込みましょう。
ちなみに、私の環境は、設定ファイルが存在しなかったため、apt.confを手動で作成しました。
もし上記の解決策でエラーが解決できない時に、試してほしいコトを以下にまとめました。
解決策:プロキシが正しく設定されているか確認
以下のコマンドでプロキシを通してください。
1 2 3 |
export http="http://proxy server : port 番号" export https="https://proxy server : port 番号" export ftp="ftp://proxy server : port 番号" |
プロキシが通っているか確認する方法
1 |
printenv | grep -i proxy |
上記の場合だと、電源を落とすと設定がクリアされてしまうので、上記の内容を.bashrcに記述しておくことで、毎回設定する必要がなくなります。
pingコマンドでプロキシの導通確認をする
プロキシを通したのに、つながらない場合は、pingコマンドで導通確認をしてみましょう。
1 |
ping [proxy server : port 番号] |
pingコマンドして導通がなかった場合は、自身のPC側ではなく、サーバーやネットデバイス側に問題があるかもしてません。
そちらを疑ってみましょう。
解決策:/etc/apt/sources.listの内容を確認する
こちらの解決策は、以前の記事でまとめたので、そちらを参考にしてください。
簡単に説明すると、リポジトリURLが正しいか確認してください。
ディストロのバージョンが古かったりすると、アップデートがされなかったり、リポジトリのURLがなかったりすると、
「リポジトリURLが無効」というエラーが発生してしまい、apt-getコマンドが正しく通りません。
そちらを確認してみるのも手かもしれません。
まとめ
プロキシ環境下でapt-getコマンドが通らない時の、解決方法をまとめました。
正直、今回のエラーが発生するまで、設定ファイルapt.confがあるなんて知りませんでした。
完全に私の知識不足ですね。
また、もし上記の内容でエラーの解決の糸口が見えてこない場合は、ネットデバイスや、サーバー側に原因がある可能性が高いと思います。
そちらを疑ってみましょう。
コメント