|
在使用Slackware9.1时,我将安装及使用时遇到的问题进行了汇总,有些是在网上看到的,有些是自己看帮助解决的,但后来发现网上也有人提并解决了.昨天看到该文件,决定将该文件发到网上,希望对初学者有所帮助.
关于汉化部分,由于是在Slackware9下做的,10下也差不多,只是在http://download.linuxsir.cn/slackware中下载一些新的文件安装即可,置顶贴里有说明.其他部分也懒得做修改了.有些问题如fcitx在GNOME下的光标跟随现在也没有解决,也请高手多多指教。
以下是原文:
这几天所学的东西需要总结一下我所作的事情况,否则就会忘记一些事情
一、安装所用的方式
软盘安装:从光盘上的bootdisks中用rawrite将adaptec.i做成软盘:
rawrite adaptec.i a:
从rootdisks中做出install.1和install.2两张软盘
rawrite install.1
rawrite install.2
用adaptec.i引导,按提示插入install.1和install.2,即可。
二、X-window汉字环境的配置
基本不用做什么,只是从网上下载了firefly的字体汉字补丁如下:
fontconfig-2.2.1-i486-1.Firefly.tgz* qt-3.2.1-i486-1.Firefly.tgz*
fontconfig-devel-2.2.1-i486-1.Firefly.tgz* xfree86-4.3.0-i486-5.Firefly.tgz*
fontconfig-doc-2.2.1-i486-1.Firefly.tgz* xfree86-devel-4.3.0-i486-3.tgz*
freetype-2.1.5-i486-1.Firefly.tgz* xft-2.1.2-i486-1.Firefly.tgz*
freetype-devel-2.1.5-i486-1.Firefly.tgz* xft-devel-2.1.2-i486-1.Firefly.tgz*
pango-1.2.5-i486-1.Firefly.tgz*
并用installpkg *.tgz安装后,将/etc/profile.d/lang.sh中的export LANG=C改成
export LANG=zh_CN.gbk
即可。
三、locale的查看
$ locale #查看当前locale
$ locale -a #查看系统支持的所有locale
四、X-window的设置
在Slackware下,有几个文件可进行图形配置,有:
xf86cfg xf86config xf86setup
经试验,最终是用的最老也是最有效的xf86config来进行配置,xf86setup可以设置,但很我选项没有,都是用的系统自动检测出来的,自动配成1024X768。而xf86cfg是图形化的,但死机,不能用。XF86Setup没有。
用xf86config只需安步骤一步一步进行就可以了。只是鼠标不能设成滚轮的。
五、滚轮鼠标的设置
先用xf86config将鼠标设成IMPS/2,也可能通过改/etc/X11/XF86Config文件中的鼠标选项来完成。
在/etc/X11/XF86Config中的inputdevice段中找到鼠标的设置,改成:
Option " rotocol" "IMPS/2" %由PS/2改成,支持滚轮
Option "Device" "/dev/mouse"
Option "ZAxisMapping" "4 5" %加入的选项
Option "Buttons" "5" %设置鼠标的按键数
鼠标滚轮就可以正常使用了。
注:将Option "ZAxisMapping" "4 5" 改成:Option "ZAxisMapping" "4“不能正常工作
六、改/etc/X11/XF86Config文件内容
1.将 Load FreeType
Load xtt
的注释去掉,使X-window可能查找fonts.dir进行系统字体配置。
2.加入自己的字体目录
FontPath "/usr/share/fonts" %可从Windows系统中拷出simsun等字体放在此目录中。
3.改动鼠标如上:
Option " rotocol" "IMPS/2" %由PS/2改成,支持滚轮
Option "Device" "/dev/mouse"
Option "ZAxisMapping" "4 5" %加入的选项
Option "Buttons" "5" %设置鼠标的按键数
七、使系统重新扫描字体命令:
# fc-cache -v -f #-v:显示工作的目录 # -f 强制进行字体扫描
此程序扫描/etc/X11/XF86Config中配置的fonts目录及/usr/share/fonts目录及其子目录,也可能用的是/etc/X11/fs中的config文件所指的字体目录。
八、控制台窗口管理器的改变
用命令:
xwmconfig
进行一个菜单选择的画面,可以选择想用的一个。
九、bash调用配置文件的顺序
1.在用login登录时,bash会调用/etc/profile文件退出调用~/.bash_logout文件。
2.当不是用login登录时,如再运行一个bash shell或在x-window运行终端程序时,bash调用~/.bashrc。而很多环璋配置在/etc/profile中,所以可在自己登录目录下建一个.bashrc文件,并修改如下:
#This file is loaded when bash not running from login
if [ -f /etc/profile ]; then
. /etc/profile
fi
3.在运行Gnome/KDE时,系统会调用~/.profile文件,所以可以在其中设置LANG以达到可以更改locale的目的。
十、checkinstall的安装
checkinstall的目的是将需编译的程序,编译后生成Slackware可以安装的tgz软件包。也就是说,以往安装一个源码的软件的过程是:
./configure
make
make install
make uninstall #删除安装的软件
用checkinstall的过程是:
./configure
make
checkinstall
运行checkinstall后,按提示,需写一些关于些软件的说明,主要说明软件的版体,作者,用途等。具体checkinstall的使用方法将在以后单独写出。
这次安装,是从网上下载了checkinstall-1.5.3-i386-1.tgz,用pkginstall安装在Slackware系统中即可。
十一、输入法的安装及测试
为了在系统中能进行汉字的输入,我从linuxsir网站上下载了fcitx-1.8.5.tar.bz2软件包,这是一个由Yuking制作的输入法。fcitx即Free Chinese Input Toy for X,它是一个以GPL方式发布的、基于XIM的简体中文输入法(即原来的g五笔),包括五笔、拼音、区位输入法。
(一)安装过程:
(1)# tar fcitx-1.8.5.tar.bz2
(2)# cd fcitx-1.8.5
(3)# make #安文档说明如果是系统支持xft2,用make -f Makefile.xft
#所以我用两种方法生成了两人输入法安装文件,但效果相同
(4)# checkinstall #生成文件fcitx-1.8.5-i486-1.tgz和fcitx-1.8.5-i486-2.tgz(xft2支持)
(5)# pkginstall fcitx-1.8.5-i486-2.tgz
(二)输入法的配置
按说明文档:
应用程序是通过环境变量XMODIFIERS与XIM沟通,设置XMODIFIERS的方法如下(以bash为例):
export XMODIFIERS="@im=YOUR_XIM_NAME"
上面的YOUR_XIM_NAME为XIM程序在系统注册的名字。应用程序启动时会根据该变量查找相应的XIM服务器。因此,即便系统中同时运行了若干个XIM程序,一个应用程序在某个时刻也只能使用一个XIM输入法。有时侯您会遇到这种情况,明明XIM已经启动了,但应用程序就是无法使用。这往往是因为XMODIFIERS设置不正确所致,如您配置系统时在不同的脚本文件中修改了XMODIFIERS,从而导致X启动时与启动完成后该变量不一致。
fcitx缺省注册的XIM名为fcitx,但如果fcitx启动时XMODIFIERS已经设置好,fcitx会自动以系统的设置来注册合适的名字。因此,对于新安装的Mandrake8.x/9和RedHat7.x/8,最简单的方法是执行以下命令:
# cd /usr/bin
# ln -sf fcitx chinput
然后重新启动X即可。如果该方法不行,那您需要手工设置环境变量。一般可以在~/.bashrc增加行:
export XMODIFIERS="@im=fcitx"
export XIM=fcitx
export XIM_PROGRAM=fcitx
然后重新登录当前用户,启动X即可。如果fcitx没有自动启动,您需要在X下的命令行上执行:
fcitx&
我在安装的过程中,发现发现如果将export的三行写在.bashrc文件中,则每次运行终端程序时都 会运行这些设置,所以我总结出两种安装方式,
1.在console方式下,运行startx进入x-window,修改/etc/X11/xinit/xinitrc文件,在文件尾加入如下内容:
# Start the window manager:
export XMODIFIERS="@im=fcitx" # 以下四行为自行加入
export XIM=fcitx
export XIM_PROGRAM=fcitx
fcitx &
startkde
这种方法由于xinitrc是一个链接文伯,用xwmconfig进行改变桌面时就需修改相关的xinit文件,如xinitrc.gnome等,因此可作为一种试验的方法。
2.在运行gdm的情况下,根据对/etc/X11/gdm/Xsession文件的阅读发现,gdm不运行xinitrc文件,而是运行~/.profile文件,为了更改一次后,使每个用户都可以使用相通的输入环境,所以我在Xsession的关于运行profile的语句下面加入:
export XMODIFIERS="@im=fcitx"
export XIM=fcitx #根据作者文档加入这两行。
export XIM_PROGRAM=fcitx
if [ -x /usr/bin/fcitx ]; then
exec fcitx &
fi
###{ * 我发现在Slackware下存在两个RedHat没有的问题:
###(1)在locale的设置上,设成zh_CN.gb18030后输入法不能激活,设成zh_CN.gbk后就可以在gnome/kd###e下激活。
###(2)输入时虽设成光标根随,但实际是输入条总在下方的一个位置,由于输入一个汉字后输入条就会消失,所以倒也没什么大碍。
###在网上问了这个问题,Yuking说可能是X和glibc的问题,Slackware这个发行版对中文支持不是很好。*}
关于原来的问题的解决方法:
(1)设置locale为zh_CN.GB18030的问题,在Slackware中,用 locale -a虽然能够看到zh_CN.gb18030(至今没有发现是从什么地方引用的),但如果设locale为zh_CN.gb18030(GB18030)后,fcitx不能输入汉字,经过测试,我做了上点改动,就是修改/usr/X11/lib/X11/locale/locale.alias文件,加入这么两行:
zh_CN.GB18030 zh_CN.gbk
.......
zh_CN.GB18030: zh_CN.gbk
将/etc/profile.d/lang.sh中的LANG改成:export LANG=zh_CN.GB18030,然后更改~/.gWuBi/profile文件内容:
区域设置=zh_CN.gbk
字体区域设置=zh_CN.GBK
于是就可以激活输入 区域设置法了。
如果将/etc/profile.d/lang.sh改成export zh_CN.gb18030,虽然是locale -a中的内容,但不能激活输入法,所以由此可见,fcitx在locale方面,是很大成份上依赖于/etc/X11/lib/X11/locale/locale.dir 和/etc/X11/lib/X11/locale/locale.alias文件,我在locale.alias中没有设zh_CN.gb18030,所以将LANG改成zh_CN.gb18030时,就不能输入汉字,而我将zh_CN.GB18030设为zh_CN.gbk的别名,则在~/.gWuBi中必需将 区域设置设成zh_CN.gbk才能工作。
思考:如果在locale.dir中加入相关的zh_CN.GB18030内容,或从RedHat中拷出来,就可以将 区域设置设成与locale一致了!
locale的位置很多:/usr/share/i18n下有locale和charmaps目录,这应该是locale的大本营。这里面的charmaps中有GB18030.gz模块,所以系统应该能支持GB18030 的编码。
而/usr/X11/lib/X11/locale中的locale设置是xfree864.3的locale设置,所以应用于X环境,而且在X环境中处于主导地位,由fcitx输入法就可以看出。
(2)关于光标跟随的问题:在KDE下,可以实现,只需要运行qtconfig,然后在输入法方式中改成over the spot就可以了。但在gtk2中,我始终没有试出来。根据这两天看到的情况,在GTK2中输入法可以在运行的程序中按鼠标右键的菜单中找到,但我没找到,或设环境变量GTK_IM_MODULE,根据SCIM的设置应是fcitx,但实际中不能用,不知是什么原因。不过现在的水平已经很好了。
现在由于KDE和GNOME的环境已很成熟,所以汉化后的Slackware用起来也很顺手,由于Slackware是一个很存的LINUX运行环境,所以她的KDE和GNOME应是最原始的配置,不像其他的发行版,将菜单或图标改成自己的一套,使人看起来总是有点不舒服。
十二、系统启动的状态的配置
以root注册后编辑/etc/inittab文件用改变启动时是以console形式还是以图形形式运行。以下是inittab文件的全部内容(不是很多):
# cat /etc/inittab #键入的命令
#
# inittab This file describes how the INIT process should set up
# the system in a certain run-level.
#
# Version: @(#)inittab 2.04 17/05/93 MvS
# 2.10 02/10/95 PV
# 3.00 02/06/1999 PV
# 4.00 04/10/2002 PV
#
# Author: Miquel van Smoorenburg, <miquels@drinkel.nl.mugnet.org>
# Modified by: Patrick J. Volkerding, <volkerdi@slackware.com>
#
# These are the default runlevels in Slackware:
# 0 = halt
# 1 = single user mode
# 2 = unused (but configured the same as runlevel 3)
# 3 = multiuser mode (default Slackware runlevel)
# 4 = X11 with KDM/GDM/XDM (session managers)
# 5 = unused (but configured the same as runlevel 3)
# 6 = reboot
# Default runlevel. (Do not set to 0 or 6)
id:4:initdefault:
# System initialization (runs when system boots).
si:S:sysinit:/etc/rc.d/rc.S
# Script to run when going single user (runlevel 1).
su:1S:wait:/etc/rc.d/rc.K
# Script to run when going multi user.
rc:2345:wait:/etc/rc.d/rc.M
# What to do at the "Three Finger Salute".
ca::ctrlaltdel:/sbin/shutdown -t5 -r now
# Runlevel 0 halts the system.
l0:0:wait:/etc/rc.d/rc.0
# Runlevel 6 reboots the system.
l6:6:wait:/etc/rc.d/rc.6
# What to do when power fails.
pf::powerfail:/sbin/genpowerfail start
# If power is back, cancel the running shutdown.
pg::powerokwait:/sbin/genpowerfail stop
# These are the standard console login getties in multiuser mode:
c1:1235:respawn:/sbin/agetty 38400 tty1 linux
c2:1235:respawn:/sbin/agetty 38400 tty2 linux
c3:1235:respawn:/sbin/agetty 38400 tty3 linux
c4:1235:respawn:/sbin/agetty 38400 tty4 linux
c5:1235:respawn:/sbin/agetty 38400 tty5 linux
c6:12345:respawn:/sbin/agetty 38400 tty6 linux
# Local serial lines:
#s1:12345:respawn:/sbin/agetty -L ttyS0 9600 vt100
#s2:12345:respawn:/sbin/agetty -L ttyS1 9600 vt100
# Dialup lines:
#d1:12345:respawn:/sbin/agetty -mt60 38400,19200,9600,2400,1200 ttyS0 vt100
#d2:12345:respawn:/sbin/agetty -mt60 38400,19200,9600,2400,1200 ttyS1 vt100
# Runlevel 4 used to be for an X window only system, until we discovered
# that it throws init into a loop that keeps your load avg at least 1 all
# the time. Thus, there is now one getty opened on tty6. Hopefully no one
# will notice. ;^)
# It might not be bad to have one text console anyway, in case something
# happens to X.
x1:4:wait:/etc/rc.d/rc.4
# End of /etc/inittab
由于inittab是系统启动时首先运行的文件,所以一些配置信息可以决定机器能否正常运行。
根据这个文件可以看出启动进时系统配置的一些信息
1.runlevels设置运行时以什么形式进行系统
0:halt设成这个时系统就会开机后就关机
1:Single user mode单用户模式,主要用于系统维护
2:未使用,如设成2,则与3多用户模式相同
3:多用户模式,是console模式,也是Slackware的缺省模式(与其他发行版不同)
4:X11 with KDM/GDM/XDM (session managers)图形运行模式,运行时先找gdm再查kdm、xdm等,
配置顺序文件是:/etc/rc.d/rc.4
5:同2
6:reboot重启
2.配置行如下:
#id:runlevels:action:process
id:4:initdefault:
id:是1-4个字符的inittab入口标志符,终端应是终端的标志如tty1等
action:动作,对于initdefault,后面的process不运行,所以是空
action有以下选择:respawn ,boot(runlevels is ignored),bootwait,ctrlaltdel(用于设置用Ctrl+ALT+DEL是否重启计算机),powerdown等
3.启动运行情况可以根据下各行的描述看出。如:
(1)
# System initialization (runs when system boots).
si:S:sysinit:/etc/rc.d/rc.S
系统启动时运行 /etc/rc.d/rc.S,改此文件可以改启动时调运行的rc配置文件
(2)
# Script to run when going multi user.
rc:2345:wait:/etc/rc.d/rc.M
(3)
多用户状态运行时运行此rc文件。
# What to do at the "Three Finger Salute".
ca::ctrlaltdel:/sbin/shutdown -t5 -r now
关闭/开启Ctrl+ALT+DEL重启机器功能
(4)
#Runlevel 4 used to be for an X window only system, until we discovered
# that it throws init into a loop that keeps your load avg at least 1 all
# the time. Thus, there is now one getty opened on tty6. Hopefully no one
# will notice. ;^)
# It might not be bad to have one text console anyway, in case something
# happens to X.
x1:4:wait:/etc/rc.d/rc.4
图形注册时调用的文件,里面决定了第一个会话管理器是什么。
(5)
# These are the standard console login getties in multiuser mode:
c1:1235:respawn:/sbin/agetty 38400 tty1 linux
c2:1235:respawn:/sbin/agetty 38400 tty2 linux
c3:1235:respawn:/sbin/agetty 38400 tty3 linux
c4:1235:respawn:/sbin/agetty 38400 tty4 linux持,也就是说,只能用Ctrl+Alt+F6进入console模式,其他Ctrl+Alt+F1~F5均不可用(无4),F7是重返图形模式。
c5:1235:respawn:/sbin/agetty 38400 tty5 linux
c6:12345:respawn:/sbin/agetty 38400 tty6 linux
注意第二项的数字决定了runlevels,如用图形会话管理器注册时,终端只有c6支持,也就是说,只能用Ctrl+Alt+F6进入console模式,其他Ctrl+Alt+F1~F5均不可用(无4),F7是重返图形模式。
init进程调用的各种系统配置文件(如rc.S,rc.M等)都位于/etc/rc.d目录下。
十三、关闭机器的Ctrl+ALT+DEL重启功能
以root身份编辑/etc/inittab文件,找到下面行
# What to do at the "Three Finger Salute".
ca::ctrlaltdel:/sbin/shutdown -t5 -r now
在第二行前加入#使其变成注释行即可
# What to do at the "Three Finger Salute".
# ca::ctrlaltdel:/sbin/shutdown -t5 -r now
注:此知识点单独提出较好,否则不知在什么文件中。
十四、dircolors----color setup for ls
在/etc/profile中运行了有一个eval `dircolrs -b`命令,这个命令的作用就是生成ls的运行环境,如
LS_OPTIONS=' --color=auto -F -b -T 0'
alias ls='/usr/bin/ls $LS_OPTIONS
这就是为什么没有什么角本存在alias这个ls命令的原因。在Redhat等发行版中,color.sh位于/etc/profile.d下,也可能自己生成或从RedHat等发行版中拷出一个来用。
十五、GTK2.0在KDE下的显示字体设置
GTK的用户配置文件是.gtkrc-2.0文件,在KDE下运行GTK+2的程序就会用到这个环境设置文件。如果选择的桌面是GNOME,这个文件就不会起太大作用。在KDE下运行gedit等程序时,由于没有GNOME环境,所以启动时调用.gtkrc-2.0文件,如果没有发现,就用缺省字体,字会很小。在.gtkrc-2.0中配置字体的文件的内容如下:
jxl72@darkstar:~$ cat .gtkrc-2.0
# This file used by gtk+-2.0 for font setup (or others)
style "default"
{
font_name = "sans 12"
}
widget "*" style "default"
注意,字体的写法与GTK+1.0不同,GTK+1.0的用户设置文件是.gtkrc,与GTK+2不同,其汉字设置文件是/etc/gtk/gtkrc.zh_CN,也可以设置在~/.gtkrc中。设置文件内容是将字体的信息全部写出如:
jxl72@darkstar:~$ cat /etc/gtk/gtkrc.zh_CN
# $(gtkconfigdir)/gtkrc.zh_CN
#
# This file defines the fontsets for Chinese language (zh) using
# the simplified chinese standard GuoBiao as in mainland China (CN)
#
# 1999, Pablo Saratxaga <pablo@mandrakesoft.com>
#
style "gtk-default-zh-cn" {
fontset = "-adobe-helvetica-medium-r-normal--12-*-*-*-*-*-iso8859-1,\
-*-simsun-medium-r-normal--12-*-*-*-*-*-gbk-0,*-r-*"
}
class "GtkWidget" style "gtk-default-zh-cn"
从这个文件可以看出这两种文件是有很大不同的,GTK+2已支持国际化,所以不再需要指出是汉字环境的GTK,而是通这locale就可以显示相关的字体了,LANG=C时GNOME的菜单就是英文的了。
十六、Kylix3的安装
在RedHat中,Kylix3有很多设置需改动,安装时用setup.sh -m命令,否则就会把文件都安装在根目录中。
运行时的字体需进行配置,否则不能看到任何东西。
在Slackware下,只需安装后运行一切正常,可以看出RedHat还是有很多东西进行了自行配置。(也许Slackware有问题?:))还是干些正事吧。
十七、关于GRUB的使用的一个技巧
这个方法不是在Slackeware下进行的,而是由于别人的机器由于安装RedHat时,没有很好地GRUB,导致系统不能引导。恢复方法是:
1.用Redhat第一张光盘启动
2.以安全模式引导
boot:linux rescure
3.按提示,不配置网络设备,进入系统#。按说明应将linux的分区挂在/mnt/sysimage下,但由于LINUX的系统分区受到破坏,所以不能挂上,手动挂在/mnt/sys上,即cd /mnt;mkdir sys;mount /dev/hda1 /mnt/sys。
4.运行/sbin/grub
5.在grub>提示符下键入以下命令
grub>root (hd0,//Tab键,按提示选择启动系统的数字
grub>root (hd0,0)
grub>setup (hd0) //将GRUB引导信息写入MBR
6.退出,重新启动。
以上方法可以恢复由于误操作导致的MBR受破坏,系统不能引导。
另:如果能运行GRUB引导,但需手工输入引导信息时,可以如上操作,在引导时按C进入交互式,提示
grub>
键入以下命令:
grub>root (hd0,0)
grub>setup (hd0)
grub>boot //运行分区系统
十八、issue文件的内容及作用
用cat命令看一下/etc/issue的内容:
jxl72@darkstar:/etc$ cat issue
Welcome to \s \r (\l)
在console终端下显示的登录内容为:
Welcome to Linux 2.4.22 (ttyX)
darkstar login:
issue的作用在于显示 Welcome to Linux 2.4.22 (ttyX)
其参数由例中可以看出
issue.net的作用是在远程登录的时候所看到的登录提示
十九、hosts的配置信息
用cat命令看一年hosts的内容
jxl72@darkstar:/etc$ cat hosts
#
# hosts This file describes a number of hostname-to-address
# mappings for the TCP/IP subsystem. It is mostly
# used at boot time, when no name servers are running.
# On small systems, this file can be used instead of a
# "named" name server. Just add the names, addresses
# and any aliases to this file...
#
# By the way, Arnt Gulbrandsen <agulbra@nvg.unit.no> says that 127.0.0.1
# should NEVER be named with the name of the machine. It causes problems
# for some (stupid) programs, irc and reputedly talk. :^)
#
# For loopbacking.
127.0.0.1 localhost
# This next entry is technically wrong, but good enough to get TCP/IP apps
# to quit complaining that they can't verify the hostname on a loopback-only
# Linux box.
127.0.0.1 darkstar.example.net darkstar
# End of hosts.
hosts文件的作用是对联在TCP/IP子系统网内的ip地址与主机名进行映像。主要是用于小型系统,主机数量不为很多的,没有名字服务器(DNS)运行的情况下。这个文件可以替代名字服务器,在启动时就运行了。只需在文件中加入名字,地址和其他的这个文件的别名。由于主机名与IP地址是一一对映的关系,所以如果主机数量很多,如在INTERNET中,这个文件必须将所有的主机信息记录下来,数量巨大,难以维护,所以只能应用于小型网络中,对于大型网络一般采用先查名字服务器DNS,再查这个文件方式。
127.0.0.1是保留地址,用于指向本机名,此时当网络启动而没有联到网络时,只能查到本机,通过这个地址指向本机,不至于查不到而导致不必要的延时。
从是面的例子可以看出,127.0.0.1 localhost用于指向本机,由于网络中的查找本机,给本机起个名字,可以实现本机名的查找,127.0.0.1 darkstar.example.net darkstar中darkstar.example.net是本机网络名,darkstar则是本机名。
二十、hosts.allow,hosts.deny,hosts.equiv,HOSTNAME文件的作用
hosts.allow用于标识允许的访问本机的主机名,hosts.deny用于标识禁止访问本机的主机名,hosts.equiv用于标识可以的rsh访问本机的主机名。HOSTNAME文件标名了本机的网络名。这个名字用于hosts文件的地址查找。如本例中的HOSTNAME的内容是darkstar.example.net,这样系统网络查找HOSTNAME名字后,到hosts文件中找相应的IP地址,并通过PING等方式探测IP地址,由于地址是127.0.0.1,是本机的IP地址,所以很快找到本机。
二十一、LILO的配置文件lilo.conf的内容
执行命令如下:
jxl72@darkstar:/etc$ cat lilo.conf
# LILO configuration file
# generated by 'liloconfig'
#
# Start LILO global section
boot = /dev/hda
#compact # faster, but won't work on all systems.
prompt
timeout = 80
default=Windows2000
# VESA framebuffer console @ 640x480x256
# vga = 769
# Normal VGA console
vga = normal
# VESA framebuffer console @ 1024x768x64k
# vga=791
# VESA framebuffer console @ 1024x768x32k
# vga=790
# VESA framebuffer console @ 1024x768x256
# vga=773
# VESA framebuffer console @ 800x600x64k
# vga=788
# VESA framebuffer console @ 800x600x32k
# vga=787
# VESA framebuffer console @ 800x600x256
# vga=771
# VESA framebuffer console @ 640x480x64k
# vga=785
# VESA framebuffer console @ 640x480x32k
# vga=784
# VESA framebuffer console @ 640x480x256
# vga=769
# ramdisk = 0 # paranoia setting
# End LILO global section
# Linux bootable partition config begins
image = /boot/vmlinuz
root = /dev/hda7
label = Slackware_Linux
read-only # Non-UMSDOS filesystems should be mounted read-only for checking
# Linux bootable partition config ends
# DOS bootable partition config begins
other = /dev/hda1
label = Windows2000
table = /dev/hda
# DOS bootable partition config ends
这个文件是lilo的配置文件,有以下几个方面的内容:
boot = /dev/hda #标名引导的内容写在第一个硬盘的主引导中,即MBR中,如果用其他引导器,
#则将boot信息写成 boot = /dev/hda3 从hda3分区引导LINUX,即只有当
#/dev/hda3为激活时引导
prompt # 提示boot:进行选择
#lba32 # 当分区在1024柱面之后,用此参数可正常引导
timeout = 80 # 引导时等时待的时间为8秒
default=Windows2000 #缺省引导为Windows2000的label
vga = normal #LINUX的字符显示模式,和屏幕分辨率。标准VGA为通常显示方式,显示80X25,其他模式
#可显示如100X40等
image = /boot/vmlinuz #LINUX的引导内核的位置及名称。
root = /dev/hda7 #引导分区
label = Slackware_Linux #输入引导LINUX的名称
read-only #以只读方式引导
other = /dev/hda1 #other标名引导的是一个非LINUX的操作系统
label = Windows2000 #引导名称
table = /dev/hda #标名此设备有分区表
以下几行根据帮助,标名WIN98的引导方式,可作为参考,也可以用上面的WINDOWS2000的引导方式。
other=/dev/hdb1
label=Win98
boot-as=0x80 # must be C:
二十二、fstab,mtab的内容及关系
看一下系统中的fstab的内容情况:
jxl72@darkstar:/etc$ cat fstab
/dev/hda8 swap swap defaults 0 0
/dev/hda7 / ext3 defaults 1 1
/dev/hda5 /win_d vfat noauto,iocharset=cp936,user 1 0
/dev/hda6 /win_e vfat noauto,iocharset=cp936,user 1 0
/dev/cdrom /mnt/cdrom iso9660 noauto,iocharset=cp936,user,ro 0 0
/dev/fd0 /mnt/floppy auto noauto,iocharset=cp936,user 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
proc /proc proc defaults 0 0
这个文件表明系统可以挂接的分区有挂接的方式,这个文件被fsck,mount,umount命令所要求,这个文件由系统管理员来维护,具体参数情况如下:
第一列是设备名称或分区,第二列标明挂接在系统的哪个位置,第三个参数说明分区的类型,第四个参数说明挂接的参数,noauto为系统启动时不自动挂上,iocharset=cp936表名以汉字编码方式挂上系统,user表明普通用户可以用mount命令挂上这个分区,owner则为只能是分区的宿主才可以挂上。ro是以只读方式挂系统。default为不用任何参参数,用系统缺省方式。后面的两位?????
mtab是已挂在系统中的文件系统情况
jxl72@darkstar:/etc$ cat mtab
/dev/hda7 / ext3 rw 0 0
devpts /dev/pts devpts rw,gid=5,mode=620 0 0
proc /proc proc rw 0 0
usbfs /proc/bus/usb usbfs rw 0 0
二十三、运行级别(runlevels)的切换
# telinit 3 # 图形时切换到console状态下的命令
# telinit 4 # 从console切换到图形注册界面下。
二十四、编译及运行mplayer
将MPlayer-1.0pre2.tar.bz2用命令解开 :tar xvjf MP*bz2
进放解开的目录,用以下参数来运行configure文件:
./configure --enable-gui --language=zh_CN --with-codecsdir=/usr/local/lib/extralite --with-win32libdir=/usr/local/lib/win32codecs --with-xanimlibdir=/usr/local/lib/extralite --with-reallibdir=/usr/local/lib/extralite --with-xvidcore=/usr/local/lib/extralite --with-xmmsplugindir=/usr/lib
然后运行make,checkinstall(makeinstall)
二十五、安装运行PostgreSQL
configure ->make->make instal
二十六、patch文件的使用
运行命令:patch -p0 <patchfile
要注意在patchfile中的文件路径,-p0表示不去任何一级目录,如在patch文件中有MPlayer-1.0pre2/libvo/font.c文件,如果在MPlayer-1.0pre2所在的目录安装patch,则用上面的命令,如果在MPlayer-1.0pre2目录中运行patch命令,则用下面的命令:patch -p1 <patchfile
二十七、在xine中运行rm文件的方法
xine已经支持realplay9的解码器,只需指明codecs所在的目录即可。
进入~/.xine目录,编辑config文件,找到realplay的设置目录位置,缺省为unknown,改成:
# path to real player codecs, if installed
# string, default: unknown
codec.real_codecs_path:/usr/local/lib/extralite
运行xine即可。
二十八、本机TCP/IP端口情况
用nmap 127.0.0.1 可以看到本机所开的TCP/IP端口情况,这些端口的开启是由于相关服务的运行所造成,如本机:
root@darkstar:/etc# nmap 127.0.0.1
Starting nmap 3.45 ( http://www.insecure.org/nmap/ ) at 2003-11-14 22:34 CST
Interesting ports on localhost (127.0.0.1):
(The 1650 ports scanned but not shown below are in state: closed)
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
25/tcp open smtp
37/tcp open time
110/tcp open pop-3
113/tcp open auth
587/tcp open submission
Nmap run completed -- 1 IP address (1 host up) scanned in 1.693 seconds
root@darkstar:/etc#
在这次扫描中可以看出ftp,smtp等端口是开的,而用ps -e查看,看不到ftpd等程序的运行,这是由于inetd的运行,inetd会自动监测所定义的请求,并激活相关的daomen程序,而这些可以激活的服务定义是在/etc/inetd.conf文件中定义的。只需修改inetd.conf中的相关内容,重新启动inetd守护进程,就可以实现对相关端口的监控。
LINUX中支持的端口服务是在/etc/services文件中定义的,从中可以看出各种服务所使用的端口。
二十八、用双网卡实现连机共享
在一台机器上安装了两块网卡,一块用于连接内网,即本地局域网,一块用于连接外网,即Internet网,这时两块网卡的IP地址不在同一网段,此时应如何设置?
假设外网分配地址为192.168.11.17,内网地址为192.168.18.1。外网网卡为eth1,内网网卡为eth0,
(1)首行设网卡的地址,注册成root用户,用ifconfig配置网卡:
#ifconfig eth1 inet 192.168.11.17 netmask 255.255.255.0 up
#ifconfig eth0 inet 192.168.18.1 netmask 255.255.255.0 up
(2)配置路由:
# route add default 192.168.11.1
?# route add -net 192.168.11.0 netmask 255.255.255.0 gw 192.168.11.1 dev eth1
# route add -net 192.168.18.0 netmask 255.255.255.0 gw 192.168.11.18 dev eth0
(3)配置iptables
在Slackware中有一个关于iptables的内容 如下:
# As a quick example (for a much more extensive treatment, see the IP-Masquerade
# mini-HOWTO) to allow Internet access to a local network 192.168.11.0 with a
# netmask of 255.255.255.0, you'd use these commands in /etc/rc.d/rc.local:
#
# # EXTERNAL -> external network interface
# # INTERNAL -> internal network interface
# EXTERNAL=eth0
# INTERNAL=eth1
# echo 1 > /proc/sys/net/ipv4/ip_forward
# echo "Setting up NAT (Network Address Translation)..."
# # by default, nothing is forwarded.
# iptables -P FORWARD DROP
# # Allow all connections OUT and only related ones IN
# iptables -A FORWARD -i $EXTERNAL -o $INTERNAL -m state --state ESTABLISHED,RELATED -j ACCEPT
# iptables -A FORWARD -i $INTERNAL -o $EXTERNAL -j ACCEPT
# # enable MASQUERADING
# iptables -t nat -A POSTROUTING -o $EXTERNAL -j MASQUERADE
本例中将eth0连为外网,eth1连为内网,具体实现可将此设反:
EXTERNAL=eth1
INTERNAL=eth0
运行下面的命令:
echo 1>/proc/sys/net/ipv4/ip_forward
echo "Setting up NAT(Network Address Translation)
iptables -P FORWARD DROP #缺省情况,没能forward(向前) 任何数据
iptables -A FORWARD -i $EXTERNAL -o $INTERNAL -m state --state ESTABLISHED,RELATED -j ACCEPT
#允许所有的内网连接发到外网(-o),
#外网数据只有一个入口(-i)
#-m:module名字,--state:连接状态
#-j:目标规则,如果目标符合,该如何作
iptables -A FORWARD -i $INTERNAL -o $EXTERNAL -j ACCEPT
#与上面的相反,用于定义从外网进入内网的数据
iptables -t nat -A POSTROUTING -o $EXTERNAL -j MASQUERADE
# -t:定义table是与哪一种相符
# -A 对选择的chain连接进行扩展更多的功能
# -o本命令发往外网
# -j MASQUERADE只有在nat的table情况下有效,
到此,iptables设置完成,此时就可以实现共享上网的功能。
二十九、KDE菜单位置
KDE的菜单位于/opt/kde/share/applnk中,每一个目录就是一个菜单项,每一目录的多国语言名称在文件.directory中,该文件位于所对应的目录下。在RedHat的fodera中是位于/usr/share/applnk-redhat中,而这是一个符号连接,实际位置位于/var/lib/menu/kde/applications中。这是Redhat自己设置的目录结构 。
每一个目录中的.directory都是用的UTF-8的编码。
个人用户所增加修改的菜单项位于~/.kde/share/applnk中。
在/usr/share/application的目录下放着的是gnome的菜单项 |
|