Sunday, 5 October 2014

Red Hat Enterprise Linux 6.3 - Creating a local Yum Repository

This is an update to an earlier post, somewhat shortened: -


Pre-Requisites

- RHEL 6.3 ISO is mounted in VMware Fusion

See what we have

cat /etc/redhat-release

Red Hat Enterprise Linux Server release 6.3 (Santiago)

Mount CD-ROM in Linux - as root

mount /dev/cdrom /mnt

mount: block device /dev/sr0 is write-protected, mounting read-only

Install Pre-Requisite RPMs

rpm -ivh /mnt/Packages/deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm

warning: /mnt/Packages/deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing...                ########################################### [100%]
   1:deltarpm               ########################################### [100%]

rpm -ivh /mnt/Packages/python-deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm 

warning: /mnt/Packages/python-deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing...                ########################################### [100%]
   1:python-deltarpm        ########################################### [100%]

rpm -ivh /mnt/Packages/createrepo-0.9.8-5.el6.noarch.rpm 


warning: /mnt/Packages/createrepo-0.9.8-5.el6.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing...                ########################################### [100%]
   1:createrepo             ########################################### [100%]

Import GPG Keys

rpm --import /mnt/RPM-GPG-KEY-redhat-beta
rpm --import /mnt/RPM-GPG-KEY-redhat-release

Create Required Directory Structure

mkdir /var/repo
mkdir /var/repo/rhel63

Copy RPMs from ISO to local disk

