※2019/10/02
コマンドの記述ミスを修正。
はじめに
yum でパッケージをインストールすると、timeout するようになりました。
自宅環境がFirewallやAnti-Virus Softwareが入っているため、そこで遅延が発生していると考えられます。
本来ならきっちり調査すべきなのでしょうが、手っ取り早く解消できたのでそれ以上は追及していません。
将来の自分のために記録を残しておきます。
※ちなみに、Firewallは、ソースIP指定で、Destならびにportを Anyで許可しています。
pingも問題なく返ってきています。
環境
- CentOS 7.6.1810
発生事象
yumコマンドが、下記のように失敗します。
CentOS7
$ sudo yum -y install httpd
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
-- 略 --
Downloading packages:
No Presto metadata available for base
centos-logos-70.0.6-3.el7.cent FAILED
http://ftp.riken.jp/Linux/centos/7.6.1810/os/x86_64/Packages/centos-logos-70.0.6-3.el7.centos.noarch.rpm: [Errno 12] Timeout on http://ftp.riken.jp/Linux/centos/7.6.1810/os/x86_64/Packages/centos-logos-70.0.6-3.el7.centos.noarch.rpm: (28, 'Operation too slow. Less than 1000 bytes/sec transferred the last 30 seconds')
他のミラーを試します。
centos-logos-70.0.6-3.el7.cent FAILED
http://ftp.yz.yamagata-u.ac.jp/pub/linux/centos/7.6.1810/os/x86_64/Packages/centos-logos-70.0.6-3.el7.centos.noarch.rpm: [Errno 12] Timeout on http://ftp.yz.yamagata-u.ac.jp/pub/linux/centos/7.6.1810/os/x86_64/Packages/centos-logos-70.0.6-3.el7.centos.noarch.rpm: (28, 'Operation too slow. Less than 1000 bytes/sec transferred the last 30 seconds')
他のミラーを試します。
-- 略 --
メッセージを見ると、Timeout とか、遅いとか・・・。
解消した方法
yum.confにtimeoutを追加しました。
単位は、秒です。
詳細は、man yum.conf
に書かれています。
CentOS7
$ sudo vi /etc/yum.conf
timeout=60
結果
再度、実行します。
CentOS7
$ sudo yum -y install httpd
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
-- 略 --
Downloading packages:
No Presto metadata available for base
centos-logos-70.0.6-3.el7.centos.noarch.rpm | 21 MB 00:38
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
インストール中 : centos-logos-70.0.6-3.el7.centos.noarch 1/2
インストール中 : httpd-2.4.6-89.el7.centos.x86_64 2/2
検証中 : httpd-2.4.6-89.el7.centos.x86_64 1/2
検証中 : centos-logos-70.0.6-3.el7.centos.noarch 2/2
インストール:
httpd.x86_64 0:2.4.6-89.el7.centos
依存性関連をインストールしました:
centos-logos.noarch 0:70.0.6-3.el7.centos
完了しました!
38秒かかりましたが成功しました。
他に試して、ダメだった方法
以下、いくつか試した方法がありましたが、すべてtimeoutでした。
- 完全にrootになって実行。
CentOS7
$ sudo su -
# yum -y install httpd
- よく見かけるやつ。
CentOS7
$ sudo yum clean all
$ sudo yum -y install httpd
- 日本のミラーだけ参照する。
CentOS7
$ sudo /etc/yum/pluginconf.d/fastestmirror.conf
include_only=.jp
:wq
$ sudo yum -y install httpd
- Proxyは使っていなので、環境変数ではないはず・・・。
crul を使う
ここまできて、時間がかかるだけでダウンロードはできるとこに気が付きました。
CentOS7
$ curl -O http://ftp.riken.jp/Linux/centos/7.6.1810/os/x86_64/Packages/centos-logos-70.0.6-3.el7.centos.noarch.rpm
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 21.3M 100 21.3M 0 0 578k 0 0:00:37 0:00:37 --:--:-- 5925k
ここまでわかれば、解消策まではとんとん拍子でした。
以上です。