DevOps by Default Blog

Create a Gem Repo

Creating your own gem repo is easy.

  1. Install ruby and rubygems packages
  2. Install the builder gem
  3. Run gem generate_index to create the repo metadata
  4. Publish the directory with indexing using your favourite web server

In this example, we do the first 3 steps on Centos7 although the concept is the same regardless of platform.

To start off with, we have an arbitary directory with a few example gems kicking around inside it.

[vagrant@localhost internal.gems]$ ls -lart
total 288
drwxr-xr-x. 3 vagrant vagrant   4096 Sep  5 17:11 ..
-rw-r--r--. 1 vagrant vagrant 182272 Sep  5 17:14 net-ssh-3.0.2.gem
-rw-r--r--. 1 vagrant vagrant  67584 Sep  5 17:14 net-sftp-2.1.2.gem
-rw-r--r--. 1 vagrant vagrant  32256 Sep  5 17:14 net-scp-1.1.2.gem
drwxr-xr-x. 2 vagrant vagrant   4096 Sep  5 17:14 .
[vagrant@localhost internal.gems]$

1. Install Ruby and Rubygems Packages

Centos uses the yum package manager, if you are running on Debian/Ubuntu substitute this with apt-get.

[vagrant@localhost internal.gems]$ sudo yum install -y ruby rubygems
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.ox.ac.uk
 * extras: mirror.ox.ac.uk
 * updates: mirror.ox.ac.uk
Resolving Dependencies
--> Running transaction check
---> Package ruby.x86_64 0:2.0.0.598-25.el7_1 will be installed
--> Processing Dependency: ruby-libs(x86-64) = 2.0.0.598-25.el7_1 for package: ruby-2.0.0.598-25.el7_1.x86_64
--> Processing Dependency: rubygem(bigdecimal) >= 1.2.0 for package: ruby-2.0.0.598-25.el7_1.x86_64
--> Processing Dependency: libruby.so.2.0()(64bit) for package: ruby-2.0.0.598-25.el7_1.x86_64
---> Package rubygems.noarch 0:2.0.14-25.el7_1 will be installed
--> Processing Dependency: rubygem(rdoc) >= 4.0.0 for package: rubygems-2.0.14-25.el7_1.noarch
--> Processing Dependency: rubygem(psych) >= 2.0.0 for package: rubygems-2.0.14-25.el7_1.noarch
--> Processing Dependency: rubygem(io-console) >= 0.4.2 for package: rubygems-2.0.14-25.el7_1.noarch
--> Running transaction check
---> Package ruby-libs.x86_64 0:2.0.0.598-25.el7_1 will be installed
---> Package rubygem-bigdecimal.x86_64 0:1.2.0-25.el7_1 will be installed
---> Package rubygem-io-console.x86_64 0:0.4.2-25.el7_1 will be installed
---> Package rubygem-psych.x86_64 0:2.0.0-25.el7_1 will be installed
--> Processing Dependency: libyaml-0.so.2()(64bit) for package: rubygem-psych-2.0.0-25.el7_1.x86_64
---> Package rubygem-rdoc.noarch 0:4.0.0-25.el7_1 will be installed
--> Processing Dependency: ruby(irb) = 2.0.0.598 for package: rubygem-rdoc-4.0.0-25.el7_1.noarch
--> Processing Dependency: rubygem(json) >= 1.7.7 for package: rubygem-rdoc-4.0.0-25.el7_1.noarch
--> Running transaction check
---> Package libyaml.x86_64 0:0.1.4-11.el7_0 will be installed
---> Package ruby-irb.noarch 0:2.0.0.598-25.el7_1 will be installed
---> Package rubygem-json.x86_64 0:1.7.7-25.el7_1 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

==================================================================================================================================================================================
 Package                                          Arch                                 Version                                           Repository                          Size
==================================================================================================================================================================================
Installing:
 ruby                                             x86_64                               2.0.0.598-25.el7_1                                base                                67 k
 rubygems                                         noarch                               2.0.14-25.el7_1                                   base                               212 k
Installing for dependencies:
 libyaml                                          x86_64                               0.1.4-11.el7_0                                    base                                55 k
 ruby-irb                                         noarch                               2.0.0.598-25.el7_1                                base                                88 k
 ruby-libs                                        x86_64                               2.0.0.598-25.el7_1                                base                               2.8 M
 rubygem-bigdecimal                               x86_64                               1.2.0-25.el7_1                                    base                                79 k
 rubygem-io-console                               x86_64                               0.4.2-25.el7_1                                    base                                50 k
 rubygem-json                                     x86_64                               1.7.7-25.el7_1                                    base                                75 k
 rubygem-psych                                    x86_64                               2.0.0-25.el7_1                                    base                                77 k
 rubygem-rdoc                                     noarch                               4.0.0-25.el7_1                                    base                               318 k

Transaction Summary
==================================================================================================================================================================================
Install  2 Packages (+8 Dependent packages)

