I was wondering if it makes a difference if I constantly update my system or freshly install a new release of manjaro?
due to the nature of a rolling release a fresh install shouldn’t be necessary but what about the new features you add to the system like e.g. the auto snapshot (btrfs), or new window themes that come with eg. Pahvo. would I have to find the information on the new packages on my own and install all of them manually? Or would these also come with the regular updates somehow?
Also what if the manjaro/xfce team decides to change some default/recommended modules? e.g. move away from light-locker to xfce4-screensaver for locking. would I stick with the old method (and have an disadvantage)?
Manjaro is a curated rolling-release distribution. The idea is that you install it only once and then keep it updated.
Besides, the official install images always lag behind on the update process. By the time a new official install image is released, the newer software has already long been pushed out via the update process.
New themes will always be installed along with the updates, and new features that are considered mandatory will be pushed out the same way.
Existing configuration files will not be overwritten if they have been altered by the user. Instead, the new version will be stored as a .pacnew file, and it is then up to the user to merge the file with the existing one.
See above ─ the new items would come installed with the update, but anything you’ve changed or customized will normally not be touched.
However, every update comes with a decicated announcement thread under the #announcements category, and this thread will not only list the changes, but also the steps needed for transitioning to the new defaults and/or for fixing any possible gotchas.
Create a hidden directory in your home folder named .sysconfs
In here, make copies of modified system files, such as the .conf files found under /etc/default, /etc/pacman, fstab, crypttab, /usr/share/alsa-card-profile/mixer/paths, /etc/X11/, /etc/systemd/, and so on…
This way you can more comfortably switch to the new .pacnew versions at your own discretion and use your custom modified files in ~/.sysconfs/ as a reference to anything you might need to add / insert again.
If you do a fresh install, you lose your home directory and all of your configs, unless you back them up. You also lose all additional packages that you installed.
Personally I have been fresh installing occasionally. Although doing so sometimes removes thing you get used to- for example the red/green trash folder in the taskbar for KDE flavor version is removed in fresh installs now.
They also removed the tool that used to activate when screenshot button is pressed.
So yes, the answer is not ‘none’ lots of differences happen if you fresh install vs upgrade regularly.
Yes, available, but the new defaults (software, configuration, and so on) will not be installed/applied automatically. I can think of many programs I installed to have new features in KDE on my Manjaro installation.
It depends. If the new additions are in the Community or Extra repos, then it’s up to the user. If they are in the Core repository, then they will be pushed onto your system if you don’t have those specific packages installed yet.
I either way always advise to update from a tty, and while completely logged out of your GUI session. First of all, there will be less shared libraries in use, and secondly, the output from pacman and pamac is quite verbose.
So the ~/.sysconfs/ folder just acts as reference and backup and is not taken into account from the system itself?
about the .pacnew versions. will I need to find them on my own - delete my custom one and replace it with the new one? Or is there an economical approach to it?
The reason I was asking was also that I have stuff breaking on my XFCE desktop regularly (particularly the login screen/lock screen) and I’m not doing big custom changes. So I thought the manjaro team might include fixes to these issues but they won’t actually reach me.
Exactly that. It’s a way to keep your own custom system configs that will survive new installs and upgrades (as long as you keep your /home partition safe and/or backup your user’s home folder). This way you can always refer to the changes you made when you need to restore a conf file or use the same edits in a new install, even if only to copy + paste a single line or option.
Otherwise, with new installs and major upgrades, you lose track of what system files you changed and must resort to try to remember what you did in the past. (This includes systemd units too.)
There’s no “single-click” method to safely do that.
I prefer to compare the differences, and if the .pacnew version doesn’t introduce anything fundamentally different, I leave everything as is.
However, if the .pacnew version introduces a lot of changes from upstream, then I figure out how to safely insert my custom edits into the .pacnew file, and then overwrite the previous version by renaming the .pacnew to the real name.
You can use the find command to list and copy all the .pacnew files within a directory.
For example,
==> ERROR: Cannot find the vim -d binary required for viewing differences.
Since /usr/bin/pacdiff is part of the pacman package, and not its own separate package, I guess it wouldn’t make sense from vim to be a dependency of pacman.
$ pacman -Qi pacman
...
Optional Deps : haveged: for pacman-init.service [installed]
perl-locale-gettext: translation support in makepkg-template
diffutils: for pacdiff [installed]
findutils: for pacdiff --find [installed]
mlocate: for pacdiff --locate
sudo: privilege elevation for several scripts [installed]
vim: default merge program for pacdiff [installed]
...
You can however use any merge program via setting the DIFFPROG environment variable.