Author

Topic: Offline Armory Installation Question on PureOS (Read 291 times)

newbie
Activity: 27
Merit: 3
Thanks for all this information.

I've noticed that both of my Armory programs seem have a little issue - whenever I hover my mouse over an option or at the lower right hand corner connection information, when the little text box pops up to displays information; this box is only black and doesn't show me the text.

Has this ever happened to anyone?
member
Activity: 270
Merit: 36
For sure, trying to do so as securely as possible. But need a printer that works with PureOS, and figure one with WiFi is not very secure.
If you're trying to print the backup over wifi, then yeah potential security issues.

Two options, really:
- You could write the paper backup down by hand.

- Use the "secureprint" option. This would negate anyone snooping the on the paper backup over wifi. Make sure to read the instructions as you'll need to write another password on it to decrypt.

Otherwise, turn wifi off on the printer entirely and connect via the classic USB B cable.

Always test the backup too.
newbie
Activity: 27
Merit: 3
For sure, trying to do so as securely as possible. But need a printer that works with PureOS, and figure one with WiFi is not very secure. Hard to find...

There are a few backup options - the Armory only supported root key, and there is also an option to export key list (public and private keys). Figured I should do both.

Thanks for the address type feedback.
legendary
Activity: 1624
Merit: 2481
You should always create a paper backup, no matter what kind of wallet (software- / web- / offline- / hardware-) you are using.

I am not that familiar with armory, is there some kind of 'special' paper backup you are talking about?
Generally.. always have a physical backup of your seed or private keys.

Do not rely on digital storage (e.g. USB / SD cards) only.
newbie
Activity: 27
Merit: 3
Opps.. thanks for clarifying my command line mistake.

It’s not so much a issue per se - just trying to get a printer that works with PureOS which doesn’t have WiFi. I figure that’s the most secure way to create the paper backup. To my understanding, PureOS only works with open source driver printers, figured the community has gone down this rabbit hole before.

Also, is it good practice when using Armory to also create paper backup for the key list just to be safe?
legendary
Activity: 1624
Merit: 2481
I initially tried to use apt-get, but it said "E: Unsupported file /path/to/python-qt4.deb given to command line". I'm assuming this was because of the missing pre-requisites - right?

No, it was because you missed the dot (.) at the beginning:

Code:
sudo apt-get install ./FileToInstall.deb


