Slackware可以算是目前最古老的且充满活力的Linux发行版,目前该发行版的最重要的宗旨是打造一份注重系统稳定性,且技术非常前卫的Linux发行版,虽说你不能够在Slackware中找到非常眩的GUI主题,但是我要提醒你,别被这些呼里花哨的鬼名堂弄晕了,这些只是其他的某些Linux发行版的伎俩。今天我就带大家来领略一下最新的Slackware发行版,并且打破一个神话:Slackware Linux对新手不友好!
Introduction
Slackware is one of the oldest Linux distributions alive today and focuses on stability over cutting edge features. You might not find many flashy GUI tools for Slackware, but don't let that fool you - this is one heck of a distro. Today I'm taking a look at this latest version of Slackware and explore the myth that Slackware isn't for newbies.
Test System
Dell XPS M170 Laptop
Intel 915GM Chipset
Intel Pentium M 2.26Ghz CPU
2GB 533MHz DDR RAM
Intel 2915A/B/G Pro Wireless Card
Broadcom NetXtreme BCM5705M_2 Gigabit Ethernet Adapter
Intel 802801 (ICH6 Family) AC'97 Audio Controller
Intel 802801 (ICH6 Family) AC'97 Modem Controller
NEC ND-6650A DVD+-RW Drive
Fujitsu MHV2120A 120GB SATA Hard Drive
Alps GlidePoint Touchpad
nVidia GeForce GO 7800GTX PCI Express Video Adapter
17" 1920x1200 Laptop LCD Display
/proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 13
model name : Intel(R) Pentium(R) M processor 2.26GHz
stepping : 8
cpu MHz : 800.000
cache size : 2048 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr
pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss tm pbe nx up est
tm2
bogomips : 1598.15
lspci output:
00:00.0 Host bridge: Intel Corporation Mobile 915GM/PM/GMS/910GML
Express Processor to DRAM Controller (rev 03)
00:01.0 PCI bridge: Intel Corporation Mobile 915GM/PM Express PCI Express
Root Port (rev 03)
00:1d.0 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6
Family) USB UHCI #1 (rev 03)
00:1d.1 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6
Family) USB UHCI #2 (rev 03)
00:1d.2 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6
Family) USB UHCI #3 (rev 03)
00:1d.3 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6
Family) USB UHCI #4 (rev 03)
00:1d.7 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6
Family) USB2 EHCI Controller (rev 03)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev d3)
00:1e.2 Multimedia audio controller: Intel Corporation
82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (rev 03)
00:1e.3 Modem: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family)
AC'97 Modem Controller (rev 03)
00:1f.0 ISA bridge: Intel Corporation 82801FBM (ICH6M) LPC Interface
Bridge (rev 03)
00:1f.2 IDE interface: Intel Corporation 82801FBM (ICH6M) SATA Controller
(rev 03)
00:1f.3 SMBus: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family)
SMBus Controller (rev 03)
01:00.0 VGA compatible controller: nVidia Corporation GE Force Go 7800 GTX
(rev a1)
03:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5705M_2
Gigabit Ethernet (rev 03)
03:01.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev b3)
03:01.1 FireWire (IEEE 1394): Ricoh Co Ltd R5C552 IEEE 1394 Controller (rev
08)
03:01.2 Class 0805: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host
Adapter (rev 17)
03:03.0 Network controller: Intel Corporation PRO/Wireless 2915ABG Network
Connection (rev 05)
I have shrunk the Windows XP MCE partition that the laptop came with to the smallest possible size. This gives about 90GB free space for the test distro's to play with.
Installation and Configuration
Since it's first release in 1993, Slackware has featured a text-based installer and it hasn't changed much since then. Patrick and the rest of the Slackware developers could certainly move to a GUI installer if they wanted - there are many to choose from - but that would go against their goals of simplicity and stability. By keeping the text-based installation program, it helps keep the minimum supported system spec's down. Slackware only requires a 486 with 16MB of RAM! Props to the developers for not bloating the distro simply for bloat's sake.
With version 11, this is the first version that has officially been available on DVD which simplifies the install process somewhat. CD ISO's are still available, of course, as are disks from the official Slackware . As with any distro, I recommend that you purchase an official copy to support the developers who donate countless hours of work to product such a good product. You can purchase a subscription to Slackware which will automatically send you the latest official version when it's released - that's the method that I personally prefer.
This release has s slightly larger footprint than 10.2 due to quite a number of new packages added. Here's a summary of what has been added to Slackware 11 since the last release:
- a/pcmciautils
- a/sharutils (split from bin)
- a/acl (split from xfsprogs)
- a/attr (split from xfsprogs)
- a/sysfsutils
- a/sysstat
- ap/diffstat
- ap/dmapi (split from xfsprogs)
- ap/linuxdoc-tools
- ap/lm_sensors
- ap/xfsdump (split from xfsprogs)
- d/git
- d/mercurial
- d/ruby
- kde/amarok
- kde/qca
- kde/qca-tls
- l/apr
- l/apr-util
- l/cairo
- l/db42 (for backwards compatibility)
- l/db44 (upgrade from db4; see "Package Removals" and
"Other Notable Changes and Hints"
- l/desktop-file-utils
- l/freetype (split from x11) - see note in "Other Notable Changes
and Hints" below
- l/gd
- l/gnome-icon-theme
- l/hicolor-icon-theme
- l/libgpod
- l/libmtp
- l/libmusicbrainz
- l/libnjb
- l/libtheora
- l/libtunepimp
- l/libvisual (library only, no plugins yet - but this should allow
for compiling audio visualization plugins for amarok without a
recompile of amarok itself)
- l/mm (split from apache)
- l/mpfr (split from gmp)
- l/neon (split from subversion)
- l/slang1 (renamed from slang)
- l/slang (Added slang 2)
- n/mailx (renamed from nail)
- n/rdesktop
- x/dejavu-ttf
- x/fontconfig (split from x11) - see note in "Other Notable
Changes and Hints" below
- x/ttf-indic-fonts - see note in "Other Notable Changes and
Hints" below.
- xap/seamonkey
- xap/vim-gvim (renamed from xvim) - this package now depends on
ap/vim
- kernels/huge26.s/
- - added a 2.6.17.13 kernel to the official
(supported) package set. The user will be given a choice of
whether to install the 2.4.33.3 or 2.6.17.13 kernel. If a 2.6
kernel is used, additional packages must be added after the
installation -- at the very least the kernel-modules package.
Possibly also the kernel-headers to provide /usr/include/sound
used to compile ALSA applications.
- extra/linux-smp-2.6.17.13/
- - added a 2.6.17.13 kernel, modules,
and headers with SMP and hyperthreading support, optimized for
i686 or better cores (including dual core CPUs).
Installation and Configuration, cont.
Conversely, a small number of packages have been removed, replaced or merged since 10.2:
- ap/sgml-tools (replaced with linuxdoc-tools)
- d/python-demo (merged with python package)
- d/python-tools (merged with python package)
- l/db3 (moved to /pasture)
- l/db31 (moved to /pasture)
- l/db4-
- (moved to /pasture)
- n/nail (renamed to mailx - see "Package Additions")
- xap/abiword (became a pure Gnome app)
- xap/mozilla (replaced with seamonkey)
- xap/xvim (renamed to vim-gvim) - see note above in "Package
Additions"
Still, not a bad install footprint weighing in at 3GB for a completely full install. Of you can tailor the package selection during install to only add the software you want. Not everyone needs Apache or MySQL if they're just running a workstation. Anyway, on to the install!
First, I booted the Slackware 11.0 Install DVD using the default sata.i kernel. This is a new-ish laptop so the hardware is pretty current and does have a SATA hard drive. Unfortunately, the default sata.i kernel didn't support the controller on my laptop which I could tell because the system went into "compatibility mode" and disk operations were MUCH slower. A quick glance over at the debug terminal (ALT-F4) and I could see how slow the partition formatting progress was so I stopped the format and rebooted to see the list of other possible pre-compiled kernels to choose from. The 2.6-series kernel does support SATA very well so I chose the huge26.i kernel for my installation. This worked and the resulting formatting and software install went by very quickly. I also chose the huge26.i kernel for my default kernel, as well.
The 2.6 modules aren't installed by default so you'll have to mount the DVD and install the 2.6 modules in the /extra directory. The lack of modules means that your sound won't be working among other things, so you'll definitely want to fix that post install. If you stick with the 2.4 kernel, all the modules are correctly installed and you won't run into this problem.
Also install the 2.6 headers and source so you can recompile the kernel and any other software included in the /extra directory that you'd like to have. If you also install the generic 2.6 precompiled kernel in this directory, don't forget to re-run LILO to update the boot manager.
After I installed the modules, I rebooted and my sound card was detected. But it's muted by default, so you'll have to run the alsamixer program as root, un-mute the sound and adjust the volume levels as desired. I put everything at 65% and it's pretty loud. This is one of those things that might confuse newbies at first. Most newer distro's take care of these little things post-install for you.
Don't forget to create a normal user account for yourself since the Slackware installer doesn't do this. Log in as root and issue the adduser command. Follow the prompts and accept the default options - really the only thing you should type in is the desired username and your password. Hit the Enter key for everything else unless you just want to put in your room and phone numbers.
Slackware boots into runlevel 3 by default, which means you're sitting at the command line interface when you boot up. Again, newbies might be confused about what exactly to do at this point. You can change runlevels by editing the /etc/inittab and specifying runlevel 4 if you want X11 and the nice GUI login screen started automatically. You can, of course, simply change into another runlevel with the init command from the shell:
init 4
Slackware boot scripts
Slackware uses BSD-style init scripts as opposed to System V style boot scripts. What the heck does that mean to the new Slackware user? It's the process by which Slackware handles the booting and shutdown of the system. With the BSD-style init scripts, you'll find a single script for each runlevel in /etc/rc.d/. For example, if you want to boot into runlevel 4, Slackware runs the /etc/rc.d/rc.4 script. System V boot scripts use a directory for each runlevel containing each script that must be run at that runlevel. To each their own... they both have their benefits and drawbacks. Just remember that Slackware's boot scripts are located in /etc/rc.d/.
If you notice, there are some init scripts that are executable that you might not need and some that you might want. You can disable/enable these Slackware boot scripts by changing the executable bit:
chmod -x rc.(script name)
chmod +x rc.(script name)
One thing that jumped out at me was, since I installed the new 2.6 kernel, the old rc.modules-2.4.33.3 module loading boot script is still executable. I don't need this to run since I'm using the new 2.6 kernel that I've installed, so:
chmod -x rc.modules-2.4.33.3
Also, the symbolic link rc.modules still pointed to the old 2.4 modules script, so I removed that and re-linked rc.modules to the 2.6 script:
rm rc.modules
ln -s rc.modules-2.6.17.13 rc.modules
CPU Frequency Scaling
If you've got a laptop or a newer CPU that supports dynamic frequency scaling, then you'll have to recompile the generic kernels Slackware provides - it's not supported by default. If you didn't install the 2.6 kernel source earlier on, you'll have to do that now. You can find the source and header packages in the /extra directory on the DVD.
Dynamic frequency scaling means that your CPU's clock speed will be reduced during periods of relative inactivity. If you're just reading something on the screen or typing up an e-mail you don't need a lot of horsepower to complete those tasks, so the CPU's speed will be reduced. This conserves power, reduces heat and greatly extends your battery life for laptop users. Desktop users will find that it keeps their computer running cooler and quieter. When you need the speed for compiling a program, playing a game or starting a new application, the CPU's frequency will be increased to match the workload.
I learned that the proc "performance" interface has been deprecated, so you'll have to use the interface in /sys/devices/system/cpu/cpu0/cpufreq to control the frequency governor. When I checked the scaling_governor file, it's "userspace" by default, but I compiled the "conservative" governor too (which gracefully increases/decreases the cpu frequency) so to use this governor:
echo conservative > scaling_governor
Check the cpu frequency now:
cat /proc/cpuinfo
Much better, huh? Once the action increases, the cpu frequency will incrase to match. If you're in X, you can fire up your favorite CPU monitoring applet and watch the frequency rise and fall as you work.
Now, this change isn't permanent but Slackware has given us a handy boot script to add our user-defined boot time options. Open up /etc/rc.d/rc.local and add a line at the end that says:
echo conservative > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
Now your dynamic cpu frequency scaling will take effect every time you boot.
Aren't you learning some interesting stuff about your computer by tweaking these things by hand? I love this stuff...
GUI Configuration
My laptop display resolution wasn't configured by default, so I had to edit the xorg.conf file and correctly specify the 1920x1200 resolution at all color depths. Plus, Slackware doesn't come with binary driver support for ATI or nVidia graphics cards but you can easily add them by downloading the latest version and following the install directions for whichever card you have. The Open Addict DELL XPS M170 test laptop comes with a nVidia card, so I grabbed the latest drivers from nvidia.com and installed from that point. No big deal there.
KDE is the default desktop environment for most people but you do have the option of installing others like the excellent and lightweight XFCE 4.2.3.2. Slackware 11 ships with KDE version 3.5.4 and X.org 6.9.0, so the desktop is pretty new. Tweaking the desktop was a piece of cake and the GUI felt very light and responsive.
Slackware 11 also includes SeaMonkey 1.0.5 (this is the new replacement for the Mozilla Suite) and the Firefox 1.5.0.7, as well as the Thunderbird 1.5.0.7 email and news client, the KOffice productivity suite, networking tools, GUI development with KDevelop, multimedia tools like the Amarok music player, the Konqueror web browser and file manager, dozens of games and utilities, international language support, a collection of GTK+ based applications including gaim-1.5.0, gimp-2.2.13, gkrellm-2.2.9, gxine-0.5.7, xchat-2.6.6, xsane-0.991, pan-0.14.2.91, K3b CD burning application for KDE, the Java(TM) 2 Software Development Kit Standard Edition, libsafe (advanced buffer overflow protection for additional security), ISDN support and additional 802.11 drivers (check out the /extra directory for some of these packages). The GCC version included with Slack 11 is 3.4.6.
There isn't support for DVD's out of the box, but it has become fairly trivial to install the proper libraries for DVD decoding. However, it may be illegal in your area to do so. Check your local laws before you engage in viewing your own legally purchased movies. The MPAA wouldn't want you to actually enjoy them, or anything...
ConclusionThe latest Slackware release is more of the same pure Slackware goodness from Patrick and Company. It doesn't drastically diverge from 10.2 but adds some new software packages and includes some newer kernel support. Hardware detection is pretty much as basic as it can be with much of the configuration and tweaking on you - the end user. Thankfully, it isn't hard to configure Slackware through its easy to find textfile-based configuration files, but newbies might be lost.
So is Slackware 11 a bad choice for new Linux users? Not at all. It's what many of us learned on in the mid-90's when Linux was a lot more limited in hardware support than it is today. But, I can certainly see how many simple things like adding a USB memory stick or setting up a wireless network card would be pretty complicated for a newbie. But the upshot of this steep learning curve is a deeper understanding of the system when compared to a Suse or Ubuntu newbie who just points-and-clicks.
Slackware holds a special place in my heart being my first distro and I'll always support them. But as I grow older and have less time for hand-tuning my system, I want things that Just Work(tm). If that's you as well, Slackware might not be the best fit for your lifestyle.
Package management is pretty bare-bones in Slackware but, thankfully, there are some great tools to help the user keep their software up to date: slapt-get and Swaret are two of my favorites. Otherwise you'll have to compile your desired software from source. Again, not a big deal but might intimidate the newbie.
So where does Slackware fit into the modern Linux distribution landscape? I don't really like where my mind takes that question. Slackware doesn't have a big marketing machine, no slick GUI installer, fairly primitive package management. But it does have a loyal fan base who loves the distro and loves to get under the hood of their system. It's similar to Gentoo in that respect and offers a level of configurability that you might not find with other distros.
Thanks to OSDir for the screenshots.
原文链接: