cross-posted from: https://lemmy.kde.social/post/198018
Hello! EOS user here. I upgrade my system with
topgrade
, and sometimes it tells me about some pacnew files, asking if merging, replacing or removing the original ones. I snapshotted my system and tried replacing my original files (an eos-something file, where the new file changed a bunch of mirrors, and/etc/shells
, where it replacedsh
andbash
withgit-shell
andzsh
. After the reboot, I was unable to boot into my user account (“wrong password” but it was the correct password). I had to boot asroot
and restore the snapshot. I then removed that evil pacnew file.Now my question is, how should I deal with these pacnew files? should I always remove them, always replace them, always read them and decide? I’d rather not read these things everyday, it’s a bit boring, so I hope there’s a better solution. How do you deal with these?
pacnew files are created when the package has changed it, but so have you. So you would replace it only if you don’t care about the changes you have locally. Otherwise you likely want to diff them and manually merge in any new changes to the config. Generally speaking most should not make your system unbootable, but I would look more closely at any core system files and see what the changes are rather then just blindly accepting them. Even if you do that for less critical packages.
but I didn’t change any of those files manually, so are they changed by some other program?
It might be that your distribution of choice has slightly different defaults in the files compared to regular Archlinux.
Either way you’ll want to have a look at either Meld (graphical) or something like pacdiff (terminal). With these you can easily see the differences between your old file and the new .pacnew.
The new default is not always better. One example: Whenever Archlinux creates a new /etc/makepkg.conf.pacnew I don’t simply overwrite the old file. The new default would comment out the line which defines how many CPU threads I want to use to build packages and reduce it to one thread (I assume).
You really don’t have to understand every line in every file. Most often it’s quite easy to determine whether you want the new changes or not. Just always have a quick look at what is different. You don’t want to replace old files mindlessly.
thanks for the answer!