Total download size: 3.8 M
Installed size: 13 M
Downloading packages:
(1/10): libyaml-0.1.4-11.el7_0.x86_64.rpm                                                                                                                  |  55 kB  00:00:00
(2/10): rubygem-io-console-0.4.2-25.el7_1.x86_64.rpm                                                                                                       |  50 kB  00:00:00
(3/10): ruby-2.0.0.598-25.el7_1.x86_64.rpm                                                                                                                 |  67 kB  00:00:00
(4/10): ruby-irb-2.0.0.598-25.el7_1.noarch.rpm                                                                                                             |  88 kB  00:00:00
(5/10): rubygem-json-1.7.7-25.el7_1.x86_64.rpm                                                                                                             |  75 kB  00:00:00
(6/10): rubygem-psych-2.0.0-25.el7_1.x86_64.rpm                                                                                                            |  77 kB  00:00:00
(7/10): rubygem-bigdecimal-1.2.0-25.el7_1.x86_64.rpm                                                                                                       |  79 kB  00:00:00
(8/10): rubygem-rdoc-4.0.0-25.el7_1.noarch.rpm                                                                                                             | 318 kB  00:00:00
(9/10): rubygems-2.0.14-25.el7_1.noarch.rpm                                                                                                                | 212 kB  00:00:00
(10/10): ruby-libs-2.0.0.598-25.el7_1.x86_64.rpm                                                                                                           | 2.8 MB  00:00:00
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                             5.8 MB/s | 3.8 MB  00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : ruby-libs-2.0.0.598-25.el7_1.x86_64                                                                                                                           1/10
  Installing : libyaml-0.1.4-11.el7_0.x86_64                                                                                                                                 2/10
  Installing : rubygem-bigdecimal-1.2.0-25.el7_1.x86_64                                                                                                                      3/10
  Installing : rubygem-io-console-0.4.2-25.el7_1.x86_64                                                                                                                      4/10
  Installing : rubygem-json-1.7.7-25.el7_1.x86_64                                                                                                                            5/10
  Installing : rubygem-rdoc-4.0.0-25.el7_1.noarch                                                                                                                            6/10
  Installing : ruby-irb-2.0.0.598-25.el7_1.noarch                                                                                                                            7/10
  Installing : ruby-2.0.0.598-25.el7_1.x86_64                                                                                                                                8/10
  Installing : rubygems-2.0.14-25.el7_1.noarch                                                                                                                               9/10
  Installing : rubygem-psych-2.0.0-25.el7_1.x86_64                                                                                                                          10/10
  Verifying  : libyaml-0.1.4-11.el7_0.x86_64                                                                                                                                 1/10
  Verifying  : rubygems-2.0.14-25.el7_1.noarch                                                                                                                               2/10
  Verifying  : rubygem-psych-2.0.0-25.el7_1.x86_64                                                                                                                           3/10
  Verifying  : rubygem-rdoc-4.0.0-25.el7_1.noarch                                                                                                                            4/10
  Verifying  : rubygem-bigdecimal-1.2.0-25.el7_1.x86_64                                                                                                                      5/10
  Verifying  : rubygem-io-console-0.4.2-25.el7_1.x86_64                                                                                                                      6/10
  Verifying  : rubygem-json-1.7.7-25.el7_1.x86_64                                                                                                                            7/10
  Verifying  : ruby-libs-2.0.0.598-25.el7_1.x86_64                                                                                                                           8/10
  Verifying  : ruby-2.0.0.598-25.el7_1.x86_64                                                                                                                                9/10
  Verifying  : ruby-irb-2.0.0.598-25.el7_1.noarch                                                                                                                           10/10

Installed:
  ruby.x86_64 0:2.0.0.598-25.el7_1                                                        rubygems.noarch 0:2.0.14-25.el7_1

Dependency Installed:
  libyaml.x86_64 0:0.1.4-11.el7_0                ruby-irb.noarch 0:2.0.0.598-25.el7_1     ruby-libs.x86_64 0:2.0.0.598-25.el7_1     rubygem-bigdecimal.x86_64 0:1.2.0-25.el7_1
  rubygem-io-console.x86_64 0:0.4.2-25.el7_1     rubygem-json.x86_64 0:1.7.7-25.el7_1     rubygem-psych.x86_64 0:2.0.0-25.el7_1     rubygem-rdoc.noarch 0:4.0.0-25.el7_1

Complete!
[vagrant@localhost internal.gems]$

2. Install The Builder gem

This package provides a simple way to create XML markup and data structures. Now you have rubygems package installed, you can use gem install to obtain the builder gem.

[vagrant@localhost internal.gems]$ gem install builder
Fetching: builder-3.2.2.gem (100%)
Successfully installed builder-3.2.2
Parsing documentation for builder-3.2.2
Installing ri documentation for builder-3.2.2
1 gem installed
[vagrant@localhost internal.gems]$

3. Create The Gem Repo Metadata

This package provides a simple way to create XML markup and data structures. Now you have rubygems package installed, you can use gem install to obtain the builder gem.

[vagrant@localhost internal.gems]$ gem generate_index -d .
Generating Marshal quick index gemspecs for 0 gems

Complete
Generated Marshal quick index gemspecs: 0.000s
Generating specs index
Generated specs index: 0.000s
Generating latest specs index
Generated latest specs index: 0.000s
Generating prerelease specs index
Generated prerelease specs index: 0.000s
Compressing indicies
Compressed indicies: 0.000s
[vagrant@localhost internal.gems]$

To check what the previous command has done, lets use tree to see the resultant files and directories. If tree is not installed, you may install it with yum or apt-get as you did with the other packages in step 1.

[vagrant@localhost internal.gems]$ tree
.
├── latest_specs.4.8
├── latest_specs.4.8.gz
├── net-scp-1.1.2.gem
├── net-sftp-2.1.2.gem
├── net-ssh-3.0.2.gem
├── prerelease_specs.4.8
├── prerelease_specs.4.8.gz
├── quick
│   └── Marshal.4.8
├── specs.4.8
└── specs.4.8.gz

2 directories, 9 files
[vagrant@localhost internal.gems]$

4. Publish the directory with indexing using your favourite web server

For this example we use nginx. Unfortunately, the packaeg is not provided through the centos7 official repos, however we can obtain it from the EPEL repo.

First we need to enable the EPEL Repo…

[vagrant@localhost internal.gems]$ sudo yum install epel-release
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.ox.ac.uk
 * extras: mirror.ox.ac.uk
 * updates: mirror.ox.ac.uk
Resolving Dependencies
--> Running transaction check
---> Package epel-release.noarch 0:7-6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

