[arch-general] Problems of using pacman and updating the filesystem

Nowaker enwukaer at gmail.com
Fri Mar 7 18:18:32 EST 2014


It seems OP is already done, but I hope this will by useful for anyone 
struggling to upgrade a VERY old Arch Linux.

Warning: this is only for experienced users. Beginners do the backups 
and install Arch from scratch.

Before proceeding, be sure to have several ssh sessions, logged as root. 
Don't rely on sudo. If your session dies in the middle of the process, 
LiveCD and VNC will be your only help. SSH won't let you in because it 
won't be able to exec the shell.

pacman -Sy
pacman -Sd pacman-static coreutils-static #1
sed -i 's at PackageRequired@Never #PackageRequired@' /etc/pacman.conf #2
pacman -Syu #3
pacman -Su --ignore filesystem,glibc,gcc-libs,gcc-libs-multilib
pacman-static -Sd glibc --ignore filesystem #4
pacman-static -S filesystem
pacman-static -S gcc-libs gcc libtool
pacman -S pacman libarchive package-query
pacman -S ca-certificates #5
pacman -Syu
pacman -S mkinitcpio grub systemd #6
mkinitcpio -p linux
grub-mkconfig -o /boot/grub/grub.cfg
sed -i 's at Never #PackageRequired at PackageRequired@' /etc/pacman.conf


Why pacman-static? Because during the process you will end up with a 
broken system that is not able to execute anything because of mismatch 
between glibc (will be newer) and libraries (will be older). You won't 
be able to call pacman at some stage, so you need a statically compiled 
pacman.

Why coreutils-static? Just in case. No binary from coreutils is used in 
my guide, but if anything happens - static coreutils is your rescue. 
Find them in /rescue/bin.


During the process you may see lots of errors reported by pacman - 
cannot exec, or something like that. You can't help this. If a package 
does some important stuff in .install script, you should reinstall the 
package after the process yourself.


#1 I have these packages in my private repo; you need to build them 
yourself from AUR.
https://aur.archlinux.org/packages/pacman-static/
https://aur.archlinux.org/packages/coreutils-static/

#2 In a (temporarily) broken Arch Linux, pacman can't check signatures 
because it's either trying to execute or dynamically link some library. 
It won't work. We have to disable signature checking.

#3 It will fail; done just to download all files to disk.

#4 glibc used to own the directories that currently filesystem owns; we 
upgrade glibc to get rid of these directories, so filesystem can be 
installed smoothly in the next step

#5 Depending on how old your Arch is, it's possible that 
ca-certificates's .install script was not properly run when -Syu was 
performed, so it has to be done again.

#6 In case they contain something important in .install which could fail 
during the first -Syu

-- 
Kind regards,
Damian Nowak
StratusHost
www.AtlasHost.eu


More information about the arch-general mailing list