5

I received the error message: The package system is broken and I am not, to my knowledge, using third party repositories. Following some of the recent posts on similar topics, I looked at other posts with similar issues and tried: sudo apt-get -f install

Results:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
The following extra packages will be installed:
  linux-image-3.11.0-19-generic
Suggested packages:
  fdutils linux-lts-saucy-doc-3.11.0 linux-lts-saucy-source-3.11.0
  linux-lts-saucy-tools
The following NEW packages will be installed
  linux-image-3.11.0-19-generic
0 to upgrade, 1 to newly install, 0 to remove and 28 not to upgrade.
2 not fully installed or removed.
Need to get 0 B/57.3 MB of archives.
After this operation, 154 MB of additional disk space will be used.
Do you want to continue [Y/n]? 

Indicated Yes

Results:

(Reading database ... 171297 files and directories currently installed.)
Unpacking linux-image-3.11.0-19-generic (from .../linux-image-3.11.0-19-generic_3.11.0-19.33~precise1_i386.deb) ...
This kernel does not support a non-PAE CPU.
dpkg: error processing /var/cache/apt/archives/linux-image-3.11.0-19-generic_3.11.0-19.33~precise1_i386.deb (--unpack):
 subprocess new pre-installation script returned error exit status 1
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 3.11.0-19-generic /boot/vmlinuz-3.11.0-19-generic
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 3.11.0-19-generic /boot/vmlinuz-3.11.0-19-generic
Errors were encountered while processing:
 /var/cache/apt/archives/linux-image-3.11.0-19-generic_3.11.0-19.33~precise1_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

I have absolutely no idea what to do next.

Braiam
  • 69,112

3 Answers3

2

I had this problem with my early Pentium-m CPU which does not report PAE in the flags portion of /proc/cpuinfo.

As with the initial install (in my case 16.04), you have to add the "forcepae" kernel option when booting.

The best way to do this is to add it to: /etc/grub.d/10_linux

search for this line: args="$4"

change to: args="$4 forcepae"

save then execute: update-grub

After reboot, you will now have "pae" in the flags portion of /proc/cpuinfo and the update will work. It will also be persistent for future updates.

This assumes you have a real PAE CPU like the early Pentium-m that doesn't report its PAE capability. Pretty much any x86 CPU since 1995 supports PAE, so this is 99.99% likely your problem.

Zanna
  • 72,312
dogfish
  • 21
1

From the comments, the output of sudo apt-get autoremove is,

$ 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-generic-lts-saucy : Depends: linux-image-3.11.0-19-generic but it is not installed
E: Unmet dependencies. Try using -f.

It clearly shows that the package linux-image-generic-lts-saucy is trying to download and install the dependency package linux-image-3.11.0-19-generic which inturn produces the error This kernel does not support a non-PAE CPU while installing this new kernel.

Holding the main package (linux-image-generic-lts-saucy) will solves your problem. So you have to run the below commands to hold linux-image-generic-lts-saucy package,

sudo apt-get clean
sudo apt-mark hold linux-image-generic-lts-saucy

Finally fix the dependencies,

sudo apt-get install -f
Braiam
  • 69,112
Avinash Raj
  • 80,446
0

You are using a non-PAE CPU, so you are most likely upgrading to a kernel that doesn't. The upgrade process is smart, so it wont install a kernel that won't allow you to boot the system, so it fails the installation.

The way to prevent this is upgrading your CPU to one that supports PAE (you should buy a new one) or holding the package as Avinash explained in his answer.

Braiam
  • 69,112