Debian 9.8でapt-getしたら「111: 接続を拒否されました」と表示される

1,はじめに

Debian 9.8の環境で、apt-getをしたところ、下記のようなエラーが出力された。

root@VAIO-S-SB-Debian:~# apt-get update
エラー:1 http://ftp.riken.jp/Linux/debian/debian stretch InRelease
ftp.riken.jp:80 (134.160.38.1) へ接続できませんでした。 - connect (111: 接続を拒否されました)
エラー:2 http://ftp.riken.jp/Linux/debian/debian stretch-updates InRelease
ftp.riken.jp:http へ接続できません:
ヒット:3 http://security.debian.org/debian-security stretch/updates InRelease
ヒット:4 https://cli-assets.heroku.com/apt ./ InRelease
ヒット:5 https://deb.nodesource.com/node_11.x stretch InRelease
ヒット:6 http://packages.microsoft.com/repos/vscode stable InRelease
パッケージリストを読み込んでいます… 完了
W: http://ftp.riken.jp/Linux/debian/debian/dists/stretch/InRelease の取得に失敗しました ftp.riken.jp:80 (134.160.38.1) へ接続できませんでした。 - connect (111: 接続を拒否されました)
W: http://ftp.riken.jp/Linux/debian/debian/dists/stretch-updates/InRelease の取得に失敗しました ftp.riken.jp:http へ接続できません:
W: いくつかのインデックスファイルのダウンロードに失敗しました。これらは無視されるか、古いものが代わりに使われます。
root@VAIO-S-SB-Debian:~#

エラーメッセージを見ると、「connect 111: 接続を拒否されました」とある。

2,解決方法

(1)原因

今回のエラーが出た原因は、FTPで接続すべき理化学研究所のサーバーに対して、HTTPで接続していたことである。

(2)対策

/etc/apt/sources.listの記載を修正する。

(あ)変更前

deb http://ftp.riken.jp/Linux/debian/debian/ stretch main contrib non-free 
deb-src http://ftp.riken.jp/Linux/debian/debian/ stretch main contrib non-free
deb http://security.debian.org/debian-security stretch/updates main contrib non-free
deb-src http://security.debian.org/debian-security stretch/updates main contrib non-free
# stretch-updates, previously known as 'volatile'
deb http://ftp.riken.jp/Linux/debian/debian/ stretch-updates main contrib non-free
deb-src http://ftp.riken.jp/Linux/debian/debian/ stretch-updates main contrib non-free

(い)変更後

deb ftp://ftp.riken.jp/Linux/debian/debian/ stretch main contrib non-free
deb-src ftp://ftp.riken.jp/Linux/debian/debian/ stretch main contrib non-free
deb http://security.debian.org/debian-security stretch/updates main contrib non-free
deb-src http://security.debian.org/debian-security stretch/updates main contrib non-free
# stretch-updates, previously known as 'volatile'
deb ftp://ftp.riken.jp/Linux/debian/debian/ stretch-updates main contrib non-free
deb-src ftp://ftp.riken.jp/Linux/debian/debian/ stretch-updates main contrib non-free

ご覧いただければ一目瞭然の通り、

http://ftp.riken.jp/ を ftp://ftp.riken.jp/ にすべて置き換えた。

(3)対策実施後のapt-getの挙動

root@VAIO-S-SB-Debian:/etc/apt# apt-get update
ヒット:1 http://security.debian.org/debian-security stretch/updates InRelease
取得:2 ftp://ftp.riken.jp/Linux/debian/debian stretch InRelease
ヒット:3 https://cli-assets.heroku.com/apt ./ InRelease
ヒット:4 https://deb.nodesource.com/node_11.x stretch InRelease
ヒット:5 http://packages.microsoft.com/repos/vscode stable InRelease
無視:2 ftp://ftp.riken.jp/Linux/debian/debian stretch InRelease
取得:6 ftp://ftp.riken.jp/Linux/debian/debian stretch-updates InRelease [91.0 kB]
ヒット:7 ftp://ftp.riken.jp/Linux/debian/debian stretch Release
91.0 kB を 1秒 で取得しました (88.4 kB/s)
パッケージリストを読み込んでいます… 完了

