Ich versuche, das Betriebssystem zu erstellen, um tragbare Funktionen in Bash-Skripten zu erkennen.
Ich möchte nur wissen, ob die Datei "/etc/issue"
für alle Linux-Flavours gleich ist.
login
etc
portability
Rahul Patil
quelle
quelle
/etc/*-release
Datei mit einigen Informationen.uname
kann auch einige Informationen enthalten, nicht sicher wie genau ein Fingerabdruck ist. Vergessen Sie nicht, dass jeder in einer Linux-Installation so gut wie alles ändern kann, um die gewünschten Informationen zu verbergen. Es werden nur Inhalte in nicht geänderten Installationen gefunden.yum
oderapt-get
installiert darauf basierende Pakete.Antworten:
Ja, dies ist eine Standarddatei für alle Distributionen. Es ist Standard in den meisten Distributionen, Fedora / CentOS / RHEL / Debian / Ubuntu usw.
Sie können mehr darüber mit einer
man issue
oder der dazugehörigen Datei lesen/etc/issue.net
. Weitere Informationen und das Einfügen von Makros in beide Dateien finden Sie auf der Manpage von issue.net .Weitere Informationen finden Sie auch im Linux From Scratch- Projekt, Anpassen der Anmeldung mit / etc / issue .
quelle
Neben der Antwort von slm sollte nicht vergessen werden, dass jeder (mit Root-Zugriff) den Inhalt von bearbeiten kann
/etc/issue
. Einige Organisationen machen dies möglicherweise, um Warnungen oder Haftungsausschlüsse vor der Anmeldung anzuzeigen, und andere entfernen aus Sicherheitsgründen möglicherweise die gesamte Identifikation der Distribution (es spielt keine Rolle, wie effektiv eine dieser Maßnahmen ist).Daher ist der Inhalt, obwohl / etc / issue fast immer vorhanden ist, nicht unbedingt zum Erkennen des Betriebssystems geeignet (wie Sie sagen, oder wahrscheinlicher, der Linux-Distribution).
quelle
@ EightBitTony's Antwort ist richtig. Auch existiert es nicht standardmäßig auf Fedora 23.
Verlassen Sie sich nicht darauf, um zufällige Systeme zu identifizieren. Ich würde
/etc/system-release
oder verwenden/etc/os-release
aber nicht sicher, wie viel universal das ist.Ein bisschen Lesen
/etc/os-release
kommt mitsystemd
so dass ich denke nicht mit archaischen distros arbeiten (oder jeder , dass Hasssystemd
). Konnte keine maßgeblichen Informationen zu finden/etc/system-release
. Ich denke, man muss viele Dateien überprüfen, ob Kompatibilität wichtig ist. Oder verwenden Sie,/etc/os-release
wenn Randfälle nicht wichtig sind.quelle