-2

I want to install Pound. Doing this:

apt-get install pound

produces this:

root@myhost:~# apt-get install pound
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
  linux-headers-3.2.0-23-generic linux-headers-3.2.0-23
Use 'apt-get autoremove' to remove them.
The following NEW packages will be installed:
  pound
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
2 not fully installed or removed.
Need to get 98.3 kB of archives.
After this operation, 226 kB of additional disk space will be used.
Get:1 http://us.archive.ubuntu.com/ubuntu/ precise/universe pound amd64 2.5-1.1 [98.3 kB]
Fetched 98.3 kB in 0s (418 kB/s)
Selecting previously unselected package pound.
(Reading database ... 102644 files and directories currently installed.)
Unpacking pound (from .../pound_2.5-1.1_amd64.deb) ...
Processing triggers for ureadahead ...
ureadahead will be reprofiled on next reboot
Processing triggers for man-db ...
Setting up mysql-server-5.5 (5.5.32-0ubuntu0.12.04.1) ...

Configuration file `/etc/apparmor.d/usr.sbin.mysqld'
 ==> Modified (by you or by a script) since installation.
 ==> Package distributor has shipped an updated version.
 ==> Modified (by you or by a script) since installation.
 ==> Package distributor has shipped an updated version.
   What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      Z     : start a shell to examine the situation
 The default action is to keep your current version.

mysql-server is installed and running. I do not want to try re-installing this.

The Pound package does not need mysql-server as any dependancy.

How do I fix this?

I don't want to upgrade this since this would take down a production system. There seems to be something stuck in dpkg that is forcing any package installed to force a mysql-server re-installation or upgrade.

  • Could you add the full output of apt-get instead of a excerpt? – Braiam Sep 30 '13 at 16:32
  • I've updated my answer in response to your update. – derobert Oct 2 '13 at 4:33
  • apt will always first try to finish the upgrade of mysql-server-5.5 (and some additional package, as there are two pending), which was started sometime before. – Dubu Oct 2 '13 at 7:43
6

It sounds like you would up upgrading your mysql-server-5.5 package. That version matches the ones given in USN-1909-1, so it sounds like you hadn't installed a security update.

You should review what's different in the various versions of the config file (by pressing D at the prompt, for example). Then, as the prompt says, you can keep your current version (of that file) with N, accept Ubuntu's version with Y, or start a shell to deal with it yourself (for example, merge in the changes) with Z.

in response to your update:

At some point in the past, someone (you or another admin on this box) started a MySQL upgrade, possibly without noticing it. Or maybe the system is configured to automatically apply security updates, and the MySQL one failed for some reason. You can see this in the apt-get output:

0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
2 not fully installed or removed.

No doubt if you checked dpkg -s mysql-server-5.5, it's Status line wouldn't be install ok installed.

Anyway, what happened that first time is that dpkg actually unpacked the files from the new package (in probably also stopped MySQL, maybe this is why it was aborted). It got as far as attempting to "configure" MySQL, but either errored out during that, or was aborted.

apt is attempting to fix that, by configuring the package. You might be able to get around it by using dpkg -i directly (though dpkg may also try to configure it, I'm not sure)

The real fix is that you need to schedule some downtime and finish the MySQL upgrade (and beware there may have been an error configuring). Especially since the version you're running has (according to Oracle) remote vulnerabilities that may impair both confidentiality and integrity.

1

You had the message 2 not fully installed or removed before you even started your apt run. This is not normal. This usually means your package database is in a broken or inconsistent state. If you ever see this, ABORT IMMEDIATELY. You should try running apt-get -f install to start with, to fix this. If this doesn't work, you can do other things, but never proceed with other actions involving the package database if you see messages contains words like not fully installed or removed. Fix the problem first.

I'm actually a little surprised that apt lets you proceed in this case. I don't come across such situations often, but my recollection is that apt doesn't let you proceed till you have fixed things.

Anyway, as you can see, when you installed pound, apt tried to finish up the installation of the mysql packages, which were the packages that apt was warning you about in the first place, with the aforementioned 2 not fully installed or removed message.

NOTE: @derobert has covered the same ground in his answer from a slightly different perspective. Since you apparently didn't understand him, I thought I would add my two cents.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.