[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