Duangw

Slackware 13.1

 

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

 

1 基本配置

1.1 初始安装

选择所有软件包,进行全部安装。

使用ext4文件系统。

不安装引导管理器。

配置网络。

启动服务:rc.fuse、rc.hald、rc.messagebus、rc.syslog和rc.sshd。

 

1.2 引导配置

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

编辑grub所在系统的menu.lst,增加Slackware的启动项。

32位版本:

title Slackware 13.1 (2.6.33.4-huge-smp)
        root (hd1,1)
        kernel /boot/vmlinuz-huge-smp-2.6.33.4-smp ro root=/dev/sdb2

64位版本:

title Slackware64 13.1 (2.6.33.4-huge)
        root (hd0,4)
        kernel /boot/vmlinuz-huge-2.6.33.4 ro root=/dev/sda5

 

1.3 挂载分区

创建挂载点:

# mkdir /pub

编辑/etc/fstab,增加:

/dev/sda7  /pub       ext3     defaults                 1   2
/dev/sdc1  /pub/sdc1  ext4     defaults                 1   3
/dev/sdc2  /pub/sdc2  ext4     defaults                 1   4
/dev/sdb1  /pub/tmp   ext4     defaults                 1   5
/dev/sda6  /pub/ntfs  ntfs-3g  defaults,umask=022,fmask=133,locale=zh_CN.UTF-8  0   0

这里取消了NTFS分区中的文件的执行权限,体现在fmask参数上。

NTFS分区的读写采用ntfs-3g工具来处理,由于ntfs-3g缺省的文件掩码为0,所以增加了umask选项。此外,分区采用UTF-8编码。

 

1.4 安装补丁

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

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

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

# upgradepkg *.t?z

以上是一般操作步骤。有些特殊补丁会有额外的操作,根据安全公告的描述进行相应处理。

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

 

1.5 切换为generic内核

制作initrd:

# cd /boot
# mkinitrd -c -m ext4

编辑grub所在系统的menu.lst,增加启动项。

32位版本:

title Slackware 13.1 (2.6.33.4-generic-smp)
        root (hd1,1)
        kernel /boot/vmlinuz-generic-smp-2.6.33.4-smp ro root=/dev/sdb2
        initrd /boot/initrd.gz

64位版本:

title Slackware64 13.1 (2.6.33.4-generic)
        root (hd0,4)
        kernel /boot/vmlinuz-generic-2.6.33.4 ro root=/dev/sda5
        initrd /boot/initrd.gz

重新启动。

 

1.6 编译内核(只针对32位版本)

当前的32位内核配置只能使用3G内存,为了识别全部4G内存,需要打开内核的PAE选项。同时将CPU类型设置为AMD64,并使用Preemption调度模式。

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

# cd /usr/src/linux
# make mrproper
# cp /boot/config-generic-smp-2.6.29.6-smp .config
# make menuconfig

几个选项设置:

(1).为了与原来的内核文件区别,使用-customE后缀:

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

(2).设置CPU类型、大内存和Preemption模式:

Processor type and features  --->
	Processor family (Opteron/Athlon64/Hammer/K8)  --->
	Preemption model (Preemptible kernel (Low-Latency Desktop))
	High Memory Support (64GB)  --->

编译安装:

# make
# make modules_install
# cp System.map /boot/System.map-2.6.33.4-custom
# cp .config /boot/config-2.6.33.4-custom
# cd arch/x86/boot
# cp bzImage /boot/vmlinuz-2.6.33.4-custom

制作initrd:

# cd /boot
# mkinitrd -c -k 2.6.33.4-custom -m ext4 -o initrd-2.6.33.4-custo

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

title Slackware 13.1 (2.6.33.4-custom)
        root (hd1,1)
        kernel /boot/vmlinuz-2.6.33.4-custom ro root=/dev/sdb2
        initrd /boot/initrd-2.6.33.4-custom

重新启动。

 

1.7 配置防火墙脚本

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

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

# cp /ftp/custom/rc.iptables-client.ref /etc/rc.d/rc.iptables
# cp /ftp/custom/rc.ip6tables.ref /etc/rc.d/rc.ip6tables
# chmod +x /etc/rc.d/rc.iptables
# chmod +x /etc/rc.d/rc.ip6tables

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

 

1.8 设置内核参数

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

# cp /ftp/custom/rc.sysctl.ref /etc/rc.d/rc.sysctl
# chmod +x /etc/rc.d/rc.sysctl

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

 

1.9 建立普通用户

将用户添加到audio、cdrom和plugdev组,以便能使用声卡、k3b软件和u盘等移动设备:

# useradd -m -s /bin/bash -G audio,cdrom,plugdev duangw
# passwd duangw

 

 

2 X和本地化

2.1 安装Nvidia显卡驱动

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

32位安装:

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

64位安装:

# sh NVIDIA-Linux-x86_64-195.36.15-pkg2.run

更新xorg.conf:

# nvidia-xconfig

 

 

3 应用软件

3.1 安装Adobe flash-player-plugin

http://www.adobe.com获得二进制安装包:

slackbuilds.org获得编译脚本。

# cd /sources
# tar xzvf flash-player-plugin.tar.gz
# cd flash-player-plugin/
# cp /pub/downloads/install_flash_player_10_linux.tar.gz .
或
# cp /pub/downloads/libflashplayer-10.0.45.2.linux-x86_64.so.tar.gz .
# ./flash-player-plugin.SlackBuild
# cd /tmp
# installpkg flash-player-plugin-10.0_r45-i386-1_SBo.tgz
或
# installpkg flash-player-plugin-10.0_r45-x86_64-1_SBo.tgz

 

3.2 安装kchmviewer

从kchmviewer主页www.kchmviewer.net下载kchmviewer-5.1.tar.gz。

slackbuilds.org获得编译脚本。

32位制作安装方法:

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

64位的制作方法类似,只需要在编译之前调整一下脚本中的架构设置:

ARCH=${ARCH:-x86_64}

 

3.3 安装bluefish编辑器

http://bluefish.openoffice.nl下载bluefish-2.0.0.tar.bz2。

slackbuilds.org获得编译脚本。

# cd /sources
# tar xzvf bluefish.tar.gz
# cd bluefish
# cp /pub/downloads/bluefish-2.0.0.tar.bz2 .
# ./bluefish.SlackBuild
# cd /tmp
# installpkg bluefish-2.0.0-i486-1_SBo.tgz
或
# installpkg bluefish-2.0.0-x86_64-1_SBo.tgz

 

3.4 安装OpenOffice.org

从OpenOffice.org网站openoffice.org获得二进制安装包(中文版):

slackbuilds.org获得编译脚本。

# cd /sources
# tar xzvf openoffice.org.tar.gz
# cd openoffice.org/
# cp /pub/downloads/OOo_3.2.0_LinuxIntel_install_zh-CN.tar.gz .
或
# cp /pub/downloads/OOo_3.2.0_LinuxX86-64_install_wJRE_zh-CN.tar.gz .

调整脚本的语言设置(改为中文):

OOLANG=${OOLANG:-zh-CN}

制作安装:

# ./openoffice.org.SlackBuild
# cd /tmp
# installpkg openoffice.org-3.2.0_zh_CN-i586-1_SBo.tgz
或
# installpkg openoffice.org-3.2.0_zh_CN-x86_64-1_SBo.tgz

 

3.5 安装stardict

stardict.sourceforge.net获得源代码包stardict-3.0.1.tar.bz2。

slackbuilds.org获得编译脚本。

# cd /sources
# tar xzvf stardict.tar.gz
# cd stardict
# cp /pub/downloads/stardict-3.0.1.tar.bz2 .
# ./stardict.SlackBuild
# cd /tmp
# installpkg stardict-3.0.1-i486-1_SBo.tgz
或
# installpkg stardict-3.0.1-x86_64-1_SBo.tgz

 

3.6 安装smplayer

http://smplayer.sourceforge.net下载smplayer-0.6.8.tar.bz2。

slackbuilds.org获得编译脚本。

32位制作安装方法:

# cd /sources
# tar xzvf smplayer.tar.gz
# cd smplayer
# cp /pub/downloads/smplayer-0.6.8.tar.bz2 .
# cp /pub/downloads/smplayer-themes-0.1.19.tar.bz2 .
# cp /pub/downloads/smplayer-themes-nonfree-0.1.1.tar.bz2 .
# ./smplayer.SlackBuild
# cd /tmp
# installpkg smplayer-0.6.8-i486-2_SBo.tgz

64位的制作方法类似,只需要在编译之前调整一下脚本中的架构设置:

ARCH=${ARCH:-x86_64}

 

3.7 安装Texlive2009

安装:

# mount -o loop texlive2009-20091107.iso /mnt
# cd /mnt
# ./install-tl

采用缺省方式,完全安装。

这里不进行配置,而是留给需要的用户进行。

 

3.8 安装VMware

从VMware官方网站www.vmware.com获得30天的试用序列号和软件包:

安装:

# sh VMware-Workstation-Full-7.0.1-227600.i386.bundle
或
# sh VMware-Workstation-Full-7.0.1-227600.x86_64.bundle
# cd /etc/rc.d/rc4.d
# ln -s ../init.d/vmware S19vmware
# ln -s ../init.d/vmware K08vmware

以root在Xwindow下运行“Virtual Network Editor”,进行虚拟网络设置:

# vmware-netcfg

共配置10块虚拟网卡。除vmnet0为桥接外,vmnet1到vmnet9均为host-only。关闭nat和dhcp服务。设置IP地址,以方便物理机和所有虚拟机的交互:

 

 

4 网络服务

4.1 配置ftp服务

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

local_enable=YES
write_enable=YES

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

允许执行rc.inetd:

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

启动inetd:

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

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

$IPTABLES -A INPUT -p tcp --dport ftp --syn -m state --state NEW -j ACCEPT

 

