Defektes Paket nach dem Update: Linux-Header, Fehler: BrokenCount> 0


7

Ubuntu 12.04.

Nach einem Update wird in der Taskleiste ein rotes Warnsymbol angezeigt, das auf einen Fehler hinweist: Anzahl der Fehler> 0

Beim Öffnen des Update Managers sehe ich, dass das Paket kaputt ist linux-headers-3.2.0-33-generic-pae (new install)

Insbesondere habe ich mein Ubuntu auf einem AspireOne mit 8 GB internem Speicher.

Ich habe versucht, apt-get cleanwie in einer anderen Frage auf dieser Site vorgeschlagen, das Paket in Synaptic neu zu installieren.

Ich habe versucht, neu zu starten, aber ohne Erfolg.

Ich habe es auch versucht apt-get install --fix-brokenund bekomme folgendes:

sudo apt-get install --fix-broken
[sudo] password for elina: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
The following extra packages will be installed:
  linux-headers-3.2.0-33-generic-pae
The following NEW packages will be installed:
  linux-headers-3.2.0-33-generic-pae
0 upgraded, 1 newly installed, 0 to remove and 38 not upgraded.
1 not fully installed or removed.
Need to get 0 B/977 kB of archives.
After this operation 11,3 MB of additional disk space will be used.
Do you want to continue [Y/n]; y
(Reading database ... 437051 files and directories currently installed.)
Unpacking linux-headers-3.2.0-33-generic-pae (from .../linux-headers-3.2.0-33-generic-pae_3.2.0-33.52_i386.deb) ...
dpkg: error processing /var/cache/apt/archives/linux-headers-3.2.0-33-generic-pae_3.2.0-33.52_i386.deb (--unpack):
 unable to create `/usr/src/linux-headers-3.2.0-33-generic-pae/include/config/usb/gspca/sonixb.h.dpkg-new' (while processing `./usr/src/linux-headers-3.2.0-33-generic-pae/include/config/usb/gspca/sonixb.h'): No space left on device
No apport report written because the error message indicates a disk full error
                                                                              dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Errors were encountered while processing:
 /var/cache/apt/archives/linux-headers-3.2.0-33-generic-pae_3.2.0-33.52_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Ich habe alle Vorschläge ausprobiert, die ich finden konnte:

sudo apt-get clean
sudo apt-get autoclean
sudo apt-get autoremove
sudo apt-get update
sudo apt-get upgrade
sudo apt-get -f install
sudo apt-get install --fix-broken

Dann sah ich, dass bei dem Fehler der freie Speicherplatz erwähnt wurde. Also habe ich ein df -h gemacht und das Ergebnis war:

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       7,0G  5,5G  1,1G  84% /
udev            235M  4,0K  235M   1% /dev
tmpfs            97M  816K   96M   1% /run
none            5,0M     0  5,0M   0% /run/lock
none            242M  352K  242M   1% /run/shm

Ich sehe, dass ich in meinem Stammordner 1,1 GB frei habe. Das kaputte Paket ist

linux-headers-3.2.0-33-generic-pae_3.2.0-33.52_i386.deb

Das nimmt nur 11,3 MB auf meiner Festplatte ein.

Ich bin soooo verloren. Ich hoffe wirklich, dass mir hier etwas fehlt. Ich möchte diesen Eimer nicht neu formatieren. Es ist wirklich nicht die Zeit wert. Jede Hilfe zur Behebung dieses Problems wäre heiß.


Könnten Sie die Ausgabe dieses Befehls posten? sudo parted /dev/sda print
MiJyn

Na sicher. hier ist es: elina@AcerAspireONE:~$ sudo parted /dev/sda print [sudo] password for elina: Model: ATA SSDPAMM0008G1 (scsi) Disk /dev/sda: 8070MB Sector size (logical/physical): 512B/512B Partition Table: msdos Number Start End Size Type File system Flags 1 1049kB 7546MB 7545MB primary ext4 boot 2 7547MB 8069MB 522MB extended 5 7547MB 8069MB 522MB logical linux-swap(v1)
escozul

Ich kann nur scheinbar keine Zeilenumbrüche hinzufügen ... ??? Ich soll 2 Leerzeichen am Ende jeder Zeile hinzufügen, damit die Zeile unterbrochen wird, aber nicht? Warum?
Escozul


Nicht das gleiche Problem, David. Ich habe die Lösung unten. Die Sache war mit den Inodes. Lesen Sie meine Antwort unten.
Escozul

Antworten:


6

Ich habe tatsächlich die Lösung für meine Probleme gefunden. Es schien, dass die Verwendung von root zum Starten von Nautilus dazu führte, dass alle Inodes auf 100% stiegen. Musste die in den Müll der Wurzel aufräumen. Also habe ich folgendes gemacht:

df -i

Das gab mir folgendes:

$ df -i
Filesystem     Inodes  IUsed IFree IUse% Mounted on
/dev/sda1      460560 456125  4435  100% /
udev            60125    491 59634    1% /dev
tmpfs           61943    403 61540    1% /run
none            61943      3 61940    1% /run/lock
none            61943      8 61935    1% /run/shm

woops! Inodes im Einsatz 100%? Das bedeutet, dass viele, viele kleine Dateien irgendwo gespeichert sind. Wo?

Ich habe den Befehl verwendet:

sudo du -h /* | grep '[0-9]M'

Das ergab eine riesige Liste von Dateien, die in Ordnung zu sein schienen, mit Ausnahme der Tatsache, dass die Stammabfälle voller Dateien waren in:

/root/.local/share/Trash/files/

Also rannte ich:

sudo rm -r /root/.local/share/Trash/files/

und:

sudo touch /forcefsck

und dann neu starten, damit der letzte Befehl seine Sache macht.

Danach läuft:

df -i
and df -Th

produzierte folgendes:

$ df -i
Filesystem     Inodes  IUsed  IFree IUse% Mounted on
/dev/sda1      460560 196674 263886   43% /
udev            60125    487  59638    1% /dev
tmpfs           61943    393  61550    1% /run
none            61943      3  61940    1% /run/lock
none            61943      8  61935    1% /run/shm

$ df -Th
Filesystem     Type      Size  Used Avail Use% Mounted on
/dev/sda1      ext4      7,0G  4,7G  2,0G  71% /
udev           devtmpfs  235M  4,0K  235M   1% /dev
tmpfs          tmpfs      97M  816K   96M   1% /run
none           tmpfs     5,0M     0  5,0M   0% /run/lock
none           tmpfs     242M  356K  242M   1% /run/shm

iNodes waren wieder normal und ich sah tatsächlich einen leichten Anstieg des Speicherplatzes (von 1,1 auf 2,0 GB). Dadurch war das System auch sehr schnell, sodass die Behebung des Problems einen positiven Nebeneffekt hatte, da mein Computer dies jetzt zu tun scheint blitzschnell sein!

Ich möchte darauf hinweisen, dass jeder Ordner in Ihrem System möglicherweise die winzigen Dateien enthält, die Ihre Inodes füllen, wenn Sie unter demselben Problem leiden. Überprüfen Sie die Liste, die erstellt wird, sorgfältig mit:

sudo du -h /* | grep '[0-9]M'

hilft Ihnen zu finden, welcher Ordner korrigiert werden muss.


Problem tritt auch mit Kernel 3.13.0.108.116 auf. Dieser Beitrag war nützlich, um schnell zu erkennen, dass das Problem die darin enthaltenen Linux-Header waren /usr/src. Es wurden ungefähr 50 Versionen gespeichert. Bereits nach dem Entfernen einer alten Version ging die Inode-Nutzung auf 99% zurück. Andere Antworten in diesen Threads waren ebenfalls nützlich.
XavierStuvw

4

Ich hatte den gleichen Fehler bei der Installation von Wine mit Update Manager und das einzige, was geholfen hat, war das Entfernen aller meiner Pakete mit rm / var / lib / apt / lists * -vf

sudo rm /var/lib/apt/lists/* -vf

Es hat meine Pakete entfernt und dann das Software Center gestartet. Es hieß, dass die Pakete kaputt waren, und ich entschied mich, sie zu reparieren. Es wurden die erforderlichen Pakete heruntergeladen. Danach ging alles gut.


Es scheint, dass der gleiche Fehler auf verschiedene Weise erzeugt werden kann. In meinem Fall war die Lösung etwas anders und ich habe sie unten hinzugefügt.
Escozul

3

Ich habe kürzlich das gleiche Problem gefunden, aber der Schuldige war Ubuntu selbst. Aufgrund der Art und Weise, wie es "nicht" mit "Rotation" umgeht.

Frühere Versionen des generischen Linux-Header-Pakets sowie der Linux-Images-Pakete wurden nie entfernt. Wenn es die letzten zwei oder drei waren, kein Problem, aber es gab fast 20 Versionen des Kernels und der Kernel-Header. Das Linux-Header-Paket enthält eine große Anzahl von Dateien, die alle Ihre i-Knoten auffressen. Nachdem ich alle bis auf die letzten Tree-Kernel-Header (vorherige Linux-Header-generic-3.2.0-?) Entfernt hatte, ging ich von 100% verwendeten i-Knoten auf 45% verwendete zurück.

Zuerst wusste ich nicht, was das Problem verursachte, aber nachdem ich über Ihren Fall gelesen hatte, überprüfte ich die Anzahl meiner i-Knoten und war zu 100% voll, in der Praxis wie 200 freie Inodes von fast 700.000.

Nur das Entfernen der vorherigen Linux-Header-Pakete reicht aus. Synaptic erleichtert die Suche mit GUI + und die Bestellfunktion.

Ich schreibe dies auch als Hilfe für Menschen, die in letzter Zeit auf dieses Problem stoßen.


In meinem Fall gab es ungefähr 50 Versionen der Kernel-Version 3.13.0. udev -rvsagte mir, dass ich am 3.10.13-108 lief, der auch als defektes Paket aufgeführt war (besorgniserregend). Deshalb habe ich die Versionen 10 * und 9 * beibehalten, um auf Nummer sicher zu gehen. Die Inode-Nutzung ist von 100% auf 41%
gesunken

3

All diese Antworten haben mir nicht geholfen. Aber ich habe diese Seite gefunden und mit den dortigen Ideen konnte ich meinen Inode-Count schnell von 100% auf etwa 50% senken: http://www.pkdavies.co.uk/142-dpkg-no-space-left-on -device.html

Die Idee ist, im Grunde die Ordner zu lokalisieren, die Inodes auffressen.

In einem Terminal cd to root, um zu starten:

# cd /

Suchen Sie dann nach den Ordnern, die die meisten Inodes verschlingen:

# for i in `ls -1A`; do echo "`find $i | sort -u | wc -l` $i"; done | sort -rn | head -20

Dadurch erhalten Sie eine Liste der Ordner. Führen Sie die obigen Schritte erneut aus, um in den Ordner mit der höchsten Anzahl von Inodes zu wechseln, und führen Sie den Suchbefehl erneut aus.

Ich habe viele unbenutzte und deinstallierte Kernel gefunden, die immer noch Speicherplatz und Inodes in den Kernelquellenordnern beanspruchten, zum Beispiel unter /usr/src/linux-headers-*.

ACHTUNG, ENTFERNEN SIE NICHT DIE QUELLEN FÜR DEN INSTALLIERTEN KERN - PRÜFEN SIE, MIT uname -rvWELCHEM DAS IST

Nachdem ich die Ordner gefunden hatte, entfernte ich daher die veralteten Verzeichnisse nacheinander, zum Beispiel mit

root@gamma:/usr/src# sudo rm -rf linux-headers-3.2.0-30

Danach konnte ich dies erfolgreich ausführen, um mein System zu reparieren:

# apt-get -f install

Hoffe das hilft.


Identifizieren Sie die aktuelle Kernel-Version und -Version mit uname -rv. Dies ist derjenige, der beim Löschen der Verzeichnisse alter Versionen deutlich zu vermeiden ist. Mit Vorsicht behandeln.
XavierStuvw
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.