Armory supports cold storage through offline transaction signing. This technique allows funds to be spent without exposing private keys to network-based attacks. Offline signing requires two computer systems - one with an Internet connection, and one without.

Installing Armory on an Internet-connected computer is relatively easy, but installation on an offline computer is much more difficult. The problem comes down to dependencies; online computers can automatically download them, but offline computers must be given dependencies as files on a removable medium. Armory offers an offline bundle designed to simplify the process of offline installation on Ubuntu 12.04. However, some users, including myself, ran into problems using it. Moreover, some situations call for installing Armory on other Linux systems.

What’s needed is a simple procedure for creating an Armory offline bundle on arbitrary Linux systems. This article gives procedures for Ubuntu 14.04 and Tails 1.3.

About Dependencies

Dependency Hell refers to a problem caused by software modularity. Before a given piece of software can be installed, the software it depends on must be installed, and so on. Instead of dealing with a single file, users must deal with many of them.

Modern operating systems solve this problem with package managers. Many varieties of Linux, including Ubuntu and Tails, use the one introduced by Debian. Generally speaking, packages built with the Debian package manager can be used in other Debian-based systems.

Be sure to verify the authenticity of any packages installed on a production offline system. Two techniques are available. First a checksum can be calculated and compared to a published value. Second, a digital signature can be verified.

Offline Bundle for Ubuntu 14.04

This recipe creates an offline bundle for Ubuntu 14.04 64-bit systems. A total of twelve packages are needed. The first package is Armory 0.93, a link to which appears on the Armory downloads page. Create a directory called armory , and download the Armory package into it.

The remaining packages are available through the Ubuntu Packages page. Download each one into the same armory directory.

On completing this step, you should have a folder called armory containing twelve Debian packages. Boot your offline Ubuntu 14.04 system, and copy the armory directory to your home folder or another convenient location. A USB drive, SD card or DVD can be used to make the transfer.

Next, issue the following commands using Terminal. On completion, you should see the the line “!!! Armory installed successfully !!!” several lines before the last line of output.

$ cd armory $ sudo dpkg -i *.deb

Armory is now available by clicking the swirl icon and typing “armory”.

Clicking on the “Armory (Offline)” option starts Armory.

Offline Bundle for Tails 1.3

Tails is a bootable Linux distribution that offers some advantages over Ubuntu. Booting from a DVD drive, Tails enables offline signing with a single computer. For example, a laptop used for routine tasks can run Armory in online mode. Booting with Tails establishes the offline environment needed for secure transaction signing. Tails was designed to retain no record, either on disc or in RAM, of the previous session. This deliberate forgetfulness is especially useful when working with private keys. A previous article discussed Tails in the context of paper wallets.

The recipe for creating an offline bundle for Tails 1.3 follows the one used for Ubuntu. Begin by assembling a directory of Debian packages. At the time of this writing, the 32-bit version of Armory 0.63 wasn’t available from the download site. One workaround is to use the previous stable 32-bit release, 0.92.3. Alternatively, the 32-bit 0.93.0.70-testing release, announced by Armory’s lead developer, can be used. Fortunately, the same set of packages can be used for either version.

The remaining packages are available from the Debian Packages site. Gather these files into a folder called armory .

To install software on Tails, an administrator password must be set. After booting, Tails shows a “Welcome to Tails” dialog. The “Login” button can be pressed to start a session without setting a password. To set a password, click the “Yes” button, followed by the “Forward” button.

A new dialog will appear containing more options. The first two fields allow an administrator password to be added and confirmed. Enter a memorable password in both the “Password” and “Verify Password” fields. This password will be used when installing Armory. Click the “Login” button to continue.

To install the offline bundle, begin by copying the armory directory you prepared to the desktop. Locate the terminal application from the Applications ‑> Accessories menu. Then issue the following commands to begin installation.

$ cd Desktop/armory $ sudo dpkg -i *.deb

After installation finishes, Armory can be run from the Applications ‑> Internet menu.

Other Operating Systems

The specific dependencies needed to create an offline bundle will vary by operating system, and Armory version. The following general procedure can be used when building a custom offline installer:

Add the Armory package to a folder. Attempt to install the Armory package. Missing dependencies will be given in the error output. Locate the first dependency package, and save it to the armory directory. Repeat step (2) until no errors are generated.

Conclusions

Armory can be installed on a variety of offline Debian-based systems. Specific procedures illustrating the installation of Armory on Tails 1.3 and Ubuntu 14.04 were presented. Extension to other Linux varieties using a generalized procedure should be feasible.