|< Free Open Study >|| |
One of Slackware's stated goals is simplicity and stability. Distributing a customized kernel actually introduces an additional idiosyncrasy to the system that administrators (and occasionally users) have to be aware of and manage. Slackware, therefore, does not use or distribute customized kernels, as some other distributions do. Occasionally, however, Slackware will ship a kernel with a patch fixing a crucial bug that hasn't yet made it into the official stable kernel.
Since Slackware relies solely on standard kernels, it's actually very easy to upgrade the kernel on a Slackware system. The source code for the kernel is placed in /usr/src; this is the same location as on Red Hat Linux. Unlike Red Hat's kernels, however, there are really no hoops to jump through when you want to upgrade your kernel; you simply remove the Linux symbolic link, extract the new kernel, and recreate the symbolic link so that it points to the new kernel directory. After that, you simply build the kernel normally.
There is a significant way in which Slackware differs from Red Hat in kernel management, however. As was mentioned briefly in Chapter 4, the GNU glibc system library relies on certain Linux kernel headers. These headers should match the version of the kernel that glibc was compiled against, rather than reflect the currently running kernel. (In fact, Linus Torvalds and other kernel developers would much prefer that glibc remove this dependence on Linux kernel headers.) Red Hat works around this problem by providing a special kernel-headers RPM package; Slackware, however, handles this by creating a symbolic link in /usr/include/linux that points into the kernel source code installation. This means that Slackware essentially requires that kernel source code is installed on the system in order to use the compilers, and also means that the kernel headers will change with the current kernel version. Red Hat's solution is probably more "correct", but Slackware's is certainly simpler, illustrating again the differences in philosophy between the two distributions.
At any rate, Slackware is focused on stability and simplicity. Thus, Slackware occasionally lags behind other distributions in adopting major new releases of key components such as the kernel and system libraries. Slackware 8.0, for example, ships with two kernels: the current 2.4.5 kernel and the older—but tried and true—2.2.19 kernel. Even though both kernels are considered stable, Slackware 8.0 defaults to the 2.2 kernel, because it is a more extensively tested and debugged—and therefore reliable—kernel.
|< Free Open Study >|| |