==================================================================================================================================================================================
 Package                                         Arch                                      Version                                Repository                                 Size
==================================================================================================================================================================================
Installing:
 epel-release                                    noarch                                    7-6                                    extras                                     14 k

Transaction Summary
==================================================================================================================================================================================
Install  1 Package

Total download size: 14 k
Installed size: 24 k
Is this ok [y/d/N]: y
Downloading packages:
epel-release-7-6.noarch.rpm                                                                                                                                |  14 kB  00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : epel-release-7-6.noarch                                                                                                                                        1/1
  Verifying  : epel-release-7-6.noarch                                                                                                                                        1/1

Installed:
  epel-release.noarch 0:7-6

Complete!
[vagrant@localhost internal.gems]$

EPEL provides us with a whole heap of stuff to play with, but for now lets just install nginx.

[vagrant@localhost internal.gems]$ yum install nginx
Loaded plugins: fastestmirror
You need to be root to perform this command.
[vagrant@localhost internal.gems]$ sudo yum install nginx
Loaded plugins: fastestmirror
epel/x86_64/metalink                                                                                                                                       |  24 kB  00:00:00
epel                                                                                                                                                       | 4.3 kB  00:00:00
(1/3): epel/x86_64/group_gz                                                                                                                                | 170 kB  00:00:00
(2/3): epel/x86_64/updateinfo                                                                                                                              | 623 kB  00:00:00
(3/3): epel/x86_64/primary_db                                                                                                                              | 4.2 MB  00:00:03
Loading mirror speeds from cached hostfile
 * base: mirror.ox.ac.uk
 * epel: ftp.cc.uoc.gr
 * extras: mirror.ox.ac.uk
 * updates: mirror.ox.ac.uk
