Frage Nicht genügend freier Speicherplatz beim Aktualisieren


Ich erhalte einen Fehler im Software-Updater, wenn ich versuche, meine täglichen Updates durchzuführen. es sagt:

The upgrade needs a total of 25.3 M free space on disk `/boot`.
Please free at least an additional 25.3 M of disk space on `/boot`.
Empty your trash and remove temporary packages of former installations 
using `sudo apt-get clean`.

Ich habe versucht zu tippen sudo apt-get clean in das Terminal, aber ich bekomme immer noch die Nachricht. Alle Seiten, die ich lese, scheinen für erfahrene Ubuntuers zu sein. Ich benutze Ubuntu 12.10. Ich möchte auf 13.04 upgraden, verstehe aber, dass ich diese zuerst beenden muss.

Dies ist die Ausgabe von Eingabe cat /etc/fstab in das Terminal:

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
/dev/mapper/ubuntu-root /               ext4    errors=remount-ro 0       1
# /boot was on /dev/sda1 during installation
UUID=fa55c082-112d-4b10-bcf3-e7ffec6cebbc /boot           ext2    defaults        0       2
/dev/mapper/ubuntu-swap_1 none            swap    sw              0       0
/dev/fd0        /media/floppy0  auto    rw,user,noauto,exec,utf8 0       0
matty@matty-G41M-ES2L:~$ 

Ausgabe von df -h:

Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/ubuntu-root  915G   27G  842G   4% /
udev                     984M  4.0K  984M   1% /dev
tmpfs                    397M  1.1M  396M   1% /run
none                     5.0M     0  5.0M   0% /run/lock
none                     992M  1.8M  990M   1% /run/shm
none                     100M   52K  100M   1% /run/user
/dev/sda1                228M  222M     0 100% /boot
matty@matty-G41M-ES2L:~$ 

Und dpkg -l | grep linux-image gibt:

ii linux-image-3.5.0-17-generic 3.5.0-17.28 i386 Linux kernel image for version 3.5.0 on 32 bit x86 SMP
ii linux-image-3.5.0-18-generic 3.5.0-18.29 i386 Linux kernel image for version 3.5.0 on 32 bit x86 SMP
ii linux-image-3.5.0-19-generic 3.5.0-19.30 i386 Linux kernel image for version 3.5.0 on 32 bit x86 SMP
ii linux-image-3.5.0-21-generic 3.5.0-21.32 i386 Linux kernel image for version 3.5.0 on 32 bit x86 SMP
ii linux-image-3.5.0-22-generic 3.5.0-22.34 i386 Linux kernel image for version 3.5.0 on 32 bit x86 SMP
ii linux-image-3.5.0-23-generic 3.5.0-23.35 i386 Linux kernel image for version 3.5.0 on 32 bit x86 SMP
ii linux-image-3.5.0-24-generic 3.5.0-24.37 i386 Linux kernel image for version 3.5.0 on 32 bit x86 SMP
ii linux-image-3.5.0-25-generic 3.5.0-25.39 i386 Linux kernel image for version 3.5.0 on 32 bit x86 SMP
ii linux-image-3.5.0-26-generic 3.5.0-26.42 i386 Linux kernel image for version 3.5.0 on 32 bit x86 SMP
iF linux-image-3.5.0-28-generic 3.5.0-28.48 i386 Linux kernel image for version 3.5.0 on 32 bit x86 SMP

136
2018-05-22 04:30


Ursprung


Auch der Inhalt Ihrer / etc / fstab könnte hilfreich sein. Es scheint, dass / boot auf einer separaten Partition gemountet ist. - Chuck R
Wie sagt @Githrar Ihre fstab kann uns Informationen über Ihre hd Partitionen geben. - ssoto
fstab ist eine Datei, die Informationen zu den Partitionen enthält, die beim Hochfahren des Computers geladen werden. Um den Inhalt dieser Datei anzuzeigen, geben Sie ein cat /etc/fstab in einem Terminal. Kopiere die Ausgabe und füge sie zu deiner Frage hinzu (du kannst deine Frage bearbeiten). Kopieren Sie auch die Ausgabe von df -h und dpkg -l | grep linux-image. - Alaa Ali
Dein Problem ist all das Extra linux-image... Dateien in der /boot Partition mit Speicherplatz - Sie haben nur 6 MB frei auf der Partition. sudo dpkg -P purge 'older_linux_image_filename' um alle außer den neuesten Versionen zu entfernen = 3.5.0-28.48 und 3.5.0-26.42 Dies sollte Ihnen erlauben, zu aktualisieren / zu aktualisieren. - douggro
Ich musste einfach rennen sudo apt-get autoremove um das zu beheben. - Juampy NR


Antworten:


Hinweis: Diese Antwort ist eher eine "Erklärung" als die beste / einfachste Möglichkeit, alte Kernel zu entfernen. Für den besten / einfachsten Weg, alte Kernel zu entfernen, lesen Sie bitte die anderen Antworten.

Okay, also von der Ausgabe von /etc/fstab Sie haben geschrieben, es scheint, dass Sie /boot ist auf einer separaten Partition montiert, und von der Ausgabe von df -h, diese Partition ist voll. Dies liegt daran, dass alte Kernel installiert sind, die nicht benötigt werden. Das können Sie an der Ausgabe von. erkennen dpkg -l | grep linux-image dass du gepostet hast, wo du mehr als einen sehen kannst "Linux-Bild"mit verschiedenen Versionen. Wir müssen die alten Versionen entfernen.

Zuerst möchte ich, dass Sie den Befehl ausführen uname -r In einem Terminal zeigt dies Ihnen die Kernel-Version an, die Sie gerade verwenden. Wir wollen diese Kernel-Version niemals entfernen. Der Befehl wird so etwas sagen 3.5.0-26-generic. Notieren Sie sich diese Nummer, 26! Die folgenden Befehle gehen davon aus, dass dies der Kernel ist, den Sie ausführen.

Der Befehl zum Entfernen einer alten Kernel-Version lautet:

sudo apt-get purge linux-image-x.x.x-xx-generic

... wo die x Zeichen Zahlen sind. Also, in Ihrem Fall, weil Sie viele alte Versionen (17, 18, 19, etc ...) haben, müssten wir diesen Befehl für jede der Versionen wie folgt ausführen:

  • sudo apt-get purge linux-image-3.5.0-17-generic
  • sudo apt-get purge linux-image-3.5.0-18-generic
  • sudo apt-get purge linux-image-3.5.0-19-generic

...und so weiter. Aber es gibt einen Weg, all das durch einen Befehl zu tun. Der Befehl ist das (Den Befehl noch nicht ausführen! Lese das folgende. ):

sudo apt-get purge linux-image-3.5.0-{17,18,19,21,22,23,24}-generic

