[42_AptToDate.pm] Übersicht über verfügbare Distributionsupdates

Begonnen von CoolTux, 16 Mai 2018, 09:54:41

Vorheriges Thema - Nächstes Thema

CoolTux

Aus eigenem Nutzen raus habe ich ein Modul entwickelt, welches mir Informationen über verfügbare Distributionsupdates zur Verfügung stellt.
Im Grunde werden die Informationen von folgenden Befehlen als Readings dargestellt.

  • apt-get update
  • apt-get upgrade simuliert

Desweiteren kann man sich eine Paketliste der zur aktualisierenden Pakete anschauen.
Man kann dann einen Updateprozess anstoßen (apt-get upgrade) und erhält am Ende eine Liste der upgedateten Pakete samt alter und neuer Versionsnummer.

Damit man all dies machen kann, ist es leider nötig dem User fhem zu erlauben /usr/bin/apt-get mit root Rechten aus zu führen. Dies wird mittels sudo realisiert. Hierfür wird über den Befehl.

visudo

ein Editor geöffnet wo wir am Ende folgendes einfügen

fhem    ALL=NOPASSWD:   /usr/bin/apt-get


Danach den Editor schließen und schon kann unserer erstes Device angelegt werden.
Ich bitte darum dies erst einmal nur auf einem Testsystem oder einem System zu machen welches auch mal kurz ausfallen kann.
Ihr müsst unbedingt FHEM neustarten nach dem Ihr das Modul ins FHEM Modulverzeichnis kopiert habt.


define meinFHEMserver AptToDate localhost


Zum jetzigen Zeitpunkt besteht lediglich eine lokale Unterstützung. also nur localhost. Später kommt noch eine remote Unterstützung dazu.

Das Modul ist offiziell über FHEM Update beziehbar.

Ich hatte vorab ein Informations Thread gestartet, diesen findet Ihr hier.


Ich wünsche allen Interessierten frohes Testen!
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

MadMax-FHEM

Ich habe den "Informations-Thread" ja bereits interessiert verfolgt...
...und hänge mich jetzt dann mal hier dran ;)

Werde es mal auf einem Testsystem ausprobieren...

Was ich allerdings neben den gebotenen/geplanten Informationen interessant fände wäre:

eine Liste manuell installierter Pakete

Ich (versuche) zwar das immer zu protokollieren und es gibt ja auch diverse apt-Möglichkeiten das auszulesen :) (ich google dann halt immer wie das wieder ging) aber dann wäre ein neu Aufsetzen einfacher, da ich mir ja mal anzeigen lassen kann (vom Modul) was ich manuell installiert habe (und mir überlegen ob ich all das noch brauche) und das dann einfach auf dem neuen System (wenn ich denke ich brauche es noch) wieder installieren...
...bevor ich die fhem.cfg/fhemBackup einspiele und erst mal Fehler bekomme weil irgendein Modul/Paket fehlt...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

CoolTux

Zitat von: MadMax-FHEM am 16 Mai 2018, 10:25:54
Ich habe den "Informations-Thread" ja bereits interessiert verfolgt...
...und hänge mich jetzt dann mal hier dran ;)

Werde es mal auf einem Testsystem ausprobieren...

Was ich allerdings neben den gebotenen/geplanten Informationen interessant fände wäre:

eine Liste manuell installierter Pakete

Ich (versuche) zwar das immer zu protokollieren und es gibt ja auch diverse apt-Möglichkeiten das auszulesen :) (ich google dann halt immer wie das wieder ging) aber dann wäre ein neu Aufsetzen einfacher, da ich mir ja mal anzeigen lassen kann (vom Modul) was ich manuell installiert habe (und mir überlegen ob ich all das noch brauche) und das dann einfach auf dem neuen System (wenn ich denke ich brauche es noch) wieder installieren...
...bevor ich die fhem.cfg/fhemBackup einspiele und erst mal Fehler bekomme weil irgendein Modul/Paket fehlt...

Gruß, Joachim

Wir schauen mal. Das umsetzen ist ja nicht so das Problem. Jetzt muss ich aber erstmal rausfinden um das Modul bei anderen auch so gut läuft wie bei mir.
Danke Dir auch jeden Fall fürs testen.



Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

JoWiemann

Hallo,

Ergebnis des ersten Tests:


[Wed May 16 10:45:25 2018] fhem.pl: Use of uninitialized value in regexp compilation at /opt/fhem/FHEM/42_AptToDate.pm line 498, <APT> line 1.
<h1>Software error:</h1>
<pre>Can't call method &quot;readFromChild&quot; on an undefined value at /opt/fhem/FHEM/42_AptToDate.pm line 386.
</pre>
<p>
For help, please send mail to this site's webmaster, giving this error message
and the time and date of the error.

</p>
[Wed May 16 10:48:18 2018] fhem.pl: Can't call method "readFromChild" on an undefined value at /opt/fhem/FHEM/42_AptToDate.pm line 386.

[Code]


Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

CoolTux

Hallo Jörg,

Kannst Du mir kurz mitteilen wie aktuell Dein FHEM ist und kannst Du bitte schauen ob Du /etc/os-released auf Deinem System hast? Danke Dir.


Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

CoolTux

Jörg, das Device wurde aber angelegt, oder? Wahrscheinlich wurde nicht korrekt erkannt welche Systemsprache verwendet wird. Das muss ich noch abfangen.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

JoWiemann

#6
Hm, mein Fehler. Habe es aus Faulheit mit reload versucht. Nach dem Neustart alles Ok.

Sorry

Teste auf meinem Test RPi mit aktuellstem Fhem und Wheezy

Grüße Jörg


Internals:
   CFGFN     
   DEF        localhost
   HOST       localhost
   NAME       meinFHEMserver
   NOTIFYDEV  global,meinFHEMserver
   NR         140
   NTFY_ORDER 50-meinFHEMserver
   STATE      system updates available
   TYPE       AptToDate
   VERSION    0.0.60
   READINGS:
     2018-05-16 10:58:12   os-release_ANSI_COLOR 1;31
     2018-05-16 10:58:12   os-release_BUG_REPORT_URL http://www.raspbian.org/RaspbianBugs
     2018-05-16 10:58:12   os-release_HOME_URL http://www.raspbian.org/
     2018-05-16 10:58:12   os-release_ID   raspbian
     2018-05-16 10:58:12   os-release_ID_LIKE debian
     2018-05-16 10:58:12   os-release_NAME Raspbian GNU/Linux
     2018-05-16 10:58:12   os-release_PRETTY_NAME Raspbian GNU/Linux 7 (wheezy)
     2018-05-16 10:58:12   os-release_SUPPORT_URL http://www.raspbian.org/RaspbianForums
     2018-05-16 10:58:12   os-release_VERSION 7 (wheezy)
     2018-05-16 10:58:12   os-release_VERSION_ID 7
     2018-05-16 11:00:30   repoSync        fetched done
     2018-05-16 11:01:09   state           system updates available
     2018-05-16 11:01:09   updatesAvailable 187
   helper:
     lastSync   2018-05-16
Attributes:
   room       AptToDate

Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

CoolTux

Cool. Danke Dir. Ja Reload geht leider nicht. Man muss ein FHEM neustart machen da SubProcess.pm eingebunden wird.

Aber super Hinweis. Danke.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

CoolTux

187 Updates, wow. Wenn Du Lust hast kannst ja mal versuchen die über FHEM zu installieren  ;D
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

JoWiemann

Zitat von: CoolTux am 16 Mai 2018, 11:40:15
187 Updates, wow. Wenn Du Lust hast kannst ja mal versuchen die über FHEM zu installieren  ;D

Versuch ergibt folgendes im Log:


[Wed May 16 13:04:07 2018] fhem.pl: Use of uninitialized value in regexp compilation at /opt/fhem/FHEM/42_AptToDate.pm line 581, <APT> line 1.
[Wed May 16 13:04:07 2018] fhem.pl: Use of uninitialized value $package in hash element at /opt/fhem/FHEM/42_AptToDate.pm line 586, <APT> line 1.


Der Eintrag "Use of uninitialized value $package in hash element" wiederholt sich dann x-Mal (187?)

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

JoWiemann

Schön wäre es noch, wenn Du in der Update-Schleife den state aktualisieren würdest. Bei vielen Updates ist man dann informiert, dass der Prozess noch läuft.

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

JoWiemann

Hallo,

nach einem Neustart von Fhem gehen alle bis dahin ermittelten Listen verloren. Auch erhalte ich nach set repoSync nun folgenden Eintrag im Log:
[Wed May 16 13:41:24 2018] fhem.pl: Use of uninitialized value in regexp compilation at /opt/fhem/FHEM/42_AptToDate.pm line 498, <APT> line 1.


Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

CoolTux

Das ist korrekt mit dem verloren gehen. Sie werden ja an den Instanz Hash angehangen. Müsste ich als Datei schreiben. Denke aber ist nicht so wichtig.

Gib mal bitte ein list vom Device. Entscheidend ist das Reading os-release_language
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

JoWiemann

Zitat von: CoolTux am 16 Mai 2018, 13:48:54
Das ist korrekt mit dem verloren gehen. Sie werden ja an den Instanz Hash angehangen. Müsste ich als Datei schreiben. Denke aber ist nicht so wichtig.

Gib mal bitte ein list vom Device. Entscheidend ist das Reading os-release_language


List findest Du hier: https://forum.fhem.de/index.php/topic,87835.msg802645.html#msg802645
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

CoolTux

Ok ich denke mal ich sehe wo das Problem liegt.

Es fehlt das Reading os-release_language

Setzte mal bitte auf Deinem System den Befehl locale ab und gib mal die Ausgabe hier Preis.


Danke Dir
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net