Probleme beim Upgrade auf fhem 5.7

Begonnen von samdave11, 13 Dezember 2015, 09:23:29

Vorheriges Thema - Nächstes Thema

samdave11

Hallo Forum,


Ich habe einen RPi mit Debian 7.8.
Ich habe fhem auf 5.7 nach dieser Anleitung upgedated: http://blog.wenzlaff.de/?p=6220
Das hat wohl auch geklappt.

Das installierte Debian-Package hat nun aber weiter Version 5.6 und dementsprechend bekomme ich nun bei jedem apt-get... Vorgang angezeigt:

The following packages have been kept back:
  fhem

Komischerweise steht das Package auf "hold", wo ich mich nicht erinnern kann das mal gesetzt zu haben:

Package: fhem
Status: hold ok installed
Priority: extra
Section: utils
Maintainer: Rudolf Koenig <r.koenig@koeniglich.de>
Architecture: all
Version: 5.6.
Depends: perl-base (>= 5.6.2), libdevice-serialport-perl (>= 1.0), libwww-perl (>= 1.0), libio-socket-ssl-perl (>= 1.0)
Suggests: sqlite3, libdbd-sqlite3-perl, libtext-diff-perl, libtimedate-perl, libmail-imapclient-perl, libgd-graph-perl, libtext-csv-perl, libxml-simple-perl, liblist-moreutils-perl, ttf-liberation, libimage-librsvg-perl, libgd-text-perl
Conffiles:
/opt/fhem/fhem.cfg a7d358cc156d979adb0f788b59a471c7
Description: GPL'd perl server for house automation.
It is used to automate some common tasks in the household like switching lamps
/ shutters / heating / etc. and to log events like temperature/humidity/power
consumption.
Homepage: http://www.fhem.de


Aber wenn ich versuche, die neuere Version zu installieren, schlägt dies fehl:

pi@meinpi ~ $ sudo apt-get install fhem
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Suggested packages:
  sqlite3 libdbd-sqlite3-perl libtext-diff-perl libmail-imapclient-perl libgd-graph-perl libtext-csv-perl libxml-simple-perl liblist-moreutils-perl ttf-liberation libimage-librsvg-perl libgd-text-perl
  libsocket6-perl libio-socket-inet6-perl libimage-info-perl libjson-perl
The following held packages will be changed:
  fhem
The following packages will be upgraded:
  fhem
1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/14.2 MB of archives.
After this operation, 0 B of additional disk space will be used.
Do you want to continue [Y/n]?
(Reading database ... 96169 files and directories currently installed.)
Preparing to replace fhem 5.6. (using .../apt/archives/fhem_5.7._all.deb) ...
Canceled hold on fhem.
E: Executing dpkg failed. Are you root?
dpkg: warning: subprocess old pre-removal script returned error exit status 100
dpkg: trying script from the new package instead ...
Canceled hold on fhem.
E: Executing dpkg failed. Are you root?
dpkg: error processing /var/cache/apt/archives/fhem_5.7._all.deb (--unpack):
subprocess new pre-removal script returned error exit status 100
update-rc.d: using dependency based boot sequencing
Starting fhem...
Errors were encountered while processing:
/var/cache/apt/archives/fhem_5.7._all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)


Hat jemand Tipps? Ich habe auch mal versucht das Paket zu purgen, mit gleichem Ergebnis.

Benni

https://debian.fhem.de/

ZitatAll procedures are intended to create new fhem installations from scratch.
Do not use these procedures for updates/upgrades!

Otto123

Ich würde Dir empfehlen:
- Mach ein Backup von FHEM
- Nimm ein neues Jessie Image
- Installiere alle Pakete die Du brauchst
- Installiere FHEM 5.7
- Spiel das Backup zurück.
Dauert alles in allem weniger und ist sauberer.

Detailliertere Tipps findest Du in meinem Blog.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

marvin78

Wenn es nur um ein FHEM update geht, reicht ein einfaches "update" in der FHEM Kommandozeile. Macht es euch nicht unnötig kompliziert.

betateilchen

Zitat von: samdave11 am 13 Dezember 2015, 09:23:29
Komischerweise steht das Package auf "hold", wo ich mich nicht erinnern kann das mal gesetzt zu haben:

Das musst Du auch nicht selbst setzen, das wird bei der ersten Installation aus dem .deb Paket automatisch gesetzt, damit das installierte Paket nicht von der Paketverwaltung durch eine neuere Version überschrieben wird, was dazu führen würde, dass sämtliche Änderungen in fhem.cfg oder bspw. gplot-Dateien verlorengingen.

Ein Update einer bestehenden Installation kann nicht ohne weiteres auf Betriebssystemebene durchgeführt werden, dazu sollte immer der in fhem eingebaute update-Mechanismus verwendet werden.

Und wer aus irgendwelchen Blogs Anleitungen entnimmt, anstatt die hier im Forum veröffentlichen Hinweise zu beachten, ist letztendlich irgendwie selber schuld, wenn es hinterher knallt. (meine persönliche Meinung)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Otto123

Zitat von: marvin78 am 13 Dezember 2015, 11:44:20
Wenn es nur um ein FHEM update geht, reicht ein einfaches "update" in der FHEM Kommandozeile. Macht es euch nicht unnötig kompliziert.
Da stimme ich völlig zu. Ich hatte es eher so verstanden, dass es dann mal schief gegangen ist.

Ich würde ich nicht lange rumfrickeln: System und FHEM neu machen ist ja wirklich keine Zauberei und ein Backup einspielen auch nicht.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

samdave11

Zitat von: Otto123 am 13 Dezember 2015, 11:42:08
Ich würde Dir empfehlen:
...
- Nimm ein neues Jessie Image

Du hast echt gute Tipps auf Lager.  ;D
Nur mal so nebenbei, auf meinem RPi läuft nebenher noch ein Kalenderserver, LDAP-Server und ein aus den Sourcen gebauter Asterisk-Server. "Mal eben neu machen" ist also mindestens ein Tag Arbeit :)

samdave11

Zitat von: betateilchen am 13 Dezember 2015, 12:15:44
Das musst Du auch nicht selbst setzen, das wird bei der ersten Installation aus dem .deb Paket automatisch gesetzt, damit das installierte Paket nicht von der Paketverwaltung durch eine neuere Version überschrieben wird, was dazu führen würde, dass sämtliche Änderungen in fhem.cfg oder bspw. gplot-Dateien verlorengingen.
Naja, ist ja jetzt nicht so als könnte man die Skripte in den Paketen so schreiben, dass das möglich wäre, Nutzerdaten beizubehalten. Andere Pakete schaffen das ja schließlich auch :)

Aber wenn das Package nicht mehr "kann" außer eine initiale Installation anzulegen ist doch in Ordnung, dann nehme ich das Repo raus und gut ist.
Zitat von: betateilchen am 13 Dezember 2015, 12:15:44
Und wer aus irgendwelchen Blogs Anleitungen entnimmt, anstatt die hier im Forum veröffentlichen Hinweise zu beachten, ist letztendlich irgendwie selber schuld, wenn es hinterher knallt. (meine persönliche Meinung)
Nun, nach Klick auf die "Update- und Anpassungshinweise" gelange ich auf einen Beitrag, wo neben ein paar Änderungen in der "API" der einzig relevante Hinweis fürs Update lautet: "Damit man das testen kann, steht "5.7" ab sofort per update zur Verfügung."
Genau aus diesem Grunde habe ich mich ja weiter umgeschaut, was "per update" bedeuten mag. Leider bin ich dabei nicht auf die Informationen auf der fhem-Homepage gestoßen; da die besagte Blog-Anleitung im Wesentlich nichts anderes tut als zunächst ein Backup anzulegen und dann "update" auszuführen, hielt ich das für überschaubar.
Danke an alle Antworter!

Wernieman

Das hört sich bei Dir an, als ob bei Dir "tiefere" Linux-Kntnisse herschen.

DANN ist es nicht unbedingt nötig, für jessie das System neu aufzusetzen (auch wenn es wegen systemd besser wäre).
Wie schon gesagt, nimm fhem aus der Packetverwaltung raus ...

Hinweis:
s.o. ist nur etwas für "Linux-Profis", die wisen, was sie tun.

Hinweis2:
Sogar hier in der Firma wird beim Sprung von weesy auf Jessie die Server "neu Aufgesetzt" ... allerdings machen wir dabei auch andere Sprünge "gleich mit". Normalerweise bei Debian nicht soooooo wichtig (wenn man weiß, was man tut)
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

samdave11

Zitat von: Wernieman am 14 Dezember 2015, 15:24:30
DANN ist es nicht unbedingt nötig, für jessie das System neu aufzusetzen (auch wenn es wegen systemd besser wäre).
Ich würde sogar eher nach Gründen suchen, systemd zu vermeiden  ;D
Aber das ist schon etwas sehr OT.
Zitat von: Wernieman am 14 Dezember 2015, 15:24:30
Hinweis2:
Sogar hier in der Firma wird beim Sprung von weesy auf Jessie die Server "neu Aufgesetzt"
Ja, manchmal ist es natürlich besser, einen Server neu aufzusetzen, aber es gibt echt viele Dienste, die nur mit Fummelei so laufen, wie sie laufen sollen. Und da würde ich erst immer den möglicherweise kürzeren Weg gehen, ein Upgrade zu machen und im Zweifel zu reparieren, wenn dabei was kaputt geht.

Denn dank Opensource ändert sich ja auch einfach mal die API, Struktur der Konfigurationsdateien, Orte, wo was gespeichert wird, usw. und das darf man sich dann oft mühsam aus Bugtrackertickets oder Mailinglistenarchiven rauspulen.
Zitat von: Wernieman am 14 Dezember 2015, 15:24:30
... allerdings machen wir dabei auch andere Sprünge "gleich mit". Normalerweise bei Debian nicht soooooo wichtig (wenn man weiß, was man tut)
Debian ist auch nicht mehr das, was es mal war. Mir hat es einen Server mit einem ganz ordinären Upgrade von squeeze auf wheezy "zerlegt", weil einfach mal eine fehlerhafte grub-Konfiguration zurückgelassen wurde.

Für mich ein Grund mehr, wo es geht nur noch mit Virtualisierungen zu arbeiten.
Aber, wie gesagt: OT :)

DecaTec

Also bin ich nicht der einzige, der in diese "Falle" getappt ist (siehe hier).

Was hält die Allgemeinheit davon, die Installationshinweise unter https://debian.fhem.de/ -> Stable build using apt dahingehend anpasst, dass man noch einen weiteren Punkt am Ende aufnimmt:
Zitat
•Remove repository from /etc/apt/sources.list:

deb https://debian.fhem.de/stable ./

Meinetwegen noch mit einer kurzen Begründung (Rolling-Release und so). Der Hinweis Do not use these procedures for updates/upgrades! ist bei mir auch vollkommen unter gegangen.

Benni

Zitat von: DecaTec am 15 Dezember 2015, 07:46:12
Was hält die Allgemeinheit davon, die Installationshinweise unter https://debian.fhem.de/ -> Stable build using apt dahingehend anpasst, dass man noch einen weiteren Punkt am Ende aufnimmt

was nutzen zusätzliche Hinweise, wenn schon die bestehenden "untergehen"? ;)

DecaTec

Zitat von: Benni am 15 Dezember 2015, 08:49:48
was nutzen zusätzliche Hinweise, wenn schon die bestehenden "untergehen"? ;)

Vielleicht sind die bestehenden Hinweise dann nicht an der richtigen Stelle zu finden oder so platziert, dass diese leicht übersehen werden.
Wer diesen Fehler einmal gemacht hat, und versucht hat, per apt-get upgrade zu aktualisieren, der wird in diesen Fehler kein zweites Mal reinlaufen. Aber anscheinend gint es immer wieder Leute (wie mich ;) ), die da erstmal reinsemmeln und dann hier nachfragen.

Ich mein ja nur...wäre evtl. einen Versuch wert.

betateilchen

Zitat von: DecaTec am 15 Dezember 2015, 09:05:00
Vielleicht sind die bestehenden Hinweise dann nicht an der richtigen Stelle zu finden oder so platziert, dass diese leicht übersehen werden.

Der Hinweis, dass man das repository nicht für Updates verwenden darf, steht auf der Startseite von http://debian.fhem.de - eine prominentere Stelle, diese Information zu platzieren, gibt es meines Erachtens nicht.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

DecaTec

Zitat von: betateilchen am 15 Dezember 2015, 10:19:03
Der Hinweis, dass man das repository nicht für Updates verwenden darf, steht auf der Startseite von http://debian.fhem.de - eine prominentere Stelle, diese Information zu platzieren, gibt es meines Erachtens nicht.

Ja, prinzipiell schon richtig, aber es gibt hier eine Schritt-für-Schritt-Anleitung, wie man Key und Repository hinzufügt. Wenn, dann müsste imho auch das Entfernen aus der sources.list in diese Anleitung mit aufgenommen werden.