無事に、apt-getコマンドが動作することが確認できる。

3,試行錯誤録

以下、この問題への対処法を求めて試行錯誤した事について記載している。

とはいえ、上記で記載したことで解決できるので、読み飛ばして問題がない。

(1)sources.listを書き換える?

ネットを調べると、同じような問題にぶつかった方がいた。

このサイトの記載の通り、sources.listを見直してみる。

(あ)現行のsources.list

過去の記事をベースに、VS CODEやWiFiドライバのインストールのため、少し記載を変えている。

deb http://ftp.riken.jp/Linux/debian/debian/ stretch main contrib non-free 
deb-src http://ftp.riken.jp/Linux/debian/debian/ stretch main contrib non-free
deb http://security.debian.org/debian-security stretch/updates main contrib non-free
deb-src http://security.debian.org/debian-security stretch/updates main contrib non-free
# stretch-updates, previously known as 'volatile'
deb http://ftp.riken.jp/Linux/debian/debian/ stretch-updates main contrib non-free
deb-src http://ftp.riken.jp/Linux/debian/debian/ stretch-updates main contrib non-free

え、どこを変更するのですか・・・?

(2)DNSの設定不備?

sources.listの記述が原因とは思えなかったので、更にネットを調べた。

Ubuntu14.04でapt-get updateできなかった時の対処法 - Qiita

この記事は、DNSの設定に問題があることを原因としている。

(あ)編集前の/etc/resolv.confの記載

名前解決に使用するDNSサーバーについての記載は、

/etc/resolv.conf

にされるので、その記載を確認する。

# Generated by NetworkManager
search flets-east.jp iptvf.jp
nameserver 192.168.0.1
nameserver 2404:1a8:7f01:b::3
nameserver 2404:1a8:7f01:a::3

わぉ、IPv6使ってるやんけwwww

なにこれぇwwww

(い)記載を修正する

とりあえず、下の2つのIPv6のDNSをコメントアウトした。

Generated by NetworkManager
search flets-east.jp iptvf.jp
nameserver 192.168.0.1
# nameserver 2404:1a8:7f01:b::3
# nameserver 2404:1a8:7f01:a::3

ネットワーク設定を反映させる。

systemctl restart systemd-resolved.service

さて、どうなるか。

(う)にゃーん

root@VAIO-S-SB-Debian:/etc/apt# apt-get update
エラー:1 http://ftp.riken.jp/Linux/debian/debian stretch InRelease
ftp.riken.jp:80 (134.160.38.1) へ接続できませんでした。 - connect (111: 接続を拒否されました)
エラー:2 http://ftp.riken.jp/Linux/debian/debian stretch-updates InRelease
ftp.riken.jp:http へ接続できません:
ヒット:3 http://security.debian.org/debian-security stretch/updates InRelease
ヒット:4 https://cli-assets.heroku.com/apt ./ InRelease
ヒット:5 https://deb.nodesource.com/node_11.x stretch InRelease
ヒット:6 http://packages.microsoft.com/repos/vscode stable InRelease
パッケージリストを読み込んでいます… 完了
W: http://ftp.riken.jp/Linux/debian/debian/dists/stretch/InRelease の取得に失敗しました ftp.riken.jp:80 (134.160.38.1) へ接続できませんでした。 - connect (111: 接続を拒否されました)
W: http://ftp.riken.jp/Linux/debian/debian/dists/stretch-updates/InRelease の取得に失敗しました ftp.riken.jp:http へ接続できません:
W: いくつかのインデックスファイルのダウンロードに失敗しました。これらは無視されるか、古いものが代わりに使われます。

にゃーん

4,おわりに

いつもどおり動いているはずのコマンドが動作しないって、ちょっと怖い。

今回、記載をhttpからftpに変更することで解決した。

しかし、もともとの記載(http)のままでもapt-getが動いていたことを考えると謎である。

5,参考文献

  1. apt-getできない – YAMAGUCHI::weblog
  2. Ubuntu14.04でapt-get updateできなかった時の対処法 – Qiita
  3. ネームサーバーを変更する – Qiita

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA