Re: Problems of using pacman and updating the filesystem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



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@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@Never #PackageRequired@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


[Index of Archives]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux