LINUX: System lässt sich nicht mehr updaten...

Begonnen von MarkusAutomaticus, 12 Juni 2017, 10:56:28

Vorheriges Thema - Nächstes Thema

MarkusAutomaticus

... Obwohl auf der SSD noch genug Platz ist.

Hallo zusammen,

seit ein paar Tagen ärgert mich das System, auf dem mein FHEM läuft damit,
dass es sich nicht mehr updaten lässt.
Auch Ratschläge mit "-f" u.ä. laufen ins Leere.

Kann es sein, dass Ubuntu so konfiguriert ist, dass es bei Updates solange alte Kernel-Images ablegt,
bis es keine freien Inodes mehr gibt und man diese auch mit Bordmitteln nicht mehr gelöscht bekommt,
weil auch fürs Löschen solche Inodes benötigt werden?

Wenn dem so wäre, dann wäre das mal wieder Wasser auf die Mühlen eine zufriedenen Windowsanwenders,
dem Vergleichbares seit über 30 Jahren mit Windows nicht passiert ist.

Vielleicht hat jemand, der sich mit Linux besser auskennt, einen Tipp für mich,
wie ich das System wieder flott bekomme, ohne mir dabei ins Bein zu schießen?

Viele Grüße
Markus
FHEM 5.8 |intel NUC Core i3: Ubuntu 22.04 | z-Wave: Aeon Labs USB Stick | Jeelink (v3c): LaCrosse-Sensoren | DuoFern Stick: Rademacher Gurtwickler | Philips Hue Bridge | CUNX: HomeMatic, EnOcean-Pigator

mahowi

Als erstes müsstest Du uns mal mitteilen, was überhaupt los ist. Es wird doch sicher irgendeine Fehlermeldung geben.

Alte, nicht mehr benötigte Pakete wie z.B. alte Kernel entfernt man mittels sudo apt-get autoremove

Wenn genügend Platz auf der Platte ist, sollte das eigentlich nicht das Problem sein. Wenn Du beim Formatieren nicht an den Inode-Größen rumgefummelt hast, sollte das passen. Mir sind zumindest noch nie die Inodes ausgegangen (in über 20 Jahren Linux).
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

MarkusAutomaticus

Hallo mahowi,

vielen Dank für deine schnelle Antwort!

autoremove habe ich schon versucht und ein zwei weitere Kommandos, die das System vorgeschlagen hat.

Die genauen Fehlermeldungen, reiche ich nach, wenn ich wieder zuhause bin.

Gruß
Markus
FHEM 5.8 |intel NUC Core i3: Ubuntu 22.04 | z-Wave: Aeon Labs USB Stick | Jeelink (v3c): LaCrosse-Sensoren | DuoFern Stick: Rademacher Gurtwickler | Philips Hue Bridge | CUNX: HomeMatic, EnOcean-Pigator

MarkusAutomaticus

So, jetzt bin ich dazugekommen, die Fehlermeldungen zu notieren:

Nach dem Anmelden:


Last login: Sun Jun 11 17:13:43 2017 from 192.168.178.65
markus@Jarvis3:~$


login as: markus
markus@192.168.178.74's password:
Welcome to Ubuntu 16.04.2 LTS (GNU/Linux 4.4.0-75-generic x86_64)

* Documentation:  https://help.ubuntu.com
* Management:     https://landscape.canonical.com
* Support:        https://ubuntu.com/advantage

29 Software-Pakete können aktualisiert werden.
13 Aktualisierungen sind Sicherheitsaktualisierungen.



Es gibt also einiges upzudaten.


markus@Jarvis3:~$ sudo apt-get update
[sudo] Passwort für markus:
OK:1 http://de.archive.ubuntu.com/ubuntu xenial InRelease
Holen:2 http://de.archive.ubuntu.com/ubuntu xenial-updates InRelease [102 kB]
Holen:3 http://de.archive.ubuntu.com/ubuntu xenial-backports InRelease [102 kB]
Holen:4 http://security.ubuntu.com/ubuntu xenial-security InRelease [102 kB]
Holen:5 http://de.archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages [553 kB]
Holen:6 http://de.archive.ubuntu.com/ubuntu xenial-updates/main i386 Packages [536 kB]
Holen:7 http://de.archive.ubuntu.com/ubuntu xenial-updates/main Translation-en [224 kB]
Holen:8 http://de.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 Packages [483 kB]
Holen:9 http://de.archive.ubuntu.com/ubuntu xenial-updates/universe i386 Packages [468 kB]
Holen:10 http://de.archive.ubuntu.com/ubuntu xenial-updates/universe Translation-en [191 kB]
Holen:11 http://de.archive.ubuntu.com/ubuntu xenial-updates/multiverse amd64 Packages [8.928 B]
Holen:12 http://de.archive.ubuntu.com/ubuntu xenial-updates/multiverse i386 Packages [7.992 B]
Holen:13 http://de.archive.ubuntu.com/ubuntu xenial-backports/main amd64 Packages [4.688 B]
Holen:14 http://de.archive.ubuntu.com/ubuntu xenial-backports/main i386 Packages [4.692 B]
Holen:15 http://security.ubuntu.com/ubuntu xenial-security/main amd64 Packages [284 kB]
Holen:16 http://security.ubuntu.com/ubuntu xenial-security/main i386 Packages [270 kB]
Holen:17 http://security.ubuntu.com/ubuntu xenial-security/main Translation-en [121 kB]
Holen:18 http://security.ubuntu.com/ubuntu xenial-security/universe amd64 Packages [138 kB]
Holen:19 http://security.ubuntu.com/ubuntu xenial-security/universe i386 Packages [124 kB]
Holen:20 http://security.ubuntu.com/ubuntu xenial-security/universe Translation-en [71,5 kB]
Holen:21 http://security.ubuntu.com/ubuntu xenial-security/multiverse amd64 Packages [2.748 B]
Holen:22 http://security.ubuntu.com/ubuntu xenial-security/multiverse i386 Packages [2.908 B]
Es wurden 3.802 kB in 1 s geholt (2.157 kB/s).
Paketlisten werden gelesen... Fertig
markus@Jarvis3:~$


upgrade:


markus@Jarvis3:~$ sudo apt-get upgrade
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen.... Fertig
Probieren Sie »apt-get -f install«, um dies zu korrigieren.
Die folgenden Pakete haben unerfüllte Abhängigkeiten:
linux-image-extra-4.4.0-78-generic : Hängt ab von: linux-image-4.4.0-78-generic ist aber nicht installiert
linux-signed-image-4.4.0-78-generic : Hängt ab von: linux-image-4.4.0-78-generic (= 4.4.0-78.99) ist aber nicht installiert
E: Unerfüllte Abhängigkeiten. Versuchen Sie, -f zu benutzen.
markus@Jarvis3:~$


-f install


markus@Jarvis3:~$ sudo apt-get -f install
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen.... Fertig
Abhängigkeiten werden korrigiert ... Fertig
Die folgenden zusätzlichen Pakete werden Installiert
  linux-image-4.4.0-78-generic
Vorgeschlagene Pakete:
  fdutils linux-doc-4.4.0 | linux-source-4.4.0 linux-tools
Die folgenden NEUEN Pakete werden installiert:
  linux-image-4.4.0-78-generic
0 aktualisiert, 1 neu installiert, 0 zu entfernen und 99 nicht aktualisiert.
16 nicht vollständig installiert oder entfernt.
Es müssen 21,9 MB an Archiven heruntergeladen werden.
Nach dieser Operation werden 66,8 MB Plattenplatz zusätzlich benutzt.
Möchten Sie fortfahren? [J/n] J
Holen:1 http://de.archive.ubuntu.com/ubuntu xenial-updates/main amd64 linux-image-4.4.0-78-generic amd64 4.4.0-78.99 [21,9 MB]
Es wurden 21,9 MB in 2 s geholt (10,6 MB/s).
(Lese Datenbank ... 427378 Dateien und Verzeichnisse sind derzeit installiert.)
Vorbereitung zum Entpacken von .../linux-image-4.4.0-78-generic_4.4.0-78.99_amd64.deb ...
Done.
Entpacken von linux-image-4.4.0-78-generic (4.4.0-78.99) ...
dpkg: Fehler beim Bearbeiten des Archivs /var/cache/apt/archives/linux-image-4.4.0-78-generic_4.4.0-78.99_amd64.deb (--unpack):
Extrahierte Daten für »./boot/abi-4.4.0-78-generic« können nicht nach »/boot/abi-4.4.0-78-generic.dpkg-new« kopiert werden: Es konnte nicht geschrieben werden (Auf dem Gerät ist kein Speicherplatz mehr verfügbar)
Es wurde kein Apport-Bericht verfasst, da die Fehlermeldung auf einen Fehler wegen voller Festplatte hindeutet.
                                                                                                               dpkg-deb: Fehler: Unterprozess einfügen wurde durch Signal (Datenübergabe unterbrochen (broken pipe)) getötet
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 4.4.0-78-generic /boot/vmlinuz-4.4.0-78-generic
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 4.4.0-78-generic /boot/vmlinuz-4.4.0-78-generic
Fehler traten auf beim Bearbeiten von:
/var/cache/apt/archives/linux-image-4.4.0-78-generic_4.4.0-78.99_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
markus@Jarvis3:~$


