Duangw

Slackware 12.0

 

主要内容:基本配置X和本地化应用软件网络服务

 

1 基本配置

1.1 初始安装

选择除kdei之外的所有软件包,进行全部安装。

kdei只安装简体中文(zh_CN)和繁体中文(zh_TW)包,共4个安装文件。

不安装引导管理器。

配置网络。

 

1.2 引导配置

这里Slackware是通过别的系统上的grub来进行引导的。在Slackware下安装grub来负责多重系统引导的方法见:Grub多重引导

编辑grub所在系统的menu.lst,增加Slackware的启动项。以amd64机器为例:

title Slackware 12.0 (2.6.21.5-smp)
root (hd1,4)
kernel /boot/vmlinuz-huge-smp-2.6.21.5-smp ro root=/dev/sdb5

 

1.3 安装补丁

一般来说,安装一个系统并不总是在该系统刚刚发布之时,此时可能已经有一些补丁程序。新系统的第一步就是安装这些补丁,填补发现的漏洞。

选择一个速度快的镜像站点下载补丁程序(位于slackware-12.0/patches/packages),在安装系统之前先准备好这些补丁(如果有的话)。

首先进入单用户模式:

# init 1

进入补丁所在目录,更新:

# upgradepkg *.tgz

重新启动。

:我一般用lftp在本地建立一个补丁包镜像,供本地所有系统使用,以避免重复下载。以Australia的一个镜像为例:

# cd /pub/software/slackware
# lftp ftp://mirror.pacific.net.au/linux/slackware/
>>> mirror -ner slackware-12.0
>>> cd slackware-12.0
>>> lcd slackware-12.0
>>> mirror -ne patches
>>> bye

通过关注Slackware的ChangeLogs,或订阅邮件列表,来了解更新动态。

 

1.4 配置网络

在初始安装时进行了网络配置,这样可以省很多功夫。

由于是多网卡机器,而安装时只配置了一块网卡,所以还需要一些配置。

首先查看udev配置文件/etc/udev/rules.d/75-network-devices.rules,通过MAC地址固定网卡编号。

编辑/etc/rc.d/rc.inet1.conf,配置其余网卡的IP地址等参数。

如果修改别的选项,则还涉及:

 

1.5 编译内核(amd64机器)

当前的内核配置只能使用3G内存,为了识别全部4G内存,需要打开内核的PAE选项。同时将netfilter编译进内核,不再以模块形式存在。并将CPU类型设置为AMD64。

在编译之前,先安装内核源代码补丁(之前只安装了二进制文件的更新),位于slackware-12.0/patches/source/kernel-source目录下,这是一个严重的local root exploit漏洞:

# cd /usr/src/linux-2.6.21.5
# zcat splice.c.gz | patch -p1

内核配置基于huge-smp版本:

# cd /usr/src/linux
# make mrproper
# cp /boot/config-huge-smp-2.6.21.5-smp .config
# make menuconfig

几个选项设置:

(1).为了与原来的内核文件区别,增加-PAE后缀:

General setup  ---> 
	(-smp-pae) Local version - append to kernel release 

(2).设置CPU类型和PAE:

Processor type and features  --->
	Processor family (Opteron/Athlon64/Hammer/K8)  --->
		(X) Opteron/Athlon64/Hammer/K8
	High Memory Support (64GB)  --->
		(X) 64GB

(3).配置netfilter:

Networking  --->
Networking options  --->
[*] Network packet filtering framework (Netfilter)  --->
... ...(略)

编译安装:

# make
# make modules_install
# cp System.map /boot/System.map-huge-smp-2.6.21.5-smp-pae
# cp .config /boot/config-huge-smp-2.6.21.5-smp-pae
# cd arch/i386/boot
# cp bzImage /boot/vmlinuz-huge-smp-2.6.21.5-smp-pae

编辑grub所在系统的menu.lst,增加新内核的启动项:

title Slackware 12.0 (2.6.21.5-smp-pae)
root (hd1,4)
kernel /boot/vmlinuz-huge-smp-2.6.21.5-smp-pae ro root=/dev/sdb5

重新启动。

 

1.6 配置声卡

执行:

# alsaconf

选择对应的声卡型号,创建声卡数据。

 

1.7 配置防火墙脚本

有关各个iptables脚本的详细内容见:Iptables脚本

这里使用客户机脚本rc.iptables-client.ref:

# cp /newpkg/rc.iptables-client.ref /etc/rc.d/rc.iptables
# chmod a+x /etc/rc.d/rc.iptables

修改/etc/rc.d/rc.S文件,在末尾添加模板rc.S.ref的内容。

 

1.8 设置内核参数

有关脚本的详细内容见:Sysctl脚本

# cp /newpkg/rc.sysctl.ref /etc/rc.d/rc.sysctl
# chmod a+x /etc/rc.d/rc.sysctl

编辑/etc/rc.d/rc.M,将模板rc.M.ref内容加入到rc.inet2的前面。

 

1.9 配置PPPOE(可选)

# pppoe-setup

设置用户名、密码、网卡接口(eth0)、选择不要防火墙,由ISP提供DNS地址。

拨号:

# pppoe-start

断开:

# pppoe-stop

查看状态:

# pppoe-status

 

1.10 建立普通用户

这里使用一个额外的分区(/dev/sda7)来存放所有系统的普通用户文件(amd64机器):

# mkdir /pub
# mount /dev/sda7 /pub
# mkdir -p /pub/home/slackwre
# cd /home
# mv * /pub/home/slackware/
# cd /
# rmdir home
# ln -s /pub/home/slackware/ home

添加用户:

# useradd -m -s /bin/bash duangw

 

1.11 挂载分区(amd64机器)

创建挂载点:

# mkdir /pub/fat
# mkdir /pub/ntfs
# mkdir /pub/ext3

让普通用户duangw可以直接读写FAT和NTFS分区,采用了uid选项(duangw的uid是1000)。编辑/etc/fstab,增加:

/dev/sda7  /pub       ext3        defaults         1   2
/dev/sda5  /pub/fat   vfat  iocharset=cp936,uid=1000  1  0
/dev/sda6  /pub/ntfs  ntfs  iocharset=cp936,uid=1000  1  0
/dev/sdb8  /pub/ext3  ext3        defaults         1   3

 

1.12 启用HAL(可选)

Slackware 12.0中增加了HAL(Hardware Abstraction Layer),提供了对移动设备如CDROM、U盘的支持接口。如果安装时没有打开,则手工启用:

# cd /etc/rc.d
# chmod a+x rc.hald

编辑/etc/group,为用户duangw增加组plugdev,HAL通过该设置来决定用户是否有权限使用此功能:

plugdev:x:83:duangw

 

 

2 X和本地化

2.1 配置Xwindow

执行xorgsetup,配置Xwindow,一切都按缺省值:

# xorgsetup

弄好后,执行startx,看看能正常启动Xwindow就行了。即使因为驱动问题启动不了也没关系,这只是初始配置,后面还要专门安装显卡驱动。

 

2.2 安装Nvidia显卡驱动

从Nvidia官方网站www.nvidia.com下载Linux驱动。

安装(amd64机器):

# sh NVIDIA-Linux-x86-169.09-pkg1.run

注:i386机器上使用的是另外一类的驱动程序。

 

2.3 设置locale

编辑/etc/profile.d/lang.sh,不改LANG,以免在命令行下出乱码,增加:

export LC_CTYPE=zh_CN

同时屏蔽LC_COLLATE:

#export LC_COLLATE=C

 

2.4 安装文泉译中文字体

从文泉译官方网站wqy.sourceforge.net下载软件包wqy-bitmapfont-pcf-0.8.1-7.tar.gz。官方有很详细的中文安装指导,下面是我的配置步骤。

安装字体:

# tar xzvf wqy-bitmapfont-pcf-0.8.1-7.tar.gz
# mkdir /usr/share/fonts/wenquanyi
# mv wqy-bitmapfont /usr/share/fonts/wenquanyi
# cd /usr/share/fonts/wenquanyi/wqy-bitmapfont
# rm fonts.dir fonts.scale fc-cache.*
# mkfontdir .
# cp fonts.dir fonts.scale

编辑Xwindow配置文件/etc/X11/xorg.conf,增加:

......
Section "Files"
	......
	FontPath    "unix/:7100"
	......
	FontPath    "/usr/share/fonts/wenquanyi/wqy-bitmapfont"
EndSection
......

编辑/etc/fonts/fonts.conf,增加:

<dir>/usr/share/fonts/wenquanyi/wqy-bitmapfont<dir>

建立符号链接:

# cd /etc/fonts/conf.d
# ln -s /usr/share/fonts/wenquanyi/wqy-bitmapfont/\
85-wqy-bitmapsong.conf

重启Xwindow,检查配置是否成功:

# xlsfonts | grep wenquanyi
# fc-list | grep "WenquaYi"

正确的话,会有相关信息显示。

 

2.5 安装中文输入法fcitx

从fcitx主页www.fcitx.org下载稳定版fcitx-3.4.2.tar.bz2。

安装:

# cd /sources
# tar xjvf fcitx-3.4.2.tar.bz2
# cd fcitx-3.4.2
# ./configure
# make
# make install

编辑/etc/profile,设置fcitx需要的一个环境变量:

export XMODIFIERS=@im=fcitx

 

 

3 应用软件

3.1 安装VMware(amd64机器)

从VMware官方网站www.vmware.com获得软件包VMware-workstation-6.0.2-59824.i386.tar.gz。安装:

# cd /sources
# tar xzvf VMware-workstation-6.0.2-59824.i386.tar.gz
# cd vmware-distrib
# ./vmware-install.pl

在网络配置部分,将vmnet1-vmnet9配置为host-only,加上桥接的vmnet0,一共10块虚拟网卡。

Slackware的X运行级别是4,不是其他发行版常用的5,所以需要做点小调整:

# cd /etc/rc.d/rc5.d
# mv * ../rc4.d/

将所有的虚拟机文件放在/dev/sdb8的vmware目录下:

# cd /pub/ext3
# make vmware
# chown duangw:users vmware

 

3.2 安装kchmviewer

kchmviewer是一个chm文件阅读器,从kchmviewer主页www.kchmviewer.net下载kchmviewer-3.1-2.tar.gz。

这里使用www.slackbuilds.org提供的脚本包kchmviewer.tar.gz来编译安装:

# cd /sources
# tar xzvf kchmviewer.tar.gz
# cd kchmviewer
# cp /pub/software/kchmviewer/kchmviewer-3.1-2.tar.gz .
# ./kchmviewer.SlackBuild
# cd /tmp
# installpkg kchmviewer-3.1-2-i486-1_SBo.tgz
# cp kchmviewer-3.1-2-i486-1_SBo.tgz /newpkg

 

3.3 安装媒体播放器mplayer

从mplayer官方网站www.mplayerhq.hu下载源代码包、解码器(codecs)、皮肤(skin)和补丁(截止2008/01/31)。

解压缩:

# cd /sources
# tar xjvf essential-20071007.tar.bz2
# tar xjvf MPlayer-1.0rc2.tar.bz2
# tar xjvf Blue-1.7.tar.bz2

补丁:

# cd MPlayer-1.0rc2/
# cp /pub/software/mplayer/*.diff .
# cd libmpdemux/
# patch -p0 < ../demux_audio_fix_20080129.diff
# patch -p0 < ../demux_mov_fix_20080129.diff
# cd ../stream/
# patch -p0 < ../url_fix_20080120.diff
# patch -p0 < ../stream_cddb_fix_20080120.diff

安装解码器:

# cd /sources
# mv essential-20071007 codecs
# mv codecs /usr/local/lib/

安装MPlayer:

# cd /sources
# cd MPlayer-1.0rc2/
# ./configure --enable-gui
# make
# make install

安装皮肤:

# cd /sources
# mv Blue /usr/local/share/mplayer/skins/
# cd /usr/local/share/mplayer/skins/
# ln -s Blue default

此外还有一个步骤:安装mplayer使用的字体。根据启动mplayer时的提示从系统字体目录中随便找个文件拷贝过来就行。

 

 

4 网络服务

4.1 配置ftp服务

编辑/etc/vsftpd.conf,允许普通用户有写权限:

write_enable=YES

编辑/etc/inetd.conf, 打开vsftp,取消其他所有服务。

允许执行rc.inetd:

# cd /etc/rc.d
# chmod a+x rc.inetd

启动inetd:

# /etc/rc.d/rc.inetd start

编辑防火墙脚本/etc/rc.d/rc.iptables,允许ftp:

iptables -A INPUT -p tcp --dport ftp -m state \
--state NEW -j ACCEPT

 

4.2 配置http服务

允许执行rc.httpd:

# cd /etc/rc.d
# chmod a+x rc.httpd

启动httpd:

# /etc/rc.d/rc.httpd start

编辑防火墙脚本/etc/rc.d/rc.iptables,允许httpd:

iptables -A INPUT -p tcp --dport http -m state \
--state NEW -j ACCEPT