OS System Update VS. Fresh install - Differences?

Hi there,

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)?

Thank you :blush:

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.

6 Likes

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.

The direct - unfiltered - answer to your question is - none.

3 Likes

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.

Well, you could have your /home on a different drive. But that would be tricky to do.

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.

1 Like

But are available to you all the same.

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.

1 Like

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.

3 Likes

Thank you winnie.

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?

Thank you Aragorn,

I’ll try that UI-less approach in the future too!

Thanks guys for the quick answers!

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.

So looks like this should not be the case then.

Merci :pray:

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,

find /etc/ -type f -name "*.pacnew" -exec cp -v "{}" ~/.sysconfs/ \;

Now you can conveniently open them up in a text editor, view the differences against your custom versions, and decide what do to going forwards.

The find command sounds very handy! I’ll try that!

Thank you so much, now I got a lot more to explore!

There are also various tools in he AUR for helping you find and merge .pacnew files… :arrow_down:

pacdiff
pacnew-chaser
pacnew-scripts
pacmerge
pacman-diffs

You can install any of these with… :arrow_down:

pamac build <name-of-package(s)-here>
2 Likes

pacdiff is already included in the pacman package and should be available on any manjaro installation out of the box.

1 Like

Apparently vim is required to use pacdiff.

==> 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.

vim is listed as optional dependency:

$ 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.

1 Like

I use meld with the following command sudo DIFFPROG=meld pacdiff

4 Likes