8

Ubuntu 12.04.

After an update, I get a red warning icon in the system tray, warning about an error: broken count >0

Opening Update manager, I see that the broken package is linux-headers-3.2.0-33-generic-pae (new install)

Specificaly I have my ubuntu on an AspireOne with 8gb internal storage.

I tried apt-get clean as suggested in another question on this site, and tried reinstalling the package in Synaptic.

I have tried to reboot but to no avail.

I have also tried apt-get install --fix-broken and I get the following:

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)

I've tried all suggestions I could find:

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

Then I saw that on the error there was a mention about free space. So I did a df -h and the result was:

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

I see that on my root folder I have 1.1Gb free. The broken package is

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

which only takes up 11.3Mb on my hard drive.

I'm soooo lost. I really hope there is something I'm missing here. I don't want to go about reformatting this bucket. It's really not worth the time. Any help for fixing this would be hot.

6
  • Could you post the output of this command? sudo parted /dev/sda print
    – MiJyn
    Nov 28, 2012 at 18:28
  • of course. here it is: 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
    Nov 28, 2012 at 22:18
  • Just I can't seem to be able to add line breaks... ??? I'm supposed to add 2 spaces at the end of each line to make the line break but no go? why?
    – escozul
    Nov 28, 2012 at 22:21
  • possibly related: askubuntu.com/questions/195014/i-cant-update-my-ubuntu
    – David Cary
    Feb 5, 2014 at 6:39
  • Not the same problem David. I have the solution below. The thing was with the inodes. Read my answer below.
    – escozul
    Feb 5, 2014 at 12:22

4 Answers 4

7

I actually found the solution to my problems. It seemed that using root to launch nautilus caused all inodes to go up to 100%. Had to clean those up in the trashes of the root. So I did the following:

df -i

That gave me the following:

$ 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 in use 100%? that means lots and lots of tiny files stored somewhere. Where?

I used the command:

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

That gave a huge list of files which seemed ok except the fact that the root trashes was full of files in:

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

So I ran:

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

and:

sudo touch /forcefsck

and then restarting to let the last command do its thing.

After that, running:

df -i
and df -Th

produced the following:

$ 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 were back to normal and I actually saw a slight increase in disk space (from 1,1 to 2,0 Gb) That made the system very fast too so there was a positive side effect to fixing the issue since my computer now seems to be lightning fast!

I want to note that if you suffer from the same issue, any folder in your system might hold those tiny files that fill up your inodes. Carefully examining the list that is created using:

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

will help you find which folder needs correction.

1
  • Problem occurring also with kernel 3.13.0.108.116. This post has been useful to frame quickly that the problem were the linux headers inside /usr/src. There were some 50 versions stored. Already after removing one old version the inode usage went down to 99%. Other answers in this threads were useful too. Feb 5, 2017 at 16:43
4

I had the same error while installing wine with update manager, and the only thing that helped was removing all my packages with rm /var/lib/apt/lists* -vf

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

It removed my packages, then I launched Software Center. It said that it had broken packages, so I chose to repair them. It downloaded the necessary packages. After it everything went well.

1
  • seems that the same error can be produced by a number of ways. In my case the solution was slightly different and I've added it below.
    – escozul
    Nov 30, 2012 at 16:21
3

I found the same problem recently but the culprit was Ubuntu itself. Due to the way it "does not" handles "rotation".

Previous versions of the linux-headers-generic package as well as the linux-images packages never got removed. If it was the last two or three no problem, but there were almost 20 versions of the kernel and kernel headers. the linux-headers package has a huge number of files, which eats up all your i-nodes. With removing all but the last tree kernels headers (previous linux-headers-generic-3.2.0-?) I went down from 100% i-nodes used to 45% used.

At first I didn't know what was causing the problem but after reading about your case I checked my i-nodes count and was a 100% full, well in practice like 200 free inodes from almost 700.000.

Just removing the previous linux-headers packages does the trick. Synaptic makes it easier with the GUI + search feature and order feature.

I write this also as a help to people encountering this problem recently.

1
  • In my case there were some 50 versions of kernel version 3.13.0. udev -rv told me that I was running on 3.10.13-108, which was also the one listed as broken package (worryingly). Therefore I kept the versions 10* and 9* to stay on the side of caution. The inode usage has fallen from 100% to 41% Feb 5, 2017 at 16:51
3

All these answers didn't help me. But I found this page, and using the ideas there I could bring my inode count down from 100% to about 50% quickly: http://www.pkdavies.co.uk/142-dpkg-no-space-left-on-device.html

The idea is, basically to locate the folders which are eating up inodes.

In a terminal, cd to root to start:

# cd /

Then search for the folders eating up most inodes:

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

That will give you a list of folders. Follow the above steps again to cd into the folder with the highest count of inodes, and run the search command again.

I found lots of unused and uninstalled kernels which still took up space and inodes in the kernel sources folders, for example under /usr/src/linux-headers-*.

BEWARE, DO NOT REMOVE THE SOURCES FOR THE INSTALLED KERNEL --- CHECK OUT WITH uname -rv WHICH ONE THAT IS

Therefore, after I found the folders, I removed the obsolete directories one at a time, for example with

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

After this I could run this successfully to repair my system:

# apt-get -f install

Hope this helps.

1
  • Identify the current kernel release and version with uname -rv. This will be the one to stay well clear of when deleting the directories of old versions. Handle with care. Feb 5, 2017 at 16:47

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .