apt-get のエラーが発生したときの対処法を、まとめます。
今回のケースは、プロキシを通しているはずなのに、apt-get update やapt-get installでエラーが発生する問題が発生しました。
おそらく、会社や大学等で使用する場合は、プロキシの問題がついて回ってくると思います。
この対処法も含めて、apt-get でエラーが発生したときの流れをまとめました。
以前もapt-get updateでエラーが吐き出される問題がありましたが、解決に至らず、、、。
発生したapt-getコマンドエラーと環境
問題が発生した環境
・Debian9
・VirtualBox
・ホストOS:Windows10
発生したエラー内容
無視: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の記述内容
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を手動で作成しました。
もし上記の解決策でエラーが解決できない時に、試してほしいコトを以下にまとめました。
解決策:プロキシが正しく設定されているか確認
以下のコマンドでプロキシを通してください。
export http="http://proxy server : port 番号"
export https="https://proxy server : port 番号"
export ftp="ftp://proxy server : port 番号"
プロキシが通っているか確認する方法
printenv | grep -i proxy
上記の場合だと、電源を落とすと設定がクリアされてしまうので、上記の内容を.bashrcに記述しておくことで、毎回設定する必要がなくなります。
pingコマンドでプロキシの導通確認をする
プロキシを通したのに、つながらない場合は、pingコマンドで導通確認をしてみましょう。
ping [proxy server : port 番号]
pingコマンドして導通がなかった場合は、自身のPC側ではなく、サーバーやネットデバイス側に問題があるかもしてません。
そちらを疑ってみましょう。
解決策:/etc/apt/sources.listの内容を確認する
こちらの解決策は、以前の記事でまとめたので、そちらを参考にしてください。
簡単に説明すると、リポジトリURLが正しいか確認してください。
ディストロのバージョンが古かったりすると、アップデートがされなかったり、リポジトリのURLがなかったりすると、
「リポジトリURLが無効」というエラーが発生してしまい、apt-getコマンドが正しく通りません。
そちらを確認してみるのも手かもしれません。
まとめ
プロキシ環境下でapt-getコマンドが通らない時の、解決方法をまとめました。
正直、今回のエラーが発生するまで、設定ファイルapt.confがあるなんて知りませんでした。
完全に私の知識不足ですね。
また、もし上記の内容でエラーの解決の糸口が見えてこない場合は、ネットデバイスや、サーバー側に原因がある可能性が高いと思います。
そちらを疑ってみましょう。
コメント