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获得二进制安装包:
- 32位:install_flash_player_10_linux.tar.gz
- 64位:libflashplayer-10.0.45.2.linux-x86_64.so.tar.gz
从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获得二进制安装包(中文版):
- 32位:OOo_3.2.0_LinuxIntel_install_zh-CN.tar.gz
- 64位:OOo_3.2.0_LinuxX86-64_install_wJRE_zh-CN.tar.gz
从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天的试用序列号和软件包:
- 32位:VMware-Workstation-Full-7.0.1-227600.i386.bundle
- 64位:VMware-Workstation-Full-7.0.1-227600.x86_64.bundle
安装:
# 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地址,以方便物理机和所有虚拟机的交互:
- vmnet0,bridge -> eth0
- vmnet1,host-only,10.10.10.199
- vmnet2,host-only,10.10.20.199
- vmnet3,host-only,172.16.0.199
- vmnet4,host-only,10.20.10.199
- vmnet5,host-only,10.20.20.199
- vmnet6,host-only,172.17.0.199
- vmnet7,host-only,192.168.0.199
- vmnet8,host-only,192.168.1.199
- vmnet9,host-only,172.18.0.199
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"配置:
- 隐藏标签;
- 设置字体:DejaVu Sans Mono,bold,12;
- 大小:80X25;
- 方案:Linux颜色。
接着增加"Root"配置:
- 命令行:su -
- 方案:浅黄背景黑字。
在"系统"菜单增加一项:
- 名称:Konsole root
- 描述:终端 - 超级用户
- 命令:konsole --profile 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