Manage local package repository

aptdependencies

I just installed a fresh Waldorf (Crunchbang, Debian Wheezy-based) on a computer which has no Internet access. Previously on a Xubuntu 10.04 VM, what I did when I needed some software was:

  • go to packages.ubuntu.com;
  • find the relevant packages and their dependencies, download the .deb's;
  • run dpkg-scanpackages <download dir> /dev/null | gzip -9c > Packages.gz
  • run apt-get update (<download dir> figures in my /etc/apt/sources.list, i.e. there is an entry which looks like deb file:<download dir> ./);
  • run apt-get install <top-package>;
    • if there were any unmet dependencies, (i.e. package downloaded from packages.ubuntu.com is too recent and depends on a newer version of some package already present on my system), go to launchpad.net, and find an older version of the package;
    • resume installation.

Now with Debian Wheezy, I can find the .deb on packages.debian.org just fine, but problems start when those packages need newer versions of already installed packages. I cannot find an equivalent to launchpad.net for Debian…

I guess since Ubuntu is Debian-based I could still find the old .deb's I need on launchpad.net, but I'm starting to think that maybe I'm doing something wrong. Is that the case? What should actually be done to install packages on a computer which has no Internet access?

For example, I'm trying to install openjdk-6-jre. Going down the dependency tree I found I also need tzdata-java and libnss3-1d, but I can't install those with the .deb found on packages.debian.org, because apt-get chokes on the versions:

tzdata-java : Depends: tzdata (= 2014a-0wheezy1) but 2013b-2 is installed.
libnss3-1d : Depends: libnss3 (= 2:3.14.5-1) but 2:3.14.3-1 is installed.

(In before "just compile from the source")

Best Answer

What should actually be done to install packages on a computer which has no Internet access?

Download those packages in a system with internet access, setting up a local cache, etc. seems the way to go.

Now with Debian Wheezy, I can find the .deb on packages.debian.org just fine, but problems start when those packages need newer versions of already installed packages. I cannot find an equivalent to launchpad.net for Debian...

Now, here there is a problem. Firstly, you are using a Debian based distro packages to be installed in another Debian based distro. This would make anyone cry in regret.

When installing software, specifically package, in your system you should make sure they comes from the same source. When you start mixing sources, problems like the one you experience arises and give you headaches.

Related Question