autoremove:


markus@Jarvis3:~$ sudo apt-get autoremove
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen.... Fertig
Probieren Sie »apt-get -f install«, um dies zu korrigieren.
Die folgenden Pakete haben unerfüllte Abhängigkeiten:
linux-image-extra-4.4.0-78-generic : Hängt ab von: linux-image-4.4.0-78-generic ist aber nicht installiert
linux-signed-image-4.4.0-78-generic : Hängt ab von: linux-image-4.4.0-78-generic (= 4.4.0-78.99) ist aber nicht installiert
E: Unerfüllte Abhängigkeiten. Versuchen Sie, -f zu benutzen.
markus@Jarvis3:~$



Ich habe das Gefühl, dass die Katze sich hier in den Schwanz beißt:

Kein Platz -> Platz schaffen -> geht nicht, wegen Abhängigkeit -> Abhängigkeit lösen -> geht nicht wegen kein Platz  :(

Hat jemand einen Tipp, um das System noch zu retten?

Gruß
Markus
FHEM 5.8 |intel NUC Core i3: Ubuntu 22.04 | z-Wave: Aeon Labs USB Stick | Jeelink (v3c): LaCrosse-Sensoren | DuoFern Stick: Rademacher Gurtwickler | Philips Hue Bridge | CUNX: HomeMatic, EnOcean-Pigator

Manul

Ist /boot eine eigene Partition? Wie viel Platz ist auf der noch frei und was liegt da alles? Ich glaube übrigens, daß apt-get autoremove alle Kernel-images nicht löscht, das müsstest Du händisch machen.

yrwyddfa

Zitat von: MarkusAutomaticus am 12 Juni 2017, 10:56:28
Wenn dem so wäre, dann wäre das mal wieder Wasser auf die Mühlen eine zufriedenen Windowsanwenders,
dem Vergleichbares seit über 30 Jahren mit Windows nicht passiert ist.

... dann installier Dir Fhem doch auf Windows ;)
(Sorry, das war ne Steilvorlage. could'nt resist.

Zu Deinem Problem: erstmal wäre es natürlich sinnvoll zu wissen, was für ein  System du nutzt. ist die SSD / ? Oder ist sie unter /media eingebunden? Wenn der Speicherplatz von root (also / ) ausgeschöpft ist, ist es kein Wunder, dass nichts mehr funktioniert. Dann heißt es erst mal, wieder etwas Platz zu schaffen (Windows stirbt übrigens erfahrungsgemäß sehr viel schneller, wenn es auf der Platte keinen Platz für seine Auslagerungsdatei mehr hat.
Schau mal nach, ob sich unter /home/<deinusername>/ Dateien befinden, die du nicht mehr benötigst.


cd ~
ls -al


Dann kannst du via

rm <dateiname>


oder

rm -R <ordnername>

unbenötigte Dateien schon mal runterschmeißen.

Hast Du schon mal neugestartet, um temporäre Dateien zu eliminieren? Unter Umständen kann auch ein


rm -R /temp/*


helfen - schau aber vorher mal rein, nicht dass da noch was liegt was du da abgelegt hast. Selbiger Tipp gilt natürlich auch für Dateien und Ordner in deinem Homeverzeichnis.

Ist die SSD unter /media gemountet:

Schiebe (Medien-, etc.) Dateien auf diese. Befindet sich / auf deiner SSD, sollte man mal schauen, warum die SSD dann voll ist - womit wir wieder bei den Infos wären, wie groß die SSD ist, wie sie eingebunden ist und wie viel Platz / noch hat.

Mehr Infos wären hier in der Tat hilfreich.
If every day has its number, Monday would be a zero division.

mahowi

Was sagt denn df -h
Damit siehst Du, auf welchem Mountpoint noch wie viel frei ist.
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

rabautz

Moin moin

eigentlich wollte ich mich noch nicht registrieren, aber da mir dein Problem bekannt vorkam, hab ich das mal vorgezogen und wollte meine Hilfe anbieten.
Ich benutze zu Hause (unter anderem) einen Laptop mit Xubuntu. Alle Nase lang meckert das Gerät, bei Updates, dass kein Plattenspeicher mehr vorhanden ist.

Ich such mir dann folgenden Link raus und lösche alte Kernels

https://askubuntu.com/questions/171209/my-boot-partition-hit-100-and-now-i-cant-upgrade-cant-remove-old-kernels-to

Dort werden verschiedene Wege aufgezeigt, welche man zum Aufräumen nutzen könnte.

Das Problem bei mir ist, dass Xubuntu bei der Installation eine zu kleine Partition angelegt hat und bei den Updates die dann einfach vollkloppt. In meinen Augen ein Fail vom OS, aber egal.
Ich vermute, dass bei dir das gleiche Problem besteht.

Ich würde dir raten, da deine Fehlermeldung ja besagt, dass /boot voll ist, dort zu schauen was da alles drin ist und dann mit Hilfe des Links und dessen Informationen langsam ältere Dateien entfernst bzw. auf eine andere Partition verschiebst.

Da das letzte Update von meinem Laptop etwas her ist, werde ich nachher mal eins durchführen und vielleicht stoße ich ja noch mal auf den Fehler, dann werde ich meine Schritte hier mal genau posten.

BTW. Ich übernehme keine Haftung bei möglichen Schäden oder Einschränkungen an deinem System. Sei vorsichtig und mache zur Not Backups.
Achte darauf was du verschiebst/löschst, ich kann dir nicht sagen welche Auswirkungen es auf das System hat, falls dort was falsches gelöscht wird.
Ich bin da immer eher mit ner Axt rein, da ich den Laptop nicht wirklich produktiv nutze und es bei dem nicht so schlimm ist, wenn ich das OS neu aufsetzen muss.

Wernieman

Wir brauchen mehr Infos:

1. Plattenplatz (und Inodezahl)
df -h
df -hi


2. Was hast Du für Partitionen? Wird Teilweise auch durch 1. erklährt, aber sicherheitshalber:
mount

Btw:
Auch Windows kennt bei NTFS so etwas vergleichbares wie inodes. Das Problem ist nur, das man dieses nicht so einfach rauskriegt ... und auch das Löschen ein größeres Problem. Da man bei Windows selten superviele Kleine Dateien, sondern eher wenige große hat, trifft es seltener im Heimbereich auf.
Das Problem kann man im Vorfeld mit der Wahl des Passenden Dateisystemes (z.B. kennt btrfs keine inodes) oder passenden Parametern (Inodezahl) lösen. Es würde mich abr sehr Wundern, wenn dieses Dein Problem währe.

Und noch etwas:
Wir bringen erstmal Dein System zum laufen. Wie wir dann die Überzähligen Kernelsachen und andere Programme löschen ist ein 2. Thema
- 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

kaputt

Mituname -a raus finden welcher Kernel gebootet wird.
Dann incd /boot alles löschen was nicht zu diesem Kernel gehört.
Beispiel von einem meiner Systeme:root @ cubie :~# uname -a
Linux cubie 4.10.0-22-generic #24-Ubuntu SMP Mon May 22 17:43:20 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
root @ cubie :~# ls -la /boot
insgesamt 121352
drwxr-xr-x  3 root root     4096 Jun  7 19:34 .
drwxr-xr-x 27 root root     4096 Jun  7 17:42 ..
-rw-r--r--  1 root root  1443149 Apr 28 12:41 abi-4.10.0-21-generic
-rw-r--r--  1 root root  1443536 Mai 17 23:13 abi-4.10.0-22-generic
-rw-r--r--  1 root root   204919 Apr 28 12:41 config-4.10.0-21-generic
-rw-r--r--  1 root root   204997 Mai 17 23:13 config-4.10.0-22-generic
drwxr-xr-x  5 root root     4096 Jun  7 19:34 grub
-rw-r--r--  1 root root 41308452 Mai 26 01:48 initrd.img-4.10.0-21-generic
-rw-r--r--  1 root root 41316952 Jun  7 17:42 initrd.img-4.10.0-22-generic
-rw-r--r--  1 root root   182704 Jan 28  2016 memtest86+.bin
-rw-r--r--  1 root root   184380 Jan 28  2016 memtest86+.elf
-rw-r--r--  1 root root   184840 Jan 28  2016 memtest86+_multiboot.bin
-rw-------  1 root root  3717426 Apr 28 12:41 System.map-4.10.0-21-generic
-rw-------  1 root root  3717887 Mai 17 23:13 System.map-4.10.0-22-generic
-rw-------  1 root root  7575312 Apr 28 12:41 vmlinuz-4.10.0-21-generic
-rw-------  1 root root  7577240 Mai 16 21:52 vmlinuz-4.10.0-21-generic.efi.signed
-rw-------  1 root root  7575312 Mai 17 23:13 vmlinuz-4.10.0-22-generic
-rw-------  1 root root  7577240 Jun  7 17:42 vmlinuz-4.10.0-22-generic.efi.signed
root @ cubie :~#   

System bootet mit 4.10.0-22, also alles weg was nicht .........22...... heißt. Äh STOP das Verzeichniss grub bitte NICHT löschen! Voraussetzung ist das dein System mit gebootetem Kernel schon länger und stabil läuft!
Anschließend update-gruboderupdate-grub2und rebooten.
Zum Schluss die Header Files entfernen.
Inodes sind kein Thema, in der Hoffnung das du kein Skript hast das Amok läuft.

Gruß aus L.E.
Uwe

P.S.: Natürlich ist immer das OS Schuld wenn etwas nicht funktioniert auch wenn 10/15/20 Kernelversionen in /boot liegen!
Gruß aus L.E.
Uwe

Bei U/Linux hilfreich aber nicht nötig, bei Windows nötig aber nicht hilfreich!
Rechtschreibfehler sind beabsichtigt und Ausdruck meiner Persönlichkeit

Wernieman

#10
Wobei .. bitte zuerst prüfen, was den die Uhrsache ist (Siehe mein Post 2 davor)

Edit:
Und bitte ins Passende Unterforum. Entweder "Linux-Server" oder "Einplatinencomputer" ... da wird es von den passenden Spezialisten besser gefunden  ;D
- 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

rabautz

#11
Also ich sitze gerade an meinem Laptop und habe ebenfalls die Meldung bekommen, dass ich doch mal bitte auf /boot ein bisschen Platz machen soll.

Ich hab mir dann in /boot alle Dateien anzeigen lassen.
Ich hatte noch im Hinterkopf dass ich immer linux-image-X.X.X-XX-generic gelöscht hatte. Diese fand ich aber nicht.
Somit habe ich mir die anderen Dateien angeschaut und zudem noch meine aktuelle Kernelversion mit uname -a herausgefunden (4.4.0-78-generic)
Die anderen Dateien hatten alle ältere Versionen, somit habe ich einfach zwei große Dateien mit einer älteren Versionsnummer ausgesucht und gelöscht.


Löppt! ;)

Ich habe aber wie gesagt /boot auf einer eigenen (zu kleinen) Partition.



++++Nachtrag+++ mit einer besseren Lösung

Ich habe mir eben noch mal Gedanken gemacht, da meine oben beschriebene Möglichkeit nicht wirklich sauber ist.

Somit habe ich noch eine alte Kernel Version gelöscht.
Diesmal aber mittels dpkg

Zuerst habe ich geschaut welche Kernel Versionen noch installiert sind

dpkg -l | grep linux-image


Dann habe ich die älteste Version heraus gesucht und mittels folgenden Befehl entfernt.

sudo dpkg --purge linux-image-extra-4.4.0-59-generic

sudo dpkg --purge linux-image-4.4.0-59-generic

Die mit EXTRA musste ich, auf Grund der Abhängigkeit zuerst entfernen

Danach habe ich noch mal geprüft ob nun die Version entfernt wurde

dpkg -l | grep linux-image

und dann habe ich in /boot geprüft ob die Dateien zu der Version noch vorhanden sind

So habe ich mehr Platz gewonnen

Wernieman

Besser, lösche einfach mal alles sauber, was "nur" deinstalliert, aber nicht gepurged ist:
apt-get autoremove
dpkg --get-selections | grep deinstall


Beim 2. Sieht man eine Lista, WAS alles nun wirklich gepurged werden kann. Auomatisch (NACH dem gucken), get:
apt-get --purge $(dpkg --get-selections | grep deinstall | awk '{print $1}' | xargs)

P.S. Alles aus dem Kopf geschrieben, ungetestet und OHNE Gewähr!!
- 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

rabautz

Zitat von: Wernieman am 15 Juni 2017, 18:43:31
Besser, lösche einfach mal alles sauber, was "nur" deinstalliert, aber nicht gepurged ist:
apt-get autoremove
dpkg --get-selections | grep deinstall


Beim 2. Sieht man eine Lista, WAS alles nun wirklich gepurged werden kann. Auomatisch (NACH dem gucken), get:
apt-get --purge $(dpkg --get-selections | grep deinstall | awk '{print $1}' | xargs)

P.S. Alles aus dem Kopf geschrieben, ungetestet und OHNE Gewähr!!

Klingt besser, gebe ich dir Recht.

Leider funktioniert der letzte Befehl nicht. Ich erhalte folgende Meldung

"E: Command line option --purge is not understood in combination with the other options"

Danke schon mal für die Optimierung :)

Wernieman

Siehe oben, aus dem gedächtnis getippt, es muß so lauten:
apt-get purge $(dpkg --get-selections | grep deinstall | awk '{print $1}' | xargs)

Siehe
man apt-get
- 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