Resolving Dependencies
--> Running transaction check
---> Package nginx.x86_64 1:1.6.3-9.el7 will be installed
--> Processing Dependency: nginx-filesystem = 1:1.6.3-9.el7 for package: 1:nginx-1.6.3-9.el7.x86_64
--> Processing Dependency: perl >= 5.006001 for package: 1:nginx-1.6.3-9.el7.x86_64
--> Processing Dependency: perl(warnings) for package: 1:nginx-1.6.3-9.el7.x86_64
--> Processing Dependency: perl(strict) for package: 1:nginx-1.6.3-9.el7.x86_64
--> Processing Dependency: perl(constant) for package: 1:nginx-1.6.3-9.el7.x86_64
--> Processing Dependency: perl(XSLoader) for package: 1:nginx-1.6.3-9.el7.x86_64
--> Processing Dependency: perl(Exporter) for package: 1:nginx-1.6.3-9.el7.x86_64
--> Processing Dependency: perl(:MODULE_COMPAT_5.16.3) for package: 1:nginx-1.6.3-9.el7.x86_64
--> Processing Dependency: nginx-filesystem for package: 1:nginx-1.6.3-9.el7.x86_64
--> Processing Dependency: libxslt.so.1(LIBXML2_1.0.18)(64bit) for package: 1:nginx-1.6.3-9.el7.x86_64
--> Processing Dependency: libxslt.so.1(LIBXML2_1.0.11)(64bit) for package: 1:nginx-1.6.3-9.el7.x86_64
--> Processing Dependency: gd for package: 1:nginx-1.6.3-9.el7.x86_64
--> Processing Dependency: GeoIP for package: 1:nginx-1.6.3-9.el7.x86_64
--> Processing Dependency: libxslt.so.1()(64bit) for package: 1:nginx-1.6.3-9.el7.x86_64
--> Processing Dependency: libprofiler.so.0()(64bit) for package: 1:nginx-1.6.3-9.el7.x86_64
--> Processing Dependency: libperl.so()(64bit) for package: 1:nginx-1.6.3-9.el7.x86_64
--> Processing Dependency: libgd.so.2()(64bit) for package: 1:nginx-1.6.3-9.el7.x86_64
--> Processing Dependency: libexslt.so.0()(64bit) for package: 1:nginx-1.6.3-9.el7.x86_64
--> Processing Dependency: libGeoIP.so.1()(64bit) for package: 1:nginx-1.6.3-9.el7.x86_64
--> Running transaction check
---> Package GeoIP.x86_64 0:1.5.0-9.el7 will be installed
---> Package gd.x86_64 0:2.0.35-26.el7 will be installed
--> Processing Dependency: libpng15.so.15(PNG15_0)(64bit) for package: gd-2.0.35-26.el7.x86_64
--> Processing Dependency: libjpeg.so.62(LIBJPEG_6.2)(64bit) for package: gd-2.0.35-26.el7.x86_64
--> Processing Dependency: libpng15.so.15()(64bit) for package: gd-2.0.35-26.el7.x86_64
--> Processing Dependency: libjpeg.so.62()(64bit) for package: gd-2.0.35-26.el7.x86_64
--> Processing Dependency: libfontconfig.so.1()(64bit) for package: gd-2.0.35-26.el7.x86_64
--> Processing Dependency: libXpm.so.4()(64bit) for package: gd-2.0.35-26.el7.x86_64
--> Processing Dependency: libX11.so.6()(64bit) for package: gd-2.0.35-26.el7.x86_64
---> Package gperftools-libs.x86_64 0:2.4-7.el7 will be installed
--> Processing Dependency: libunwind.so.8()(64bit) for package: gperftools-libs-2.4-7.el7.x86_64
---> Package libxslt.x86_64 0:1.1.28-5.el7 will be installed
---> Package nginx-filesystem.noarch 1:1.6.3-9.el7 will be installed
---> Package perl.x86_64 4:5.16.3-286.el7 will be installed
--> Processing Dependency: perl(Socket) >= 1.3 for package: 4:perl-5.16.3-286.el7.x86_64
--> Processing Dependency: perl(Scalar::Util) >= 1.10 for package: 4:perl-5.16.3-286.el7.x86_64
--> Processing Dependency: perl-macros for package: 4:perl-5.16.3-286.el7.x86_64
--> Processing Dependency: perl(threads::shared) for package: 4:perl-5.16.3-286.el7.x86_64
--> Processing Dependency: perl(threads) for package: 4:perl-5.16.3-286.el7.x86_64
--> Processing Dependency: perl(Time::Local) for package: 4:perl-5.16.3-286.el7.x86_64
--> Processing Dependency: perl(Time::HiRes) for package: 4:perl-5.16.3-286.el7.x86_64
--> Processing Dependency: perl(Storable) for package: 4:perl-5.16.3-286.el7.x86_64
--> Processing Dependency: perl(Socket) for package: 4:perl-5.16.3-286.el7.x86_64
--> Processing Dependency: perl(Scalar::Util) for package: 4:perl-5.16.3-286.el7.x86_64
--> Processing Dependency: perl(Pod::Simple::XHTML) for package: 4:perl-5.16.3-286.el7.x86_64
--> Processing Dependency: perl(Pod::Simple::Search) for package: 4:perl-5.16.3-286.el7.x86_64
--> Processing Dependency: perl(Getopt::Long) for package: 4:perl-5.16.3-286.el7.x86_64
--> Processing Dependency: perl(Filter::Util::Call) for package: 4:perl-5.16.3-286.el7.x86_64
--> Processing Dependency: perl(File::Temp) for package: 4:perl-5.16.3-286.el7.x86_64
--> Processing Dependency: perl(File::Spec::Unix) for package: 4:perl-5.16.3-286.el7.x86_64
--> Processing Dependency: perl(File::Spec::Functions) for package: 4:perl-5.16.3-286.el7.x86_64
--> Processing Dependency: perl(File::Spec) for package: 4:perl-5.16.3-286.el7.x86_64
--> Processing Dependency: perl(File::Path) for package: 4:perl-5.16.3-286.el7.x86_64
--> Processing Dependency: perl(Cwd) for package: 4:perl-5.16.3-286.el7.x86_64
--> Processing Dependency: perl(Carp) for package: 4:perl-5.16.3-286.el7.x86_64
---> Package perl-Exporter.noarch 0:5.68-3.el7 will be installed
---> Package perl-constant.noarch 0:1.27-2.el7 will be installed
---> Package perl-libs.x86_64 4:5.16.3-286.el7 will be installed
--> Running transaction check
---> Package fontconfig.x86_64 0:2.10.95-7.el7 will be installed
--> Processing Dependency: fontpackages-filesystem for package: fontconfig-2.10.95-7.el7.x86_64
---> Package libX11.x86_64 0:1.6.3-2.el7 will be installed
--> Processing Dependency: libX11-common >= 1.6.3-2.el7 for package: libX11-1.6.3-2.el7.x86_64
--> Processing Dependency: libxcb.so.1()(64bit) for package: libX11-1.6.3-2.el7.x86_64
---> Package libXpm.x86_64 0:3.5.11-3.el7 will be installed
---> Package libjpeg-turbo.x86_64 0:1.2.90-5.el7 will be installed
---> Package libpng.x86_64 2:1.5.13-7.el7_2 will be installed
---> Package libunwind.x86_64 2:1.1-5.el7_2.2 will be installed
---> Package perl-Carp.noarch 0:1.26-244.el7 will be installed
---> Package perl-File-Path.noarch 0:2.09-2.el7 will be installed
---> Package perl-File-Temp.noarch 0:0.23.01-3.el7 will be installed
---> Package perl-Filter.x86_64 0:1.49-3.el7 will be installed
---> Package perl-Getopt-Long.noarch 0:2.40-2.el7 will be installed
--> Processing Dependency: perl(Pod::Usage) >= 1.14 for package: perl-Getopt-Long-2.40-2.el7.noarch
--> Processing Dependency: perl(Text::ParseWords) for package: perl-Getopt-Long-2.40-2.el7.noarch
---> Package perl-PathTools.x86_64 0:3.40-5.el7 will be installed
---> Package perl-Pod-Simple.noarch 1:3.28-4.el7 will be installed
--> Processing Dependency: perl(Pod::Escapes) >= 1.04 for package: 1:perl-Pod-Simple-3.28-4.el7.noarch
--> Processing Dependency: perl(Encode) for package: 1:perl-Pod-Simple-3.28-4.el7.noarch
---> Package perl-Scalar-List-Utils.x86_64 0:1.27-248.el7 will be installed
---> Package perl-Socket.x86_64 0:2.010-3.el7 will be installed
---> Package perl-Storable.x86_64 0:2.45-3.el7 will be installed
---> Package perl-Time-HiRes.x86_64 4:1.9725-3.el7 will be installed
---> Package perl-Time-Local.noarch 0:1.2300-2.el7 will be installed
---> Package perl-macros.x86_64 4:5.16.3-286.el7 will be installed
---> Package perl-threads.x86_64 0:1.87-4.el7 will be installed
---> Package perl-threads-shared.x86_64 0:1.43-6.el7 will be installed
--> Running transaction check
---> Package fontpackages-filesystem.noarch 0:1.44-8.el7 will be installed
---> Package libX11-common.noarch 0:1.6.3-2.el7 will be installed
---> Package libxcb.x86_64 0:1.11-4.el7 will be installed
--> Processing Dependency: libXau.so.6()(64bit) for package: libxcb-1.11-4.el7.x86_64
---> Package perl-Encode.x86_64 0:2.51-7.el7 will be installed
---> Package perl-Pod-Escapes.noarch 1:1.04-286.el7 will be installed
---> Package perl-Pod-Usage.noarch 0:1.63-3.el7 will be installed
--> Processing Dependency: perl(Pod::Text) >= 3.15 for package: perl-Pod-Usage-1.63-3.el7.noarch
--> Processing Dependency: perl-Pod-Perldoc for package: perl-Pod-Usage-1.63-3.el7.noarch
---> Package perl-Text-ParseWords.noarch 0:3.29-4.el7 will be installed
--> Running transaction check
---> Package libXau.x86_64 0:1.0.8-2.1.el7 will be installed
---> Package perl-Pod-Perldoc.noarch 0:3.20-4.el7 will be installed
--> Processing Dependency: perl(parent) for package: perl-Pod-Perldoc-3.20-4.el7.noarch
--> Processing Dependency: perl(HTTP::Tiny) for package: perl-Pod-Perldoc-3.20-4.el7.noarch
---> Package perl-podlators.noarch 0:2.5.1-3.el7 will be installed
--> Running transaction check
---> Package perl-HTTP-Tiny.noarch 0:0.033-3.el7 will be installed
---> Package perl-parent.noarch 1:0.225-244.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

