На выходе uname -r отображается только версия до номера «ABI», но возможны изменения в ABI.
Для получения дополнительной информации о том, что вы используете, прочитайте файл /proc/version_signature:
cat /proc/version_signature
Ubuntu 2.6.24-28.80-generic
покажет версию пакета ядра, которую вы сейчас используете, которая может отличаться от самого недавно установленного ядра. Например, в вышесказанном, ABI имеет значение «28», которое равно uname -r будет показано:
uname -r
2.6.24-28-generic
Затем вы можете увидеть, что вы установили с помощью dpkg:
dpkg -l 'linux-image*' | grep ^.i
ii linux-image-2.6.24-27-generic 2.6.24-27.69 Linux kernel image for version 2.6.24 on x86
ii linux-image-2.6.24-28-generic 2.6.24-28.80 Linux kernel image for version 2.6.24 on x86
ii linux-image-generic 2.6.24.28.30 Generic Linux kernel image
В приведенном выше случае, если следующий пакет ядра, который был установлен, был версией как 2.6.24- package .81, это было бы только измененным «микровыпуском» , Поскольку компиляции модулей привязаны к ABI, перекомпиляция не требуется, но вам все равно нужно перезагрузиться, чтобы получить исправления ядра. Если следующее ядро установлено версией 2.6.24-29.81, тогда ABI будет изменен, и вам придется перекомпилировать модули после перезагрузки.
Подробнее о ABI см. https://wiki.ubuntu.com/KernelTeam/BuildSystem/ABI
Потребуется некоторое время для пакетов PHP 5.4, чтобы пробиться в Ubuntu, так как существует множество проверок зависимостей. Ubuntu 12.04 теперь находится в состоянии бета-версии, поэтому я сомневаюсь, что он обновит его до PHP 5.4 (хотя у меня нет официального или внутреннего знания об этом) - он, вероятно, не появится до Ubuntu 12.10 в октябре этого года. Если вы хотите это раньше, вам придется либо найти сторонний пакет, либо научиться строить его самостоятельно из исходного кода.