Dieser Befehl entfernt die in den Klammern genannten Versionen. Ich habe die Versionen 25, 26 und 28 aus folgenden Gründen nicht aufgenommen:

  • Habe 26 offensichtlich nicht eingeschlossen, weil das die Kernel-Version ist, die Sie gerade ausführen! Das ist die Version, die wir vom Befehl bekommen haben uname -r, merken? Das wollen wir nie wieder entfernen!
  • 28 nicht enthalten, da auf dieses Upgrade ein Upgrade ausgeführt werden soll (das können Sie an der iF Status neben es, was bedeutet, dass es "halb konfiguriert" ist.
  • 25 nicht enthalten, da es in der Regel ratsam ist, mindestens eine alte Version zu hinterlassen. Da Sie 26 ausführen, behalten wir 25, also werden wir es nicht in den obigen Befehl aufnehmen.

Also wenn die letzte Nummer in uname -r ist 26 (oder 28 oder sogar 25), dann ist es sicher, den obigen Befehl auszuführen. Geben Sie Ihr Passwort ein, wenn Sie dazu aufgefordert werden, und geben Sie ein y wenn gefragt. Dies wird eine Reihe von Zeilen anzeigen und wird schließlich zur Eingabeaufforderung zurückkehren (in Ihrem Fall, matty@matty-G41M-ES2L:~$), hoffentlich ohne Fehler. Wenn es fertig ist, mach es df -h und sieh dir die letzte Zeile an, die mit der beginnt /dev/sda1. Sie sollten feststellen, dass jetzt mehr Platz vorhanden ist und dass der verwendete Prozentsatz weniger als 100% wie zuvor beträgt. Sie können nun mit Ihrem Update fortfahren.


186
2018-05-23 07:57



Es funktionierte!!! Vielen Dank! Bonusfrage: Als ich Ubuntu zum ersten Mal heruntergeladen habe, habe ich versehentlich den Ordner "Bilder" im Home-Bereich gelöscht. Aus diesem Grund gibt es keine Registerkarte "Bilder" auf der Seite. Ich habe es geschafft, indem ich einfach einen Ordner namens "Bilder" erstellt habe, der aber nicht in der Seitenleiste angezeigt wird. Weißt du, wie man es dorthin bringt? Ich versuchte zu klicken und zu ziehen, aber ohne Erfolg. @Alaa - carmatt95
Bitte! Für die andere Frage, erstellen Sie eine andere Frage und ich werde es beantworten. Auf diese Weise können Leute, die nach diesem Problem suchen, es finden. - Alaa Ali
Ich wünschte, ich könnte dies jedes Mal aufpolieren, wenn ich zurückkomme, um es zu erwähnen ... es würde jetzt viel geben. - sevenseacat
Ja, wieder hier, um auf dasselbe zu verweisen. Du würdest denken, dass ich mich jetzt daran erinnern würde. - sevenseacat
Ein kürzerer Befehl zum Löschen aller alten Kernel lautet: sudo apt-get autoremove --purge - ctrueden


Sie können UbuntuTweak installieren. Zur Installation folgen Sie den folgenden Schritten:

Öffne das Terminal. Fügen Sie das erforderliche Repository mit dem Befehl hinzu:

sudo add-apt-repository ppa:tualatrix/ppa

Aktualisieren Sie die Softwareliste mit dem Befehl:

sudo apt-get update

Schließlich installieren Sie Ubuntu Teak mit dem Befehl:

sudo apt-get install ubuntu-tweak

Danach öffne den Bindestrich und tippe "ubuntu tweak".

Und dann geh zu janitor Tab und wählen Sie Apps , Personal und System Aktivieren Sie die Kontrollkästchen und klicken Sie auf reinigen Knopf rechts unten.


42
2018-06-11 15:15



Viel besser als mit der Befehlszeile zu verwirren und zu versuchen, alle Kernel zu löschen, aber nicht aktuell, wenn sie sogar unterschiedliche Versionen haben (nicht nur -32 am Ende) und auch -extra-Pakete. Ubuntu Tweak hat mich 5 Minuten gerettet, danke! - POMATu
Viel bequemer. - Saeed Amiri
Ich konnte die PPA nicht hinzufügen, aber ich habe die heruntergeladen .deb von der proyect Website ubuntu-tweak.com - Luigi Siri
Keine Notwendigkeit, PPA auf Ubuntu hinzuzufügen 14.04 - Edward Torvalds
@edwardtorvalds Natürlich können Sie es installieren, ohne seine PPA am 14.04 und auch 14.10 von seinem hinzufügen .deb Paket, aber es ist nicht das am meisten bevorzugte. Der Grund, dass Sie das über seine PPA installieren möchten, ist, dass es Updates gewährleistet. - αғsнιη


Eine schnelle Möglichkeit, alle unbenutzten Kernel und Header (mit Ausnahme des aktuell laufenden Kernels) zu entfernen, wurde von @Lekensteyn in seiner Antworten zur Frage Wie gebe ich mehr Speicherplatz in / boot frei?:

sudo apt-get purge $(dpkg -l linux-{image,headers}-"[0-9]*" | awk '/ii/{print $2}' | grep -ve "$(uname -r | sed -r 's/-[a-z]+//')") 

Dies sollte genug Platz für Ihr Upgrade frei machen.


14
2017-09-30 08:00





Es gibt einen Fehlerbericht über das Problem hier: https://bugs.launchpad.net/ubuntu/+source/update-manager/+bug/1183692

Fühlen Sie sich frei zu sagen, ob "dieser Fehler auch Sie betrifft", so dass es mehr Aufmerksamkeit bekommen könnte.


6
2017-10-29 09:38





Auf meinem Heim-Ubuntu-System verfolge ich eine ähnliche Methode wie geschrieben, aber es ist ein wenig einfacher und räumt mehr Platz in Kernel-Header usw.

  1. Ich überprüfe, welchen Kernel ich benutze, so wie er ist Imperativ das nicht zu stören.

    uname -a
    
  2. Dann schaue ich auf / boot mit dem Ziel, alle Kernel-bezogenen Dateien zu entfernen nicht direkt auf den laufenden Kernel bezogen. Dies gibt mir eine Liste aller Kernel-Versionen, die ich entfernen möchte, zum Beispiel: 3.5.0-17, 3.5.0-18

    ls -l /boot
    
  3. Jetzt nehme ich die erste Kernel-Version in meine Löschliste und finde alle zugehörigen Pakete.

    dpkg -l | grep 3.5.0-17
    
  4. Säubere sie aus dem System

    sudo apt-get purge <list of packages separated by spaces>
    
  5. gehe zurück zu 3 und wähle die nächste Kernel-Version in meiner Purge-Liste.

  6. Erledigt


3
2017-07-18 09:59





Ich habe diesen Fehler bekommen, dieser Artikel hat geholfen.

ich benutzte df -h um zu erkennen, dass der Boot voll war, uname -r für die Version, dann verwendet die purge String oben aufgeführt, um alte Kernel zu entfernen. Single Kernel Purge funktioniert, Multi nicht (für mich).

Ich habe die Dateien im Windows-Ding gefunden; Ich konnte sie nicht löschen, musste das Terminal benutzen, aber es zeigte mir die alten Versionen, die ich dort hatte.

Ich habe keine Ahnung warum / boot (sda2) überhaupt partitioniert ist und warum es so klein ist. aber jetzt kann ich Ubuntu Updater wieder verwenden.

Ich hatte einen kleinen Erfolg mit sudo apt-get update,sudo apt-get upgrade, sudo apt-get clean, auch ausprobierte freie Software Bleachbit. Verwenden Sie die Bereinigungszeichenfolge, aber nicht Ihre aktuelle Version. Hoffe, das hilft jemandem.


1
2017-08-13 02:36



edit: Ich glaube nicht, dass Sie "-generic" zur Purge-Zeichenkette hinzufügen müssen - Brian P


Haben Sie alte Kernel-Image-Pakete installiert, die nicht verwendet werden? Diese können Platz auf / boot belegen. Ich würde empfehlen, den Satz der installierten Kernel-Pakete mit einem Befehl wie dem folgenden zu überprüfen:

dpkg -l "linux-image*" | grep "^i"

Dies sollte einen Überblick über die installierten Kernel-Image-Pakete geben. Für diejenigen Linux-Bild Pakete, die nicht verwendet werden und von denen nicht erwartet wird, dass sie für Wiederherstellungszwecke benötigt werden - z. Ich möchte mindestens eine Kernel-Version für die Wiederherstellung hinter der aktiven Version behalten - ansonsten könnten Sie solche nicht verwendeten Pakete mit Ihrem bevorzugten Paket-Tool wie aptitude entfernen.

Ich würde auch empfehlen, einen Blick auf die verwandten zu werfen Inux-Kopfzeilen, Linux-Bild-Extras (falls zutreffend), auch Linux-Quelle, und Linux-Werkzeuge Pakete, die zusammen mit irgendwelchen nicht verwendeten installiert werden können Linux-Bild Pakete.


0
2018-05-23 07:27





Ich bezweifle, dass viele, wenn überhaupt, Leute auf dieses Problem stoßen werden, aber ich stelle es hier für die Dokumentation auf, für den Fall, dass es jemand braucht.

Mein Problem ist, dass ich verschiedene benutzerdefinierte Kernel kompiliert habe, bis mir der Speicherplatz ausgeht. Die Art, wie ich den Platz bereinigen musste, bestand darin, in jedes Kernel-Verzeichnis, in dem ich gearbeitet hatte, einzutreten und a auszuführen sudo make clean.

  • $ cd /usr/src Verzeichnis, in dem sich die Kernel-Quelle befindet
  • $ cd linux-image-custom_kernel_name
  • $ sudo make clean

0
2017-11-10 14:41