==================================================================================================================================================================================
 Package                                             Arch                               Version                                         Repository                           Size
==================================================================================================================================================================================
Installing:
 nginx                                               x86_64                             1:1.6.3-9.el7                                   epel                                508 k
Installing for dependencies:
 GeoIP                                               x86_64                             1.5.0-9.el7                                     base                                709 k
 fontconfig                                          x86_64                             2.10.95-7.el7                                   base                                228 k
 fontpackages-filesystem                             noarch                             1.44-8.el7                                      base                                9.9 k
 gd                                                  x86_64                             2.0.35-26.el7                                   base                                146 k
 gperftools-libs                                     x86_64                             2.4-7.el7                                       base                                272 k
 libX11                                              x86_64                             1.6.3-2.el7                                     base                                605 k
 libX11-common                                       noarch                             1.6.3-2.el7                                     base                                162 k
 libXau                                              x86_64                             1.0.8-2.1.el7                                   base                                 29 k
 libXpm                                              x86_64                             3.5.11-3.el7                                    base                                 54 k
 libjpeg-turbo                                       x86_64                             1.2.90-5.el7                                    base                                134 k
 libpng                                              x86_64                             2:1.5.13-7.el7_2                                updates                             213 k
 libunwind                                           x86_64                             2:1.1-5.el7_2.2                                 updates                              56 k
 libxcb                                              x86_64                             1.11-4.el7                                      base                                189 k
 libxslt                                             x86_64                             1.1.28-5.el7                                    base                                242 k
 nginx-filesystem                                    noarch                             1:1.6.3-9.el7                                   epel                                 15 k
 perl                                                x86_64                             4:5.16.3-286.el7                                base                                8.0 M
 perl-Carp                                           noarch                             1.26-244.el7                                    base                                 19 k
 perl-Encode                                         x86_64                             2.51-7.el7                                      base                                1.5 M
 perl-Exporter                                       noarch                             5.68-3.el7                                      base                                 28 k
 perl-File-Path                                      noarch                             2.09-2.el7                                      base                                 26 k
 perl-File-Temp                                      noarch                             0.23.01-3.el7                                   base                                 56 k
 perl-Filter                                         x86_64                             1.49-3.el7                                      base                                 76 k
 perl-Getopt-Long                                    noarch                             2.40-2.el7                                      base                                 56 k
 perl-HTTP-Tiny                                      noarch                             0.033-3.el7                                     base                                 38 k
 perl-PathTools                                      x86_64                             3.40-5.el7                                      base                                 82 k
 perl-Pod-Escapes                                    noarch                             1:1.04-286.el7                                  base                                 50 k
 perl-Pod-Perldoc                                    noarch                             3.20-4.el7                                      base                                 87 k
 perl-Pod-Simple                                     noarch                             1:3.28-4.el7                                    base                                216 k
 perl-Pod-Usage                                      noarch                             1.63-3.el7                                      base                                 27 k
 perl-Scalar-List-Utils                              x86_64                             1.27-248.el7                                    base                                 36 k
 perl-Socket                                         x86_64                             2.010-3.el7                                     base                                 49 k
 perl-Storable                                       x86_64                             2.45-3.el7                                      base                                 77 k
 perl-Text-ParseWords                                noarch                             3.29-4.el7                                      base                                 14 k
 perl-Time-HiRes                                     x86_64                             4:1.9725-3.el7                                  base                                 45 k
 perl-Time-Local                                     noarch                             1.2300-2.el7                                    base                                 24 k
 perl-constant                                       noarch                             1.27-2.el7                                      base                                 19 k
 perl-libs                                           x86_64                             4:5.16.3-286.el7                                base                                687 k
 perl-macros                                         x86_64                             4:5.16.3-286.el7                                base                                 43 k
 perl-parent                                         noarch                             1:0.225-244.el7                                 base                                 12 k
 perl-podlators                                      noarch                             2.5.1-3.el7                                     base                                112 k
 perl-threads                                        x86_64                             1.87-4.el7                                      base                                 49 k
 perl-threads-shared                                 x86_64                             1.43-6.el7                                      base                                 39 k

Transaction Summary
==================================================================================================================================================================================
Install  1 Package (+42 Dependent packages)

