Академический Документы
Профессиональный Документы
Культура Документы
First of all you have to put in the media CD/DVD into your CD/DVD ROM/Writer. Then
you need to mount it manually if you are login via root user in a GUI. To do so
After mounting the DVD we need to copy the content of the DVD onto a directory.
For example I have a directory /dvd/rhel5/. I will copy the whole contents of
/media/cdrom into /rhel5. This is the command
cp -r /media/cdrom/* /dvd/rhel5/
After copying the contents it's time to do some modifications. First of all we need to
bring the xml files defining the groups to directory one level higher.
mv /dvd/rhel5/Server/repodata/comps-rhel5-server-core.xml
/dvd/rhel5/Server
mv /dvd/rhel5/VT/repodata/comps-rhel5-vt.xml /dvd/rhel5/VT
mv /dvd/rhel5/Cluster/repodata/comps-rhel5-cluster.xml /dvd/rhel5/Cluster
mv /dvd/rhel5/ClusterStorage/repodata/comps-rhel5-cluster.xml
/dvd/rhel5/ClusterStorage
Now we need to delete the repodata/ directories which comes with the default
install tree. The reason behind this is that in their xml files we have a string
xml:base="media://1170972069.396645#1" .....
This string is present in repmod.xml as well as primary.xml.gz. This thing creates
problem with using DVD/CD sources with yum. So we need to do the following
rm -rf /dvd/rhel5/Server/repodata
rm -rf /dvd/rhel5/VT/repodata
rm -rf /dvd/rhel5/Cluster/repodata
rm -rf /dvd/rhel5/ClusterStorage/repodata
After we have deleted the default repodata/ directories it's time to re-create them
using the "createrepo" command. Now this command doesn't comes by default I
guess so we need to install it's rpm
Next step is to run this command. Before running this command we need to switch
to the /dvd/ directory. Then run the commands listed below
The above commands will do most part of the job. Now it's time to configure the
/etc/yum.conf for our local repository. Note that we can also create separate repo
files in /etc/yum.repos.d/ directory but I have tried it without any luck. So do the
following
vi /etc/yum.conf
In this file type in the following: # PUT YOUR REPOS HERE OR IN separate files
named file.repo
# in /etc/yum.repos.d
[Server]
name=Server
baseurl=file:///dvd/rhel5/Server/
enabled=1
[VT]
name=Virtualization
baseurl=file:///dvd/rhel5/VT/
enabled=1
[Cluster]
name=Cluster
baseurl=file:///dvd/rhel5/Cluster/
enabled=1
[ClusterStorage]
name=Cluster Storage
baseurl=file:///dvd/rhel5/ClusterStorage/
enabled=1
We can also use GPG key signing. For that write on top of the above lines
gpgenabled=1
gpgkey=file:///dvd/rhel5/RPM-GPG-KEY-fedora file:///dvd/rhel5/RPM-GPG-KEY-fedora-
test file:///dvd/rhel5/RPM-GPG-KEY-redhat-auxiliary file:///dvd/rhel5/RPM-GPG-KEY-
redhat-beta file:///dvd/rhel5/RPM-GPG-KEY-redhat-former file:///dvd/rhel5/RPM-GPG-
KEY-redhat-release
This will be sufficient for now. Let's create the yum cache now.
Now I will mention the steps you can use to extend this local repository to become a
local http based repository so that LAN clients can use it for package management. I
will be using Apache to configure this repository as it's the best available software
for this job. Do configure the repository for http access via LAN clients we need to
make it available to them. For that I am declaring a virtualhost entry in apache's
configuration file. This is how it looks for me
ServerAdmin webmaster@server.example.com
ServerName server.example.com
DocumentRoot "/dvd/rhel5/"
ErrorLog logs/server.example.com-error_log
CustomLog logs/server.example.com-access_log common
Now it's time to make a yum.conf file that we will use at the client end. I am writing
my yum.conf for clients. You can use it and modify according to your setup.
[main]
cachedir=/var/cache/yum
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
pkgpolicy=newest
distroverpkg=redhat-release
tolerant=1
exactarch=1
obsoletes=1
plugins=1
metadata_expire=1800
gpgcheck=1
Copy this file to /etc/ directory of the client end and replace it with the original file
there. After copying is done it's time to do this
Now you can use yum on the client end to just install any package and it will
communicate with the local repo server to get the package for you. You can also
use pirut in the same way to get things done.
So this is how we can configure Yum for RHEL5 Server and can also use it to create
our own local repo server for the LAN. Hope you have enjoyed reading and had your
hands done on this :).