Adventures in updating from Dreamhost’s Ubuntu Precise to Trusty
I jotted down some notes while fixing up my sites after the Ubuntu Trusty Tahr update. Most things upgraded smoothly, but I had to tweak my more eccentric scripts. Maybe they will be of interest to my fellow shared-hosters.
SSH Fingerprint change?
Immediately after the upgrade, the server’s SSH fingerprints changed, resulting in scary error messages.
I suspect this was a temporary misconfiguration, because the fingerprints switched back a few days later (but only after I had updated all the fingerprints, darn it!).
Mail changed to
On the old OS, the
bsd-mailx, but on Trusty it changed to
heirloom-mailx. The two have some incompatible options – in particular Heirloom makes it difficult to set custom mail headers. On Trusty,
bsd-mailx is still available, but needs to be explicitly invoked. For example, to send HTML email:
bsd-mailx -a 'MIME-Version: 1.0' -a 'Content-type: text/html; charset=utf-8' \ -s subject email@example.com < example.html
I use Trac for development tickets/planning, and Trac sites need to be upgraded:
trac-admin ~/trac.example.com/trac upgrade trac-admin ~/trac.example.com/trac wiki upgrade
SVN Working-Copy Upgrades
I have several sites that are under Subversion version control. The new SVN changed the format of working directories. Before working with them, they needed to be upgraded:
I have a site that is regularly updated from XML data sources using a cronjob script. The script transforms the data to HTML using
xslproc to process XSL templates. With Trusty, the
xsltproc program has disappeared.
To install it locally, I just grabbed the package and put in
apt-get download xsltproc dpkg-deb -xv xsltproc_1.1.28-2ubuntu0.1_amd64.deb ~/tmp mv ~/tmp/usr/bin/xsltproc ~/bin/
Restoring Python’s XML lib
The new Python was missing the XML library, so I needed to install it locally:
pip install lxml -t `pwd`
Yes, that’s right. I use the world’s most-hated language, Perl! The old OS had
cpanm package manager, which is particularly good at performing local module installs. I installed a local copy from CPAN:
export PERL5LIB=~/perl5/lib/perl5/ cpan -iI App::cpanminus
That’s it so far. I’m looking forward to the new features made possible by Trusty (HTTP/2 in particular)!