Installationsschritte komplett rückgängig machen

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo zusammen,

    Wenn ich verschiedene Pakete auf meinem Raspberry installiere und mal ein Fehler bei der Installation passiert, lande ich relativ schnell in einem Szenario in dem nichts mehr so richtig funktioniert. In diesem Fall wollte ich Ruby on Rails nach folgender Anleitung installieren:
    http://jankarres.de/2013/06/raspbe…s-installieren/

    Dort ist folgender Befehl

    "sudo apt-get install -y git curl zlib1g-dev subversion openssl libreadline6-dev git-core zlib1g libssl-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf automake libtool bison"

    In drei Zeilen dargestellt, was ich erst übersehen hatte und deshalb zunächst nur eingegeben habe:

    "sudo apt-get install -y git curl zlib1g-dev subversion openssl"

    daraufhin habe ich den Fehler gesehen und nochmal den ganzen Befehl nachgeschickt. Jetzt ist die Installation nicht richtig durchgelaufen, aber die gleichen Befehle mit "remove" statt "install" scheinen mich aus der Situation auch nicht zu befreien und zwischenzeitlich angepasste Dateien haben dann trotzdem noch den gleichen Status.

    Gibt es denn irgendwie die Möglichkeit, nach solchen Fehlern nochmal alles rückgängig zu machen, sämtliche Dateien die hier installiert wurden zu löschen usw.?
    Mir ist schon mal so ein Fehler passiert, da habe ich Raspbian nochmal komplett neu aufgesetzt weil ich nicht wusste, wie ich das reparieren kann. Mittlerweile habe ich aber schon Einiges installiert was sehr gut funktioniert und will wegen solchen kleinen Fehlern nicht nochmal komplett von vorne anfangen :(

    Danke für hoffentlich hilfreiche Beiträge!

  • Installationsschritte komplett rückgängig machen? Schau mal ob du hier fündig wirst!

  • Es ist völlig egal ob zu zuerst nur ein paar der Pakete installierst und dann den Rest hinterher, wenn da Abhängigkeiten drinn sind, dann werden die Automatisch mitinstalliert und danach auch kein zweites Mal installiert. Das ist also nicht der Grund für dein Problem.
    Trotzdem kann es sinnvoll sein Pakete komplett inklusive Einstellungen zu entfernen, das ist natürlich richtig. Das gibt es auch: apt-get purge <paketname(n)>
    Insgesamt ist dir jedoch vermutlich mehr geholfen, wenn du uns den Fehler verrätst den du bekommen hast, denn wie gesagt: Die Pakete einzeln zu installieren kann (außer bei fehlerhaft erstellten Paketen von denen wir hier wohl nicht reden) nicht der Grund sein.

  • Ok vielen Dank! Dann versuche ich mich hier jetzt mal durch die Fehlermeldungen zu hangeln, in der Hoffnung, dass ihr mir weiterhelfen könnt :)

    Die ersten Probleme tauchen bereit bei diesem Befehl auf:

    "sudo apt-get install -y git curl zlib1g-dev subversion openssl libreadline6-dev git-core zlib1g libssl-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf automake libtool bison"

    Und zwar kommt dort irgendwann ein blauer Hintergrund in dem die Vergabe eines Passwortes für den mySQL root User verlangt wird. Ich gebe daraufhin ein Passwort ein und bestätige dies, woraufhin die Fehlermeldung kommt:
    ________________________________________________________________________________________________________________________________
    Konnte für den MySQL->>root<<-Benutzer kein Passwort setzen

    Beim setzen des Passworts für den administrativen MySQL-Benutzer ist ein Fehler aufgetreten. Dies könnte daran liegen, dass der Benutzer bereits ein Passwort hat oder dass es ein Problem mit der Kommunikation mit dem MySQL-Server gibt.

    Sie sollten das Passwort des administrativen Benutzers nach der Paketinstallation prüfen.

    Für weitere Informationen lesen Sie /usr/share/doc/mysql-server-5.5/README.Debian.
    _________________________________________________________________________________

    Daraufhin bestätige ich mit ok und jetzt steht auch in der Console:
    _________________________________________________________________
    [FAIL] /etc/init.d/mysql: ERROR: The partition with /var/lib/mysql is too full! ... failed!
    _________________________________________________________________

    Wenn mir jemand mit diesen Problemen weiterhelfen könnte, kann ich mich vielleicht weiter durchkämpfen :)

    Danke und viele Grüße!

  • Na was glaubst du denn was die letzte Fehlermeldung besagt? Viel deutlicher geht's ja nicht. Die Partition ist voll - du hast halt keine Platz mehr auf deiner Platte/SD-Karte. Den wirst du freischaufeln muessen, oder eine groessere Karte verwenden, oder eine Festplatte anhaengen.


  • Na was glaubst du denn was die letzte Fehlermeldung besagt? Viel deutlicher geht's ja nicht. Die Partition ist voll - du hast halt keine Platz mehr auf deiner Platte/SD-Karte. Den wirst du freischaufeln muessen, oder eine groessere Karte verwenden, oder eine Festplatte anhaengen.

    Ja das kapiere ich schon. Allerdings bin ich nunmal Anfänger was Unix und Raspberry Pi angeht. Ich habe eine 32 Gig SD-Karte. Dass die jetzt schon voll ist, nachdem ich nur ein paar Pakete installiert habe, kann ich mir gerade schwer vorstellen. Also wie kann ich denn überprüfen in welche Partitionen das Ding aufgeteilt ist? Ist es möglich, dass nur ein kleiner Teil der SD-Karte genutzt wird? Wenn ja, wie kann ich die ganze SD-Karte für die Installation von Paketen usw. verwendbar machen?

    Auch was die erste Fehlermeldung mit der Passwortvergabe angeht, ist mir die Fehlermeldung nicht klar (weniger offensichtlich als die zweite Fehlermeldung, woran das liegt). Außer die hängt mit dem Platzmangel zusammen...

    Viele Grüße

  • Na, das sind ja nun schon ganz andere Fragen - die haette man ja auch gleich stellen koennen ;)

    Mittels "df -h" kannst du dir anschauen, wie die Nutzung deiner Filesysteme aussieht:

    Code
    pi@pi:~/projects/balancebot-3000/pi/mpu6050/build$ df -h
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/root        15G  3.6G   11G  25% /
    devtmpfs        459M     0  459M   0% /dev
    tmpfs           463M   88K  463M   1% /dev/shm
    tmpfs           463M  6.8M  457M   2% /run
    tmpfs           5.0M  4.0K  5.0M   1% /run/lock
    tmpfs           463M     0  463M   0% /sys/fs/cgroup
    /dev/mmcblk0p1   64M   20M   45M  31% /boot
    tmpfs            93M   28K   93M   1% /run/user/1000

    Wie du siehst - meine SD-Karte hat 15GB. Wenn deine deutlich weniger als die versprochenen 32 GB hat, dann muesste man sich mal die Partitionierung anschauen, mittels

    Code
    sudo fdisk /dev/mmcblk0 -l

    sollte das klappen. Dann muss man das Filesystem ggf. vergroessern. Aber darueber reden wir, wenn du ein paar mehr Daten hast.
    Automatisch zusammengefügt:
    Nachtrag: bevor der Platzmangel behoben ist, wuerde ich keine weitere Fehlersuche machen - das koennen alles Folgefehler sein.

  • Danke!

    Also nach deinen Befehlen hat meine nur 2,9 GB...

    Dateisystem Größe Benutzt Verf. Verw% Eingehängt auf
    /dev/root 2,9G 2,8G 0 100% /
    devtmpfs 214M 0 214M 0% /dev
    tmpfs 44M 264K 44M 1% /run
    tmpfs 5,0M 0 5,0M 0% /run/lock
    tmpfs 87M 0 87M 0% /run/shm
    /dev/mmcblk0p1 56M 20M 37M 36% /boot

    Der zweite Befehl (sudo fdisk /dev/mmcblk0 -1) bringt folgendes Ergebnis:

    Disk /dev/mmcblk0: 30.9 GB, 30908350464 bytes
    4 heads, 16 sectors/track, 943248 cylinders, total 60367872 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0xa6202af7

    Device Boot Start End Blocks Id System
    /dev/mmcblk0p1 8192 122879 57344 c W95 FAT32 (LBA)
    /dev/mmcblk0p2 122880 6399999 3138560 83 Linux

  • Ok, vielen Dank - das hat soweit funktioniert, ich habe jetzt 30 GB zur Verfügung. Damit habe ich den obigen Befehl nochmal neu ausgeführt.

    "sudo apt-get install -y git curl zlib1g-dev subversion openssl libreadline6-dev git-core zlib1g libssl-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf automake libtool bison"

    Auch jetzt taucht erneut die oben beschriebene erste Fehlermeldung auf, dass kein Passwort vergeben werden kann. Nachdem ich das mit "ok" bestätige, taucht nun nicht mehr die Fehlermeldung mit dem zu geringen Speicherplatz auf, sondern die Folgende:

    [FAIL] Starting MySQL database server: mysqld . . . . . . . . . . . . . . failed!
    invoke-rc.d: initscript mysql, action "start" failed.
    dpkg: Fehler beim Bearbeiten von mysql-server-5.5 (--configure):
    Unterprozess installiertes post-installation-Skript gab den Fehlerwert 1 zurück
    dpkg: Abhängigkeitsprobleme verhindern Konfiguration von mysql-server:
    mysql-server hängt ab von mysql-server-5.5; aber:
    Paket mysql-server-5.5 ist noch nicht konfiguriert.

    dpkg: Fehler beim Bearbeiten von mysql-server (--configure):
    Abhängigkeitsprobleme - verbleibt unkonfiguriert
    Fehler traten auf beim Bearbeiten von:
    mysql-server-5.5
    mysql-server
    E: Sub-process /usr/bin/dpkg returned an error code (1)

  • Versuch mal apt-get install --reinstall mysql-server-5.5, und danach dann wieder dein urspruengliches Kommando.


  • Versuch mal apt-get install --reinstall mysql-server-5.5, und danach dann wieder dein urspruengliches Kommando.

    Nach dem reinstall Befehl und dem erneuten Versuch des ursprünglichen Kommandos kommt die gleiche Fehlermeldung. Wobei bereits dein Befehl Folgendes ausspuckt:

    Paketlisten werden gelesen... Fertig
    Abhängigkeitsbaum wird aufgebaut.
    Statusinformationen werden eingelesen.... Fertig
    0 aktualisiert, 0 neu installiert, 1 erneut installiert, 0 zu entfernen und 1 nicht aktualisiert.
    2 nicht vollständig installiert oder entfernt.
    Nach dieser Operation werden 0 B Plattenplatz zusätzlich benutzt.
    E: Internal Error, No file name for mysql-server-5.5:armhf

  • Was gibt denn "apt-cache showpkg mysql-server" aus? Und was dann fuer die darunter gelisteten Abhaengigkeiten, die er hat?

    Letztlich ist das hier schwer zu beantworten, in meinen Augen solltest du versuchen Loesungen fuer Debian-Paketabhaengigkeiten selbst zu finden. Dazu gehoert wahrscheinlich ein update und ggf. dist-upgrade deiner Installation, und dann jede Menge gefummel, dass hier so stueckweise schwierig zu machen ist - ich schau naemlich auch einfach nur nach den Fehlermeldungen, bzw. eben danach, was debian packetmanagement so alles bedeutet.

  • Ja das glaube ich schon, dass das hier mit der Ferndiagnose recht schwierig ist :(
    Leider kenne ich mich halt noch recht schlecht aus, was es ziemlich schwer für mich macht Debian Paketabhängigkeiten zu analysieren...

    Auf jeden Fall gibt der Befehl "apt-cache showpkg mysql-server" Folgendes aus:

    Versions:
    5.5.46-0+deb7u1 (/var/lib/apt/lists/mirrordirector.raspbian.org_raspbian_dists_wheezy_main_binary-armhf_Packages) (/var/lib/dpkg/status)
    Description Language:
    File: /var/lib/apt/lists/mirrordirector.raspbian.org_raspbian_dists_wheezy_main_binary-armhf_Packages
    MD5: e519a9c4f87658afbd1d077af63f9269


    Reverse Depends:
    zoneminder,mysql-server
    zabbix-server-mysql,mysql-server 5.0
    zabbix-proxy-mysql,mysql-server 5.0
    wzdftpd-back-mysql,mysql-server
    wordpress,mysql-server 5.0.15
    webissues-server,mysql-server
    viewvc-query,mysql-server
    ukolovnik,mysql-server
    typo3-database,mysql-server
    torrentflux,mysql-server
    sympa,mysql-server
    spotweb,mysql-server
    spip,mysql-server
    sogo,mysql-server
    smbind,mysql-server
    simplesamlphp,mysql-server 5
    semanticscuttle,mysql-server
    scuttle,mysql-server
    sbnc-mysql,mysql-server
    rt4-db-mysql,mysql-server 4.1
    rt3.8-db-mysql,mysql-server 4.0.13
    rsyslog-mysql,mysql-server
    roundcube-mysql,mysql-server
    robojournal,mysql-server
    redmine-mysql,mysql-server
    qsf,mysql-server
    python-mysqldb,mysql-server
    pwman3,mysql-server
    postfixadmin,mysql-server
    postfix-gld,mysql-server
    postfix-cluebringer-mysql,mysql-server
    piwigo,mysql-server
    phpmyadmin,mysql-server
    phpbb3,mysql-server
    pdns-backend-mysql,mysql-server
    papercut,mysql-server
    owncloud-mysql,mysql-server
    otrs2,mysql-server
    opennebula,mysql-server
    ocsinventory-server,mysql-server
    oar-server-mysql,mysql-server
    nginx-naxsi-ui,mysql-server
    netmrg,mysql-server
    ndoutils-nagios3-mysql,mysql-server
    nanourl,mysql-server
    mysqltuner,mysql-server
    mysql-testsuite-5.5,mysql-server 5.5.46-0+deb7u1
    mysql-server-5.5,mysql-server 5.5.46-0+deb7u1
    mysql-server-5.5,mysql-server 5.5.46-0+deb7u1
    mysql-server-5.1,mysql-server 5.1.62-1
    mysql-server-5.1,mysql-server 5.1.62-1
    mylvmbackup,mysql-server
    moodle,mysql-server
    mediawiki,mysql-server
    mantis,mysql-server
    mahara,mysql-server
    libreoffice-mysql-connector,mysql-server 5.1
    libnss-mysql-bg,mysql-server
    libmidgard2,mysql-server
    libdspam7-drv-mysql,mysql-server
    letodms,mysql-server
    knowledgeroot,mysql-server
    inspircd,mysql-server
    htcheck,mysql-server
    gofigure2,mysql-server
    gmysqlcc,mysql-server
    fusionforge-plugin-mediawiki,mysql-server
    frontaccounting,mysql-server
    ferret,mysql-server
    dsyslog-module-mysql,mysql-server
    drupal7,mysql-server
    drupal6,mysql-server
    dotclear,mysql-server
    digitemp,mysql-server
    collectd-core,mysql-server
    cacti,mysql-server
    biomaj,mysql-server
    bacula-director-mysql,mysql-server
    auth2db,mysql-server
    audiolink,mysql-server 4.0.16-2
    ansel1,mysql-server
    ampache-common,mysql-server
    ampache,mysql-server
    adminer,mysql-server
    Dependencies:
    5.5.46-0+deb7u1 - mysql-server-5.5 (0 (null))
    Provides:
    5.5.46-0+deb7u1 -
    Reverse Provides:
    mysql-server-5.1 5.1.62-1

  • Package: mysql-server-5.5
    Versions:
    5.5.46-0+deb7u1 (/var/lib/apt/lists/mirrordirector.raspbian.org_raspbian_dists_wheezy_main_binary-armhf_Packages) (/var/lib/dpkg/status)
    Description Language:
    File: /var/lib/apt/lists/mirrordirector.raspbian.org_raspbian_dists_wheezy_main_binary-armhf_Packages
    MD5: 3ae11e16f793b3ee84f73a5fa268ad9b


    Reverse Depends:
    mysql-server,mysql-server-5.5
    mahara,mysql-server-5.5
    Dependencies:
    5.5.46-0+deb7u1 - mysql-client-5.5 (2 5.5.46-0+deb7u1) libdbi-perl (0 (null)) perl (2 5.6) libc6 (2 2.13-28) libgcc1 (2 1:4.4.0) libstdc++6 (2 4.4.0) zlib1g (2 1:1.1.4) debconf (18 0.5) debconf-2.0 (0 (null)) psmisc (0 (null)) passwd (0 (null)) lsb-base (2 3.0-10) mysql-server-core-5.5 (2 5.5.46-0+deb7u1) initscripts (2 2.88dsf-13.3) mysql-common (2 5.5.46-0+deb7u1) adduser (2 3.40) debconf (0 (null)) tinyca (0 (null)) mailx (0 (null)) libhtml-template-perl (0 (null)) libmysqlclient-dev (3 5.5.17~) mysql-client-5.1 (0 (null)) mysql-server (3 5.5.46-0+deb7u1) mysql-server-5.1 (0 (null)) libmysqlclient-dev (3 5.5.17~) mysql-client-5.1 (0 (null)) mysql-server (3 5.5.46-0+deb7u1) mysql-server-5.0 (0 (null)) mysql-server-5.1 (0 (null))
    Provides:
    5.5.46-0+deb7u1 - virtual-mysql-server
    Reverse Provides:

  • Hm. Das sieht ja so aus, als ob's das doch gibt. Versuch das doch mal zu purgen, sprich richtig weg zu loeschen von der platte (natuerlich mittels paketmanagement).

    Das sollte sowas sein wie "apt-get purge mysql-server", auch wiederholen fuer das mysql-server-5.5 Paket.


  • Hm. Das sieht ja so aus, als ob's das doch gibt. Versuch das doch mal zu purgen, sprich richtig weg zu loeschen von der platte (natuerlich mittels paketmanagement).

    Das sollte sowas sein wie "apt-get purge mysql-server", auch wiederholen fuer das mysql-server-5.5 Paket.

    Also der Befehl "sudo apt-get purge mysql-server" bringt Folgendes:

    [FAIL] Starting MySQL database server: mysqld . . . . . . . . . . . . . . failed!
    invoke-rc.d: initscript mysql, action "start" failed.
    dpkg: Fehler beim Bearbeiten von mysql-server-5.5 (--configure):
    Unterprozess installiertes post-installation-Skript gab den Fehlerwert 1 zurück
    Fehler traten auf beim Bearbeiten von:
    mysql-server-5.5
    E: Sub-process /usr/bin/dpkg returned an error code (1)

    Beim Befehl "sudo apt-get purge mysql-server-5.5" kommt dagegen keine Fehlermeldung sondern:

    Paketlisten werden gelesen... Fertig
    Abhängigkeitsbaum wird aufgebaut.
    Statusinformationen werden eingelesen.... Fertig
    Die folgenden Pakete werden ENTFERNT:
    mysql-server-5.5*
    0 aktualisiert, 0 neu installiert, 1 zu entfernen und 1 nicht aktualisiert.
    1 nicht vollständig installiert oder entfernt.
    Nach dieser Operation werden 30,8 MB Plattenplatz freigegeben.
    Möchten Sie fortfahren [J/n]? j
    (Lese Datenbank ... 82704 Dateien und Verzeichnisse sind derzeit installiert.)
    Entfernen von mysql-server-5.5 ...
    [ ok ] Stopping MySQL database server: mysqld.
    Löschen der Konfigurationsdateien von mysql-server-5.5 ...
    Trigger für man-db werden verarbeitet ...


    Sobald ich aber wieder meinen "sudo apt-get install php-apc php5-curl mysql-server php5-mysql" eingebe, geht der Spaß wieder von vorn los. Zunächst kommt wiedermal die Fehlermeldung, dass das Passwort für den root User nicht gesetzt werden kann und anschließend wieder diese Fehler:

    151115 20:20:28 [ERROR] Plugin 'InnoDB' init function returned error.
    151115 20:20:28 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
    151115 20:20:28 [ERROR] Unknown/unsupported storage engine: InnoDB
    151115 20:20:28 [ERROR] Aborting

    151115 20:20:28 [Note] /usr/sbin/mysqld: Shutdown complete

    [FAIL] Starting MySQL database server: mysqld . . . . . . . . . . . . . . failed!
    invoke-rc.d: initscript mysql, action "start" failed.
    dpkg: Fehler beim Bearbeiten von mysql-server-5.5 (--configure):
    Unterprozess installiertes post-installation-Skript gab den Fehlerwert 1 zurück
    dpkg: Abhängigkeitsprobleme verhindern Konfiguration von mysql-server:
    mysql-server hängt ab von mysql-server-5.5; aber:
    Paket mysql-server-5.5 ist noch nicht konfiguriert.

    dpkg: Fehler beim Bearbeiten von mysql-server (--configure):
    Abhängigkeitsprobleme - verbleibt unkonfiguriert
    Fehler traten auf beim Bearbeiten von:
    mysql-server-5.5
    mysql-server
    E: Sub-process /usr/bin/dpkg returned an error code (1)

  • Tja. Da ist mein kleines Latinum an sein Ende gekommen - letztlich scheint da durch fehlenden Speicherplatz irgendwas halbgar da zu sein, dass jetzt nicht mehr richtig auf/abgeraeumt werden kann. Das kann man sicher alles irgendwie hinbiegen - aber nicht hier im ping-pong, weil ich da auch selbst nicht genug Erfahrung habe. Entweder setzt du alles neu auf (resize des FS nicht vergessen... ;) ) oder du beliest dich in den vielen Debian-Resourcen darueber, wie man das System wieder gerade biegt.

  • Ok, ich danke dir für deine Tipps und deine Ausdauer. Dann fange ich nochmal von vorne an, für mich steht eh der Lerneffekt im Vordergrund.
    Eine Sache würde mich interessieren. Gibt es denn eine gute Möglichkeit, für die aktuelle Installation in Zukunft Backups zu fahren. Sodass ich bei sowas nochmal zu meinem Status Quo vor der Installation von nginx mit all den Problemen um MySQL zurückkehren kann, aber nicht gleich nochmal mit kompletten Image sondern meine bereits angelegten user und settings wieder habe?

  • Also unter unix (ich hab' nen Mac) ist das stulle-doof, da macht man halt einfach ein Vollbackup des Images indem man die Karte in den PC schiebt. Aber da kannst du einfach mal googeln/hier im Forum gucken, da gibt's 100%ig was.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!