3

Im Trying to install new software on my Ubuntu 14.04, which is running

$ uname -r
3.13.0-45-generic

There are old kernals installed on my machine

$ dpkg --list | grep linux-image
rc  linux-image-3.13.0-24-generic       3.13.0-24.47                     amd64        Linux kernel image for version 3.13.0 on 64 bit x86 SMP
ii  linux-image-3.13.0-45-generic       3.13.0-45.74                     amd64        Linux kernel image for version 3.13.0 on 64 bit x86 SMP
ii  linux-image-3.13.0-55-generic       3.13.0-55.94                     amd64        Linux kernel image for version 3.13.0 on 64 bit x86 SMP
ii  linux-image-3.13.0-57-generic       3.13.0-57.95                     amd64        Linux kernel image for version 3.13.0 on 64 bit x86 SMP
ii  linux-image-3.13.0-58-generic       3.13.0-58.97                     amd64        Linux kernel image for version 3.13.0 on 64 bit x86 SMP
ii  linux-image-3.13.0-59-generic       3.13.0-59.98                     amd64        Linux kernel image for version 3.13.0 on 64 bit x86 SMP
ii  linux-image-3.13.0-61-generic       3.13.0-61.100                    amd64        Linux kernel image for version 3.13.0 on 64 bit x86 SMP
rc  linux-image-extra-3.13.0-24-generic 3.13.0-24.47                     amd64        Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
ii  linux-image-extra-3.13.0-45-generic 3.13.0-45.74                     amd64        Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
ii  linux-image-extra-3.13.0-55-generic 3.13.0-55.94                     amd64        Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
ii  linux-image-extra-3.13.0-57-generic 3.13.0-57.95                     amd64        Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
ii  linux-image-extra-3.13.0-58-generic 3.13.0-58.97                     amd64        Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
ii  linux-image-extra-3.13.0-59-generic 3.13.0-59.98                     amd64        Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
iF  linux-image-extra-3.13.0-61-generic 3.13.0-61.100                    amd64        Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
iU  linux-image-extra-3.13.0-62-generic 3.13.0-62.102                    amd64        Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
iU  linux-image-generic                 3.13.0.62.69                     amd64        Generic Linux kernel image

When i am trying to Purge them using below command

$ sudo apt-get purge linux-image-3.13.0-24-generic
Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
 linux-image-extra-3.13.0-62-generic : Depends: linux-image-3.13.0-62-generic but it is not going to be installed
 linux-image-generic : Depends: linux-image-3.13.0-62-generic but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

Im getting above error.

While doing auto remove getting error

$ sudo apt-get autoremove
Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt-get -f install' to correct these.
The following packages have unmet dependencies:
 linux-image-extra-3.13.0-62-generic : Depends: linux-image-3.13.0-62-generic but it is not installed
 linux-image-generic : Depends: linux-image-3.13.0-62-generic but it is not installed
E: Unmet dependencies. Try using -f.

And if i run force install it is saying no space left on device ..

$ sudo apt-get install -f
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
The following packages were automatically installed and are no longer required:
  linux-headers-3.13.0-55 linux-headers-3.13.0-55-generic
  linux-headers-3.13.0-57 linux-headers-3.13.0-57-generic
  linux-headers-3.13.0-58 linux-headers-3.13.0-58-generic
  linux-headers-3.13.0-59 linux-headers-3.13.0-59-generic
  linux-image-3.13.0-55-generic linux-image-3.13.0-57-generic
  linux-image-3.13.0-58-generic linux-image-3.13.0-59-generic
  linux-image-extra-3.13.0-55-generic linux-image-extra-3.13.0-57-generic
  linux-image-extra-3.13.0-58-generic linux-image-extra-3.13.0-59-generic
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
  linux-image-3.13.0-62-generic
Suggested packages:
  fdutils linux-doc-3.13.0 linux-source-3.13.0 linux-tools
The following NEW packages will be installed:
  linux-image-3.13.0-62-generic
