[Dev] Abfrage aktueller pfSense Version
-
Hallo zusammen,
da wir gerade selbst vor dem kleinen Problem standen, dass eine Kundeninstallation die wir betreuen "unbemerkt" nicht aktualisiert wurde, haben wir eine kleine Suche betrieben. Zum Teil ist das momentan so, da man die neuen kleinen Patch-Schritte kaum mitbekommt außer durch Zufall im Blog, allerdings wurde 2.3.1_5 zumindest nicht auf den Mailinglisten announced und alle paar Stunden Forum, Blog oder Dev-Tracker schauen ist mühsam. Da man leider auch keine Mail erhält bei einem Update (das wäre noch eine schöne Option), und wir oftmals Kundeninstanzen monitoren, wollten wir was basteln, das den aktuellen und den installierten Stand der pfSense remote auslesbar machen kann. Schlußendlich haben wir das dann auf 2 Befehle runtergebrochen:
# new # just check the meta package but ignore the -builder package pkg search pfSense | grep Meta | grep -v builder | cut -f 1 -d ' ' | cut -f 2 -d '-' # outputs 2.3.1_5 #current pkg info pfSense | grep Version | awk -F': ' '{print $2}' # outputs 2.3.1_5
Beide Befehle können problemlos von einem "normalen"/DummyUser per SSH ausgeführt werden ohne root/sudo zu benötigen und ohne dass zusätzlich ein Paket zur Verfügung stehen muss. Baut man sich dies nun noch zusätzlich so, dass das Ganze via SSH und PrivateKey läuft und legt eine entsprechende Regel auf dem WAN Interface der KundenAppliance an (SSH nur von uns erlauben), kann man auf dem Monitoring System sich recht einfach einen String-Vergleich (oder wer richtig gut drauf ist auch einen Versionsvergleich basteln auf Major, Minor, Release, Subrelease IDs ;)) bauen, um abzugleichen, ob die aktuelle Version noch mit der übereinstimmt, die das System gerade zur Installation anbieten würde.
Vielleicht ist das ja für den ein oder anderen von Interesse, der sich so eine kleine Gedächtnisstütze bauen kann/will, ob seine Systeme noch aktuell sind :)
Grüße
-
Disclaimer: Nutzung auf eigene Gefahr :D
Und vielleicht hat noch jemand v2.2.x installiert und kann mal prüfen, ob das auch noch bei den 2.2ern klappt. Da es das neue pkg Binary voraussetzt, läuft es auf 2.1 wegen altem FreeBSD natürlich nicht.