I see you’re a 1st time poster… not sure how long your GNU/Linux experience is… I thought I might pass along some advise / knowledge / opinions that you might find useful.
Some background
GUI tools are nice… when they work. I know that pamac-gtk (the “add/remove software” gui) has a little “chevron”/arrow in the bottom right that people can click to watch the progress/log… but I bet there are folks who are oblivious to it… and having access to see the log via the GUI only works so long as the application does not terminate/close.
I know it’s been suggested/highlighted with some updates that “toolchain” is involved/impacted… and in these cases it’s recommended to use “pacman-static” to do the update as it’s not affected by the low level dependencies like glibc changing during the update process.
And why is this important? Because here (and perhaps all Arch-based distro’s) updates are applied to a live system… Windows and some Linux Distro’s like Debian download updates, reboot, install the updates, then load back into the desktop. Updating a LIVE system needs special care/attention… as when something “breaks” (like a critical dependency being replaced)… things fail / terminate. We reboot to load the new kernel and app configs, but at no point during our install was the system in a “safe” state.
So this scratches the surface of why “we” need to have awareness of what type, like (toolchain or not) of updates we are downloading so that we can change our approach to increase success.
Give [HowTo] Updating Manjaro as safely as possible a read… it provides more background for what I’ve provided.
I never use the GUI tools for system updates. I don’t always follow the advise of the link I provided in ensuring I always use a TTY… in those cases I opt to use a terminal. As a plasma DE user, I generally save the TTY updates for when there has been a major KDE update… like moving between major versions.
So let’s circle back to your experience and try answer some questions directly…
Q&A
Why did the pamac-gtk (gui updater/installer) terminate mid update?
I can’t know for certain, but I would suspect (a) something related to toolchain or (b) another important dependency for the app changed during the update process and caused the failure.
The other thing to note is that pamac-gtk is kinda like a “wrapper” in that it isn’t doing the work directly… but is running “terminal” commands in the background to accomplish it’s tasks… so even though the GUI failed, the task is likely still running… verify that before doing anything “drastic” like rebooting before you know what’s gone / going on.
Where can I check on the status / log of an update?
Typically, regardless of the update method, you should be able to find a log of all updates in the file /var/log/pacman.log
If in a terminal type something like cat /var/log/pacman.log | more, or open the file in your favorite GUI text editor.
keep rerunning the command or refreshing the GUI text viewer/editor to watch new lines being added as progress is being made.
All successful updates finalize with the following line…
[ALPM] transaction completed… until you see this, keep refreshing, and don’t think about rebooting.
Why are initramfs files deleted during an update?
If you check the update log file, you’ll see a “hook” that ran shortly after the update files were downloaded… [ALPM] running '60-mkinitcpio-remove.hook'... So it’s by design, and can think of at least 2 reasons:
- Your Boot partition is not huge… so existing
initramfsfiles need to be purged to make space for the new ones - updates (especially those with a new kernel) need to have updated
initramfsfiles created
oh, and guess what hook runs shortly after all the downloaded updates are applied?
[ALPM] running '90-mkinitcpio-install.hook'... yup, it recreates new initramfs files so they are present for the reboot (Note: followed by a GRUB update hook)
What’s a better way to to update the system?
Whether using TTY or terminal I always follow the same recipe:
pacman-mirrors --status… verify all listed mirrors have a “sync’d” status of OK… if not, abort and try again latersudo pacman -Syy… update the package database (before updating)sudo pacman -Syuorsudo pacman-static -Syu… update system (use the second command when “toolchain” is involved or if you’re not sure) … (installpacman-staticviasudo pacman -S pacman-static)- scroll up the last 50 or so lines of the progress to ensure any updates to
gruband viamkinitcpiowere successful… if not, troubleshoot and fix before continuing - [SKIP IN TTY & do post reboot]
DIFFPROG=meld pacdiff -s… usemeld(a GUI app) to manually merge the proposed config file changes … OPTIONAL for new users, but something to keep an eye on and get comfortable with config file contents over time viacat /var/log/pacman.log | grep pacnew
[ALPM] warning: /etc/mkinitcpio.conf installed as /etc/mkinitcpio.conf.pacnew.. tells you the two files to look at pacman -Qdt… list out the orphan packagessudo pacman -Rns $(sudo pacman -Qdtq).. remove all orphan packagespacman -Qm… list all foreign packages
8.1 If you don’t install apps via AUR …sudo pacman -Rns $(sudo pacman -Qmq)… removes all foreign packages
8.2sudo pacman -Rns package1 package 2.. selectively remove foreign packages- If you do use AUR…
pamac update -a… update the AUR packages … Note: I sometimes defer this until after the reboot - Reboot