I have been using Linux for thirteen years, but recently I have installed Manjaro for the first time. When I listen to the various podcasts and YouTube channels, I sometimes hear that updating Manjaro through the GUI is dangerous and that something might go wrong. Is that even true? Should I develop a habit of updating via terminal? Or should I ignore those words and trust the GUI?
Ideally the best best practice is to update in a TTY so that way you are completely logged out and nothing is in use so you don't update things that are actively running.
I have very little experience updating via GUI, but I never had any issues when I did.
it is better to update in CLI/TTY on almost all distributions as it is usually faster and gives a better overview over the updates and potential errors.
There were some updates that were announced with the suggestion to do them in TTY as major GUI parts were updated which could lead to a crashing GUI during the update - like the whole DE could crash - I think it was some Xorg updates or systemd updates. Might be that the influencers took those as general example.
When it comes to a (quasi) full system upgrade such as the big updates announced in the official #announcements category, then it is always best to completely log out of your GUI session and run the update process in a
tty, because certain libraries et al may be in use by your GUI that are going to be replaced by newer ones, and this could lead to some unpredictable behavior. You will either way need to reboot after a major update, because this generally includes a newer version of the kernel.
When updating only a handful of packages ─ say that there is an update for Chromium and maybe one or two other packages ─ then it's safe to do this from within the package manager GUI, so long as you don't have the applications running that are going to be updated.
Installing new packages which are not yet on your system can safely be done from within the package manager GUI.
To be honest, I run updates almost exclusively in GUI with Pamacv GTK. In general, almost all my package management is done though GUI. The only time I do not use GUI is essentially when something is not going right, and it is more comfortable to do it in CLI than forcing myself to use GUI.
I do that for about two years and a half, and it is really, really rare that it failed to me. It happens once that it crashed in middle of update, and in that specific time, Manjaro devs clearly said in their announcement that doing that specific upgrade in GUI (and even in CLI within a graphical session) was strongly discouraged because it was too risky; I still did it at the time within GUI because I am a little bit ■■■■■■■■, and I did it "for the sake of science" because I wanted to see it for myself. Outside of that specific event, doing update in GUI did not cause me problems personally. And when I have troubles upgrading, it is not inherently because I am doing it within GUI.
But to be honest, the event I mentioned above was a bit traumatizing for many users, and on my experience (which of course, is not scientific, but it's the best data I can analyze), I consider that doing it within TTY all the time no matter what is really overkill.
But if Manjaro devs gives special guidances for a specific upgrade, just follow the instructions. Don't be an idiot like me, unless of course you are willing to take the responsibility on yourself. lol
Pretty important info: I am currently using Manjaro Cinnamon, and in over 2,5 years, I have essentially used Manjaro Cinnamon and Manjaro XFCE so far.
We only note to use CLI when there is an update which might break your graphical session. pamac can be used via UI or in the CLI terminal. pacman is only a CLI application and octopi can be used as UI.
Anything that involves
mesa (i.e. OpenGL) and/or the kernels is always best done via a
tty. That doesn't mean that you couldn't do it from within the Pamac GUI, but simply that it's better if you do it from a
tty while completely logged out of the GUI.
Updating via a
tty really isn't difficult or scary. All one needs to do is...
Log out of the GUI session.
Press Ctrl+Alt+F2 (this is for Plasma users ─ it will be another Ctrl+Alt+Functionkey combination for other desktop environments).
Log in at the character-mode login prompt using your regular user name and password.
Issue the following command...
sudo pacman -Syu
sudo systemctl reboot
As if nothing can go wrong through TTY...
Best thing is to update your backup before each update, then you wouldn't need to bother.
I have alias in my bashrc file
alias t3='sudo systemctl isolate multi-user.target'
I'm not confident for 100% that it does log out, but i think so
So it's ease just type t3 and go ahead with update.
I didn't say that this would be the case. But it does minimize the chances of things going wrong because some shared libraries that were in use are being overwritten by new ones.
Absolutely! Make a full system backup with
That's not a bad idea, but if you log out manually, then you can make sure that you've saved all open documents first that you were working on.
Thank you all. Amazingly friendly community! Thank you, @Aragorn. I've done the update with your instructions.
Hope you don't mind me marking @Aragorn's post as the solution to this topic.
Of course not. I wanted to do it myself, but I forgot.
@Aragorn doesn't mind.
I guess that much I could tell