User Tools

Site Tools


Sidebar

linux:local_repo_debian

This is an old revision of the document!


Setup Local APT Repository Using Installation Media In Debian 8

Update your Debian server

First of all, log in to your Debian server with root user and update the system using command:

apt-get update && apt-get upgrade

Then, install the essential packages which are needed to setup local repository using command:

apt-get install build-essential

Install Apache

We need to setup a web server to server all packages to the clients. In our case, let us install Apache web server. To install apache, run:

apt-get install apache2

To test if Apache is working, open up your web browser and navigate to: http://localhost

You should see the following output:

Create A directory to store all packages

Create a directory called packages under apache root document folder i.e /var/www/html.

mkdir /var/www/html/packages

Now, create additional directories under /var/www/html/packages/ to save packages depending upon your system’s architecture. For example, If you use 32 bit systems, create a directory called “i386″ or if you use 64 bit systems, create “amd64″ directory. You can keep both directories and serve packages to different architecture systems at the same time.

Here, I am using 64 bit systems in my LAN, so I am going to create a directory called “amd64″ under /var/www/html/packages/ directory.

mkdir /var/www/html/packages/amd64

Copying all DEB files from Debian installation media

Mount the first CD/DVD and copy all .deb packages to /var/www/packages/amd64/ directory from your CD/DVD.

mount /dev/cdrom /media/cdrom
find /media/cdrom/pool/ -name "*.deb" -exec cp {} /var/www/html/packages/amd64 \;

After copying all deb files, unmount the first DVD using the following command.

umount /media/cdrom

Again mount all remaining CD/DVD one by one and copy the .deb files as shown above.

To verify the files, navigate to http://192.168.1.150/packages/amd64/ from your browser. You will see all packages of your Debian DVD’s. Here 192.168.1.150 is my Debian 8 server’s IP address.

Index of -packages-amd64 - Google Chrome_002

Create Catalog file

Switch to your repository directory i.e /var/www/html/packages/amd64/ :

cd /var/www/html/packages/amd64/

and enter the following command to create a catalog file for APT use. You should run this command so that Synaptic Manager or APT will fetch the packages from our local repository. Otherwise the packages in your local repository will not be shown in Synaptic and APT.

dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz

This command will scan all deb files and create the local repository in your Debian server. This may take a while depending upon the number of packages in your local repository folder. Be patient or grab a cup of coffee.

Sample output:

pkg-scanpackages: warning: Packages in archive but missing from override file:
dpkg-scanpackages: warning: accountsservice acl acpi acpi-support-base acpid adduser adwaita-icon-theme apache2-bin apg apt apt-listchanges apt-offline apt-utils aptitude aptitude-common aptitude-doc-en aspell aspell-en at at-spi2-core avahi-daemon
 
[...]
 
xserver-xorg-video-neomagic xserver-xorg-video-nouveau xserver-xorg-video-openchrome xserver-xorg-video-r128 xserver-xorg-video-radeon xserver-xorg-video-savage xserver-xorg-video-siliconmotion xserver-xorg-video-sisusb xserver-xorg-video-tdfx xserver-xorg-video-trident xserver-xorg-video-vesa xserver-xorg-video-vmware xterm xwayland xz-utils yelp yelp-xsl zenity zenity-common zlib1g
 
dpkg-scanpackages: info: Wrote 1151 entries to output Packages file.

Please note that whenever you add a new deb file in this repository, you should run the above command to create catalog file.

Done! We created the catalog file.

Configure Server sources list

After creating the catalog file, go to your server(local) system. Open /etc/apt/sources.list file.

nano /etc/apt/sources.list

Comment out all lines and add your APT repository location as shown below.

deb file:/var/www/html/packages/amd64/ /

Here is my Debian 8 server (Repository server) /etc/apt/sources.list file contents.

cat /etc/apt/sources.list
linux/local_repo_debian.1480073063.txt.gz · Last modified: 2016/11/25 12:24 by admin