0 upgraded, 1 newly installed, 0 to remove and 48 not upgraded.
5 not fully installed or removed.
Need to get 15.2 MB of archives.
After this operation, 42.5 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://mirrors.voxel.net/ubuntu/ trusty-updates/main linux-image-3.13.0-62-generic amd64 3.13.0-62.102 [15.2 MB]
Fetched 15.2 MB in 4s (3,237 kB/s)                        
(Reading database ... 243451 files and directories currently installed.)
Preparing to unpack .../linux-image-3.13.0-62-generic_3.13.0-62.102_amd64.deb ...
Done.
Unpacking linux-image-3.13.0-62-generic (3.13.0-62.102) ...
dpkg: error processing archive /var/cache/apt/archives/linux-image-3.13.0-62-generic_3.13.0-62.102_amd64.deb (--unpack):
 cannot copy extracted data for './boot/vmlinuz-3.13.0-62-generic' to '/boot/vmlinuz-3.13.0-62-generic.dpkg-new': failed to write (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)
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 3.13.0-62-generic /boot/vmlinuz-3.13.0-62-generic
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 3.13.0-62-generic /boot/vmlinuz-3.13.0-62-generic
Errors were encountered while processing:
 /var/cache/apt/archives/linux-image-3.13.0-62-generic_3.13.0-62.102_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

My disk utilisation:

$ df -k
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda3      955997652 5241596 911812456   1% /
none                   4       0         4   0% /sys/fs/cgroup
udev             4066160      12   4066148   1% /dev
tmpfs             815404     512    814892   1% /run
none                5120       0      5120   0% /run/lock
none             4077016       0   4077016   0% /run/shm
none              102400       0    102400   0% /run/user
/dev/sda1         190346  152098     24199  87% /boot

How can i make space on my Ubuntu so that i can install new applications on it ?

Please help...

1

2 Answers 2

4

You're right, you have plenty of disk space on / but you quickly fill up /boot when you try to unpack the new image, which is why your apt-get install -f command fails.

The problematic packages are in your dpkg output, and the apt-get output.

You can try using aptitude install -f to see if one of the choices will resolve the issue for you (probably by removing those packages), or you can try apt-get purge linux-image-extra-3.13.0-61-generic linux-image-extra-3.13.0-62-generic linux-image-generic to remove the broken, and partially configured packages installed.

If you're desperate enough to use dpkg be sure to pay attention to the messages and remove dependencies on a package before trying to remove a package. From your command above, you should probably remove linux-image-extra-3.13.0-55-generic before trying to remove linux-image-3.13.0-55-generic if you want to go that route.

Take extra care to make sure you don't remove the running kernel 3.13.0-45-generic.

Then you can apt-get autoremove and apt-get purge the remaining unneeded kernel packages, and then install the later kernel it looks like you were trying to install.

1

Your root file system (/) has plenty of free space, however /boot does not.

Take a closer look at the error output from the sudo apt-get install -f command:

Unpacking linux-image-3.13.0-62-generic (3.13.0-62.102) ...
dpkg: error processing archive /var/cache/apt/archives/linux-image-3.13.0-62-generic_3.13.0-62.102_amd64.deb (--unpack):
 cannot copy extracted data for './boot/vmlinuz-3.13.0-62-generic' to '/boot/vmlinuz-3.13.0-62-generic.dpkg-new': failed to write (No space left on device)

It's trying to place a file in /boot and that file system doesn't have enough space for it.

Your options:

  1. Remove files from /boot that are no longer needed
  2. Add more space to /boot. This one may be difficult to do since LVM isn't being used. If this is a virtual machine perhaps not.
  3. Ditch /boot altogether. In most situations having a separate file system for /boot isn't necessary. (before considering this take a look at @Kassandry's answer)

If you decide to get rid of the /boot file system you can do the following.

NOTE: Be very careful if you use the following instructions:

mkdir ~/copy-of-boot-files
sudo rsync -aHS /boot/ ~/copy-of-boot-files/
sudo umount /boot
sudo rsync -AHS ~/copy-of-boot-files/ /boot/
sudo sed -i 's/.*\/boot.*/#&/' /etc/fstab

Again: be very careful if you do this. Make sure you have Ubuntu installation media around so you can boot into Linux Rescue mode to repair any damage you may cause. You could render your system unbootable if this isn't done properly.

Basically you'd create a copy of /boot's contents, unmount /boot, copy the contents back, and disable /boot from being mounted during start up.

An additional note: You may need to update your bootloader configuration (e.g. update-grub, not sure what that version of Ubuntu uses). Also, if this is a paravirtualised guest under Xen you need to make sure the domU configuration knows to retrieve the kernel from the new location (sda3 instead of sda1).

You must log in to answer this question.

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