Skip to main content
Khader Syed

Vagrant and Fedora 22

I’ve used Vagrant previously for testing something and forgot about it. Now, I need a Fedora server to test something. So, I thought, why not use Vagrant to do what I want. And as I’m wont to do, I wanted to document it. So here goes nothing and everything.

I’m using a Mac, so I’m obviously going to use Homebrew to install everything I need. Before we proceed, let’s first install cask, cause we’ll need that to install our packages.

$ brew install caskroom/cask/brew-cask

That’s done. Let’s install vagrant and virtualbox next.

$ brew cask install virtualbox $ brew cask install vagrant

Next, let’s get the Fedora images. Make sure you get the image for vagrant. Here’s the one I downloaded:

~/Downloads $ du -h *.box 209M ~/Downloads $ shasum -a 256 2513342f70c00310e161a110e34973a133691fedd866859e65904fa056ae7a0c

To be able to use our downloaded image, we’ll need to add it to Vagrant.

~/Cave/Fedora22 $ vagrant box add ~/Downloads/ --name fedora-22 ==> box: Box file was not detected as metadata. Adding it directly... ==> box: Adding box 'fedora-22' (v0) for provider: box: Unpacking necessary files from: file:///Users/sidcarter/Downloads/ ==> box: Successfully added box 'fedora-22' (v0) for 'virtualbox'!

After adding the image to vagrant, create a Vagrantfile that’ll use this image.

$ cat Vagrantfile Vagrant.configure(2) do |config| = "fedora-22" end

Let’s start them engines now, shall we? In the directory with the Vagrantfile, you can do a vagrant up and you should see this:

~/Cave/Fedora22 $ vagrant up Bringing machine 'default' up with 'virtualbox' provider... ==> default: Importing base box 'fedora-22'... ==> default: Matching MAC address for NAT networking... ==> default: Setting the name of the VM: Fedora22_default_1444702096982_14160 ==> default: Clearing any previously set network interfaces... ==> default: Preparing network interfaces based on configuration... default: Adapter 1: nat ==> default: Forwarding ports... default: 22 => 2222 (adapter 1) ==> default: Booting VM... ==> default: Waiting for machine to boot. This may take a few minutes... default: SSH address: default: SSH username: vagrant default: SSH auth method: private key default: Warning: Connection timeout. Retrying... default: default: Vagrant insecure key detected. Vagrant will automatically replace default: this with a newly generated keypair for better security. default: default: Inserting generated public key within guest... default: Removing insecure key from the guest if it's present... default: Key inserted! Disconnecting and reconnecting using new SSH key... ==> default: Machine booted and ready! ==> default: Checking for guest additions in VM... default: No guest additions were detected on the base box for this VM! Guest default: additions are required for forwarded ports, shared folders, host only default: networking, and more. If SSH fails on this machine, please install default: the guest additions and repackage the box to continue. default: default: This is not an error message; everything may continue to work properly, default: in which case you may ignore this message. ==> default: Installing rsync to the VM... ==> default: Rsyncing folder: /Users/sidcarter/Cave/Fedora22/ => /vagrant

That’s looking good so far. Let’s login to the box now and look at what we got, shall we?

~/Cave/Fedora22 $ vagrant ssh Last login: Tue Oct 13 02:10:25 2015 from [vagrant@ip-10-0-2-15 ~]$ [vagrant@ip-10-0-2-15 ~]$ cat /etc/fedora-release Fedora release 22 (Twenty Two)

Fantastic! We’re done here. I hope you find this useful.