fhem auf Ubuntu 16.04 > Installation schlägt fehl > Deinstallation auch

Begonnen von LittleNo, 03 Januar 2018, 14:08:35

Vorheriges Thema - Nächstes Thema

LittleNo

Ich wollte fhem gerade auf einem meiner Server installieren und hatte den Weg über apt-get wie auf debian.fhem.de beschrieben versucht. Bei der Installation kam dieser Fehler:

fhem (5.8.15761) wird eingerichtet ...
dpkg: Fehler beim Bearbeiten des Paketes fhem (--configure):
Unterprozess installiertes post-installation-Skript gab den Fehlerwert 1 zurück
Fehler traten auf beim Bearbeiten von:
fhem
E: Sub-process /usr/bin/dpkg returned an error code (1)


Leider kommt der gleiche Fehler auch beim Versuch das bereits installierte zu entfernen.

in /opt/fhem ist offensichtlich der Inhalt von fhem vorhanden, aber einen service fhem - den ich starten oder beenden könnte - kennt das System nicht.

Ich hätte es ja mit der manuellen Installation versucht, aber dazu müsste die verkorkste Installation erst wieder weg.

Edit: und anscheinend ist dabei auch irgendwas passiert was den Samba-Server zerschossen hat oder zumindest blockiert ... der Dienst läuft zwar noch aber tut nichts

abc2006

Hi, genau das wollte ich gerade auch reporten.

Raspi 3, raspian. Neu installiert, erstes zu installierendes Paket nach Anleitung
https://debian.fhem.de/

@LittleNo:
workaround:

in der Datei /var/lib/dpkg/info/fhem.postinst in Zeile 4 ein

exit 0


eintragen. 
Danach ein

apt-get -f install

ausführen.

ACHTUNG: das behebt NICHT die Probleme mit fhem, sorgt aber dafür, dass apt-get wieder funktioniert.

Werde vielleicht morgen dazu kommen, mal nach dem Problem zu schauen... vielleicht finde ich Grund/Lösung.

Alternativ ist es möglich, dass du in die fhem.postrm und fhem.prerm ebenfalls oben ein exit 0 einträgst, dann kannst du es mit apt-get purge fhem wieder löschen und manuell (ohne apt) installieren.

Grüße,
Stephan

FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX

abc2006

Das (zumindest) erste Problem ist die Zeile 22:

stat /sbin/init

liefert bei mir

stat /sbin/init
  Datei: /sbin/init -> /lib/systemd/systemd
  Größe: 20             Blöcke: 0          EA Block: 4096   symbolische Verknüpfung
Gerät: b302h/45826d     Inode: 6380        Verknüpfungen: 1
Zugriff: (0777/lrwxrwxrwx)  Uid: (    0/    root)   Gid: (    0/    root)
Zugriff    : 2017-11-29 02:35:29.046732634 +0000
Modifiziert: 2017-07-05 20:31:25.000000000 +0000
Geändert   : 2017-11-29 02:35:29.046732634 +0000
Geburt    : -
root@hzfhem:/var/log#




Wenn ich die Zeile 22

test=$(stat /sbin/init | grep "File")

ändere in

test=$(stat /sbin/init | grep "Datei")

funktioniert es wieder.
Untersucht habe ich bis hier allerdings nur die fhem.postinst

Evtl scheint es mir sinnvoller, die erkennung von systemd *nicht* einem localisation-abhängigen grep zu überlassen ...

Vorschlag:
if [ $(cat /proc/1/comm) = "systemd" ]; then
  echo "systemd";
elif [ $(cat /proc/1/comm) = "init" ]; then
  echo "init";
fi

Grüße,
Stephan




FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX

abc2006

in der prerm scheint es das gleiche Problem zu sein.

Grüße,
Stephan
FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX

MadMax-FHEM

Wie wäre eine Abfrage bei der Installation?

Sowas wie: anzeigen was erkannt wurde und durch einfache Eingabe von 'Enter' übernehmen oder eben die "jeweils andere Variante" durch eine "Eingabe" übernehmen...

"Ungeübte/Unerfahrene" nehmen einfach die Vorgabe...
...andere können wählen...

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)

abc2006

ungeübte/unerfahrene fahren mit einer automatischen Erkennung besser, denke ich (solange die funktioniert).
Erfahrene können die manuelle Installation durchführen.

Ich persönlich bin von dem sed in meiner sources.list auch nicht so richtig begeistert ...


Grüße,
Stephan
FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX

LittleNo

ZitatACHTUNG: das behebt NICHT die Probleme mit fhem, sorgt aber dafür, dass apt-get wieder funktioniert.

Werde vielleicht morgen dazu kommen, mal nach dem Problem zu schauen... vielleicht finde ich Grund/Lösung.

Alternativ ist es möglich, dass du in die fhem.postrm und fhem.prerm ebenfalls oben ein
Code: [Auswählen]
exit 0
einträgst, dann kannst du es mit
Code: [Auswählen]
apt-get purge fhem
wieder löschen und manuell (ohne apt) installieren.
leider nein, die Fehlermeldung sieht zwar jetzt so aus, aber entfernt wird das Paket trotzdem nicht:

Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.       
Statusinformationen werden eingelesen.... Fertig
E: Das Paket fhem muss neu installiert werden, es kann jedoch kein Archiv dafür gefunden werden.

Beta-User

Probier mal, die locales auf english zu stellen (kann nach der Installation wieder umgestellt werden):
dpkg-reconfigure locales
Vielleicht klappt es ja dann mit dem Paket.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

LittleNo

ZitatProbier mal, die locales auf english zu stellen (kann nach der Installation wieder umgestellt werden):
Code: [Auswählen]
dpkg-reconfigure locales
Vielleicht klappt es ja dann mit dem Paket.
nope, alles unverändert

abc2006

Zitat von: LittleNo am 04 Januar 2018, 14:26:38
leider nein, die Fehlermeldung sieht zwar jetzt so aus, aber entfernt wird das Paket trotzdem nicht:

Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.       
Statusinformationen werden eingelesen.... Fertig
E: Das Paket fhem muss neu installiert werden, es kann jedoch kein Archiv dafür gefunden werden.


Zeig mal bitte die gesamte Ausgabe, samt dem Befehl, den du abgesetzt hast.
Bei mir hat es einwandfrei geklappt.

Dass das Archiv nicht mehr gefunden werden kann , ist der zeile sed ... (in der fhem.postinst) zu verdanken. Diese entfernt beim ersten Konfigurationsversuch die Quelle aus der sources.list.
Füge die Zeile deb http://debian.fhem.de/nightly / in die /etc/sources.list wieder hinzu (und kommentiere die sed-Zeile ggf. aus)

dann führe ein apt-get -f install aus

Jetzt sollte das Paket "fehlerfrei" installiert sein.


Wenn das geklappt hat, bearbeitest du die beiden *rm-Dateien und löscht das Paket mit

apt-get purge fhem


Grüße,
Stephan
FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX

LittleNo

ZitatDass das Archiv nicht mehr gefunden werden kann , ist der zeile
Code: [Auswählen]
sed ...
(in der fhem.postinst) zu verdanken. Diese entfernt beim ersten Konfigurationsversuch die Quelle aus der sources.list.
Füge die Zeile deb http://debian.fhem.de/nightly / in die /etc/sources.list wieder hinzu (und kommentiere die sed-Zeile ggf. aus)
hab ich getan. Ändert aber nix:

root@rsfs1:~# apt-get -f install
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.       
Statusinformationen werden eingelesen.... Fertig
E: Das Paket fhem muss neu installiert werden, es kann jedoch kein Archiv dafür gefunden werden.

LittleNo

Update: PC neu gestartet, dann siehts so aus (im Prinzip wieder die bisherige Fehlermeldung):
apt-get -f install
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.       
Statusinformationen werden eingelesen.... Fertig
Die folgenden zusätzlichen Pakete werden Installiert
  fhem
Vorgeschlagene Pakete:
  libarchive-extract-perl
Die folgenden Pakete werden aktualisiert (Upgrade):
  fhem
1 aktualisiert, 0 neu installiert, 0 zu entfernen und 29 nicht aktualisiert.
1 nicht vollständig installiert oder entfernt.
Es müssen 20,8 MB an Archiven heruntergeladen werden.
Nach dieser Operation werden 0 B Plattenplatz zusätzlich benutzt.
Möchten Sie fortfahren? [J/n] j
Holen:1 http://debian.fhem.de/nightly  fhem 5.8.15781 [20,8 MB]
Es wurden 20,8 MB in 3 s geholt (5.400 kB/s).
Vormals nicht ausgewähltes Paket fhem wird gewählt.
(Lese Datenbank ... 149512 Dateien und Verzeichnisse sind derzeit installiert.)
Vorbereitung zum Entpacken von .../fhem_5.8.15781_all.deb ...
Entpacken von fhem (5.8.15781) über (5.8.15761) ...
fhem (5.8.15781) wird eingerichtet ...
dpkg: Fehler beim Bearbeiten des Paketes fhem (--configure):
Unterprozess installiertes post-installation-Skript gab den Fehlerwert 1 zurück
E: Sub-process /usr/bin/dpkg returned an error code (1)


Die oben beschriebenen Änderungen "Exit 0" in den fhem-Dateien sind dabei jetzt aktiv gewesen

abc2006

sorry,
du hättest natürlich ein

apt-get update

machen müssen...  Hab ich oben vergessen :-[
ZitatDie oben beschriebenen Änderungen "Exit 0" in den fhem-Dateien sind dabei jetzt aktiv gewesen
Zitatpost-installation-Skript gab den Fehlerwert 1 zurück

offensichtlich nicht, laut Fehlermeldung hat das Script "1" zurückgegeben...

Ich versuchs nochmal anders zu erklären:
du hast 3 wichtige dateien:

einmal die sources.list, in der stehen die quellen drin.
diese werden durch das "sed" bei *jedem*! konfigurationsversuch wieder gelöscht.

dann hast du die fhem.postinst und fhem.prerm-dateien.
diese enthalten die Zeile test=$(stat /sbin/init | grep "File"), die das Problem verursacht.
um dieses Problem zu umgehen, musst du in Zeile 4 ein exit 0 eintragen, damit das script *vor* dem Problem mit code "0" beendet wird.

Du musst das System momentan von Hand in den Zustand bringen, den es erwartet. Wenn es nicht klappt, musst du *ALLE* Schritte wiederholen, weil das System darin rumbastelt.

also:
in der sources.list muss der Eintrag für fhem vorhanden sein
in der postinst muss in Zeile 4 der Eintrag "exit 0" (kleingeschrieben übrigens) vorhanden sein
in der prerm muss in Zeile 4 der eintrag "exit 0" vorhanden sein

dann machst du ein apt-get update.
dann kannst du ein apt-get -f install durchführen.

Dann sollte das Paket von apt-get akzeptiert werden
und dann sollte auch die deinstallation möglich sein.

Grüße,
Stephan


FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX

LittleNo

Danke, jetzt hats geklappt.

Dass das System den Eintrag in sources.list jedes Mal wieder entfernt hatte ich schon verstanden und ihn von Hand immer wieder eingefügt. Was ich nicht wusste war dass das auch für die "exit 0" Einträge gilt.

abc2006

Alles klar, ja, übers Forum fällt mir manchmal schwer, zu erklären, was ich eigentlich meine...

Schön dass es funktioniert hat.

Grüße,
Stephan
FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX