个人工具

“UbuntuHelp:UbuntuLTSP/UpdatingChroot”的版本间的差异

来自Ubuntu中文

跳转至: 导航, 搜索
第7行: 第7行:
 
----
 
----
 
=== Updating the Ubuntu LTSP client chroot ===
 
=== Updating the Ubuntu LTSP client chroot ===
 +
'''Video tutorial available at''' http://www.youtube.com/watch?v=bARxhOn3mKo
 
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:
 
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:
 
<pre><nowiki>
 
<pre><nowiki>
第13行: 第14行:
 
</nowiki></pre>
 
</nowiki></pre>
 
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.
 
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 (you must also re-install any packages you had installed previously.), as the ''ltsp-build-client'' script does things a normal ''apt-get'' upgrade will not. You can do this (including a backup) by following commands:''
+
''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 (you must also re-install any packages you had installed previously.), as the ''ltsp-build-client'' script does things a normal ''apt-get'' upgrade will not. Ensure all clients are logged out/shut down or you might experience very strange things. You can backup your current chroot and build a fresh one after the server release is upgraded by following commands:''
 
<pre><nowiki>
 
<pre><nowiki>
sudo cp -a /opt/ltsp /opt/ltsp-orig
+
sudo mv /opt/ltsp /opt/ltsp-orig
sudo rm -Rf /opt/ltsp/*
+
 
sudo ltsp-build-client
 
sudo ltsp-build-client
 
</nowiki></pre>
 
</nowiki></pre>
 
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.
 
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):
+
* First, let's copy our server's sources.list file to the LTSP chroot (assuming we're using i386-based chroot on an Ubuntu Hardy installation):
 
<pre><nowiki>
 
<pre><nowiki>
echo "deb http://us.archive.ubuntu.com/ubuntu/ hardy-updates main restricted" | sudo tee -a /opt/ltsp/i386/etc/apt/sources.list
+
sudo cp /etc/apt/sources.list /opt/ltsp/i386/etc/apt/sources.list
 
</nowiki></pre>
 
</nowiki></pre>
 
* Let's make sure the variable LTSP_HANDLE_DAEMONS=false is active. This will prevent the server from restarting its own daemons when upgrading the chroot:
 
* Let's make sure the variable LTSP_HANDLE_DAEMONS=false is active. This will prevent the server from restarting its own daemons when upgrading the chroot:

2009年11月17日 (二) 20:55的版本

This page is specific to Ubuntu versions 8.04

If you find this information applicable to additional versions/releases, please edit this page and modify this header to reflect that. Please also include any necessary modifications for this information to apply to the additional versions.


Updating the Ubuntu LTSP client chroot

Video tutorial available at http://www.youtube.com/watch?v=bARxhOn3mKo 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 (you must also re-install any packages you had installed previously.), as the ltsp-build-client script does things a normal apt-get upgrade will not. Ensure all clients are logged out/shut down or you might experience very strange things. You can backup your current chroot and build a fresh one after the server release is upgraded by following commands:

sudo mv /opt/ltsp /opt/ltsp-orig
sudo ltsp-build-client

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 copy our server's sources.list file to the LTSP chroot (assuming we're using i386-based chroot on an Ubuntu Hardy installation):
sudo cp /etc/apt/sources.list /opt/ltsp/i386/etc/apt/sources.list
  • Let's make sure the variable LTSP_HANDLE_DAEMONS=false is active. This will prevent the server from restarting its own daemons when upgrading the chroot:
export LTSP_HANDLE_DAEMONS=false
  • 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. Also, if you get any errors that look similar to: Can not write log, openpty() failed (/dev/pts not mounted?), disregard them as they are purely cosmetic. See LP Bug 330194 for updates on this.
  • 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'