Total download size: 15 M
Installed size: 47 M
Is this ok [y/d/N]: y
Downloading packages:
(1/43): fontconfig-2.10.95-7.el7.x86_64.rpm                                                                                                                | 228 kB  00:00:00
(2/43): fontpackages-filesystem-1.44-8.el7.noarch.rpm                                                                                                      | 9.9 kB  00:00:00
(3/43): gd-2.0.35-26.el7.x86_64.rpm                                                                                                                        | 146 kB  00:00:01
(4/43): GeoIP-1.5.0-9.el7.x86_64.rpm                                                                                                                       | 709 kB  00:00:01
(5/43): gperftools-libs-2.4-7.el7.x86_64.rpm                                                                                                               | 272 kB  00:00:00
(6/43): libX11-common-1.6.3-2.el7.noarch.rpm                                                                                                               | 162 kB  00:00:00
(7/43): libXau-1.0.8-2.1.el7.x86_64.rpm                                                                                                                    |  29 kB  00:00:00
(8/43): libXpm-3.5.11-3.el7.x86_64.rpm                                                                                                                     |  54 kB  00:00:00
(9/43): libX11-1.6.3-2.el7.x86_64.rpm                                                                                                                      | 605 kB  00:00:00
(10/43): libjpeg-turbo-1.2.90-5.el7.x86_64.rpm                                                                                                             | 134 kB  00:00:00
(11/43): libxcb-1.11-4.el7.x86_64.rpm                                                                                                                      | 189 kB  00:00:00
(12/43): libunwind-1.1-5.el7_2.2.x86_64.rpm                                                                                                                |  56 kB  00:00:00
warning: /var/cache/yum/x86_64/7/epel/packages/nginx-filesystem-1.6.3-9.el7.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY
Public key for nginx-filesystem-1.6.3-9.el7.noarch.rpm is not installed
(13/43): nginx-filesystem-1.6.3-9.el7.noarch.rpm                                                                                                           |  15 kB  00:00:00
(14/43): libpng-1.5.13-7.el7_2.x86_64.rpm                                                                                                                  | 213 kB  00:00:00
(15/43): libxslt-1.1.28-5.el7.x86_64.rpm                                                                                                                   | 242 kB  00:00:00
(16/43): perl-Carp-1.26-244.el7.noarch.rpm                                                                                                                 |  19 kB  00:00:00
(17/43): nginx-1.6.3-9.el7.x86_64.rpm                                                                                                                      | 508 kB  00:00:00
(18/43): perl-Encode-2.51-7.el7.x86_64.rpm                                                                                                                 | 1.5 MB  00:00:00
(19/43): perl-Exporter-5.68-3.el7.noarch.rpm                                                                                                               |  28 kB  00:00:00
(20/43): perl-File-Path-2.09-2.el7.noarch.rpm                                                                                                              |  26 kB  00:00:00
(21/43): perl-File-Temp-0.23.01-3.el7.noarch.rpm                                                                                                           |  56 kB  00:00:00
(22/43): perl-Filter-1.49-3.el7.x86_64.rpm                                                                                                                 |  76 kB  00:00:00
(23/43): perl-Getopt-Long-2.40-2.el7.noarch.rpm                                                                                                            |  56 kB  00:00:00
(24/43): perl-HTTP-Tiny-0.033-3.el7.noarch.rpm                                                                                                             |  38 kB  00:00:00
(25/43): perl-PathTools-3.40-5.el7.x86_64.rpm                                                                                                              |  82 kB  00:00:00
(26/43): perl-Pod-Escapes-1.04-286.el7.noarch.rpm                                                                                                          |  50 kB  00:00:00
(27/43): perl-Pod-Perldoc-3.20-4.el7.noarch.rpm                                                                                                            |  87 kB  00:00:00
(28/43): perl-Pod-Simple-3.28-4.el7.noarch.rpm                                                                                                             | 216 kB  00:00:00
(29/43): perl-Pod-Usage-1.63-3.el7.noarch.rpm                                                                                                              |  27 kB  00:00:00
(30/43): perl-Scalar-List-Utils-1.27-248.el7.x86_64.rpm                                                                                                    |  36 kB  00:00:00
(31/43): perl-Socket-2.010-3.el7.x86_64.rpm                                                                                                                |  49 kB  00:00:00
(32/43): perl-5.16.3-286.el7.x86_64.rpm                                                                                                                    | 8.0 MB  00:00:01
(33/43): perl-Storable-2.45-3.el7.x86_64.rpm                                                                                                               |  77 kB  00:00:00
(34/43): perl-Text-ParseWords-3.29-4.el7.noarch.rpm                                                                                                        |  14 kB  00:00:00
(35/43): perl-Time-HiRes-1.9725-3.el7.x86_64.rpm                                                                                                           |  45 kB  00:00:00
(36/43): perl-Time-Local-1.2300-2.el7.noarch.rpm                                                                                                           |  24 kB  00:00:00
(37/43): perl-constant-1.27-2.el7.noarch.rpm                                                                                                               |  19 kB  00:00:00
(38/43): perl-macros-5.16.3-286.el7.x86_64.rpm                                                                                                             |  43 kB  00:00:00
(39/43): perl-libs-5.16.3-286.el7.x86_64.rpm                                                                                                               | 687 kB  00:00:00
(40/43): perl-parent-0.225-244.el7.noarch.rpm                                                                                                              |  12 kB  00:00:00
(41/43): perl-threads-1.87-4.el7.x86_64.rpm                                                                                                                |  49 kB  00:00:00
(42/43): perl-podlators-2.5.1-3.el7.noarch.rpm                                                                                                             | 112 kB  00:00:00
(43/43): perl-threads-shared-1.43-6.el7.x86_64.rpm                                                                                                         |  39 kB  00:00:00
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                             4.0 MB/s |  15 MB  00:00:03
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
Importing GPG key 0x352C64E5:
 Userid     : "Fedora EPEL (7) <epel@fedoraproject.org>"
 Fingerprint: 91e9 7d7c 4a5e 96f1 7f3e 888f 6a2f aea2 352c 64e5
 Package    : epel-release-7-6.noarch (@extras)
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
Is this ok [y/N]: y
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : 1:perl-parent-0.225-244.el7.noarch                                                                                                                            1/43
  Installing : perl-HTTP-Tiny-0.033-3.el7.noarch                                                                                                                             2/43
  Installing : perl-podlators-2.5.1-3.el7.noarch                                                                                                                             3/43
  Installing : perl-Pod-Perldoc-3.20-4.el7.noarch                                                                                                                            4/43
  Installing : 1:perl-Pod-Escapes-1.04-286.el7.noarch                                                                                                                        5/43
  Installing : perl-Text-ParseWords-3.29-4.el7.noarch                                                                                                                        6/43
  Installing : perl-Encode-2.51-7.el7.x86_64                                                                                                                                 7/43
  Installing : perl-Pod-Usage-1.63-3.el7.noarch                                                                                                                              8/43
  Installing : 4:perl-libs-5.16.3-286.el7.x86_64                                                                                                                             9/43
  Installing : 4:perl-macros-5.16.3-286.el7.x86_64                                                                                                                          10/43
  Installing : 4:perl-Time-HiRes-1.9725-3.el7.x86_64                                                                                                                        11/43
  Installing : perl-Exporter-5.68-3.el7.noarch                                                                                                                              12/43
  Installing : perl-constant-1.27-2.el7.noarch                                                                                                                              13/43
  Installing : perl-Time-Local-1.2300-2.el7.noarch                                                                                                                          14/43
  Installing : perl-Socket-2.010-3.el7.x86_64                                                                                                                               15/43
  Installing : perl-Carp-1.26-244.el7.noarch                                                                                                                                16/43
  Installing : perl-Storable-2.45-3.el7.x86_64                                                                                                                              17/43
  Installing : perl-PathTools-3.40-5.el7.x86_64                                                                                                                             18/43
  Installing : perl-Scalar-List-Utils-1.27-248.el7.x86_64                                                                                                                   19/43
  Installing : perl-File-Temp-0.23.01-3.el7.noarch                                                                                                                          20/43
  Installing : perl-File-Path-2.09-2.el7.noarch                                                                                                                             21/43
  Installing : perl-threads-shared-1.43-6.el7.x86_64                                                                                                                        22/43
  Installing : perl-threads-1.87-4.el7.x86_64                                                                                                                               23/43
  Installing : perl-Filter-1.49-3.el7.x86_64                                                                                                                                24/43
  Installing : 1:perl-Pod-Simple-3.28-4.el7.noarch                                                                                                                          25/43
  Installing : perl-Getopt-Long-2.40-2.el7.noarch                                                                                                                           26/43
  Installing : 4:perl-5.16.3-286.el7.x86_64                                                                                                                                 27/43
  Installing : 1:nginx-filesystem-1.6.3-9.el7.noarch                                                                                                                        28/43
  Installing : libXau-1.0.8-2.1.el7.x86_64                                                                                                                                  29/43
  Installing : libxcb-1.11-4.el7.x86_64                                                                                                                                     30/43
  Installing : libxslt-1.1.28-5.el7.x86_64                                                                                                                                  31/43
  Installing : libX11-common-1.6.3-2.el7.noarch                                                                                                                             32/43
  Installing : libX11-1.6.3-2.el7.x86_64                                                                                                                                    33/43
  Installing : libXpm-3.5.11-3.el7.x86_64                                                                                                                                   34/43
  Installing : 2:libunwind-1.1-5.el7_2.2.x86_64                                                                                                                             35/43
  Installing : gperftools-libs-2.4-7.el7.x86_64                                                                                                                             36/43
  Installing : GeoIP-1.5.0-9.el7.x86_64                                                                                                                                     37/43
  Installing : fontpackages-filesystem-1.44-8.el7.noarch                                                                                                                    38/43
  Installing : fontconfig-2.10.95-7.el7.x86_64                                                                                                                              39/43
  Installing : 2:libpng-1.5.13-7.el7_2.x86_64                                                                                                                               40/43
  Installing : libjpeg-turbo-1.2.90-5.el7.x86_64                                                                                                                            41/43
  Installing : gd-2.0.35-26.el7.x86_64                                                                                                                                      42/43
  Installing : 1:nginx-1.6.3-9.el7.x86_64                                                                                                                                   43/43
  Verifying  : perl-HTTP-Tiny-0.033-3.el7.noarch                                                                                                                             1/43
  Verifying  : libjpeg-turbo-1.2.90-5.el7.x86_64                                                                                                                             2/43
  Verifying  : perl-threads-shared-1.43-6.el7.x86_64                                                                                                                         3/43
  Verifying  : 4:perl-Time-HiRes-1.9725-3.el7.x86_64                                                                                                                         4/43
  Verifying  : perl-Exporter-5.68-3.el7.noarch                                                                                                                               5/43
  Verifying  : perl-constant-1.27-2.el7.noarch                                                                                                                               6/43
  Verifying  : perl-PathTools-3.40-5.el7.x86_64                                                                                                                              7/43
  Verifying  : libxcb-1.11-4.el7.x86_64                                                                                                                                      8/43
  Verifying  : 2:libpng-1.5.13-7.el7_2.x86_64                                                                                                                                9/43
  Verifying  : 4:perl-libs-5.16.3-286.el7.x86_64                                                                                                                            10/43
  Verifying  : 4:perl-macros-5.16.3-286.el7.x86_64                                                                                                                          11/43
  Verifying  : gperftools-libs-2.4-7.el7.x86_64                                                                                                                             12/43
  Verifying  : fontpackages-filesystem-1.44-8.el7.noarch                                                                                                                    13/43
  Verifying  : 1:perl-parent-0.225-244.el7.noarch                                                                                                                           14/43
  Verifying  : GeoIP-1.5.0-9.el7.x86_64                                                                                                                                     15/43
  Verifying  : libX11-1.6.3-2.el7.x86_64                                                                                                                                    16/43
  Verifying  : 4:perl-5.16.3-286.el7.x86_64                                                                                                                                 17/43
  Verifying  : perl-File-Temp-0.23.01-3.el7.noarch                                                                                                                          18/43
  Verifying  : 1:perl-Pod-Simple-3.28-4.el7.noarch                                                                                                                          19/43
  Verifying  : perl-Time-Local-1.2300-2.el7.noarch                                                                                                                          20/43
  Verifying  : perl-Pod-Perldoc-3.20-4.el7.noarch                                                                                                                           21/43
  Verifying  : perl-Socket-2.010-3.el7.x86_64                                                                                                                               22/43
  Verifying  : 2:libunwind-1.1-5.el7_2.2.x86_64                                                                                                                             23/43
  Verifying  : libX11-common-1.6.3-2.el7.noarch                                                                                                                             24/43
  Verifying  : perl-Carp-1.26-244.el7.noarch                                                                                                                                25/43
  Verifying  : libxslt-1.1.28-5.el7.x86_64                                                                                                                                  26/43
  Verifying  : libXpm-3.5.11-3.el7.x86_64                                                                                                                                   27/43
  Verifying  : perl-Storable-2.45-3.el7.x86_64                                                                                                                              28/43
  Verifying  : perl-Scalar-List-Utils-1.27-248.el7.x86_64                                                                                                                   29/43
  Verifying  : gd-2.0.35-26.el7.x86_64                                                                                                                                      30/43
  Verifying  : 1:perl-Pod-Escapes-1.04-286.el7.noarch                                                                                                                       31/43
  Verifying  : perl-Pod-Usage-1.63-3.el7.noarch                                                                                                                             32/43
  Verifying  : perl-Encode-2.51-7.el7.x86_64                                                                                                                                33/43
  Verifying  : perl-podlators-2.5.1-3.el7.noarch                                                                                                                            34/43
  Verifying  : perl-Getopt-Long-2.40-2.el7.noarch                                                                                                                           35/43
  Verifying  : libXau-1.0.8-2.1.el7.x86_64                                                                                                                                  36/43
  Verifying  : perl-File-Path-2.09-2.el7.noarch                                                                                                                             37/43
  Verifying  : 1:nginx-1.6.3-9.el7.x86_64                                                                                                                                   38/43
  Verifying  : perl-threads-1.87-4.el7.x86_64                                                                                                                               39/43
  Verifying  : fontconfig-2.10.95-7.el7.x86_64                                                                                                                              40/43
  Verifying  : 1:nginx-filesystem-1.6.3-9.el7.noarch                                                                                                                        41/43
  Verifying  : perl-Filter-1.49-3.el7.x86_64                                                                                                                                42/43
  Verifying  : perl-Text-ParseWords-3.29-4.el7.noarch                                                                                                                       43/43