1. I seem to have trouble locating a printer (for backups) which is supported by open source drivers (http://www.openprinting.org/printers) and doesn't have WiFi - any recommendations?

Well.. without knowing what exactly the issue is, it is hard to give recommendations.



2. For long term bulk savings - Legacy or Segwit addresses?

It doesn't matter.
If you are interested in claiming future forks (i doubt they will be worth anything at all) which won't integrate segwit, you'd need a legacy type address.

If they however do also integrate segwit, you'll be able to claim then with a segwit type address too.
newbie
Activity: 27
Merit: 3
It would also be nice to get everyone's opinion on two things:

1. I seem to have trouble locating a printer (for backups) which is supported by open source drivers (http://www.openprinting.org/printers) and doesn't have WiFi - any recommendations? All new printers are so "smart" I guess I'll call them, just want a "dumb" printer...

2. For long term bulk savings - Legacy or Segwit addresses?
newbie
Activity: 27
Merit: 3
I initially tried to use apt-get, but it said "E: Unsupported file /path/to/python-qt4.deb given to command line". I'm assuming this was because of the missing pre-requisites - right? Like Carlton Banks mentioned, the only way for me to know which pre-requisites were missing was to run dpkg, and then it gave me a list.

Ok, then I'll always stick with dpkg for offline machine. Thanks for this information, good to know.
legendary
Activity: 1624
Merit: 2481
Generally it is recommended to use apt-get if you already using that for package management.

Mixing installation with apt-get and dpkg makes it harder later on to uninstall packages again. Or at least more work.

But since this machine is used for offline storage only, that shouldn't be a problem at all.


When installing Armory updates in the future - do I just run 'sudo dpkg -i' on the new armory.deb file? Do I then need to remove the old version or anything?

You can simply install it using dpkg or apt-get.
You don't need to remove/uninstall anything before doing so.
newbie
Activity: 27
Merit: 3
Thanks so much for all this information, much appreciated - I have successfully installed all dependencies and have Armory running.  Using the dpkg command was certainly helpful to identify the dependency pre-requisites.

Armory is running really smooth, what an amazing program. Very greatful to have this!!

When installing Armory updates in the future - do I just run 'sudo dpkg -i' on the new armory.deb file? Do I then need to remove the old version or anything?

Also, what's everyones opinion for long term bulk savings - Legacy or Segwit addresses?
legendary
Activity: 3430
Merit: 3071
You can likely use whatever package GUI PureOS has to install the deb files rather than terminal if that helps i.e. however you installed the Armory.deb without using the terminal/command line should work for these too.

they're (PureOS) almost certainly just slapping some fancy graphics on the front of the standard Debian dpkg program


this would be alright:

Code:
sudo dpkg -i python-qt4.deb python-psutil.deb


as PhoenixFire and bob123 are saying, there are possibly pre-requisite packages needed before you can install python-psutil and python-qt4. dpkg will tell you what they are, although in a frustrating way: if the pre-requisites themselves have further pre-requisites, then you'll have to go back to your online machine again to get those. The PureOS package manager might not know how to tell you what the missing dependencies (i.e. pre-requisites) are, you'd be stuck then. dpkg will definitely tell you what's going on if there are more packages needed.
legendary
Activity: 1624
Merit: 2481
As PhoenixFire said.. PureOS is based on debian, hence my commands will work.

And he is also right with saying that permissions don't matter. You just need the files.


Just copy it to your USB.
For example, if you have mounted your USB in /mnt/usb, the command would be:

Code:
sudo cp /var/cache/apt/archives/python-qt4.deb /mnt/usb/.
sudo cp /var/cache/apt/archives/python-psutil.deb /mnt/usb/.

Given that the files are named python-qt-4.deb and python-psutil.dev.
But most probably they have a version number behind them.

For example something like python-qt4_4.12.1+dfsg-2+b1_amd64.deb.

Just look for them on your online machine and copy these files over.


The insert the USB into your offline machine, copy it over and install the .deb files.
member
Activity: 270
Merit: 36
Thanks for the assistance PhoenixFire.  Similar to what bob123 mention, I was told to copy packages and other files from /var/cache/apt/ from the networked machine to the airgapped one (would have to do that as root, using commands `sudo cp -ax source_folder destination_folder`, it won't work on FAT32 USB, it has to be formatted with a Linux filesystem so that permissions are retaine), but not guaranteed to work.  

I just don't know how to do this, and figured I was just doing something wrong or needed an offline bundle or something...
In an ideal world yes an offline bundle would do it. I think it became impractical to package all of the dependencies when qt5 replaced qt4 by default.

I wouldn't bother trying to directly copy entire apt folder like that. Just grab the python-qt4 and python-psutil deb from /var/cache/apt/archives and copy them over to your USB. Permissions won't matter this way.
Copy to the offline machine (not the /var/cache/apt/archives folder) and then install (as bob123 suggested) with
Code:
sudo apt-get install /path/to/usb/debs/FileToInstall.deb
You're probably going to need to copy over more than just those two debs but apt will tell you which extra packages you still require.
You can likely use whatever package GUI PureOS has to install the deb files rather than terminal if that helps i.e. however you installed the Armory.deb without using the terminal/command line should work for these too.
newbie
Activity: 27
Merit: 3
Thanks for the assistance PhoenixFire.  Similar to what bob123 mention, I was told to copy packages and other files from /var/cache/apt/ from the networked machine to the airgapped one (would have to do that as root, using commands `sudo cp -ax source_folder destination_folder`, it won't work on FAT32 USB, it has to be formatted with a Linux filesystem so that permissions are retaine), but not guaranteed to work. 

I just don't know how to do this, and figured I was just doing something wrong or needed an offline bundle or something...
member
Activity: 270
Merit: 36
Thanks bob123 and goatpig.  I conferred with the Purism support staff to implement these command line recommendations in PureOS, and was told that this will not work on PureOS - and even trying is far beyond my technical ability.  They provided some complex recommendations which require root privilege but said even that is not guaranteed to work - things I don't even understand, I don't want to ruin my machines; I can't be messing around with root commands.

Is there an offline bundle for installing Armory on the offline machine?  (Wouldn't that solve this issue?)

Thanks!!
There is an older offline bundle that includes python-psutil, but not python-qt4.
Choose armory_0.96.2-ubuntu14.04-amd64_offline.tar.gz
As for python-qt4 and the dependencies that package usually requires itself, you can get them manually from the pureos repo.
For python-qt4 that'd be here: https://repo.pureos.net/pureos/pool/main/p/python-qt4/
Of those, you'd want "python-qt4_4.12.1+dfsg-2+b1_amd64.deb", I think. You should also at least be verifying these files are genuine and haven't been tampered with if you're going to take the offline installation seriously.

Realistically... getting all the needed .deb files from your online machine's apt cache is far easier, as bob123 mentioned. You're running Linux, and the distribution is based on Debian. You'll have been using root to install any packages thus far even if you haven't realised it. Caution is fine but we don't even know what commands you've been told to run by Purism support. Shying away from any use of root whatsoever isn't going to solve the problem.
newbie
Activity: 27
Merit: 3
Thanks bob123 and goatpig.  I conferred with the Purism support staff to implement these command line recommendations in PureOS, and was told that this will not work on PureOS - and even trying is far beyond my technical ability.  They provided some complex recommendations which require root privilege but said even that is not guaranteed to work - things I don't even understand, I don't want to ruin my machines; I can't be messing around with root commands.

Is there an offline bundle for installing Armory on the offline machine?  (Wouldn't that solve this issue?)

Thanks!!
legendary
Activity: 1624
Merit: 2481
Just copy all necessary .deb files to your offline computer.

Since you already have installed armory on your online machine (including all dependencies), you can simply copy then over.
You can find them in:

Code:
/var/cache/apt/archives

Copy your armory installation file, python-qt4 and python-psutil over and install them by running the following in the directory where the files are stored:

Code:
sudo apt-get install ./FileToInstall.deb
newbie
Activity: 27
Merit: 3
Hi goatpig. Thanks for this information, I'm not sure how to implement this procedure - looks like I have some research to do... I don't know much about Linux or command line. Is this difficult to accomplish?

Thanks so much for all your work on Armory!!!
legendary
Activity: 3640
Merit: 1345
Armory Developer
Download your distro installer ISO from the online machine. On the offline machine, set the iso as a file:: source in your sources.list. Then you can apt-get update and apt-get install.
newbie
Activity: 27
Merit: 3
Hello.

I'm in the process of trying to setup an airgapped Armory setup, and am having issues with how to install Armory on the offline machine. Both computer are running pureOS.  So far I have installed Bitcoin Core 0.18.0 and Armory 0.96.5 on my online computer and seem to have everything working - Armory is online and connected. During my installation, I ran into a dependency issue for python-qt4 and python-psutil, so I had to run sudo apt install for both of those.  So my question is: how am I suppose to install the armory.deb file on my offline computer since I'll be missing these 2 dependencies?

I'm new to Linux and Armory, so assistance would be much appreciated. Thanks!!
Jump to: