Ich habe eine Reihe von Distributionen, mit denen ich spiele. Ich beschrifte die SD-Karten, aber:
- Sie stehen auf dem Kopf
- Ich bin normalerweise in einem anderen Raum vom RPi
Ich habe in init.d einen Dienst eingerichtet, der mich per Pushover darüber informiert, wann mein Pi heruntergefahren oder gestartet wird (mithilfe der API über curl).
Ich möchte hiermit angeben, welche Distribution ich gerade verwende.
Ich kann auf meinem neuesten Boot sehen (mit Adafruit Raspbian spielen):
Linux raspberrypi 3.1.9adafruit+ #8 PREEMPT Wed Aug 1 18:02:42 EDT 2012 armv6l
Wie kann ich diese Informationen in mein Skript aufnehmen?
Ich habe lsb-release installiert, aber das gibt mir nur Folgendes:
pi@raspberrypi / $ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux testing/unstable
Release: testing/unstable
Codename: n/a
Das würde genauso aussehen wie mein regulärer Raspbian.
Außerdem möchte ich wahrscheinlich selbst etwas über die bestimmte Instanz auf der SD-Karte angeben (da ich wahrscheinlich mehrere derselben Basisdistribution haben werde). Natürlich kann ich eine Datei einfach auf jeder SD-Karte an der gleichen Stelle ablegen, aber gibt es eine Konvention, wo diese Informationen abgelegt werden sollen?
Antworten:
quelle
Versuchen
Auf meinem Desktop gibt es
Nachdem Sie die offiziellen Raspberry Pi-Bilder (Raspbian und Arch) überprüft haben,
/etc/os-release
sind beide verfügbar und enthalten mindestens die Eigenschaften NAME und PRETTY_NAME.Wie extrahiere ich den Namen der Distribution?
Das ist ganz einfach, versuchen Sie es
Verweise
quelle
Wie bereits erwähnt, können Sie verwenden
uname
, dies zeigt jedoch nur die Kernel-Version an. Wenn Sie dieselbe Kernel-Version auf mehreren verschiedenen Distributionen / Karten haben (was sehr wahrscheinlich ist, da einige von ihnen denselben Foundation-Kernel verwenden), erhalten Sie für jeden das gleiche Ergebnis. Die beste Möglichkeit, zwischen Distributionen zu unterscheiden, besteht darin, etwas anderes als den Kernel zu verwenden. Es gibt jedoch keinen universellen Weg. Eine einfache Möglichkeit wäre, den Hostnamen zu verwenden (und ihn für jede Distribution zu ändern).oder
quelle