cd /mnt
cd /var/repo/rhel63/
cp -R /mnt/Packages/* .

Create Repository Metadata

cd /var/repo/
createrepo .

1073/3653 - rhel63/kdegraphics-devel-4.3.4-6.el6.i686.rpm                     
iso-8859-1 encoding on Ville Skytt? <ville.skytta@iki.fi> - 2.8.2-2

3653/3653 - rhel63/libselinux-2.0.94-5.3.el6.i686.rpm                         
Saving Primary metadata
Saving file lists metadata
Saving other metadata


Create Repository for Yum to use


cd /etc/yum.repos.d/
vi server.repo 

[server]
gpgcheck=1
name=Red Hat Enterprise Linux 6.3
baseurl=file:///var/repo

Test Repository

yum list

Loaded plugins: product-id, security, subscription-manager
Updating certificate-based repositories.
Unable to read consumer identity
Installed Packages
ConsoleKit.x86_64                      0.4.1-3.el6                        @anaconda-RedHatEnterpriseLinux-201206132210.x86_64/6.3
ConsoleKit-libs.x86_64                 0.4.1-3.el6    
...
zenity.x86_64                          2.28.0-1.el6                       server
zlib.i686                              1.2.3-27.el6                       server
zlib-devel.i686                        1.2.3-27.el6                       server
zlib-devel.x86_64                      1.2.3-27.el6                       server
zsh.x86_64                             4.3.10-5.el6                       server


Test Further - Install an RPM

Note - just to ensure that I'm not cheating, I also unmounted the RHEL ISO: -

umount /mnt

yum install gcc

Loaded plugins: product-id, security, subscription-manager
Updating certificate-based repositories.
Unable to read consumer identity
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package gcc.x86_64 0:4.4.6-4.el6 will be installed
--> Processing Dependency: cpp = 4.4.6-4.el6 for package: gcc-4.4.6-4.el6.x86_64
--> Processing Dependency: glibc-devel >= 2.2.90-12 for package: gcc-4.4.6-4.el6.x86_64
--> Processing Dependency: cloog-ppl >= 0.15 for package: gcc-4.4.6-4.el6.x86_64
--> Running transaction check
---> Package cloog-ppl.x86_64 0:0.15.7-1.2.el6 will be installed
--> Processing Dependency: libppl_c.so.2()(64bit) for package: cloog-ppl-0.15.7-1.2.el6.x86_64
--> Processing Dependency: libppl.so.7()(64bit) for package: cloog-ppl-0.15.7-1.2.el6.x86_64
---> Package cpp.x86_64 0:4.4.6-4.el6 will be installed
--> Processing Dependency: libmpfr.so.1()(64bit) for package: cpp-4.4.6-4.el6.x86_64
---> Package glibc-devel.x86_64 0:2.12-1.80.el6 will be installed
--> Processing Dependency: glibc-headers = 2.12-1.80.el6 for package: glibc-devel-2.12-1.80.el6.x86_64
--> Processing Dependency: glibc-headers for package: glibc-devel-2.12-1.80.el6.x86_64
--> Running transaction check
---> Package glibc-headers.x86_64 0:2.12-1.80.el6 will be installed
--> Processing Dependency: kernel-headers >= 2.2.1 for package: glibc-headers-2.12-1.80.el6.x86_64
--> Processing Dependency: kernel-headers for package: glibc-headers-2.12-1.80.el6.x86_64
---> Package mpfr.x86_64 0:2.4.1-6.el6 will be installed
---> Package ppl.x86_64 0:0.10.2-11.el6 will be installed
--> Running transaction check
---> Package kernel-headers.x86_64 0:2.6.32-279.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved


==================================================================================================================================
 Package                           Arch                      Version                              Repository                 Size
==================================================================================================================================
Installing:
 gcc                               x86_64                    4.4.6-4.el6                          server                     10 M
Installing for dependencies:
 cloog-ppl                         x86_64                    0.15.7-1.2.el6                       server                     93 k
 cpp                               x86_64                    4.4.6-4.el6                          server                    3.7 M
 glibc-devel                       x86_64                    2.12-1.80.el6                        server                    970 k
 glibc-headers                     x86_64                    2.12-1.80.el6                        server                    600 k
 kernel-headers                    x86_64                    2.6.32-279.el6                       server                    1.9 M
 mpfr                              x86_64                    2.4.1-6.el6                          server                    156 k
 ppl                               x86_64                    0.10.2-11.el6                        server                    1.3 M

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

Total download size: 19 M
Installed size: 38 M
Is this ok [y/N]: y
Downloading Packages:
----------------------------------------------------------------------------------------------------------------------------------
Total                                                                                             143 MB/s |  19 MB     00:00   
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Warning: RPMDB altered outside of yum.
  Installing : ppl-0.10.2-11.el6.x86_64                                                                                       1/8
  Installing : cloog-ppl-0.15.7-1.2.el6.x86_64                                                                                2/8
  Installing : mpfr-2.4.1-6.el6.x86_64                                                                                        3/8
  Installing : cpp-4.4.6-4.el6.x86_64                                                                                         4/8
  Installing : kernel-headers-2.6.32-279.el6.x86_64                                                                           5/8
  Installing : glibc-headers-2.12-1.80.el6.x86_64                                                                             6/8
  Installing : glibc-devel-2.12-1.80.el6.x86_64                                                                               7/8
  Installing : gcc-4.4.6-4.el6.x86_64                                                                                         8/8
Installed products updated.
  Verifying  : kernel-headers-2.6.32-279.el6.x86_64                                                                           1/8
  Verifying  : glibc-devel-2.12-1.80.el6.x86_64                                                                               2/8
  Verifying  : gcc-4.4.6-4.el6.x86_64                                                                                         3/8
  Verifying  : mpfr-2.4.1-6.el6.x86_64                                                                                        4/8
  Verifying  : glibc-headers-2.12-1.80.el6.x86_64                                                                             5/8
  Verifying  : cpp-4.4.6-4.el6.x86_64                                                                                         6/8
  Verifying  : ppl-0.10.2-11.el6.x86_64                                                                                       7/8
  Verifying  : cloog-ppl-0.15.7-1.2.el6.x86_64                                                                                8/8

Installed:
  gcc.x86_64 0:4.4.6-4.el6                                                                                                      

Dependency Installed:
  cloog-ppl.x86_64 0:0.15.7-1.2.el6          cpp.x86_64 0:4.4.6-4.el6                     glibc-devel.x86_64 0:2.12-1.80.el6    
  glibc-headers.x86_64 0:2.12-1.80.el6       kernel-headers.x86_64 0:2.6.32-279.el6       mpfr.x86_64 0:2.4.1-6.el6             
  ppl.x86_64 0:0.10.2-11.el6              

Complete!
Test

gcc -v

Using built-in specs.
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux
Thread model: posix
gcc version 4.4.6 20120305 (Red Hat 4.4.6-4) (GCC) 

Sources


No comments:

Note to self - use kubectl to query images in a pod or deployment

In both cases, we use JSON ... For a deployment, we can do this: - kubectl get deployment foobar --namespace snafu --output jsonpath="{...