[USER STORY] ICU blocks system upgrade? - I just ignore it! NO, DO NOT!


Okay, I just did an Oopsie Woopsie by ignoring the icu package in /etc/pacman.conf because it blocked garuda-upgrade. Can’t be that important, right? (I should know better!)

Was trying to update my system for more than a week.
garuda-update did not update because electron-22/23 something had a dependency to icu 7.4 but everything else wanted icu 7.5. (it was rocketchat and balena etcher package that depended on electron-22/23 debs).
Being stressed by work and life itself, my brain tells me, just ignore it and update, can’t be that important.

Update, a bunch of yellow text, ahhhh just warnings, who cares! I have snapshots anyway if something goes wrong.
Reboot. . . .
Ramdisk (initramfs) loading forever . . .

Snapshots??? From 2023 because I’ve bricked everything else.
Fallback initramfs? All not loading.
PANIC! Take a break, deep breath.

OK, boot from USB Garuda Linux.

Use the provided tools for restore and chroot. . . oh no, my system is encrypted I can’t use the tools since the tools doesn’t see the btrfs volumes.

Ehhhhh manual it is.

First decrypt my stuff:

cryptsetup open /dev/nvme0n1p2 cryptlvm

Mount the root and home

mount -o subvol=@ /dev/mapper/cryptlvm /mnt
mount -o subvol=@home /dev/mapper/cryptlvm /mnt/home

Chroot:

arch-chroot /mnt

Okay lets upgrade icu via pacman . . . HAHA, NO! pacman is bricked as well since it depends on icu 7.5.

Okaaaaayyyyyy need to manually fix icu 7.5 by following pacman - ArchWiki, getting icu 7.5 manually from Arch Linux - icu 75.1-1 (x86_64)

Following the guide - THIS MAY BRICK YOUR SYSTEM EVEN FURTHER!:

YOU HAVE BEEN WARNED
tar -xvpwf icu-75.1-1-x86_64.pkg.tar.zst -C / --exclude .PKGINFO --exclude .INSTALL --exclude .MTREE --exclude .BUILDINFO

Manually confirm every step with hitting y and ENTER.

pacman works again! Upgrade. . . ehhh icu cant be upgraded because files partially already exist by the manual fix. . .
Force the override:

pacman -Syyu --overwrite "*"

System updated! Reboot? initramfs still stuck? Ah yes! Need to mkinitpico -P in chroot, I forgot.
Back to live boot, decryption, mounting, chrooting, mkinitpico -P.
Reboot, everything is working again!

Thanks for reading by little User Story :slight_smile:


If the upgrade is blocked by old dependencys, take your time and remove old packages instead of ignoring new ones, especially not icu!

6 Likes

is solved :slight_smile: just story telling

3 Likes

icu is the one thing holding the system together. Ignore it (like I, this guy and many others may have done), and the whole system collapses.
This is yet another reason added on top of the others as to why I actually make snapshots before doing stuff like this.

oh shoot, i stole your profile picture spot on the list. sorry

2 Likes

Thanks for that story, that was an insanely nice one! Well written, nice pictures and very clear instructions :stuck_out_tongue::ok_hand:

5 Likes

Very entertaining story and a great cautionary tale. I haven’t caused a mess like that in some time. It’s always fun when you finally figure out the solution. :+1:

My cautionary tale, don’t try to change your installed drivers from nvidia to another manufacturer when you’ve changed the default location of your pacman cache (to save on space). Chroot and pacman does not appreciate this, and it took a while to realize what the problem was and revert my changes. Lots of head scratching there until it finally clicked as to why pacman was borked.

4 Likes

Did something similar - I forced an update because it was holding back the system upgrade. The update didn’t even finish and pamac stopped working. Luckily, I have regularly scheduled backups via Snapper for things like this

1 Like

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.