Updates and upgrades

Migrating from Ubuntu, first thing I want to understand update/upgrade procedure.
After reading few sources it seems quite complicated. I’ve used to routine with apt update && upgrade. The way as simple may be to use Pamac GUI > Updates > (check all) > Apply.
Q1: Assuming nothing brakes, will this (theoretically) ever be enough?
In Ubuntu there is a term - distribution upgrade.
Q2: Correct to say that upgrade of packages and OS and kernel happens same time?
Q3: There is no difference in update, upgrades, dist-upgrade - it is all just Stable Update?
Q4: How about those elaborate procedures which include steps like “Logout of GUI and switch to TTY”, are those to bring extra reliability or Pamac GUI indeed is just one step of proper procedure?
Q5: What is the strategy dealing with issues brought by updates, wait before all issues have solutions?
My procedure/checklist so far:

- for Plasma, temporarily
  revert to the default global theme (Breeze/Breath) (include desktop layout)
  revert display manager (sddm) to the default theme (Breeze/Breath)
- manual timeshift snapshot (check size of snapshots)
- Logout of GUI and switch to TTY  Ctrl+Alt+F4 (F7 GUI)
- Ensure mirror is up-to-date (https://wiki.manjaro.org/index.php/Pacman-mirrors ; https://repo.manjaro.org/)
  $pacman-mirrors
- clean up
  $sudo journalctl --vacuum-size=50M #don't logs auto rotate?
  $sudo paccache -ruk0 #or/and pamac clean --keep 3?
- check available space #what is the recomended minimum?
- Don’t ever interrupt the process
- Update
  $pamac upgrade -a #does this do all what "$sudo pacman -Syyu" does?
- solve on error messages
- Some updates will reqire restart. Watch for output messages or restart anyway
- remove orphans. check before confirming, orphan could be GDM or smth important #how to identify?
  $pacman -Qtdq | pacman -Rns - #If no orphans were found, the output is "error: argument '-' specified with empty stdin"
  or
  $pamac list -o; $pamac remove -o
- remove unused foreign packages (maintained list of foreign packages)
- rebuild AUR/source packages

Assuming pamac is working well. Close. You will still have to manage pacnews etc.
There will never be a 0 chance of manual intervention.
If you dont use the AUR and disable it in pamac … then this should be pretty achievable.

Assuming that both packages have an update … then yes. Though one after the other.

Yup. Rolling distro. Update everything all the time whenever its available, and before installing something new. In stable branch this generally means 1 or 2 update ‘groups’ a month possibly plus some hotfixes if necessary. See for example the recent update announcement.

This is a method employed out of fear of the graphical session failing during update.
It is an abundance of caution, and not required.
In all my years I think I have seen it required only once.

Keep backups, read the announcements … some people even like to wait some days for the update and bug reports to ‘settle’ (though again this should not strictly be necessary).

I suppose I’ll close with what my updates look like.
(I use pacman, not pamac, and do use the AUR … but it is still only a few simple commands)

## you know this one. sync/upgrade repository packages

sudo pacman -Syu

## also update the database - most users ignore this, but I use the db semifrequently

sudo pacman -Fy

## update AUR packages. I use helper 'paru'. 

paru -Sua

Welcome to the forum! :vulcan_salute:

It’s not. Quite the opposite, actually. :wink:

In Arch-based distributions, there is no distinction between updating and upgrading, courtesy of the fact that it’s a (curated) rolling-release distribution. :wink:

For any major update — which typically comes along about once or twice a month, and always comes with a dedicated announcement thread under Stable Updates — it is generally advised to not use any GUI package manager at all, and in fact, to log out of the GUI completely, log in at a tty, and run the update process from there.

This way, only a minimum of shared libraries will be in use that will be overwritten during the update process and might cause erratic behavior in your GUI while updating.

Yes, but that’s a Debian thing and it’s not applicable to a rolling-release distribution. Once you’ve updated the system, you’ll always be on the very latest — or at least, inasmuch as Stable would be “the latest”, because due to the curated nature of Manjaro, Stable is always a few weeks behind on bleeding-edge distros like Arch proper or a non-curated rolling-release distro like PCLinuxOS.

Yes, it’s all done in one go.

However, when it comes to the kernel(s), then you have to understand that updating the kernel(s) does not move you onto a new kernel version. The updated kernels are still the ones you have installed, but fitted with the latest patches and security fixes for those particular kernel versions.

That is correct. But there are of course also the Testing and Unstable branches.

Unstable gets updates on an almost daily basis, just as in Arch, because those are packages imported from Arch Stable. Testing gets updates more frequently than Stable, but not as often as Unstable, unless it’s to fix an urgent problem that causes serious breakage or that poses a security hazard.

In theory, one should be able to update the entire system by way of the Pamac GUI or Octopi, but in practice, doing it from a tty while completely logged out of the GUI is the safer and more reliable way.

If you’re absolutely new to Manjaro, then I would advise waiting until @philm, @Yochanan or one of the other team members has posted the announcement thread, and to certainly read the first two posts on said thread, because they always contain important information regarding the update.

Once you’re more experienced and you also look at any announcement threads for the Unstable and Testing branches, then you already know to a large extent what to expect from a Stable update, and then you can risk running the update process even if the Stable announcement thread has not been posted yet, provided that your mirrors have already synced in the meantime — the update notifier icon in your system tray will tell you when they have synced and when your system is thus ready to be updated.

All good. :wink:

Ah no, in Arch and Manjaro, Plasma runs on tty1 and you can use tty2 to tty6 for character-mode logins. XFCE runs on tty7 and uses tty1 to tty6 for character-mode logins. I’m not sure what tty GNOME runs on, though.

You don’t need to refresh your mirrors all the time. Sure, you can do that if your mirrors haven’t synced yet, or if they’re rather slow, but in general, you don’t have to do that very often.

Logs do auto-rotate, but by default, journald will commandeer 20% of your filesystem size for its logs. You can restrict this by modifying /etc/systemd/journald.conf of course. I have set mine to a maximum size of 250 MiB — see… :arrow_down:

man journald.conf

Indeed. :wink:

You only ever need to use pacman -Syyu with the double y after updating your mirror list. Normally you would use pacman -Syu only.

However, there is a difference between pamac and pacman, in that pacman does not have access to the AUR, while pamac does.

The recommended way is to first update everything from the repository by way of pacman, and only after that you can update the AUR stuff, either with pamac or yay.

Note: pacman needs to be run as root or with sudo for updating the system, while pamac and yay need to be used as an unprivileged user — they will prompt you for a password when needed.

I generally don’t bother with that, or at least not with a wholesale approach, because certain things may be regarded as orphans when they were explicitly installed, and that may lead to some nasty situations.

Also, cleaning out the cache should in theory not be needed, because by default, pamac only keeps the last three versions of each package in the cache. But personally I always completely empty the cache — that’s just my personal preference.

3 Likes

Best advice I can give is

  1. Read the announcement threads, updates and potential issues will be posted there

  2. Take regular backups with your program of choice

  3. Keep an up-to-date live usb handy

If you do those 3 things you’ll be able to fix almost anything

I migrated from mint 3 years ago and have had hardly any issues in those 3 years. You can use terminal/tty as much or as little as you want. If you prefer gui then pretty much most system maintenance update upgrades etc can be done through pamac, manjaro package manager

And welcome to the forums and hope you enjoy manjaro

3 Likes

My (stable) update procedure;

  1. Ignore it until at least the next day

  2. Come here, read the update thread, see if there are any issues that will affect me

YES => wait until issues are resolved or an acceptable workaround is posted

NO => manual timeshift backup, install update (using Pamac GUI and never had a problem. I don’t have AUR enabled in Pamac though, that option is pretty much 100% guaranteed to cause some sort of problem at some point if you use Pamac for both system updates and AUR).

2 Likes

My previous distribution was Linux Mint, and I have used others. Linux Mint is based on Ubuntu. Their LMDE is based on Debian.

From reading your Topic, just want to make sure that you are aware that Manjaro is a Rolling Release. Manjaro is based on Archlinux. Don’t expect it to be like Ubuntu. Distrowatch is a good place to get an overview of the various distributions. Sometimes it can be helpful to review wiki.archlinux.org or their forum, but come back to this forum to post anything specific to Manjaro.

Regarding mirrors, see this post.

These two links can be helpful:

I don’t use flatpak or snap, and I update once a month. In my case, I do use VM’s to test. I have my own backup, but many use Timeshift. I use the command line pacman to update packages from Manjaro supported Repositories. I use command line pamac to install and rebuild packages from the AUR.

Q1: You do NOT have to manually do the paccache. There is a systemd timer, pamac-cleancache that will take care of it. To change how many versions, check pamac.conf or pamac GUI.

systemctl list-timers

systemctl cat pamac-cleancache.service

grep -i keepnumpackages /etc/pamac.conf

See this post.

Q2: You will know what is being updated by reading the Stable Update Announcement. The first two posts are the most important. When I was using Linux Mint I made sure to read Clem’s Release Notes and his Blog. Make sure the kernels (always have 2 installed) are LTR. The kernel version releases are updated when you do an update. However, I installed the new kernel versions via the script mhwd-kernel.

Q3: I’ve taken the words upgrade and update to mean the same thing on a rolling release. A user is constantly updating and upgrading various system and application software that runs on their hardware. The updating is minor releases and modifications, while the upgrading is major versions. How do you know what is going to be installed - Read the Stable Update Announcement. In addition the command checkupdates or pamac checkupdates will list the packages that will be updated/upgraded.

Q4: I have seen the recommendation to only do an update from the command line.

In this thread I list the steps I take.

In your list, I don’t believe I saw anything about reviewing pacnew files.

Also, any changes you make, document them. Just a simple text file, so you can refer to them if necessary.

Q5: Read the Stable Update Announcment, especially posts 1 and 2. philm very nicely lists, “Known issues and solutions”.

  • Search this forum.
  • Search the Announcement.
  • If you are having a problem relating to the update, post in the update’s Announcement.
  • If not specific to the update, create a new Topic. If in question, just post a new Topic.
  • If you are having a problem with a specific application.
    • View that application’s forum
    • View that application’s source bug database (gitlab Issues)
      • pacman -Qi PKG | grep URL might be a start where to go online

In no time at all, you’ll get a good understanding.

Have fun. :slight_smile:

1 Like

Not to be all negative … but …
Is it the best idea to propose 2 known buggy managers ?
If pamac has issues it certainly has them in relation to the AUR … and yay still has at least the bug where it wont respect ‘cleanbuild’ options etc.

(yeah … I suppose they are in the repos … but that just begs another question…)

Thanks everyone! Updated successfully (so far) yesterday. It was outdated 1.5 months

2 Likes

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