20 September 2012

Making A Local Software Repository For Ubuntu or Debian System By Using Aptoncd

The main difference between Windows and Linux is in the Software Management. In Windows, we can install any software easily by clicking the installer package and then enter the serial number (if proprietary) and then next next and finished.

In Linux, it is little more complicated. In Linux, between one package and one another packages depend each other and then create a technical condition called Dependency Chain. Why is Software Management in Linux more complicated than in Windows? The answer is Linux and its FOSS is an open source project and it is undertaken by so many programmers in the world. One programmer create one package and the other create the other one that depends on the other programmer work. In simple word, Linux and FOSS is a worldwide team work and it is impossible to create a centralized software management and standardization like in Windows, unless the whole Linux community merged and create a mega enterprise and create a new one standard of software management for Linux.

By the way, there are many popular software managements in Linux but because I'm an Ubuntu/Debian user, now I want to share about How to make a local repository in Ubuntu / Debian and use it as an offline installer. And the answer is Aptoncd and dpkg-dev.

Aptoncd is a simple tool to backup the cached dpkgs after we have installed packages in a Debian system. This tool is very simple. Here are the simple steps to create an Ubuntu / Debian local repository :

  1. Update our repository database

sudo apt-get update

  1. Install all packages we need and don't forget to install aptoncd and dpkg-dev

sudo apt-get install aptoncd dpkg-dev

  1. After all finished, open aptoncd and select create. A process to read and generate the cache of Debian packages we have installed by online will appear. If we have installed a lot of packages, the process could need some minutes. Just be patient.

  2. Next, select burn but in the last, don't burn it to any optical media. Just let it be an ISO.

  3. Open the ISO by using archive manager and extract the folder Packages. Put the folder in Desktop. Rename it to a name we like (ex : precise, quantal etc)

  4. Last, generate the DEBs by dpkg-dev command. As an example, I rename the folder as precise.

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

  1. Now, we have a local repository and could be used anytime when we need to reinstall our Debian or Ubuntu system. Just move the folder into our local harddisk. To use the repository, just simply put the local address into our apt database (/etc/apt/sources.list). Open and edit the repository database by the command :
    sudo gedit /etc/apt/sources.list
    and put our local repository address in. The format of the address must be like this :

deb file:/location/location folder/

Example, I put the folder precise in a storage media called /media/d in a subdirectory softwares/linux. So the complete address is /media/d/softwares/linux/precise. So the apt address format must be like this :

deb file:/media/d/software/linux precise/

Last, generate the apt database by command sudo apt-get update and then install the packages we need by using apt : sudo apt-get install package_name.

  1. That's it. I hope this little thing will be useful. Enjoy :)

No comments: