- Support for multiple repositories.
- Simple configuration.
- Automatic dependency calculation.
- Fast operation.
- RPM-consistent behavior.
- Package group support, including multiple-repository groups.
- Simple interface.
Let us install a local yum server using CentOS 6.3. The steps provided here are tested in CentOS 6.3. But it will work fine in RHEL 6.x and Scientific Linux 6.x too.
Setup Local YUM Server in CentOS
In this example the hostname of the server is myserver.ostechnix.com and IP Address is 192.168.56.101.
Login to your system and Mount the contents of your CentOS 6.3 DVD in the /mnt directory or wherever you want. In the Terminal window, type the following command:
# mount /dev/cdrom1 /mnt/
Change to the directory where you mounted CentOS DVD. In our example we have mounted the CentOS DVD in /mnt directory.
# cd /mnt/Packages # rpm -ivh vsftpd-2.2.2-11.el6.i686.rpm
Start the FTP Service:
# service vsftpd start
# rpm -ivh createrepo-0.9.8-5.el6.noarch.rpm
# rpm -ivh deltarpm-3.5-0.5.20090913git.el6.i686.rpm
# rpm -ivh python-deltarpm-3.5-0.5.20090913git.el6.i686.rpm
Now install the createrepo package:
Create a folder called localyumserver (You can use your own) in /var/ftp/pub directory to save all the packages from the CentOS DVD. Copy all the files in the Packages folder from the DVD to /var/ftp/pub/localyumserver folder:
# mkdir /var/ftp/pub/localyumserver # cp -ar *.* /var/ftp/pub/localyumserver
# nano /etc/yum.repos.d/localyumserver.repo
Type the following entries and save the file (CTRL+O to save and CTRL+X to exit):
[localyumserver] ==> Name of the Local Repository.
comment ==> Information about the Repository.
baseurl ==> Path of the Repository (i.e where we had copied the contents from CentOS DVD)
gpgcheck ==> Authentication of the Repository, which is disabled in our case.
Now it is time to create our repository. Enter the following command in the Terminal:
# createrepo -v /var/ftp/pub/localyumserver
Now the local YUM repository creation process will begin.
Note: Delete or rename all the other repo files except the newly created repo file i.e in our example it is localyumserver.repo.
yum clean all
You're done now.
Client side configuration
Create a repo file in your client system as mentioned above in the /etc/yum.repos.d/ directory and remove or rename the existing repositories. Then modify the baseurl as mentioned below:
[localyumserver] comment ="My Local Repository" baseurl=ftp://myserver.ostechnix.com/pub/localyumserver gpgcheck=0 enabled=1
[localyumserver] comment ="My Local Repository" baseurl=ftp://192.168.56.101/pub/localyumserver gpgcheck=0 enabled=1
That's it. Start using installing packages from local Yum repository.