Frage zu passwd.pacnew-Datei

Hi Leute!

Vorab ein paar erklärende Infos, die ich auf meinem System habe. Auch hab ich keine Probleme, es läuft alles.
Wie heute schon öfters im Forum gesehen, gabs bei mir im Update auch eine Meldung a la:

$> cat /var/log/pacman.log
[2024-01-22T16:32:11+0100] [ALPM] transaction started
[2024-01-22T16:32:11+0100] [ALPM] warning: /etc/passwd installed as /etc/passwd.pacnew
...
[2024-01-22T16:32:11+0100] [ALPM] upgraded bash (5.2.021-1 -> 5.2.026-2)
..
[2024-01-22T16:32:11+0100] [ALPM] transaction completed

Ich vermute, das der Eintrag generiert wird, weil es ein Update für bash gibt (wie oben zu sehen), und weil in der Datei passwd.pacnew eben nur ein Eintrag existiert, der sich auf den User root mit der Pfad zu bash bezieht.

Nun finde ich neben der obligatorischen /etc/passwd noch zwei weitere:

$> ls /etc/passwd* -lha
-rw-r--r-- 1 root root 2,1K 24. Dez 09:04 /etc/passwd
-rw-r--r-- 1 root root 2,1K 10. Okt 07:34 /etc/passwd-
-rw-r--r-- 1 root root   32 19. Jan 18:10 /etc/passwd.pacnew

Ich kann mich nicht daran entsinnen, die passwd-Datei jemals erstellt zu haben. Laut diff sind die Dateien passwd und passwd- auch identisch. Der Inhalt der passwd.pacnew enthält auch nur den Einzeiler…

$> cat /etc/passwd.pacnew
root:x:0:0::/root:/usr/bin/bash

…der da abweicht von meiner bisherigen /etc/passwd

$> cat /etc/passwd
root:x:0:0::/root:/bin/bash

Und nun: ich finde in beiden Verzeichnissem (in /bin und /usr/bin) die Datei bash. Beide Dateien haben exakt die selben MetaInfos (Größe, Zeitstempel, etc). Eine der Dateien ist auch kein Link auf die andere, oder vice versa.

Ich hab das System im April 2023 mit der damaligen ISO “EndeavourOS_Cassini_Nova-03-2023_R1.iso” installiert (glaube ich zumindest) und mach seit dem natürlich regelmässig Updates. Dieser Hinweis nur, weil es vielleicht Altlasten bei diesem Release gab, die es bei jüngeren Vollinstallation (Gallileo, etc) nicht mehr gibt.

$> stat /
...
Geburt: 2023-04-01 08:34:46.000000000 +0200
...

Meine grundsätzliche Frage lautet eigentlich nur: Wie habe ich diese Konstellation zu verstehen? Ich hab zwei identische bash-Executables in den genannten Ordnern, zwei passwd-Files, bei deren der root-Eintrag auf die eine oder anderen verweist. Also wird es bald einen Systemänderung geben, die den Pfad auf die bash-Executable von $alt nach $neu verweist und dies sind die Vorbereitungen dazu?
Ich kann mir das eine oder andere schon zusammenreimen, aber… naja, ich Noob halt. Ich würde es gerne Nachvollziehen können.

Danke für Eure erklärenden Worte!

I didn’t translate the entire post, but I think your problem is related to

HTH

Pudge

Hi Pudge,

You’re right, mlytle0 is basically asking the same question as me. I just ask in more detail and try to understand.

Which is the smart thing to do.

Basically, the bash update moved bash from /bin/bash to /usr/bin/bash.
This necessitated editing /etc/passwd to account for this.

The way I fixed this on my other computers, was to use vi or nano to edit /etc/passwd manually.
Line 1 needs to change from

root:x:0:0::/root:/bin/bash

to

root:x:0:0::/root:/usr/bin/bash

Then if you want to clean things up, manually remove /etc/passwd.pacnew

sudo rm /etc/passwd.pacnew

This worked for me, but I can’t guarantee it will work for you.

Pudge

1 Like

This is the clue that confirms my suspicion. Thank you very much. I have implemented the same as you and it all seems to work.

1 Like

Bitte

Pudge

This is not what happened. Bash was in /usr/bin/ and it continues to be there. /bin/bash is a symlink to /usr/bin/bash and it has been like that for a long time. Nothing changed.

There is no necessity to change your passwd file. It can stay as it is. While it is more correct to have /usr/bin/bash (it saves one symlink indirection), /bin/bash still works fine and will continue to work for the foreseeable future. Nothing is changing in that regard.

You can change your passwd, or you can leave it as it is, it won’t make any practical difference, at least not on EndeavourOS or Arch.

2 Likes

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