Installed:
  nginx.x86_64 1:1.6.3-9.el7

Dependency Installed:
  GeoIP.x86_64 0:1.5.0-9.el7                 fontconfig.x86_64 0:2.10.95-7.el7              fontpackages-filesystem.noarch 0:1.44-8.el7   gd.x86_64 0:2.0.35-26.el7
  gperftools-libs.x86_64 0:2.4-7.el7         libX11.x86_64 0:1.6.3-2.el7                    libX11-common.noarch 0:1.6.3-2.el7            libXau.x86_64 0:1.0.8-2.1.el7
  libXpm.x86_64 0:3.5.11-3.el7               libjpeg-turbo.x86_64 0:1.2.90-5.el7            libpng.x86_64 2:1.5.13-7.el7_2                libunwind.x86_64 2:1.1-5.el7_2.2
  libxcb.x86_64 0:1.11-4.el7                 libxslt.x86_64 0:1.1.28-5.el7                  nginx-filesystem.noarch 1:1.6.3-9.el7         perl.x86_64 4:5.16.3-286.el7
  perl-Carp.noarch 0:1.26-244.el7            perl-Encode.x86_64 0:2.51-7.el7                perl-Exporter.noarch 0:5.68-3.el7             perl-File-Path.noarch 0:2.09-2.el7
  perl-File-Temp.noarch 0:0.23.01-3.el7      perl-Filter.x86_64 0:1.49-3.el7                perl-Getopt-Long.noarch 0:2.40-2.el7          perl-HTTP-Tiny.noarch 0:0.033-3.el7
  perl-PathTools.x86_64 0:3.40-5.el7         perl-Pod-Escapes.noarch 1:1.04-286.el7         perl-Pod-Perldoc.noarch 0:3.20-4.el7          perl-Pod-Simple.noarch 1:3.28-4.el7
  perl-Pod-Usage.noarch 0:1.63-3.el7         perl-Scalar-List-Utils.x86_64 0:1.27-248.el7   perl-Socket.x86_64 0:2.010-3.el7              perl-Storable.x86_64 0:2.45-3.el7
  perl-Text-ParseWords.noarch 0:3.29-4.el7   perl-Time-HiRes.x86_64 4:1.9725-3.el7          perl-Time-Local.noarch 0:1.2300-2.el7         perl-constant.noarch 0:1.27-2.el7
  perl-libs.x86_64 4:5.16.3-286.el7          perl-macros.x86_64 4:5.16.3-286.el7            perl-parent.noarch 1:0.225-244.el7            perl-podlators.noarch 0:2.5.1-3.el7
  perl-threads.x86_64 0:1.87-4.el7           perl-threads-shared.x86_64 0:1.43-6.el7

Complete!
[vagrant@localhost internal.gems]$

Next we just need to configure nginx to serve the gems directory, but I’m out of time so will cover that in a future blog post.