Autor Thema: [42_AptToDate.pm] Übersicht über verfügbare Distributionsupdates  (Gelesen 5772 mal)

Online CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 15233

Na ja, never Change a running System. Für meinen, nun dritten, RPi, auf dem pi-hole und Fhem Alexa laufen, habe ich jetzt allerdings ein aktuelles Stretch genommen.

Von daher warte ich nun auf remote...

Grüße Jörg

Remote geht. Einfach ssh mit Schlüsselpaar und ohne Passwort einrichten und los geht es.

Statt localhost machst IP oder servername wenn du ne config für ssh hast oder eben user@server aber das muss ich noch testen. Sollte aber eigentlich gehen.
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.me/MOldenburg
Mein GitHub: https://github.com/LeonGaultier
kein Support für cfg Editierer

Offline Icinger

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1127
So ganz geht das remote noch nicht, scheinbar.

Habe ein Device mittels SSH auf meinen Hauptrechner gelegt:
   STATE      system is up to date
   TYPE       AptToDate
   VERSION    0.2.1
   READINGS:
     vor einem Tag   os-release_language en
     vor ein paar Sekunden   repoSync        fetched
     vor ein paar Sekunden   state           system is up to date
   helper:
     lastSync   2018-05-19
Attributes:
   DbLogExclude .*
   devStateIcon system.updates.available:security@red system.is.up.to.date:security@green
   room       AptToDate
apt_Laptop
   NOTIFYDEV  global,apt_Laptop
   NR         12999
   NTFY_ORDER 50-apt_Laptop
   STATE      system is up to date
   TYPE       AptToDate
   VERSION    0.2.1
   READINGS:
     2018-05-18 20:33:41   os-release_language en
     2018-05-19 20:15:04   repoSync        fetched
     2018-05-19 20:15:04   state           system is up to date
   helper:
     lastSync   2018-05-19
Attributes:
   DbLogExclude .*
   devStateIcon system.updates.available:security@red system.is.up.to.date:security@green
   room       AptToDate

Laut Davice keine Updates, laut apt-get allerdings schon:
stefan@lappi:~$ sudo apt-get upgrade
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.       
Statusinformationen werden eingelesen.... Fertig
Paketaktualisierung (Upgrade) wird berechnet... Fertig
Die folgenden Pakete werden aktualisiert (Upgrade):
  gnome-initial-setup python3-software-properties software-properties-common software-properties-gtk
4 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
Es müssen noch 0 B von 1.427 kB an Archiven heruntergeladen werden.
Nach dieser Operation werden 1.024 B Plattenplatz zusätzlich benutzt.
Möchten Sie fortfahren? [J/n]
Das selbe bei 2 anderen Rechnern, die überwacht werden sollen.

lg, Stefan
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

Online CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 15233
Leider erkenne ich dein define nicht so ganz.
Was sagt denn verbinde 5?
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.me/MOldenburg
Mein GitHub: https://github.com/LeonGaultier
kein Support für cfg Editierer

Offline Icinger

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1127
Upps....Hier die Raw:
defmod apt_Laptop AptToDate stefan@lappi
attr apt_Laptop DbLogExclude .*
attr apt_Laptop devStateIcon system.updates.available:security@red system.is.up.to.date:security@green
attr apt_Laptop room AptToDate

setstate apt_Laptop system is up to date
setstate apt_Laptop 2018-05-18 20:33:41 os-release_language en
setstate apt_Laptop 2018-05-19 20:19:15 repoSync fetched
setstate apt_Laptop 2018-05-19 20:19:15 state system is up to date

Und hier ein V5:
2018.05.19 20:28:05 5: AptToDate (apt_Laptop) - Notify: $VAR1 = [
  'ATTR apt_Laptop verbose 5'
];

2018.05.19 20:28:14 5: AptToDate (apt_Laptop) - Notify: $VAR1 = [
  'state: repoSync in progress'
];

2018.05.19 20:28:14 4: AptToDate (apt_Laptop) - execute command asynchronously (PID= 12487)
2018.05.19 20:28:14 4: AptToDate (apt_Laptop) - control passed back to main loop.
2018.05.19 20:28:15 4: AptToDate (apt_Laptop) - got result from asynchronous parsing.
2018.05.19 20:28:15 4: AptToDate (apt_Laptop) - asynchronous finished.
2018.05.19 20:28:15 4: AptToDate (apt_Laptop) - clean Subprocess
2018.05.19 20:28:15 4: AptToDate (apt_Laptop) - JSON: {}
2018.05.19 20:28:15 4: AptToDate (apt_Laptop) - Write Readings
2018.05.19 20:28:15 5: AptToDate (apt_Laptop) - $VAR1 = {};

2018.05.19 20:28:15 5: AptToDate (apt_Laptop) - Packges Anzahl: 0
2018.05.19 20:28:15 5: AptToDate (apt_Laptop) - Inhalt aptget cmd: 0
2018.05.19 20:28:15 5: AptToDate (apt_Laptop) - Notify: $VAR1 = [
  'repoSync: fetched ',
  'state: system is up to date'
];

Sieht aus, als würde gar nicht ankommen.
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

Online CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 15233
Upps....Hier die Raw:
defmod apt_Laptop AptToDate stefan@lappi
attr apt_Laptop DbLogExclude .*
attr apt_Laptop devStateIcon system.updates.available:security@red system.is.up.to.date:security@green
attr apt_Laptop room AptToDate

setstate apt_Laptop system is up to date
setstate apt_Laptop 2018-05-18 20:33:41 os-release_language en
setstate apt_Laptop 2018-05-19 20:19:15 repoSync fetched
setstate apt_Laptop 2018-05-19 20:19:15 state system is up to date

Und hier ein V5:
2018.05.19 20:28:05 5: AptToDate (apt_Laptop) - Notify: $VAR1 = [
  'ATTR apt_Laptop verbose 5'
];

2018.05.19 20:28:14 5: AptToDate (apt_Laptop) - Notify: $VAR1 = [
  'state: repoSync in progress'
];

2018.05.19 20:28:14 4: AptToDate (apt_Laptop) - execute command asynchronously (PID= 12487)
2018.05.19 20:28:14 4: AptToDate (apt_Laptop) - control passed back to main loop.
2018.05.19 20:28:15 4: AptToDate (apt_Laptop) - got result from asynchronous parsing.
2018.05.19 20:28:15 4: AptToDate (apt_Laptop) - asynchronous finished.
2018.05.19 20:28:15 4: AptToDate (apt_Laptop) - clean Subprocess
2018.05.19 20:28:15 4: AptToDate (apt_Laptop) - JSON: {}
2018.05.19 20:28:15 4: AptToDate (apt_Laptop) - Write Readings
2018.05.19 20:28:15 5: AptToDate (apt_Laptop) - $VAR1 = {};

2018.05.19 20:28:15 5: AptToDate (apt_Laptop) - Packges Anzahl: 0
2018.05.19 20:28:15 5: AptToDate (apt_Laptop) - Inhalt aptget cmd: 0
2018.05.19 20:28:15 5: AptToDate (apt_Laptop) - Notify: $VAR1 = [
  'repoSync: fetched ',
  'state: system is up to date'
];

Sieht aus, als würde gar nicht ankommen.

Nimm Mal bitte stefan@ip
Hast du in stefan mit visudo auf dem Host die rechte ohne Pass auf apt-get gegeben?
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.me/MOldenburg
Mein GitHub: https://github.com/LeonGaultier
kein Support für cfg Editierer

Offline Icinger

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1127
visudo ist gemacht (grade zur Sicherheit nochmal kontrolliert)
# Host alias specification

# User alias specification

# Cmnd alias specification
stefan    ALL=NOPASSWD:   /usr/bin/apt-get

IP auch angegeben -> keine Änderung.

Allerdings ist mir grade aufgefallen, dass ich in der Console trotzdem nicht apt-geten kann:
stefan@lappi:~$ apt-get update
Paketlisten werden gelesen... Fertig
E: Sperrdatei /var/lib/apt/lists/lock konnte nicht geöffnet werden. - open (13: Keine Berechtigung)
E: Das Verzeichnis /var/lib/apt/lists/ kann nicht gesperrt werden.
W: Problem beim Entfernen (unlink) der Datei /var/cache/apt/pkgcache.bin - RemoveCaches (13: Keine Berechtigung)
W: Problem beim Entfernen (unlink) der Datei /var/cache/apt/srcpkgcache.bin - RemoveCaches (13: Keine Berechtigung)
Komisch........Irgendeine Idee?
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

Online CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 15233
Du musst schon sudo verwenden.

Du hast unter /opt/fhem/ einen .ssh Ordner mit Key File?
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.me/MOldenburg
Mein GitHub: https://github.com/LeonGaultier
kein Support für cfg Editierer

Offline Icinger

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1127
Hmm, ok, am Laptop kanns nicht gehn, wenn kein ssh-Server läuft, ist logisch.
Aber auf den anderen Rechnern läuft überall ssh, da gehts trotzdem nicht.
Unter /opt/fhem/.ssh:
-rw-r--r--  1 fhem dialout   4594 Jan 29 06:13 authorized_keys
-rw-------  1 fhem dialout   3243 Jan 29 06:13 id_rsa
-rw-r--r--  1 fhem dialout    743 Jan 29 06:13 id_rsa.pub
-rw-------  1 fhem dialout   4936 Feb 22 08:52 known_hosts
-rw-------  1 fhem dialout   3382 Jan 29 06:13 known_hosts.old
drwx------  2 fhem dialout   4096 Jan 29 06:12 .ssh

Die Pubs sind auch auf dem Remote-Rechner:
stefan@cubietruck:/opt/fhem > sudo ssh-copy-id -i /opt/fhem/.ssh/id_rsa.pub stefan@192.168.1.26
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed

/usr/bin/ssh-copy-id: WARNING: All keys were skipped because they already exist on the remote system.
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

Online CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 15233
na dann mal testen
als root ausführen

su -s /bin/bash -c "ssh stefan@ip-adress 'ls -ll /etc'" fhem
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.me/MOldenburg
Mein GitHub: https://github.com/LeonGaultier
kein Support für cfg Editierer

Offline Icinger

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1127
Gibt jedenfalls keinen Fehler zurück:
stefan@cubietruck:/opt/fhem > su -s /bin/bash -c "ssh stefan@192.168.1.26 'ls -ll /etc'" fhem                                       
Password:
stefan@cubietruck:/opt/fhem >
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

Online CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 15233
Aber er will ein Passwort haben.
Hast du beim Schlüssel erstellen ein Passwort vergeben oder einfach enter gedrückt?
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.me/MOldenburg
Mein GitHub: https://github.com/LeonGaultier
kein Support für cfg Editierer

Online CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 15233
Gibt jedenfalls keinen Fehler zurück:
stefan@cubietruck:/opt/fhem > su -s /bin/bash -c "ssh stefan@192.168.1.26 'ls -ll /etc'" fhem                                       
Password:
stefan@cubietruck:/opt/fhem >
Aber er will ein Passwort haben.
Hast du beim Schlüssel erstellen ein Passwort vergeben oder einfach enter gedrückt?

Gibt es schon neue Erkenntnisse?
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.me/MOldenburg
Mein GitHub: https://github.com/LeonGaultier
kein Support für cfg Editierer

Offline JoWiemann

  • Tester
  • Hero Member
  • ****
  • Beiträge: 2411
Remote geht. Einfach ssh mit Schlüsselpaar und ohne Passwort einrichten und los geht es.

Statt localhost machst IP oder servername wenn du ne config für ssh hast oder eben user@server aber das muss ich noch testen. Sollte aber eigentlich gehen.

Ok, und habe jetzt getestet.

Log mit verbose 4
[Tue May 22 17:19:37 2018] fhem.pl: Use of uninitialized value in concatenation (.) or string at /opt/fhem/FHEM/42_AptToDate.pm line 691.
2018.05.22 17:19:37 4: AptToDate (mein192.168.0.81) - Write Readings
2018.05.22 17:19:37 4: AptToDate (mein192.168.0.81) - JSON: {}
2018.05.22 17:19:37 4: AptToDate (mein192.168.0.81) - clean Subprocess
2018.05.22 17:19:37 4: AptToDate (mein192.168.0.81) - asynchronous finished.
2018.05.22 17:19:37 4: AptToDate (mein192.168.0.81) - got result from asynchronous parsing.
2018.05.22 17:19:36 4: AptToDate (mein192.168.0.81) - control passed back to main loop.
2018.05.22 17:19:36 4: AptToDate (mein192.168.0.81) - execute command asynchronously (PID= 15480)

list des Device
Internals:
   CFGFN     
   DEF        pi@192.168.0.81
   HOST       pi@192.168.0.81
   NAME       mein192.168.0.81
   NOTIFYDEV  global,mein192.168.0.81
   NR         157
   NTFY_ORDER 50-mein192.168.0.81
   STATE      system is up to date
   TYPE       AptToDate
   VERSION    0.2.1
   READINGS:
     2018-05-22 17:15:48   os-release_language en
     2018-05-22 17:19:37   repoSync        fetched
     2018-05-22 17:19:37   state           system is up to date
   helper:
     lastSync   2018-05-22
Attributes:
   room       AptToDate
   verbose    4

Ob user@ip oder nur ip macht keinen Unterschied. Das Logon mit ssh funktioniert ohne Passwort.

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

Online CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 15233
Mahlzeit Jörg,

Bitte teste einmal die neue Version im Git. Ich habe bessere debugausgaben eingebaut. verbose 4 sollte in Deinem Fall reichen um zu schauen was er hat. Und lösche am besten noch mal alle Readings und mache dann ein DEF und modify.


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.me/MOldenburg
Mein GitHub: https://github.com/LeonGaultier
kein Support für cfg Editierer

Offline JoWiemann

  • Tester
  • Hero Member
  • ****
  • Beiträge: 2411
Mache ich am Sonntag.



Gesendet von iPhone mit Tapatalk

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

 

decade-submarginal