Debian 10 bleibt bei der Migration zu /usr

Neuigkeiten rund um GNU/Linux
Benutzeravatar
novalix
Beiträge: 1909
Registriert: 05.10.2005 12:32:57
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: elberfeld

Re: Debian 10 bleibt bei der Migration zu /usr

Beitrag von novalix » 30.03.2019 12:41:23

Eine bemerkenswerte Konsequenz aus der symbolischen Verlinkung auf Verzeichnisebene (im Gegensatz zu per Datei).

Auf einem Buster ohne usrmerge:

Code: Alles auswählen

root@tristam:~# file /usr/bin/which 
/usr/bin/which: symbolic link to /bin/which
root@tristam:~# file /bin/which 
/bin/which: POSIX shell script, ASCII text executable
root@tristam:~# ls -l /usr/bin/which
lrwxrwxrwx 1 root root 10 Nov  2  2016 /usr/bin/which -> /bin/which
root@tristam:~# ls -l /bin/which
-rwxr-xr-x 1 root root 946 Jan 21 22:12 /bin/which
Auf einem neu aufgestzten buster mit usrmerge:

Code: Alles auswählen

root@dabase:~# file /usr/bin/which 
/usr/bin/which: POSIX shell script, ASCII text executable
root@dabase:~# file /bin/which 
/bin/which: POSIX shell script, ASCII text executable
root@dabase:~# ls -l /usr/bin/which
-rwxr-xr-x 1 root root 946 Jan 21 22:12 /usr/bin/which
root@dabase:~# ls -l /bin/which
-rwxr-xr-x 1 root root 946 Jan 21 22:12 /bin/which
Vergleicht man also einfach nur auf der Dateiebene, dann erscheinen die Programme unter "/bin/" als normale physisch vorhandene Dateien, so wie sie es vor usrmerge ja auch gewesen sind.
Erst der Inode-Schalter von ls (oder stat) liefern einen Hinweis darauf, dass dem nicht so ist:

Code: Alles auswählen

root@dabase:~# ls -il /usr/bin/which
396365 -rwxr-xr-x 1 root root 946 Jan 21 22:12 /usr/bin/which
root@dabase:~# ls -il /bin/which
396365 -rwxr-xr-x 1 root root 946 Jan 21 22:12 /bin/which
Man muss also im Hinterkopf haben, dass das übergeordnete Verzeichnis in Gänze verlinkt ist.

Code: Alles auswählen

root@dabase:~# ls -l /bin
lrwxrwxrwx 1 root root 7 Feb 11 19:02 /bin -> usr/bin
rkhunter kennt sich z.B. mit usrmerge noch nicht so richtig aus und meldet eine Warnung darüber, dass "/usr/bin/which" eine reguläre Posix Shell Datei sei.
Unbedarfterweise könnte man bei der Analyse der Gegebenheiten auf Dateiebene jetzt zu dem Schluss kommen, dass man "/usr/bin/which" ruhig weghauen kann, um die Warnung zu umgehen. "/bin/which" ist ja vorhanden.

Holzauge sei wachsam.
Das Wem, Wieviel, Wann, Wozu und Wie zu bestimmen ist aber nicht jedermannns Sache und ist nicht leicht.
Darum ist das Richtige selten, lobenswert und schön.

Antworten