4.2 配置http服务

允许执行rc.httpd:

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

启动httpd:

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

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

$IPTABLES -A INPUT -p tcp --dport http --syn -m state --state NEW -j ACCEPT

 

4.3 配置tftp服务

这里配置tftp和下面的dhcp服务,是为了给虚拟机提供网卡PXE启动服务,所有信息来自官方文档README_PXE.TXT。

编辑/etc/inetd.conf, 打开tftp:

tftp dgram udp wait root /usr/sbin/in.tftpd in.tftpd -s /pub/sdc2/pub/tftpboot -r blksize

拷贝必要的文件:

# mkdir /pub/sdc2/ftp/tftpboot
# cd /pub/ext4b/tftpboot
# mkdir slackware64-13.1
# cd slackware64-13.1
# mkdir pxelinux.cfg
# cp /usr/lib/syslinux/pxelinux.0 .
# cp ~/ftp/slackware/slackware64-13.1/isolinux/message.txt .
# cp ~/ftp/slackware/slackware64-13.1/isolinux/f2.txt .
# cp ~/ftp/slackware/slackware64-13.1/isolinux/initrd.img .
# cp ~/ftp/slackware/slackware64-13.1/usb-and-pxe-installers/pxelinux.cfg_default pxelinux.cfg/default
# cp -a ~/ftp/slackware/slackware64-13.1/kernels .

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

$IPTABLES -A INPUT -p udp --dport tftp -m state --state NEW -j ACCEPT

 

4.4 配置dhcpd服务

建立/etc/dhcpd.conf文件:

# dhcpd.conf
#
# Configuration file for ISC dhcpd
#
# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
authoritative;
ddns-update-style none;

# Allow bootp requests
allow bootp;

# Point to the TFTP server:
next-server 172.18.0.199;

# Default lease is 1 week (604800 sec.)
default-lease-time 604800;
# Max lease is 4 weeks (2419200 sec.)
max-lease-time 2419200;

subnet 172.18.0.0 netmask 255.255.255.0 {
    option domain-name "outer.net";
    option broadcast-address 172.18.0.255;
    option subnet-mask 255.255.255.0;
    option domain-name-servers 172.31.0.199;
    option routers 172.18.0.1;
    range dynamic-bootp 172.18.0.100 172.18.0.200;
    use-host-decl-names on;
    if substring (option vendor-class-identifier, 0, 9) = "PXEClient" {
      filename "/slackware64-13.1/pxelinux.0";
    }
}

建立/etc/rc.d/rc.dhcpd脚本,内容拷贝自README_PXE.TXT。

允许执行rc.dhcpd:

# chmod +x /etc/rc.d/rc.dhcpd

执行:

# /etc/rc.d/rc.dhcpd start

 

4.5 配置rsync服务

建立/etc/rsyncd.conf配置文件:

# rsyncd.conf - Example file, see rsyncd.conf(5)
#

# Set this if you want to stop rsync daemon with rc.d scripts
pid file = /var/run/rsyncd.pid

# Edit this file before running rsync daemon!!

uid = nobody
gid = nogroup

use chroot = yes
max connections = 4
syslog facility = local5

[ftp]
        path = /pub/sdc2/ftp/pub
        comment = whole ftp area

基本上是最简单的配置了。

这里使用inetd来启动rsync服务。编辑/etc/inetd.conf, 添加:

rsync stream tcp nowait root /usr/bin/rsync rsyncd --daemon

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

$IPTABLES -A INPUT -p tcp --dport rsync --syn -m state --state NEW -j ACCEPT

 

 

5 普通用户

5.1 设置locale

编辑.profile,增加:

export LANG=zh_CN.UTF-8

 

5.2 配置scim(kde)

建立脚本~/.kde/Autostart/scim.sh:

#!/bin/bash
if [ -x /usr/bin/scim ]; then
  /usr/bin/scim -d &
fi

使脚本可执行:

$ chmod +x scim.sh

 

5.3 配置Terminal终端

设置字体:DejaVu Sans Mono,book,12。

允许粗体字。

颜色设置为白底黑字。

选择将命令作为login shell执行。

 

5.4 配置Konsole

编辑"Shell"配置:

接着增加"Root"配置:

在"系统"菜单增加一项:

 

5.5 配置Firefox

从“Tools“菜单选择“add-ons“,安装DownThemAll插件。

从旧系统中导入书签。

 

5.6 配置Texlive2009

编辑.profile,添加环境变量。

32位是:

export PATH=/usr/local/texlive/2009/bin/i386-linux:$PATH
export MANPATH=/usr/local/texlive/2009/texmf/doc/man:$MANPATH
export INFOPATH=/usr/local/texlive/2009/texmf/doc/info:$INFOPATH

64位是:

export PATH=/usr/local/texlive/2009/bin/x86_64-linux:$PATH
export MANPATH=/usr/local/texlive/2009/texmf/doc/man:$MANPATH
export INFOPATH=/usr/local/texlive/2009/texmf/doc/info:$INFOPATH