On Thu, 14 Oct 2010 12:09:38 +0200, Thomas Bächler <thomas@xxxxxxxxxxxxx> wrote: > Am 14.10.2010 11:37, schrieb diederick: >>> Hello, >>> >>> in general you are right, but you never know. Programs are doing something. >>> Some may reload data files even or program code at runtime. >> >> Right. In your earlier post, you specifically mention the kernel. Would >> you say that it is safe to install a new kernel in multi user mode if I >> reboot right after installation, while not using modprobe et al. between >> the installation and the reboot? And if not, why is single user mode >> safer? >> >> Thanks for your quick response, >> Diederick > > There's no "one case fits all" answer here. You always have to consider > files that are in memory vs. files that will be loaded from the hard drive. > > Any application binary and shared library that this binary uses are kept > in memory - regardless if the files are deleted or overwritten while > they are running (same holds for _open_ data files). However, > applications can dynamically load and unload libraries (man dlopen) and > data files. If you replace an existing library or data file with a new > one that is incompatible with the currently running version of the > application, you will have failures. > Qt and KDE are known to fail if you perform a major upgrade while > applications are still running, while minor upgrades usually work. > > The same holds for the kernel: The kernel and the currently used modules > are kept in memory. However, modules may be loaded at any time (for > example if you plug in a new device that hasn't been used before). If > you perform a minor kernel update, the modules are likely to still be > compatible and you won't notice it. If you perform a major update, the > modules will not even be in the right path, leading to failure (popular > example: pacman -Syu and try to use a USB flash drive afterwards, then > come to #archlinux and rant about why Arch does not support flash drives). > > My recommendations: > 1) If you are upgrading your desktop environment, exit your session, > quit your login manager and upgrade from the text console. I advise to > run pacman -Sywu from the desktop and when the download finishes, run > pacman -Su from the text console. > 2) Put all kernel-related packages on --ignore until you are planning to > reboot. If you are not going to reboot, a kernel update will have no > effect anyway. Very clear. Thanks! Diederick -- http://www.diederickdevries.net/