Pacnew for newbie

Hello everyone,
while running the system update with the command “sudo pacman -Syu,” I received a notification message: “warning: /etc/passwd has been installed as /etc/passwd.pacnew”. I searched the ArchWiki, and to be honest, I didn’t understand much. I am here to ask for an explanation to understand how to handle this warning so that I can deal with it on my own in future. I have read some posts where they mentioned being cautious with pacdiff&meld, so I haven’t done anything except using “view” to see the change in question, which should be this: " root:x:0:0::/root:/bin/bash - root:x:0:0::/root:/usr/bin/bash."

honestly it is only giving you information that a newer version of the file has been installed.

1 Like

Ah, okay. Very simple, lol. Reading on the Arch Wiki, I thought I had to manually move/accept the new changes. I apologize for the misunderstanding.

It depends. Some pacnew files actually may have to be merged with the current files on your system. But it doesn’t happen that often. In the end, if you aren’t sure, just ask around. That’s the easiest way of dealing with this.

In this case the content of both files should be the same.

2 Likes

In this case, you should manually merge that change.

It is more correct to have /usr/bin/bash and there are some rare situations where it matters.

2 Likes

Welcome to the forum! :smile:

You came to the right place!
Pacnew files are basically updates to config files. But as you already found out, those files must he handled with care, e.g. with eos-pacdiff.

But, you should not merge files like /etc/passwd or /etc/shadow, otherwise you may not be able to log in.

However, config files for most apps can be merged with eos-pacdiff, but again taking care not to mess up the existing config and make the app work unexpectedly.

1 Like

Correct.

When there are pacnew files, I usually open both the original file and the .pacnew file in a text editor, side by side. Then edit the original file to reflect the changes in the pacnew file, if they do not invalidate any of my previous modifications. It requires some common sense. When I’m done, I delete the .pacnew file.

5 Likes

I use pacdiff to compare them.

pacdiff --help    
pacdiff v1.10.1

pacorig, pacnew and pacsave maintenance utility.

https://wiki.archlinux.org/title/pacman/Pacnew_and_Pacsave#pacdiff
https://man.archlinux.org/man/pacdiff.8.en

I had this warning too, so i should replace

root:x:0:0::/root:/bin/bash with root:x:0:0::/root:/usr/bin/bash in the original passwd file?

Yes, merging that line is a good idea.

i noticed myuser:x:1000:1000:myuser:/home/myuser:/bin/bash exists in passwd so it should be changed to myuser:x:1000:1000:myuser:/home/myuser:/usr/bin/bash too right?

sorry for stupid questions never used arch-derivatives for a long time. :sweat_smile:

Yes, you can change it, it has modified only the shell path. Both paths work (currently), but that kind of change from upstream is good to do.

In this particular case, you can also leave your passwd as it is, and just delete the .pacnew file. It will be fine. On Arch (and EndeavourOS) /bin/bash always exists and it’s a symlink to /usr/bin/bash. It doesn’t matter in this case.

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