FS#24510 - Packages marked as installed before fully installed
Attached to Project:
Pacman
Opened by Robert (holtr94) - Monday, 30 May 2011, 22:57 GMT
Last edited by Dan McGee (toofishes) - Tuesday, 09 August 2011, 15:12 GMT
Opened by Robert (holtr94) - Monday, 30 May 2011, 22:57 GMT
Last edited by Dan McGee (toofishes) - Tuesday, 09 August 2011, 15:12 GMT
|
Details
Summary and Info: It seems that packages are marked as
installed before they are fully installed/upgraded. My
computer is prone to random restarts, and one happened
during a system upgrade. udev was in the middle of being
upgraded when the computer rebooted, corrupting the udev
libraries. I would expect that I could enter the same
upgrade command again (pacman -Syu) and have it pick up
installing udev. Instead it moved on to the next package to
be upgraded. Pacman had marked udev as successfully
installed before it finished writing the files. In order to
fix udev I had to run "pacman -Sf udev".
Steps to Reproduce: 1. Start installing package (any one should work) 2. When pacman gets to the installing step forcefully restart the computer (power loss, crappy hardware, hold power button etc.) 3. Reboot (depending upon the level of breakage failsafe mode may be neccessary) 3. Verify package is broken 4. Run same command used for installation 5. Observe that pacman reports the package as installed |
This task depends upon
Do you have /var/ on a separate partition? If so, your machine may have flushed the database files to disk but not yet flushed the udev package update to disk on a different partition.
Without doing a full sync() after each package installed, it is hard to ensure nothing goes wrong in the package install process. Atomic operations across multiple filesystems are not easy or even possible if your computer is subject to random restarts.