How to Installing Packages without a Network Connection from your Hurd Installation

This procedure is based on that found in /usr/share/doc/apt-doc/offline.text.gz (Debian package apt-doc).

This requires having apt installed on the Host operating system.

Put a copy of apt.conf.offline into your Debian GNU/Hurd installations /etc/apt/ directory.

If you can mount your Debian GNU/Hurd partition from another OS, which can connect to the Internet

As root on the internet connected OS:

# mount /dev/DEBIAN_GNU_HURD_PARTITON /mnt
# cd /mnt
# apt-get -c etc/apt/apt.conf.offline {update, upgrade, install foo, etc.}

Then, reboot into your Debian GNU/Hurd installation and as root, run:

# apt-get {update, upgrade, install foo, etc.}

If you cannot mount your Debian GNU/Hurd partition under another OS.

From your Debian GNU/Hurd installation run, as the root user:

# tar cf myhurdsconf.tar /etc/apt/{apt.conf.offline,sources.list} /var/lib/dpkg/status

Copy myhurdsconf.tar to the remote system.

This copies your apt configuration and the status of your system (what packages are installed, which versions, etc.)

From the remote sytem, as any user, run:

$ mkdir myhurd
$ cd myhurd
$ tar -xf myhurdsconf.tar
$ mkdir -p var/lib/apt/lists/partial var/cache/apt/archives/partial tmp
$ apt-get -c etc/apt/apt.conf.offline {update, upgrade, install foo, etc.}
$ tar cf myhurdsconf.tar etc/apt/{apt.conf.offline,sources.list} var/

Copy myhurdsconf.tar back to your Debian GNU/Hurd system.

Finally, from your Debian GNU/Hurd installation as the root user:

# mkdir tmp
# cd tmp
# tar -xf myhurdsconf.tar
# mv var/cache/apt/archives/*.deb /var/cache/apt/archives/
# mv var/lib/apt/lists/*_* /var/lib/apt/lists/
# apt-get {update, upgrade, install foo, etc.}