My first attempt to upload a large tarball to Glacier was a success as described here, but subsequent ones failed because the FreeNAS server is headless. I get shell access to its jails in a browser tab from one of the Mac clients. If I launch a slow upload and I close the browser or the client goes to sleep while the upload is in progress, the shell session terminates and the upload is aborted.
One solution is to run these shell sessions in
tmux. I have completed a second upload – pics2012.tgz, weighing in at 1.4G – in a
tmux session that persisted through two browser shutdowns and one client sleep session, returning to work as expected with
tmux attach every time.
For this I had to install
tmux on the
awsboss jail first, and I ran into a problem:
pkg install tmux would not work, and
pkg install <ANYTHING> would not have worked either, for that matter. There are two possible fixes. One is to fix
pkg install and try again
pkg install tmux. The other is to ignore the problem and try
pkg_add tmux instead. This is the old-school way of adding packages and it is discouraged with the warning that it will “cause inconsistencies in the package management database.” Whatever that means, it sounds serious, though a warning is not the same thing as an error, so I did it anyway.
While I was at it, I also ran
pkg_add mosh, because MOSH seems to be another way to get state-preserving shell connections. This is of no use to me at the moment, but it will come up later. This post is motivated by my trying – and failing – to get
pkg install to work properly on a FreeNAS 9.2.0 jail. I thought that would be easy, but I was wrong.
My googling turned up a fix that applies to FreeNAS 9.3, which allows two kinds of jails: port and standard. Port jails can run
pkg install <ANYTHING>. Standard ones by design do not, but they can be persuaded as described here. I thought that the fix would apply to FreeNAS 9.2 jails as well, but the steps outlined in this discussion rely on some source files being present at
/usr/src/share/keys so that you can run
# cd /usr/src/share/keys && make && make install
There is no such directory path in a regular FreeNAS 9.2.0 jail, so this option, as far as I can tell, is out. But some pieces of the process did work, and may have been beneficial, as follows:
# rm /usr/local/etc/pkg.conf
The first step above gets rid of a useless
pkg.conf that has one line that trips up
pkg install, so no loss there. The second is more interesting: it did something to both
mosh. I don’t know, but I hope that whatever inconsistencies the FreeNAS documentation warns about when it discourages the use of
pkg_add are fixed if you run
pkg2ng immediately after you
pkg_add anything. The job of
pkg2ng seems to be that it converts installed packages from old-school
pkg_ style to the newer
pkgng style that in theory should have worked out of the box.
That’s all I have: the hope that
pkg_add won’t screw up anything in practice, and that
pkg2ng will fix what
pkg_add could have screwed up in theory.