个人工具

UbuntuHelp:UbuntuLTSP/UpdatingChroot

来自Ubuntu中文

Wikibot讨论 | 贡献2008年12月16日 (二) 20:25的版本

跳转至: 导航, 搜索

<<Include(Software/804Template)>>

Updating the Ubuntu LTSP client chroot

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. Note for upgrading across releases: If you have upgraded the LTSP server to a new release (such as Hardy -> Intrepid), it is recommended to build a new client chroot from scratch, as the ltsp-build-client script does things a normal apt-get upgrade will not. Please build a new client chroot from scratch if you are upgrading to a new Ubuntu release.

  • Before we start, it might be a good idea to back up your existing chroot, in case there are modifications/customizations that you don't want to lose. If you have the room on your hard disk, and you want to be able to easily revert to the original chroot in case something goes wrong, simply do a recursive copy of your chroot:
sudo cp -a /opt/ltsp /opt/ltsp-orig

To upgrade your live chroot, we need to modify our existing /opt/ltsp/arch/etc/apt/sources.list file to include our 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, unmount /proc, 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 umount /opt/ltsp/i386/proc
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'