This is related to uek3 kernel on Oracle Linux 6.5. The actual release installed on my system is kernel-uek-3.8.13-35.1.1.el6uek.x86_64.
1. In last two kernel uek3 updates via Oracle Public Yum Server the package kernel-uek-headers with corresponding release number is missing, so I still have kernel-uek-headers-3.8.13-26.2.4.el6uek.x86_64 installed on my system. If the old release headers remain unchanged in new release, it doesn't mean the package with new release number should be omitted. Many people are probably confused with this and stay away from uek3 kernel.
2. Whenever I update uek3 kernel and boot the system with new release, the old uek3 release can be removed either using yum or with rpm -e without any problem. The problem is to remove the redhat compatible kernel-2.6.32 that is also installed on the system. It was installation via OL6.5 DVD where both kernels were installed chosing uek3 kernel as default. To be more precise here is what I have installed:
[root@localhost ~]# rpm -qa --qf="%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}\n" | grep el6uek
kernel-uek-devel-3.8.13-35.1.1.el6uek.x86_64
kernel-uek-firmware-3.8.13-35.1.1.el6uek.noarch
dtrace-modules-3.8.13-35.1.1.el6uek-0.4.3-4.el6.x86_64
kernel-uek-3.8.13-35.1.1.el6uek.x86_64
kernel-uek-headers-3.8.13-26.2.4.el6uek.x86_64
kernel-uek-doc-3.8.13-35.1.1.el6uek.noarch
[root@localhost ~]# rpm -qa --qf="%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}\n" | grep "[-]2.6.32[-]431.17.1"
kernel-firmware-2.6.32-431.17.1.el6.noarch
kernel-devel-2.6.32-431.17.1.el6.x86_64
kernel-2.6.32-431.17.1.el6.x86_64
The following output is what I get trying to remove 2.6.32 kernel:
[root@localhost ~]# rpm -e --test `rpm -qa --qf="%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}\n" | grep "[-]2.6.32[-]431.17.1"`
error: Failed dependencies:
kernel-devel is needed by (installed) ipset-devel-6.11-1.el6.x86_64
kernel-devel is needed by (installed) systemtap-devel-2.3-4.0.1.el6_5.x86_64
kernel >= 2.6.14 is needed by (installed) fuse-2.8.3-4.0.2.el6.x86_64
kernel >= 2.6.12-1.1411_FC5 is needed by (installed) pcmciautils-015-4.2.el6.x86_64
kernel >= 2.6.32-33.el6 is needed by (installed) xorg-x11-drv-intel-2.21.12-2.el6.x86_64
kernel >= 2.6.9-11 is needed by (installed) systemtap-runtime-2.3-4.0.1.el6_5.x86_64
kernel >= 2.6.32-33.el6 is needed by (installed) xorg-x11-drv-ati-7.1.0-3.el6.x86_64
kernel is needed by (installed) libguestfs-1:1.20.11-2.el6.x86_64
kernel >= 2.6.32-358.2.1 is needed by (installed) irqbalance-2:1.0.4-9.0.1.el6_5.x86_64
kernel >= 2.6.30 is needed by (installed) pulseaudio-0.9.21-14.el6_3.x86_64
kernel >= 2.6.9-11 is needed by (installed) systemtap-devel-2.3-4.0.1.el6_5.x86_64
kernel >= 2.6.17 is needed by (installed) autofs-1:5.0.5-89.0.1.el6_5.1.x86_64
kernel-drm-nouveau = 16 is needed by (installed) xorg-x11-drv-nouveau-1:1.0.1-4.el6.x86_64
Note that these packages are only directly depended packages. Resolving all dependencies leads to real ridiculous situation that occurs when I try the same using 'yum remove'. After resolving all dependencies, in order to remove kernel-2.6.32 yum is going to remove 41 packages for dependencies:
Removing:
kernel
Removing for dependencies:
alsa-plugins-pulseaudio
autofs
bluez
fuse
fuse-ntfs-3g
fuse-ntfs-3g-devel
gnome-bluetooth
gvfs-fuse
ipa-admintools
ipa-client
irqbalance
kde-settings-pulseaudio
libguestfs
libguestfs-devel
libguestfs-tools
libguestfs-tools-c
ocaml-libguestfs
ocaml-libguestfs-devel
pcmciautils
perl-Sys-Guestfs
pulseaudio
pulseaudio-module-bluetooth
pulseaudio-module-gconf
pulseaudio-module-x11
python-libguestfs
ruby-libguestfs
systemtap
systemtap-client
systemtap-devel
systemtap-runtime
totem
totem-devel
totem-jamendo
totem-nautilus
totem-upnp
totem-youtube
xorg-x11-drivers
xorg-x11-drv-ati
xorg-x11-drv-intel
xorg-x11-drv-nouveau
This is really funny. 41 packages "depends" on unused kernel! Seems that system (yum, rpm database) is not aware of uek3 kernel presence.
It would be nice if someone from Oracle Linux engineering could clarify this strange behaviour.