This article describes a simple way to create a homemade RPM and Debian repository, let us start with setting up RPM local repository first.
How To Setup RPM Repository?
There are four simple steps to set up an RPM repository locally, let us assume that the IP address of the host machine which is going to servers rpm repository over web server is 188.8.131.52
STEP 1: Install createrepo utility to create the required metadata information of an rpm repository, and install httpd to server the rpm packages over the web server
$ yum install crearerepo httpd -y
STEP 2: Create a directory and run the createrepo command to convert directory into a repository
$ mkdir /opt/rpm-repo
$ createrepo /opt/rpm-repo
ensure that you are running createrepo command whenever you are updating the rpm files in /opt/rpm-repo, the command to update the repo is
$ createrepo –update /opt/rpm-repo
STEP 3: Now let us create an httpd conf file to serve the rpm packages in web server
$ vi /etc/httpd/conf.d/rpm-repo.conf
CustomLog logs/repo.example.com-access_log common
Options Indexes FollowSymLinks
Allow from all
In this configuration all the bold letters which are specified can be configurable according to your choice. Then start the web server
$ /etc/init.d/httpd start
STEP 4: To use the repository in the remote machine it is necessary to update the repo file in the same machine, the template is given below and again all the bold letters which are specified are configurable based on your environment
How To Setup Debian Repository?
To setup Debian repo we would use apache with the default settings, let us assume that the IP address of the machine is 192.168.1.1.
STEP 1: If you have not installed apache web server using following command to install
$ sudo apt-get install apache2
Navigate your browser to the http://192.168.1.1 address of your webserver. If this is your default apache webserver configuration you should see an apache default web page
STEP 2: The location of the default apache welcome page is served from /var/www/, run the following command to create a repo directory
$ sudo mkdir -p /var/www/deb-repo
STEP 3: Now let us create a package list and metadata information using dpkg-scanpacjages command, refer the below steps
$ cd /var/www/deb-repo
$ sudo dpkg-scanpackages deb-repo /dev/null | gzip -9c > deb-repo/Packages.gz
Great homemade local Debian package repository is now ready to use.
STEP 4: To access the Debian repo on the remote machine it is necessary to edit the source.list file and update the package list on the machine.
$ sudo echo “deb http://192.168.1.1 deb-repo/” >> /etc/apt/sources.list
$ sudo apt-get update
All done, now simply install the package using apt-get tool.Hope the article is informative to you, if you have any queries or suggestions please leave your comment.