Ltspchrootfixsources

(I put this HOWTO above all other HOWTOs because it is my stance that it should be followed in *any* production-level Ubuntu LTSP installation.)

Modify LTSP chroot /etc/apt/sources.list to include -updates repository for newest stable packages

(This page assumes you're using Ubuntu Hardy 8.04.1 (i386), but can be modified to fit pretty much Ubuntu setup.)

By default, the 'ltsp-build-client' command in Ubuntu Hardy/8.04.1 will pull packages from 2 Ubuntu repositories, as well as generate a chroot sources.list file within the newly created chroot with the same 2 repositories, shown below:

deb http://archive.ubuntu.com/ubuntu hardy main restricted
deb http://security.ubuntu.com//ubuntu hardy main restricted

Over time, packages that make up the LTSP chroot are updated with (sometimes major) bugfixes. By Ubuntu's packaging standards, a SRU is performed for packages that are deemed stable enough for people who utilize the "Recommended Updates" repositories (Check out System -> Administration -> Synaptic Package Manager, under Settings -> Repositories -> Updates). A default LTSP chroot will not inherit them, however, without extra ltsp-build-client options (such as —copy-sourceslist on a server with the hardy-updates repository already enabled in its own sources.list). Chrooting to /opt/ltsp/i386 and performing an 'apt-get update && dist-upgrade' won't upgrade to new packages in hardy-updates, since the sources.list file doesn't contain the hardy-updates repository. Even building a new chroot from scratch using ltsp-build-client won't help as it doesn't, by default, pull packages from hardy-updates.

To fix this, we need to modify our existing /opt/ltsp/arch/etc/apt/sources.list file to include our releases hardy-updates repository as well, and then do an upgrade inside the chroot.

First, let's modify our LTSP chroot sources.list (assuming we're using i386-based chroot on an Ubuntu Hardy installation):

echo "deb http://us.archive.ubuntu.com/ubuntu/ hardy-updates main restricted" | sudo tee -a /opt/ltsp/i386/etc/apt/sources.list

Now let's chroot into the LTSP client chroot directory, mount /proc and do a update/dist-upgrade to pull down all updated packages in hardy-updates:

sudo chroot /opt/ltsp/i386
mount -t proc proc /proc
apt-get update && apt-get dist-upgrade

Follow any directions/instructions while upgrading packages. Make sure you tend to any errors while upgrading, as packages that fail to install correctly could potentially cause thin-clients to not boot correctly.

Lastly, let's exit the chroot, run ltsp-update-kernels (in case there was a kernel upgrade in the chroot) and rebuild our NBD thin-client image:

exit
sudo ltsp-update-kernels
sudo ltsp-update-image

Obviously you'll have to reboot any thin-clients for the new image to apply and for you to enjoy fresh, bug-fixed packages.

Notes:
Ubuntu bug #277331 reported for including *-updates when using 'ltsp-build-client'

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License