[[!meta copyright="Copyright © 2005, 2007, 2008 Free Software Foundation, Inc."]]

[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
id="license" text="Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License, Version 1.2 or
any later version published by the Free Software Foundation; with no Invariant
Sections, no Front-Cover Texts, and no Back-Cover Texts.  A copy of the license
is included in the section entitled
[[GNU Free Documentation License|/fdl]]."]]"""]]

# 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](DebianAptOffline/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.}