vagrant上のCentOS6が動かない問題の話

CentOS 6は2020/11/30にサポートが終わりますw

https://wiki.centos.org/About/Product

はい、困りましたw 開発環境とか CentOS 6.10(Final)って使っているよね。
開発環境ならまだしも… 運用環境は(こっちは今回は除外… CentOS 6 -> 7はちょっと調査はしましたが)

さて、問題です。CentOS6がサポートが切れるとどうなりますか?
はい、だれも相手しなくなって、とりあえずのリポジトリしかなくなります…
なくなります… はい!なくなると?サーバが少なくなる…
mirrorsがなくなります。つまりは? 落ちるのに時間がかかる… つまりは? やばい!

たぶん、今の問題かと思いますが、普通のyumすらtimeoutします!

そんなの/etc/yum.confをイジれば?っと思うでしょうが…

残念!mountするvbguestは通常のshellより処理手順が早いのです!
config.vm.provisionにかいても、config.vm.synced_folderが早いです。

するとどうなるか?

開発環境が… 動きません!

実際に仕事に引っかかり二日ほど引っかかりました。

実際に実行したログは…


timeout… 30s w

デフォルトの30秒以上かかります;;

仕事で調査したところ60sでも落ちませんでした

はい、終了!vagrantの開発環境は死んじゃいました!;;

っと、今回はこれを解決します。

と言っても、timeout時間をイジる方法です。

Vagrantの設定… Vagrantfile

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|
  config.vm.box = "generic/centos6"
  config.vm.synced_folder ".", "/vagrant", type: "virtualbox"
end

はい、次にpluginのバージョンチェック…

$ vagrant plugin list
vagrant-docker-compose (1.5.1, global)
  - Version Constraint: > 0
vagrant-share (1.1.11, global)
  - Version Constraint: > 0
vagrant-vbguest (0.28.0, global)
  - Version Constraint: > 0

最新でOKです。

vagrant up

はい、実行するとなんやらありまして…

Loaded plugins: fastestmirror
Setting up Install Process
Determining fastest mirrors
 * epel: ftp.iij.ad.jp
Package kernel-devel-2.6.32-754.24.3.el6.x86_64 already installed and latest version
Package gcc-4.4.7-23.el6.x86_64 already installed and latest version
Package binutils-2.20.51.0.2-5.48.el6_10.1.x86_64 already installed and latest version
Package 1:make-3.81-23.el6.x86_64 already installed and latest version
Package bzip2-1.0.5-7.el6_0.x86_64 already installed and latest version
Resolving Dependencies
--> Running transaction check
---> Package elfutils-libelf-devel.x86_64 0:0.164-2.el6 will be installed
---> Package kernel-devel.x86_64 0:2.6.32-754.35.1.el6 will be installed
---> Package perl-interpreter.noarch 4:5.10.1-5.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package                   Arch       Version                 Repository   Size
================================================================================
Installing:
 elfutils-libelf-devel     x86_64     0.164-2.el6             base         32 k
 kernel-devel              x86_64     2.6.32-754.35.1.el6     updates      11 M
 perl-interpreter          noarch     4:5.10.1-5.el6          epel        3.2 k

Transaction Summary
================================================================================
Install       3 Package(s)

Total download size: 11 M
Installed size: 26 M
Downloading Packages:

で、止まります… ん?30分ほど動かないので^Cします

Vagrantfileを変更しますyum.confにtimeout時間と、日本リポジトリのみにしました。(たぶん順番的にやばいのかな)

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|
  config.vm.box = "generic/centos6"
  config.vbguest.installer_hooks[:before_install] = ["echo 'include_only=.jp' >> /etc/yum.conf","echo 'timeout=6000' >> /etc/yum.conf"]
  config.vm.synced_folder ".", "/vagrant", type: "virtualbox"
end

10分ほど待たせますw

==> default: Executing pre-install hooks
Loaded plugins: fastestmirror
Setting up Install Process
Determining fastest mirrors
 * epel: ftp.riken.jp
Package kernel-devel-2.6.32-754.24.3.el6.x86_64 already installed and latest version
Package gcc-4.4.7-23.el6.x86_64 already installed and latest version
Package binutils-2.20.51.0.2-5.48.el6_10.1.x86_64 already installed and latest version
Package 1:make-3.81-23.el6.x86_64 already installed and latest version
Package bzip2-1.0.5-7.el6_0.x86_64 already installed and latest version
Resolving Dependencies
--> Running transaction check
---> Package elfutils-libelf-devel.x86_64 0:0.164-2.el6 will be installed
---> Package kernel-devel.x86_64 0:2.6.32-754.35.1.el6 will be installed
---> Package perl-interpreter.noarch 4:5.10.1-5.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package                   Arch       Version                 Repository   Size
================================================================================
Installing:
 elfutils-libelf-devel     x86_64     0.164-2.el6             base         32 k
 kernel-devel              x86_64     2.6.32-754.35.1.el6     updates      11 M
 perl-interpreter          noarch     4:5.10.1-5.el6          epel        3.2 k

Transaction Summary
================================================================================
Install       3 Package(s)

Total download size: 11 M
Installed size: 26 M
Downloading Packages:
--------------------------------------------------------------------------------
Total                                           129 kB/s |  11 MB     01:26     
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : 4:perl-interpreter-5.10.1-5.el6.noarch                       1/3 
  Installing : elfutils-libelf-devel-0.164-2.el6.x86_64                     2/3 
  Installing : kernel-devel-2.6.32-754.35.1.el6.x86_64                      3/3 
  Verifying  : kernel-devel-2.6.32-754.35.1.el6.x86_64                      1/3 
  Verifying  : elfutils-libelf-devel-0.164-2.el6.x86_64                     2/3 
  Verifying  : 4:perl-interpreter-5.10.1-5.el6.noarch                       3/3 

Installed:
  elfutils-libelf-devel.x86_64 0:0.164-2.el6                                    
  kernel-devel.x86_64 0:2.6.32-754.35.1.el6                                     
  perl-interpreter.noarch 4:5.10.1-5.el6                                        

Complete!
Copy iso file /Applications/VirtualBox.app/Contents/MacOS/VBoxGuestAdditions.iso into the box /tmp/VBoxGuestAdditions.iso
Mounting Virtualbox Guest Additions ISO to: /mnt

よっしゃ!時間がかかりましたが、Completeしました!

ま、サポート切れたのは使うべきではないですわねw

ちなみにCentOS6のサーバもyum使えなくてやばい状態になったりしますね。

Thanks.

https://github.com/dotless-de/vagrant-vbguest