LoginSignup
4

More than 3 years have passed since last update.

posted at

【対処法】vbguest実行時のError getting repository data for C7.6.1810-base, repository not found

最近Vagrantで新しい仮想環境を立てた際に遭遇したエラー。
どうやらvbguest(0.17.1)を使っている場合に発生することがあるっぽい?

Error発生時の状況

  • VirtualBox: 5.2.24
  • Vagrant: 2.2.2
  • vbguest: 0.17.1
  • CentOS: bento/centos-7.1

いつものようにvagrant init後、共有フォルダ設定のために以下を実行(vagrantのvbguestプラグインで、VirtualBoxのバージョンとBoxのGuest Additionsのバージョンを合わせる)。

$ vagrant ssh
$ sudo yum install kernel-devel
$ sudo yum install gcc make
$ exit

$ vagrant plugin install vagrant-vbguest
$ vagrant vbguest

すると、何やらエラーが吐かれました。
(ログ取り忘れのため一部のみ・・・すいません><)

Error getting repository data for C7.6.1810-base, repository not found

初めて遭遇するエラー・・・レポジトリが見つからないってことはわかりますが・・・。
ということでGoogle先生にお願いしました。

解決策

調べてみると、

minidcos vagrant: Error getting repository data for C7.6.1810-base, repository not found

Comparing the vault mirror URLs, it doesn't look like 7.6.1810 is even released yet:
http://vault.centos.org/7.5.1804/os/
http://vault.centos.org/7.6.1810/os/

どうやらCentOS 7.6.1810はまだリリースされてないっていうことらしい。
そりゃレポジトリが見つからないわけだ・・・。

最終的に以下のページを参考にして解決することができました。

Broken installation on CentOS 6.10

vbguestがGuest Additionsをビルドする際に用いるcentos.rbというソースを書き換えると上手くいくようです。

vi ~/.vagrant.d/gems/2.4.4/gems/vagrant-vbguest-0.17.1/lib/vagrant-vbguest/installers/centos.rb
centos.rb
# - -> 消去する
# + ->  書き加える
       def install_kernel_devel(opts=nil, &block)
         rel = release_version
-        cmd = "yum install -y kernel-devel-`uname -r` --enablerepo=C#{rel}-base --enablerepo=C#{rel}-updates"
+        # cmd = "yum install -y kernel-devel-`uname -r` --enablerepo=C#{rel}-base --enablerepo=C#{rel}-updates"
+        cmd = "yum install -y kernel-devel-`uname -r` --enablerepo=C*-base --enablerepo=C*-updates"
         communicate.sudo(cmd, opts, &block)
       end

:wqで保存後、一旦$ vagrant exitして再び$ vagrant vbguestを実行したら、今度は問題無くGuest Additionsがビルドされ、無事共有フォルダがマウントされました。
めでたしめでたし。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
4