Mephis 发表于 2005-7-2 12:58

linux的基本知识 (Mephis)

输入法xsim安装方法

希望此文能解决各位在安装xsim时遇上的问题

  从http://sourceforge.net/projects/xsim 可获得xsim,目前的稳定版本是0.3.9.4,强烈建议大家以root登录系统执行安装,这样可以避免一些莫名其妙的问题。

  首先请检查软件包是否安装完全。c++,db,db-devel是必需的,如果希望将状态窗口放在KDE的任务条上,系统中需要有kdelibs3-devel包。

  接下来检查locale,相信大家都是中文locale,如果你需要输入GBK汉字,让root用户也能使用xsim,或在英文环境中使用xsim,请修改locale配制文件,将对应内容修改如下:

  RC_LANG=”zh_CN.gbk”
  ROOT_USES_LANG=”yes”

  修改后重新登录使修改生效。好,现在正式进入安装进程。

  tar zxf xsim-0.3.9.4.tar.gz
  cd xsim-0.3.0.4
  ./configure --help *多看看选项,对你会有帮助的,比如你想安装xsim到其他目录./configure
  *默认cn-locale为gb2312,如果你的locale以改为gbk,加上选项--with-cn-locale=GBK
  *在KDE任务条上显示状态窗口,加上选项--enable-status-kde3
  *更改安装目录,如/opt,选项--prefix=/opt/xsim,默认目录是/usr/local/xsim

  make
  make install
  make install-data

  到此,xsim已经安装到你的机器中了,你可以打开控制台运行#xsim。


  看看是否出现“简”字,按ctrl space ,“简”字变绿,说明安装成功,否则,请重新启动机器试试。如果控制台提示找不到命令xsim,请在用户搜索路径中建立xsim的命令链接,这点至关重要,切记。

  如果你的机器只有自己用,运行chmod 666 /usr/local/xsim/dat/*,如果是多人使用,在$HOME下建立文件夹.xsim,cp /usr/local/xsim/etc/xsimrc和/usr/local/xsim/dat到.xsim中,修改.xsim/xsimrc,重新指定DICT_LOCAL的路径。

  为了让xsim在用户登录时自动运行,可以参照README.cn的方法,在$HOME/.kde/Autostart下建立文件链接xsim。但是有时这种方法会失败,为什么呢?关键在用户目录下的一个文件.xim,以前有个误解,有些用户认为装xsim必需先装xcin,其实不用。如果看见你的HOME目录中有.xim文件,就不要在./kde/Autostar中建立xsim的链接了,参照以下内容直接修改.xim中的相应内容:

  if type -p xcin > /dev/null 2>&1 ; then
  export XMODIFIERS="@im=xcin-$tmplang"
  LANG=$tmplang LC_ALL=$tmplang xcin &
  fi

  改为


  if type -p xsim > /dev/null 2>&1 ; then
  export XMODIFIERS=@im=XSIM
  xsim &
  fi

  改动后运行sh .xim,是不是一切都正常了?

  选字翻页健默认是< >,不适合我们在windows中的使用习惯,使用- +翻页参考我的xsimrc的设置:

  PREV_KEY "minus"
  NEXT_KEY "equal"
  在这个文件中还可以修改字体,我的字体设置为
  FONT_NAME "-adobe-helvetica-medium-r-*-*-14-*-*-*-*-*-iso8859-1,-misc-simsun-medium-r-*-*-14-*-*-*-*-*-gbk-0"

  **************************************************

  安装中的问题:我在configure时同时使用选项—with-cn-locale=GBK和—enable-status-kde3安装后导致启动xsim时KDE停止响应,当locale=GB2312时没有这种情况。如果你也遇上这种情况,只好去掉—enable-status-kde3重新编译安装了。

[ 本帖最后由 musicbug 于 2005-7-2 19:17 编辑 ]

Mephis 发表于 2005-7-2 12:59

Linux常用指令速查手册

Linux常用指令速查手册

一、系统设置与管理
1.alias
说明:为命令设置别名、显示别名设置。

语法:alias [别名]=[指令名称]:为[指令名称]起一个别名。

alias [别名]:显示出[别名]所对应的命令。

alias:显示所有别名设置。

2.apmsleep
说明:进入挂起或等待状态。

语法:apmsleep hh:mm

参数:hh:mm指定进入挂起或等待状态的时间。

3.authconfig
说明:向用户提供一个配置/etc/sysconfig/network中的NIS的图形界面。

语法:authconfig --back --test --nostart

参数:--back将authconfig中的Cancel按钮改成Back按钮;--test使authconfig只能够被root运行,其他用户无法保存修改;--nostart使authconfig更改的设置在系统重启后生效。

4.aumix
说明:改变音效设置。

语法:aumix [-][+|-][<-amount>]]|[[]|R|P|q][-d][-f][-h][-I][-L][-q] [-S]

参数:-频道参数,对于每个频道,+/-选项用于增加/减少原来的强度:(图)

-d指定音效设备文件,默认是/dev/mixer;-f指定存放/读取设备的文件;-h使用时显示信息;-I以互动方式运行aumix,使用图形界面;-L从S|HOME/.aumixrc或/etc/aumixrc读入设置;-q查询所有设备,并且显示它们的位置;-S将设置存放到S|HOME/.aumixrc。

5.bg
说明:将命令放置后台运行。

语法:bg

参数:job命令作业号。

6.cardmgr
说明:PCMCIA设备管理程序,管理PCMCIA插槽的插入和拔除。

语法:cardmgr [-Vqdofv][-c configpath][-m modpath][-p pidfile][-s stabfile]

参数:-V显示版本信息;-q设置为安静模式;-d在加载设备驱动程序时检查模块间的依赖关系;-o配置当前的PCMCIA卡;-f在前台执行,而不作为一个deamon程序运行;-v显示命令运行的详细信息;-c configpath在configpath目录下搜索PCMCIA卡的配置数据库和配置脚本,默认值为/etc/pcmcia;-m modpath在modpath目录下搜索可加载的内核模块;-p pidfile将cardmgr的PID写入pidfile文件,默认为/var/lib/pcmcia/stab;-s stabfile将当前插槽信息写入stabfile文件,默认为/var/lib/pcmcai/stab。

7.chage
说明:设置用户密码期限。该命令仅能被root用户运行。

语法:chage [-m mindays][-M maxdays][-d lastday][-I inactive][-E expiredate][-W warndays] 用户名

参数:-m mindays两次密码更改之间的最小时间间隔;-M maxdays密码有效期,maxdays+lastday小于当前日期,那么就需要修改密码;-d lastday最后一次更改密码的日期;-I inactive在密码过期inactive天以后才封锁账号;-E expiredate设置用户账号使用时间段;-W warndays在用户需要更改密码的warndays天前开始提示用户修改。

8.chkconfig
说明:检查、设置系统的各种服务。

语法:chkconfig [--add][--del][--list][系统服务]

chkconfig [--level<等级代号>][系统服务]

参数:--add增加所指定的服务,让chkconfig能够管理它;--del删除所指定的服务,不再由chkconfig管理它;--list列出目前可由chkconfig管理的所有系统服务;--level<等级代号>指定该系统服务要在哪一个执行等级中开启或关闭,等级代号是0~7;on在指定的执行等级,开启该系统服务;off在指定的执行等级,关闭该系统服务;reset在指定的执行等级,重置该项系统服务。

9.chroot
说明:改变根目录。

语法:chroot [目的目录][执行指令…]

10.depmod
命令:分析可载入模块的依赖性。

语法:depmod [-adeisvV][-m<文件>][模块名称]

参数:-a分析所有可用的模块;-d执行排错模式;-e输出无法参照的符号;-i不检查符号表的版本;-s在系统记录中记录错误;-v执行时显示详细的信息;-V显示版本信息;-m<文件>使用指定的符号表文件。

11.exec
说明:执行指定的命令,exec执行命令以后,控制权不会交给原来的shell,所以将退出登录。

语法:exec [-cl][-a name][指令<指令参数>]

参数:-c在空环境下执行命令;-l在最开始的参数前加上破折号,然后再传送到命令;-a name将name作为最开始的参数传送给命令。

12.export
说明:设置或显示环境变量。

语法:export [-fnp][变量名称]=[变量设置值]

参数:-f代表[变量名称]中为函数名称;-n删除指定变量,变量实际未删除,只是不输出到后续指令的执行环境中;-p列出所有shell赋予程序的环境变量。

13.fg
说明:将程序或指令切换到前台执行。

语法:fg

参数:job命令作业号。 14.free
说明:显示内存状态,包括物理内存、虚拟内存、共享内存区段等信息。

语法:free [-bkmotV][-s<间隔秒数>]

参数:-b以Byte为单位显示内存使用情况;-k以KB为单位显示内存使用情况;-m以MB为单位显示内存使用情况;-o不显示缓冲区调节列;-t显示内存总和;-s<间隔秒数>持续观察内存使用情况,设置每几秒检查一次。

15.groupadd
说明:建立新用户组。

语法:groupadd [-g gid [-o]][-r][-f]组名

参数:-g gid指定组ID-GID值;-o重复使用组ID;-r用来建立系统账号;-f强制建立新用户组。

16.groupdel
说明:删除用户组。

语法:groupdel 组名

17.groupmod
说明:修改用户组信息。

语法:groupmod [-g gid [-o]][-n group_name]组名

参数:-g gid重新指定组ID值;-o重复使用组ID;-n group_name更改用户组名。

18.grub
说明:Linux下除LILO外另一个多操作系统引导管理器。

语法:grub [--batch][--boot-device=DRIVE][--config-file=FILE][--device-map=FILE][--hold][--no-config-file][--no-curses][--no-floppy][--probe-second-floppy][--read-only]

参数:--batch允许执行批处理;--boot-device=DRIVE设置启动分区,默认是0x0;--config-file=FILE设置配置文件名,默认是/boot/grub/grub.conf;--device-map=FILE使用指定的设备掩码文件;--hold等待调试器的启动;--no-config-file不使用配置文件; --no-curses不支持鼠标;--no-floppy不支持软驱;--probe-second-floppy探测第二软驱;--read-only设备只读。

19.halt
说明:关闭系统。

语法:halt [-dfinpw]

参数:-d不要在wtmp(Login记录文件)中记录;-f不论目前的runlevel为何,不调用shut down,即强制关闭系统;-i在关闭系统之前,关闭全部的网络接口;-n关闭系统前,不用先执行sync(将缓存中的所有数据写入硬盘);-p关闭系统后,关闭电源;-w仅在wtmp中记录,而不实际结束系统。

20.kill
说明:将正在执行的程序(进程)终止。

语法:kill [-s <消息名或编号>][程序]

kill [-i <消息编号>]

参数:-s <消息名或编号>指定要送出的消息;[程序]程序的进程号,可以用ps命令获得;-i <消息编号>列出消息名称,如果指定了消息编号则只显示该消息名称。

21.last
说明:列出登录过系统的用户信息。

语法:last [-aRx][-n <个数>][用户账号名…][终端号…]

参数:-a把登录系统用户所在主机的主机名或IP地址显示在最后一行;-R不显示登录系统用户所在的主机名或IP地址;-x显示系统关机、重新启动、改变运行等级等信息;-n <个数>指定要查看最近多少个登录用户;[用户账号名…]指定查看某个用户账号的登录记录;[终端号…]指定查看从某个终端登录的记录。

22.lilo
说明:Linux最常用的多操作系统引导管理器。

语法:lilo [-clqtV][-b<外围设备代号>][-C<配置文件>][-d<延迟时间][-D<识别标签][-f<几何参数文件>][-i<开机扇区文件>][-I<识别标签>][-m<映射文件>][-P][-r<根目录>][-R<执行指令>…][-s<备份文件>][-S<备份文件>][-uU<外围设备代号>][-v…]

参数:-c使用紧凑模式,本参数将所有系统启动所需文件放置在连续的扇区中;-l产生线性扇区地址;-q列出映射的系统核心文件;-t仅做测试,不修改启动扇区和映射文件;-b<外围设备代号>指定安装lilo之处的外围代号;-C<配置文件>指定lilo的配置文件,默认为/etc/lilo.conf;-d<延迟时间>设置开机的延迟时间,默认为5秒;-D<识别标签>指定开机后预设启动的操作系统;-f<几何参数文件>指定磁盘的几何参数配置文件,默认为/etc/disktab;-i<开机扇区文件>指定要使用的开机的扇区文件,默认为/boot/boot.b;-I<识别标签>显示系统核心存放的位置;-m<映射文件>指定映射文件,默认为/boot/map;-P决定要修复或忽略分区表的错误;-r<根目录>设置系统启动时欲挂入成为根目录的目录;-R<执行指令>设置下次启动系统时,首先执行的指令;-s<备份文件>lilo在产生新的引导扇区以前先将旧的引导扇区内容写到指定的备份文件;-S<备份文件>如果指定的备份文件存在,强行覆盖,-s参数则不覆盖;-u<外围设备代号>卸载指定外围设备上的lilo,并检查时间戳;-U<外围设备代号>同-u功能相同,但不检查时间戳;-v显示指令执行过程。

23.lsmod
说明:显示已载入系统的内核模块。

语法:lsmod

24.lspci
说明:显示所有系统PCI设备的总线、设备信息。

语法:lspci [-bmMnt][-v][-x][-s][[:][][.[]]][-d []:[]][-i][-p

]

参数:-b显示IRQ和I/O地址;-m复制PCI设备数据信息;-M搜索所有PCI设备;-n显示PCI厂商的代码;-t以树状图表显示所有的总线、桥、设备以及它们之间的关系;-v显示详细信息;-vv显示更详细信息;-x以十六进制方式显示PCI配置空间的前64字节内容;-xx以十六进制方式显示PCI配置空间的所有内容;-s[[]:][][.[]]显示符合指定总线,插槽和功能的设备;-d[]:[]显示符合厂商ID和设备ID的设备;-i设置file作为PCI ID数据库,默认为/usr/share/pci.ids;-p

设置dir作为包含PCI信息的目录,默认为/proc/bus/pci。

25.mkbootdisk
说明:制作一张与当前系统版本相同的Linux启动软盘。

语法:mkbootdisk [--device <设备名>]

参数:--device <设备名>指定软盘所在软驱的设备名,通常是/dev/fd0;当前系统的内核版本。

26.modinfo
说明:显示内核模块信息。

语法:modinfo [-adphV][-f format_string] 模块文件名

参数:-a显示该内核模块的作者;-d显示该内核模块的描述;-p显示该内核模块所支持的参数;-h显示帮助信息;-V显示版本信息;-f format_string指定任意格式的字符串,用于从module_file的ELF部分提取模块信息。

27.mouseconfig
说明:图形化的鼠标配置工具。

语法:mouseconfig [--expert][--noprobe][--kickstart][--device ][--emulthree][--test]

参数:--expert允许用户手动设置相应的参数,忽略系统的自动设置;--noprobe不检测鼠标;--kickstart快速模式;--device 指定在快速模式中所使用的硬件端口;--emulthree用两键鼠标模拟三键鼠标;mousetype指定在快速模式中使用的鼠标类型;--test允许非root用户使用mouseconfig,但不能够用于设置。

28.ps
说明:查看当前运行的进程。

语法:ps [-aeHuwx][--group<用户组名>][--tty<终端号>][--user<用户账号名>]

参数:-a显示所有终端下执行的进程;-e显示所有程序;-H显示树状结构,表示进程间的相互关系;-u以用户为主的格式来显示进行状态;-w用宽阔的显示模式;-x显示所有程序,不区分终端机;--group<用户组名>只显示指定用户组启动的进程;--tty<终端号>只显示在指定终端上启动的进程;--user<用户账号名>只显示在指定用户启动的进程。

29.reboot
说明:重新启动Linux系统。

语法:reboot [-dn]

参数:-d不将重新启动写入日志/var/tmp/wtmp;-n重新启动前不检查是否用未结束的程序,马上重新启动。 30.shutdown
说明:关闭Linux系统及计算机。

语法:shutdown [-fFhr][-t <称数>][时间][警告信息]

参数:-f重新启动时不执行fsck检查磁盘;-F重新启动时执行fsck检查磁盘;-h关闭Linux系统后关机;-r关闭Linux系统后重新启动;-t<秒数>几秒钟后开始执行shutdown命令;[时间]以hh:mm或+mm方式来设定执行shutdown命令的时间,也可以用now表示现在就执行;[警告信息]可以通过它把要关机的信息发给登录在系统上的每一个用户。

31.su
说明:可以通过su让用户暂时换成另一个用户账号登录。

语法:su [-fl][-c <指令>][用户账号]

参数:-f用另一个用户账号登录后,不去读该用户的.profile等启动设置文件;-l用户账号改变后,也改变工作目录,就像该用户账号新登录一样;-c<指令>执行完指定的指令后,就回到原来的用户账号。

32.who
说明:显示出所有现在已经登录到系统里的用户信息。

语法:who [-Hiq]

参数:-H显示出各个信息的标题;-i显示用户的idle时间,一分钟之内没有动作,标记为“.”,一天之内没有动作,标记为“old”;-q只显示出当前登录到系统的用户总数。

二、文件与磁盘操作
1.cat
说明:将一个或多个文件的内容显示在屏幕上。 语法:cat [-bEn][文件…]

参数:-b在每一行(空行除外)的开头加上行号(从1开始);-E在每一行的最后加上符号“S|”;-n在每一行的开头加上行号(从1开始计);[文件…]要显示的文件名列表。

2.chattr
说明:改变Linux系统中Ext2文件的属性。

语法:chattr [-RV][-v<版本编号>][+/-/=<属性>][文件或目录]

参数:-R递归处理,将指定目录下的所有文件及子目录一并处理;-V显示指令执行过程;-v<版本编号>设置文件或目录版本;+/-/=<属性>开启/关闭/指定文件或目录的该项属性;[文件或目录]包括a:让文件或目录只能以append模式修改,而不能直接编辑写入;A:不更新文件或目录的最后存取时间;c:将文件或目录压缩后存放;d:将文件或目录排除在Dump操作之外;i:一经设置,该文件或目录将无法删除、更名、修改;s:保密性删除文件或目录;S:即时更新文件或目录,不经过Buffer缓冲区;u:预防意外删除。

3.cd
说明:切换当前目录。

语法:cd [目的目录]

参数:[目的目录]想要切换到的目录名,可以是相对路径,也可以是绝对路径。

4.chgrp
说明:修改文件或者目录所属的用户组。

语法:chgrp [-fR][所属用户组][文件/目录名…]

chgrp [-fR][--reference=<参考文件/目录>][文件/目录名…]

参数:-f不显示错误信息;-R指定目录下的所有文件和子目录都将被修改成为指定用户组;--reference=<参考文件/目录>把指定的文件或目录的所属用户组,全部设成和参考文件/目录所属的用户组。

5.chmod
说明:修改文件/目录的权限。

语法:chmod [-fR][<权限范围>+/-/=<权限设置>,…][文件/目录…]

chmod [-fR][数字代号][文件/目录…]

chmod [-fR][--reference=<参考文件/目录>][文件/目录…]

参数:-f不显示错误信息;-R指定目录下的所有文件和子目录的权限都会被修改;<权限范围>+<权限设置>:开启相应权限?lt;权限范围>-<权限设置>:关闭相应权限;<权限范围>=<权限设置>:设置相应权限;--reference=<参考文件/目录>把指定的文件或目录的权限,全部设成和参考文件/目录相同的权限;<权限范围>包括u:文件/目录的所有者;g:文件/目录所属的用户组;o:其他用户;a:全部用户,即ugo;<权限设置>包括r:读取权限,相应的数字代号为“4”;w:写入权限,相应的数字代号为“2”;x:执行权限,相应的数字代号为“1”;-:不具备权限,相应的数字代号为“0”。

6.chown
说明:修改文件/目录的所有者以及所属用户组。

语法:chown [-fR][所有者<所属用户?gt;][文件/目录…]

参数:-f不显示错误信息;-R指定目录下的所有文件和子目录的所有者、所属用户组都将被修改。

7.cmp
说明:比较两个文件是否有差异。

语法:cmp [-clsv][-i <字符数目>][第1个文件][第2个文件]

参数:-c除了标明差异处的十进制字码之外,一并显示该字码所对应字符;-l标出所有不一样的地方;-s不显示错误信息;-v显示版本信息;-i<字符数目>忽略指定“字符数目”字节以前的差异。

8.cp
说明:用来拷贝文件或目录。

语法:cp [-bfipR][-S <备份字尾字符串>][源文件/目录…][目标文件/目录…]

参数:-b当文件拷贝时遇到要删除、覆盖目标文件之前自动备份,备份文件名为原文件名+指定的备份字尾字符串;-f强行复制文件或目录,无论目标文件或目录是否存在;-i当文件拷贝时遇到要覆盖原有文件时,先询问用户;-p保留源文件或目录的属性(所有者、所属用户组、权限、时间);-R指定目录下的所有文件及子目录都会被拷贝。

9.df
说明:用来查看磁盘的文件系统以及使用情况。

语法:df [-ahkmT][文件/设备]

参数:-a显示全部的文件系统;-h以更直观的方式显示使用情况;-k以KB为单位统计;-m以MB为单位统计;-T显示文件系统的类型;[文件/设备]磁盘是以设备文件表示,如果给出文件,那么就是指该文件所在的磁盘。

10.du
说明:用来统计目录或文件所占的磁盘空间大小。

语法:du [-chkmsS][--exclude=<目录/文件>][--max-depth=<目录层数>][文件/目录]

参数:-c不仅显示每个文件/目录的大小,还显示所有目录和文件的总和;-h以KB、MB、GB为单位,提高输出信息的可读性;-k以KB为单位统计;-m以MB为单位统计;-s仅显示统计值;-S显示个别目录的大小时,不包括该目录的子目录的大小;--exclude=<目录/文件>略过指定的目录和文件;--max-depth=<目录层数>超过指定层数的目录后,予以忽略。

11.e2defrag
说明:Ext2文件系统的数据整理程序,但不能对已经mount上来的分区进行整理。

语法:e2defrag [-dnrsv][-b bad-inode][-I inode-list][-p pool-size] /dev/name

参数:-d运行在调试模式下;-n运行在非图形模式下;-r只读模式;-s显示文件系统信息以及e2defrag的执行统计;-v运行时显示详细信息;-b bad-inode指定在整理数据时存放坏道的I节点,这个I节点指向的数据全是坏道;-I inode-list inode-list是一个文件,指定了文件系统I节点的优先级;-p pool-size指定e2defrag程序运行时使用的缓冲池大小。

12.e2fsck
说明:检查Ext2文件系统的正确性。 语法:e2fsck [-acCdfFnprsStvVy][-b][-B<区块大小>][-l<文件>][-L<文件>][设备名称]

参数:-a不询问使用者,自动修复文件系统;-c一并执行badblocks,以标示损坏的区块;-C将检查过程的信息完整记录在file descriptor中,使整个检查过程都能监控;-d显示排错信息;-f即使文件系统没有错误迹像,仍强制地检查正确性;-F执行前先清除设备的缓冲区;-n以只读模式开启文件系统,并采取非互动方式执行,所有问题均回答N;-p不询问使用者意见,便自动修复文件系统;-r此参数只为了兼容性而存在,并无实际作用;-s如果文件系统的字节顺序不适当,就交换字节顺序,否则不做任何动作;-S不管理文件系统的字节顺序,一律交换字节顺序;-v执行时显示详细的信息;-V显示版本信息;-y采取非互动方式执行,所有的问题均回答Y;-b指定superblock,而不使用预设superblock;-B<区块大小>指定区块的大小,单位为字节;-l<文件>将文件中指定的区块加到损坏区列表;-L<文件>先清除损坏区列表,再将文件中指定的区块加到损坏区块列表。

13.fdformat
说明:低级格式化软盘。

语法:fdformat[-n] device

参数:-n关闭在格式化后进行检查的功能。

14.fdisk
说明:Linux下的磁盘分区工具。

语法:fdisk [-b<分区大小>][-uv][外围设备代号]

fdisk [-l] [-b<分区大小>][-uv] [外围设备代号…]

fdisk [-s<分区编号>]

参数:-b<分区大小>指定每个分区的大小;-l列出指定的外围设备之分区表状况;-s<分区编号>将指定的分区大小输出至标准输出上,单位为Block;-u用分区数目取代柱面数目,来标示每个分区的起止地址;-v显示版本信息。

15.find
说明:查找某个文件或者目录。

语法:find [目录…][-amin<分钟>][-atime<24小时数>][-ctime<24小时数>][-cmin<分钟>][-group<用户组名>][-mmin<分钟>][-mtime<24小时数>][-name<样式>][-print][-user<用户名>]

参数:-amin<分钟>查找在指定分钟内被访问过的文件或目录;-atime<24小时数>查找在指定小时内被访问过的文件或目录;-ctime<24小时数>查找在指定小时内创建的文件或目录;-cmin<分钟>查找在指定分钟内创建的文件或目录;-group<用户组名>查找属于该用户组的文件或目录;-mmin<分钟>查找在指定分钟内被修改过的文件或目录;-mtime<24小时数>查找在指定小时内被修改过的文件或目录;-name<样式>查找文件/目录名与样式相吻合的文件或目录;-print将查找结果显示在屏幕上;-user<用户名>查找属于该用户的文件或目录。

16.ls
说明:列出目录内容,包括文件和子目录名称。

语法:ls [-acGhlrRu][--color=<颜色方案>][--show-control-chars][文件/目录]

参数:-a显示所有文件和目录;-c按修改时间排序;-G不显示所属用户组信息;-h用KB、MB、GB为单位显示文件或目录的大小;-l显示详细信息,包括文件大小、修改时间等信息;-r反向排序;-R列出指定目录下所有的文件及子目录;-u按最后访问时间排序;--color=<颜色方案>使用不同颜色来区分不同的内容;--show-control-chars遇到控制字符也显示,若有中文名称时可用此参数。

17.mkdir
说明:新建一子目录。

语法:mkdir [-p][-m<目录属性>][目录名]

参数:-p如果要建立的目录的上一级目录尚未建立,则先建立这一级目录;-m<目录属性>建立目录时,同时设置其目录权限,格式与chmod命令同。

18.mount
说明:将文件系统加载到“/”中来。

语法:mount [-anrw][-t<文件系统>][设备名称][载入点]

参数:-a载入在/etc/fstab中描述的所有设备;-n载入信息不记录到日志文件/etc/mtab文件中;-r以只读的模式载入设备;-w以可读写模式载入设备;-t<文件系统>指定载入文件系统的类型,包括minix:Linux最早用的文件系统;ext2:Linux最常用的文件系统;msdos:MS-DOS的FAT16;vfat:Windows下的FAT32;nfs:网络文件系统;iso9660:CDROM文件系统格式;ntfs:Windows NT的文件系统;hpfs:OS/2的文件系统;auto:自动检测文件系统类型;[载入点]其实就是一个目录,请建立一个空目录,该目录中的内容就是你载入的文件系统内容。

19.mv
说明:将文件、目录移动到另一个目录中,或将其改名。

语法:mv [-bfiu][-S<字符串>][源文件或目录][目标文件或目录]

参数:-b当遇到要覆盖其他文件或目录时,将自动备份,备份文件名为原文件名加上-S参数指定的字符串,若未设置则加上“~”;-f出现重复情况,直接覆盖而不备份;-i当遇到要覆盖文件或目录时,总是询问用户;-u当要覆盖的文件或目录比源文件要新,则不覆盖目标文件;-S<字符串>指定备份文件名后要加上的字符串。

提示:当目标文件或目录与源文件或目录在同一目录下时,其实就成为了改名命令。

20.passwd
说明:设置用户账号密码。

语法:passwd [-dlSu][用户名称]

参数:-d删除密码;-l锁住账号;-S列出与密码相关的信息;-u解开已上锁的账号;[用户名称]要设置密码的用户账号,如果没有指定,则代表设置当前登录用户的密码。

注意:该命令只有root才能够使用。

21.pwd
说明:显示当前目录。

语法:pwd

22.quota
说明:显示磁盘已使用情况和磁盘限制信息。

语法:quota [-guvq]

quota [-uvq] user

quota [-gvq] group

参数:-g显示用户所属组的磁盘限制信息;-u显示用户的磁盘限制信息;-v显示在所有挂入文件系统的磁盘上的磁盘限制信息;-q只显示超过限制的部分。

23.rm
说明:用来删除文件、目录。

语法:rm [-fr]

参数:-f强制删除,不询问;-r递归处理,将会删除指定目录下的所有文件及子目录。

24.split
说明:分割文件。

语法:split [-b SIZE] [-C SIZE] [-l NUMBER] [-NUMBER] 源文件 目标文件

参数:-b SIZE设置输出文件的大小,以字节为单位,SIZE可以是数字+单位;-C SIZE设置每行的最大长度,以字节为单位;-l NUMBER设置输出文件的大小,以行为单位;-NUMBER作用与-l NUMBER一样。

25.umount
说明:用来将mount载入的文件系统卸载出去。

语法:umount [-ar][-t<文件系统类型>][文件系统]

参数:-a卸载/etc/mtab中记录的所有已载入文件系统;-r若卸载失败,则重新尝试将其mount成为只读模式;-t<文件系统类型>仅卸载指定类型的文件系统;[文件系统]文件系统mount时的载入点。

三、网络通讯
1.arp
说明:处理系统的ARP缓存,可以清除缓存中的地址映射,建立新的地址映射;

语法:arp [-v][-n][-H type][-i if] -a

arp [-v][-i if] -d hostname

arp [-v][-H type][-i if] -s hostname hw_addr

arp [-v][-H type][-i if] -s hostname hw_addr pub

arp [-v][-H type][-i if] -Ds hostname ifa pub

arp [-v][-n][-D][-H type][-i if] -f

参数:-v显示详细信息;-n以数字地址形式显示;-i If选择界面;-H type设置和查询arp缓存时检查type类型的地址;-a 显示指定hostname的所有入口;-d hostname删除指定hostname的所有入口;-D使用ifa硬件地址界面;-s hostname hw_addr手工加入hostname的地址映射;-f filename从指定文件中读入hostname和硬件地址信息。

2.arping
说明:从源地址通过ping命令检查设备上的硬件地址。

语法:arping [-D][-U][-A][-c count][-w timeout][-q][-s source] -I interface address

参数:-D复制地址监测信息;-U用ARP REQUEST包更新网络邻居上的ARP缓存;-A与-U参数作用一样,区别为-A采用ARP REPLY包;-c count设置ping命令探测的次数;-w timeout经过timeout秒后停止ping命令;-q不显示任何信息;-s source设置ping的源地址;-I interface设置ping使用的网络接口;address设置目标地址。

3.arpsnmp
说明:对以太网卡地址和IP地址的匹配性进行监测,将结果记录在系统日志中。

语法:arpsnmp [-d][-f datefile]

参数:-d启动调试标志;-f设置记录以太网/IP地址数据库的文件,默认为arp.dat。

4.biff
说明:邮件监视程序。当邮件到达后,biff命令提醒用户,并显示邮件来源。

语法:biff

参数:n当邮件到达以后,不提醒用户;y当邮件到达以后,提醒用户。

5.ftpcount
说明:显示目前登入FTP服务器的用户数。

语法:ftpcount

6.ftprestart
说明:重新启动FTP服务器。

语法:ftprestart

7.ftpshut
说明:在指定时间内关闭FTP服务器。

语法:ftpshut [-V][-l min][-d min] time [“警告信息”]

参数:-l min设置停止FTP登录的时间,默认是10分钟;-d min设置在几分钟后切断所有FTP连接,默认是5分钟;time让FTP服务器在time时间内关闭,now代表马上,数字代表分钟。

8.ifconfig
说明:显示网络设备的状态、设置网络设备的属性。

语法:ifconfig [网络设备]

参数:[网络设备]说明要显示或设置的网络设备名,如eth0,第一张网卡;down将指定的网络设备停止工作;up将指定的网络设备重新启动到工作状态;设置该设备的I/O地址;设置该设备的IRQ地址;netmask <子网掩码>设置该设备的子网掩码;设置该设备的IP地址。

9.inetd
说明:网络服务器,inetd在系统启动时由/etc/rc启动,然后负责监听特定的网络端口,当某个端口出现了连接请求,inetd判断该端口对应于何种网络服务,然后调用相应的服务程序。

语法:inetd [-d][-R rate]

参数:-d允许调试;-R rate指定服务程序最大调用频率(次/每分钟),默认值是1000。

10.netstat
说明:显示网络状态。

语法:netstat [-acCeFghilMnNoprstuvVwx][-A<网络类型>][--ip]

参数:-a显示所有连接中的Socket;-c持续列出网络状态;-C显示路由配置的快取信息;-e显示网络其他相关信息;-F显示FIB,此为默认值;-g显示多重广播功能用户组名单;-h在线帮助;-i显示网络接口信息清单;-l显示监控中之服务器的Socket;-M显示伪装的网络连线;-n直接使用IP地址,而不通过域名服务器;-N显示网络硬件外围设备之符号连接名称;-o显示计时器;-p显示正在使用Socket的程序识别码和程序名称;-r显示路由表;-s显示网络工作信息统计表;-t显示TCP传输协议的连线情况;-u显示UDP传输协议的连线情况;-v显示指令执行过程;-w显示RAW传输协议的连线情况;-x此参数等于-A unix;-A<网络类型>列出该网络类型连线中的相关地址;--ip些参数等于-A inet。

11.ping
说明:可以用来检查是否可以与网络上的一台主机连通。

语法:ping [-fn][-c<连接次数>][-i<间隔时间>][-I<网络设备>]

参数:-f产生ping风暴,会对网络带来严重负担,仅限root用户使用,可用来统计数据包的丢包、误码率;-n只输出数值,不尝试获取主机名;-i<间隔时间>设定2个Ping信息包发出的间隔时间,单位为秒;-I<网络设备>当系统有多个设备时,可以用该参数指定某一网络设备。

12.rup
说明:显示主机状态,包括本地主机、网络主机及本地网络上的所有主机状态。

语法:rup [-dhlt]

参数:-d显示网络主机的本地时间;-h按主机名的字母顺序显示信息;-l按主机的平均负载排序;-t按主机的系统运行时间排序。

13.traceroute
说明:显示数据包从本地主机到远程主机之间的路径。

语法:traceroute [-dFInrvx][-f first_ttl][-g gateway][-i iface][-m max_ttl][-p port][-q nqueries][-s src_addr][-t tos][-w waittime] host

参数:-d允许套接口级调试;-F设置禁止分隔标志位;-I用ICMP ECHO应答代替UDP数据报;-n直接用IP地址显示逐跳地址;-r绕过通常的路由表,直接和远程主机连接;-x开启/关闭对数据包的检查;-f first_ttl设置第一个对外发送数据包的TTL,范围从1~256;-g gateway指定自由的源网关,最多可以指定8个;-i iface用指定的网络接口发送数据包;-m max_ttl设置向外发送的数据包的最大TTL值,默认是30;-p port设置基本的UDP端口,默认值是33434;-s scr_addr设置本地主机发送数据报的IP地址;-t tos设置数据包的服务类型,有效范围是0~255,默认值是0;-w waittime设置等待数据包返回的时间,以秒为单位。

四、其他常用工具
1.bzip2
说明:bzip2是.bz2文件的压缩工具。

语法:bzip2 [-cdfkqstvVL][-1|-2|-3|-4|-5|-6|-7|-8|-9]

参数:-c将文件压缩/解压缩到标准输出设备上;-d解压缩;-f如果现有的文件和解压缩的输出文件重名,强制覆盖已存在的文件;-k在解压缩以后保留输入文件(就是源文件);-q禁止不必要的警告信息;-s降低命令运行所需要的内存;-t检查文件的完整性;-v工作时显示详细信息;-V显示版本信息;-L显示License信息;-1~-9设置压缩的块大小,即100K~900K,不影响压缩过程。

2.cal
说明:显示简单日历。

语法:cal [-mjy][ year]

参数:-m视星期一为每周的第一天,默认为周日;-j以Julina形式显示,即不分月份,以每年1月1日为第一天;-y显示今年的所有月份的日历。

3.cdplay
说明:Linux下的播放工具。

语法:cdplay [-c device][-lns]

参数:-c device指定播放设备;-l等待外围设备初始化;-n禁止自动播放;-s禁音模式;play 从num轨道开始自动播放CD;stop停止播放CD;table从数据库中显示CD内容。

4.compress
说明:compress是.Z文件的压缩/解压缩工具。

语法:compress [-cdfrvV][-b<压缩效率>][文件或目录…]

参数:-c把压缩后的文件输出到标准输出设备,不去更改原始文件。默认情况compress指令会将文件直接压缩后,加上.Z扩展名,不保留原文件;-d对文件进行解压缩;-f强制保存压缩文件;-r递归处理,将指定目录下的所有文件和子目录一并处理;-v显示指令执行过程;-V显示指令版本及程序预设值;-b <压缩效率>9~16之间,默认为16,数字越大压缩出来的文件就越小,时间也越多。

5.grep
说明:在文件中查找符合条件的字符串。

语法:grep [-qrv][样式][文件/目录名…]

参数:-q不显示中间过程的任何信息;-r如果使用该选项,则会查找指定目录下的所有文件和子目录中的内容;-v反义查找,也就是找不包含的“样式”指定的字符串的列。

6.gzip
说明:压缩/解压缩文件,生成的压缩文件后缀名为“.gz”。

语法:gzip [-dfl][-<压缩效率>][文件…]

gzip [-dflr][-<压缩效率>][目录]

参数说明:-d解压缩;-f强行压缩文件,直接覆盖同名文件;-l列出压缩文件相关信息,包括压缩前后的大小、压缩率、压缩前的文件名等;-r将指定目录下所有的文件和子目录都压缩到该文件;-<压缩效率>是一个1~9的数值,数字越小、压缩越快,数字越大、压缩率越高。

7.tar
说明:是在Linux/Unix系统中最常用的一个建立、还原备份文件的工具。

语法:tar [-Acdkvx][-f <备份文件>][文件/目录…]

参数:-A新增文件到已存在的备份文件中;-c新建备份文件;-d比较备份文件中的与当前目录下的文件之间的差异;-k解开备份文件时,不覆盖已有文件;-v显示命令执行的过程;-x还原备份文件中的内容;-f <备份文件>指定备份文件名。

Mephis 发表于 2005-7-2 13:03

Chinesisch unter SuSE Linux 9.1 mit skim

Chinesisch unter SuSE Linux 9.1 mit skim

Im folgenden wird beschrieben, wie man mit den Programmen SCIM und skim unter SuSE Linux 9.1 chinesische Schriftzeichen eingeben kann. Eine gute allgemeine Anleitung für die chinesische Sprachunterstützung unter SuSE Linux finden Sie auch unter http://www.suse.de/~mfabian/suse-cjk/suse-cjk.html.


skim

Mit dem Programm skim kann man unter KDE chinesische Schriftzeichen eingeben. Das sieht z.B. so aus:




Installation

skim basiert auf scim-lib. Für ein funktionierendes System müssen also beide installiert werden.

Speichern Sie zun&auml;chst folgende Pakete auf Ihrem Computer:
http://prdownloads.sourceforge.n ... e.i586.rpm?download
http://freedesktop.org/~suzhe/sc ... .4.1-1suse.i586.rpm
http://www.chinaboard.de/download.php?id=83

Dann installieren Sie diese als Benutzer root, indem Sie ein Befehlsfenster &ouml;ffnen, in das Verzeichnis wechseln, in dem Sie die heruntergeladenen Dateien gespeichert haben, und folgendes eingeben:
Code:
su
rpm -Uhv scim-1.0.1-1suse.i586.rpm scim-chinese-0.4.1-1suse.i586.rpm skim-1.0.2-0.1.i586.rpm




Start des Programms

Starten Sie die chinesische Eingabemethode, indem Sie als normaler Benutzer in einem Befehlsfenster folgendes eingeben:


Code:
killall scim-launcher
killall scim-panel-gtk
skim -d


Nun mü&szlig;te unten rechts auf Ihrer Taskleiste ein kleines Icon erscheinen.(oder so &auml;hnlich)

M&ouml;chten Sie skim für alle Programme verwenden, stellen Sie die Umgebungsvariable XMODIFIERS entsprechend ein, indem Sie


Code:
export XMODIFIERS="@im=SCIM"


eingeben. Diese Zeile sollten Sie auch einem der Skripte, die bei Start des X Window Systems automatisch geladen werden, hinzufügen (bei SuSE Linux am besten ~/.xim). Sofern Sie eine Locale verwenden, die nicht standardm&auml;&szlig;ig von skim unterstützt wird, tragen Sie sie in Unterstützte Unicode-Regionaleinstellungen ein, wie im n&auml;chsten Beitrag unter "SCIM Globale Einstellungen" beschrieben.

Wenn Sie skim nur für bestimmte Programme verwenden m&ouml;chten, geben Sie zur Vereinfachung einmal


Code:
echo "alias CN='LANG=zh_CN.UTF-8 XMODIFIERS="'"@im=SCIM"'"'" >> ~/.alias


ein. Dadurch k&ouml;nnen Sie Programme einfach mit "CN " aufrufen, wenn Sie Chinesisch eingeben m&ouml;chten. Anschlie&szlig;end starten Sie Ihren Computer am besten einmal neu, damit die Datei ~/.alias neu eingelesen wird. skim wird nach jedem Neustart automatisch zusammen mit der Benutzeroberfl&auml;che KDE neu geladen.

Sollte skim nicht automatisch neu geladen werden, geben Sie einfach erneut


Code:
killall scim-launcher
killall scim-panel-gtk
skim -d


ein. (Anmerkung: Die "killall"-Anweisungen sind nur notwendig, wenn das GTK-Frontend von SCIM bereits geladen wurde, da immer nur ein Frontend aktiv sein kann. Sollte die Ausführung von killall ... die Meldung "Kein Prozess abgebrochen" zurückgeben, k&ouml;nnen Sie den Befehl getrost weglassen.)

Die obigen Anweisungen funktionieren z.B. unter der Locale "de_DE.UTF-8" (also der Spracheinstellung: Deutsch mit Zeichensatzcodierung UTF-8/Unicode), welche bei einer deutschen Installation von SuSE 9.1 als Standard gew&auml;hlt wird. Sollten bei Ihnen Probleme auftauchen, kann es daran liegen, da&szlig; Sie eine andere Locale eingestellt haben. Versuchen Sie dann, anstelle von "skim -d" einzugeben "LANG=de_DE.UTF-8 skim -d".


Eingabe chinesischer Zeichen mit skim

Starten Sie ein Programm mit "CN ", also z.B.


Code:
CN mozilla


um den Webbrowser Mozilla zu starten. Wenn Sie Strg+ drücken, sollte folgende Symbolleiste erscheinen:



Sofern als Eingabemethode nicht automatisch Smart Pinyin voreingestellt ist, w&auml;hlen Sie es einfach aus der Liste, die erscheint, wenn Sie auf den Namen der Eingabemethode klicken, z.B. so:



Nehmen wir an, Sie wollen "写中文文件" eingeben. Dazu schreiben Sie zun&auml;chst das Pinyin des ersten Zeichens "xie" (ohne Angabe des Tons):



Korrekt ist das zweite Zeichen, also geben Sie eine "2" ein. Wenn das gesuchte Zeichen einmal nicht sofort erscheint, k&ouml;nnen Sie mit den Tasten "." (Punkt) und "," (Komma) nach rechts bzw. links durch die Liste laufen. Die n&auml;chsten beiden Zeichen geh&ouml;ren zusammen, also geben Sie ruhig "zhongwen" ein:



Mit einer "1" w&auml;hlen Sie die korrekte Schreibung. Alternativ k&ouml;nnen Sie mit der Leertaste immer die gerade gew&auml;hlte, blau unterlegte Schreibweise in Ihren Text übernehmen. Mit skim k&ouml;nnen Sie auch l&auml;ngere Wortketten oder ganze S&auml;tze auf einmal eingeben. Versuchen Sie z.B. "xiezhongwenwenjian":



Hier stehen bereits die richtigen Zeichen hintereinander. W&auml;re dies nicht der Fall, h&auml;tten Sie auch mit der "4" zuerst nur das erste Zeichen w&auml;hlen k&ouml;nnen, dann mit einer anderen Zahl die beiden folgenden, usw.

Wie Sie im oberen Beispiel gesehen haben, kann man mit skim auch traditionelle Schriftzeichen eingeben. Um zu erzwingen, da&szlig; Sie nur Kurzzeichen (oder nur Langzeichen) vorgeschlagen bekommen, drücken Sie einfach auf das Zeichen "中", bis Sie den gewünschten Zeichenumfang erreicht haben:




Mit den weiteren Kn&ouml;pfen k&ouml;nnen Sie einstellen, ob Leerzeichen ein halbes oder ein ganzes Schriftzeichen lang sein sollen:



und ob chinesische oder europ&auml;ische Satzzeichen eingefügt werden:




Schlu&szlig;bemerkungen

Ich werde mich bemühen, diese Beschreibung aktuell zu halten. Sollte bei Ihnen etwas nicht so funktionieren, wie hier beschrieben, antworten Sie einfach auf diesen Beitrag und beschreiben, wo der Fehler liegen k&ouml;nnte.

SCIM und skim sind zwei sehr vielversprechende, aktiv entwickelte OpenSource-Projekte, deren Hauptseiten Sie unter http://sourceforge.net/projects/scim/ erreichen. Hauptautoren sind Liu Cougar (skim) und James Su (SCIM).

Mephis 发表于 2005-7-2 13:04

Linux下软件的安装与卸载

Linux下软件的安装与卸载

在Windows下安装软件时,只需运行软件的安装程序(setup、install等)或者用zip等解压缩软件解开即可安装,运行反安装程序(uninstall、unware、“卸载”等)就能将软件清除干净,完全图形化的操作界面,简单到只要用鼠标一直点击“下一步”就可以了。而Linux好象就不一样了,很多的初学者都抱怨在Linux下安装和卸载软件非常地困难,没有像使用Windows时那么直观。其实在Linux下安装和卸载软件也非常简单,同样也有安装向导或解压安装的方式,不相同的只不过是除了二进制形式的软件分发外,还有许许多多以源代码形式分发的软件包,下面就来详细地讲一讲这些软件的安装与卸载:


一、二进制分发软件包的安装与卸载

Linux软件的二进制分发是指事先已经编译好二进制形式的软件包的发布形式,其优点是安装使用容易,缺点则是缺乏灵活性,如果该软件包是为特定的硬件/操作系统平台编译的,那它就不能在另外的平台或环境下正确执行。

1、*.rpm形式的二进制软件包

安装:rpm -ivh *.rpm

卸载:rpm -e packgename

说明:RPM(RedHat Packge Manager)是RedHat公司出的软件包管理器,使用它可以很容易地对rpm形式的软件包进行安装、升级、卸载、验证、查询等操作,安装简单,而卸载时也可以将软件安装在多处目录中的文件删除干净,因此推荐初学者尽可能使用rpm形式的软件包。rpm的参数中-i是安装,-v是校验,-h是用散列符显示安装进度,*.rpm是软件包的文件名(这里的*.rpm特指*.src.rpm以外的以rpm为后缀的文件);参数-e是删除软件包,packgename是软件包名,与软件包的文件名有所区别,它往往是文件名中位于版本号前面的字符串,例如apache-3.1.12-i386.rpm和apache-devel-3.1.12-i386.rpm是软件包文件名,它们的软件包名称分别是apache和apache-devel。更多的rpm参数请自行参看手册页:man rpm。

如果你不喜欢在字符界面下安装或卸载这些软件包,完全可以在X-Window下使用图形界面的软件包管理程序,如glint、xrpm这样的图形接口,或者是KDE的kpackge等,这样对软件包的安装、升级、卸载、验证和查询就可以通过点击鼠标来轻松完成。

2、*.tar.gz/*.tgz、*.bz2形式的二进制软件包

安装:tar zxvf *.tar.gz 或 tar yxvf *.bz2

卸载:手动删除

说明:*.tar.gz/*.bz2形式的二进制软件包是用tar工具来打包、用gzip/bzip2压缩的,安装时直接解包即可。对于解压后只有单一目录的软件,卸载时用命令“rm -rf 软件目录名”;如果解压后文件分散在多处目录中,则必须一一手动删除(稍麻烦),想知道解压时向系统中安装了哪些文件,可以用命令“tar ztvf *.tar.gz”/“tar ytvf *.bz2”获取清单。tar的参数z是调用gzip解压,x是解包,v是校验,f是显示结果,y是调用bzip2解压,t是列出包的文件清单。更多的参数请参看手册页:man tar。

如果你更喜欢图形界面的操作,可以在X-Window下使用KDE的ArK压缩档案管理工具。

3、提供安装程序的软件包

这类软件包已经提供了安装脚本或二进制的安装向导程序(setup、install、install.sh等),只需运行它就可以完成软件的安装;而卸载时也相应地提供了反安装的脚本或程序。例如SUN公司的StarOffice办公软件套件就使用名为setup的安装程序,而且在软件安装后提供反安装的功能,目前这种类型的软件包还比较少,因其安装与卸载的方式与Windows软件一样,所以就无需多讲了。


二、源代码分发软件包的安装与卸载

Linux软件的源代码分发是指提供了该软件所有程序源代码的发布形式,需要用户自己编译成可执行的二进制代码并进行安装,其优点是配置灵活,可以随意去掉或保留某些功能/模块,适应多种硬件/操作系统平台及编译环境,缺点是难度较大,一般不适合初学者使用。

1、*.src.rpm形式的源代码软件包

安装:rpm -rebuild *.src.rpm

cd /usr/src/dist/RPMS

rpm -ivh *.rpm

卸载:rpm -e packgename

说明:rpm --rebuild *.src.rpm命令将源代码编译并在/usr/src/dist/RPMS下生成二进制的rpm包,然后再安装该二进制包即可。packgename如前所述。

2、*.tar.gz/*.tgz、*.bz2形式的源代码软件包

安装:tar zxvf *.tar.gz 或 tar yxvf *.bz2 先解压

然后进入解压后的目录:

./configure 配置

make 编译

make install 安装

卸载:make uninstall 或 手动删除

说明:建议解压后先阅读说明文件,可以了解安装有哪些需求,有必要时还需改动编译配置。有些软件包的源代码在编译安装后可以用make install命令来进行卸载,如果不提供此功能,则软件的卸载必须手动删除。由于软件可能将文件分散地安装在系统的多个目录中,往往很难把它删除干净,那你应该在编译前进行配置,指定软件将要安装到目标路径:./configure --prefix=目录名,这样可以使用“rm -rf 软件目录名”命令来进行干净彻底的卸载。与其它安装方式相比,需要用户自己编译安装是最难的,它适合于使用Linux已有一定经验的人,一般不推荐初学者使用。


关于Linux下软件的安装与卸载lanche已经讲了这么多,但可能还会有人问怎么知道一个tar.gz/bz2包是二进制文件包呢还是源代码包?如果你用过压缩工具就会明白,压缩包未必就是软件,它也可能是备份的许多图片,也可能是打包在一起的普通资料,要分辨它到底是什么最好的办法就是查看包里的文件清单,使用命令tar ztvf *.tar.gz / tar ytvf *.bz2或者在X-Window下使用图形化的ArK压缩档案管理工具都可以,源代码包里的文件往往会含有种种源代码文件,头文件*.h、c代码源文件*.c、C++代码源文件*.cc/*.cpp等;而二进制包里的文件则会有可执行文件(与软件同名的往往是主执行文件),标志是其所在路径含有名为bin的目录(仅有少数例外)。原来这么简单呀,还不快点自己试试!

Mephis 发表于 2005-7-2 13:06

在 Linux 上运行 Windows 应用程序 Wine

在 Linux 上运行 Windows 应用程序



Aditya Narayan (mailto:aditya_pda@hotmail.com?cc=youngt01@us.ibm.com&subject=A taste of Wine: Transition from Windows to Linux), 创始人,QCD
Saugata Ghosh (mailto:qcd_saugata@hotmail.com?cc=youngt01@us.ibm.com&subject=A taste of Wine: Transition from Windows to Linux),技术总监,QCD
Irina Singh (mailto:irinas@us.ibm.com?cc=youngt01@us.ibm.com&subject=A taste of Wine: Transition from Windows to Linux),IT 咨询专家,IBM



Wine 是一个令人神往而且目标远大的开放源代码项目,它尝试去解决在 Linux 上运行 Windows 可执行文件的复杂问题。尽管 Wine 不是一个新项目,但是,人们对 Linux 桌面的期望以及对 Linux 应用程序的需求日益增加,使得它现在仍具有重要意义。本文对 Wine 进行了介绍,并提出了几种获得 Wine 内部操作经验的途径。

Wine 项目起始于 1993 年,它的根源可以追溯到 90 年代早期出现的用于 UNIX 的 DOS 和 Windows 模拟器。Wine 项目最初是将 16 位的应用程序移植到 Linux,而几年之后,已可以在 Linux 上运行 Microsoft Word 和 Excel。现在它有一百多万行代码。

人们一直认为,在桌面上采用 Linux 的主要障碍是应用程序不足。商用桌面应用程序供应商还不能确定他们是否应该投入时间和精力将他们的 Windows 应用程序移植到 Linux,他们基本上是在等待 Linux 大规模应用于桌面。另一方面,Linux 需要应用程序才能大规模应用于桌面。这是一个经典的先有鸡还是先有蛋的问题,而 Wine 通过在 Linux 上运行现有的 Windows 应用程序而解决了这一问题。

Wine 能做什么
Wine 项目实际是一个二合一的项目。它们提供了一个名字叫做 Winelib 的开发工具包,用于将应用程序从 Windows 移植到 Linux(和 Unix);它们还提供了一个程序加载器,让 Windows 二进制文件可以在 Unix 和类 Unix 系统中运行。本文讨论的主要是后者;在 参考资料 中有关于 Winelib 的更多资料的链接。

不是仿真器
据 WineHQ 的说法,“WINE 代表 Wine Is Not an Emulator(即,Wine 不是一个仿真器)。更确切地说,Wine 是 X 和 UNIX 之上对 Windows API 的一个开放源代码实现。您可以认为它是一个 Window 兼容层。Wine 不需要 Microsoft Windows,因为它是由 100% 非 Microsoft 代码构成的另一个实现。但是它可以使用本机系统 DLL,只要这些 DLL 可用。而且它可以让您在 Linux 或者其他类 UNIX 操作系统之上运行大部分 Windows 软件。”

Wine 程序加载器让运行于 x86 上的 Linux 和其他类 Unix 操作系统可以加载并运行 Windows x86 可执行文件 —— 不过那只是它要解决的问题的一部分。因为 Windows 可执行文件总是会链接到其他的库,而这些库是 Windows 操作系统的一部分(如本文稍后图 1 中的 Dependency Walker 截图中可以看到),Wine 还最大可能限度地实现了那些 Windows 内部构件,即 Linux 上通常所指的 Win32 API5。

虽然 Windows 和 Linux 有很大的不同,但是就基本的层次而言,与任何现代操作系统一样,还是有很多类似之处的 —— 比较明显的包括,对文件和目录的支持,对同时运行多个程序的支持,类似的用户界面以及对多媒体的支持。

图 1. 可执行文件 callDLL.exe 的依赖

图中显示了 callDLL.exe 的依赖,这个可执行文件可以由本文提供的源代码编译得到。对一般的用户而言,依赖的复杂度可能是惊人的,但对任何一个系统程序员来说都不是这样,他们充分了解,哪怕是运行一个最简单的程序,操作系统也必须要做很多事情。

考虑图 1 所示的可执行文件的第一个依赖 —— 对 USER32.DLL 的依赖。在 Windows 中,一个 DLL 就是一个动态链接库(dynamically linked library),类似于 Linux 中的一个共享对象(一个 .so 文件)。USER32.DLL 文件通常会由操作系统提供,位于 C:\WINDOWS\system32 或者 C:\WINNT\system32 目录下。这个文件中包含了 Windows API 中用于用户界面的函数实现。

我们的可执行文件调用 USER32.DLL 中的一些函数,USER32.DLL 然后去调用 NTDLL.DLL 中的其他函数,如此继续。这些函数大部分已经由 Microsoft 文档化 —— 但是还有很多没有被文档化。文档的缺乏对 Wine 来说是一个极大的障碍,本文稍后将更详细地讨论这一问题。

现在让我们来看我们的可执行文件的第二个依赖 —— 对 SIMPLEDLL.DLL 的依赖。这个 DLL 是在编译本文所附的源代码时创建的。这个 DLL 中实现了一些特别简单的函数;它作为常见于安装 CD 上的各种二进制文件的例子被包括进来。

如我们的例子所示,一般的 Windows 可执行文件有两种类型的依赖:一种是对操作系统提供的二进制文件的依赖,另一种是对作为应用程序一部分的二进制文件的依赖。

还需要特别注意的是,DLL 以难于管理而闻名,即使是在产生它们的 Windows 操作系统中也是如此(参见 参考资料)。值得一提的是,Wine 团队成功地创建了一个可以在 Linux 上运行很多商用 Windows 应用程序的框架。

当前,开放源代码的 Wine 项目有一个健壮的平台来运行 Windows 二进制文件以及对 Win32 API 的部分实现。这个项目仍然处于最初的测试阶段(alpha),有很多部分还没有完成。尽管 Wine 提供了一些工具来帮助进行配置、安装以及运行应用程序,但是它们大部分都是面向程序员的,要让非技术用户也可以使用这些工具,还有很多事情需要去做。过去的 Corel 以及现在的 CodeWeavers 为此提供了很多帮助。

Wine 如何工作
既然我们已经理解了 Wine 的基本原理,让我们更详细地来研究 Wine 能够做什么。本文中,我们讨论的是 Wine 在纯 Linux 上的安装,没有任何 Windows 分区。

Windows 可执行文件:
Wine 完全支持 Windows 可执行文件( .exe 和 DLL)的二进制加载。
DLL:
Wine 有几百个 Windows DLL 的内部实现 —— 不过,其中没有多少是完全的实现。例如,包含有用户界面相关函数的 userd32.dll 在开放源代码的 Wine 中实现了 92%。
COM:
这是一种几乎被所有的大型 Windows 应用程序所使用的 Windows 技术,它支持诸如将一个 Excel 电子数据表嵌入到 Word 文档中等功能。这一技术得到了 Wine 的很好的支持。
注册表:
这是另一个几乎任何一个 Windows 应用程序都会使用的关键技术,Wine 实现了大约 90% 的 Windows 注册表管理 API。
核心功能:
核心系统功能也得到了特别好的支持。如前面提到的,尽管 Linux 和 Windows 之间存在区别,但是基本的层次上还有很多类似之处,因此与进程、线程、文件和消息队列相关的核心系统 API 得到了近乎完美的支持。
音频和视频:
Wine 支持 Windows 音频和视频文件的运行(还可以使用 Windows 媒体播放器)。
打印:
也得到了支持,可以从一个在 Wine 中运行的 Windows 应用程序进行打印。
ODBC:
Wine 支持那些需要通过 ODBC 访问数据库的 Windows 应用程序。
调试:
Wine 有一个非常健壮和强大的内置调试器,除了支持标准的调试功能外,它还为调试运行于 Linux 上的 Windows 二进制程序进行了定制。它是 Wine 为其开发者提供的最重要工具之一。Wine 还有一个设计完备的追踪和记录日志的模块,可以帮助调试。我们之所以强调这一点,原因在于,尽管框架是健壮的,但是,当在 Wine 中安装和运行 Windows 应用程序时有很多不确定因素,在使用开放源代码的 Wine 时迟早会停下来进行调试。
Wine 不能做什么
不幸的是,很多用户发现 Wine 难于使用。诚然,在 Linux 上使用类似于 MS Office 这样的应用程序可能是困难的;在这里我们来看一些原因,为什么确实是这样。在开始之前,我们应该指出,CodeWeavers 提供的商用 Wine 已经解决了大部分此类问题(参阅 参考资料 以获得链接)。假以时日,这些问题将可能在开放源代码的 Wine 中同样得到解决。

使用命令行
与大部分 Linux 中的应用程序一样,Wine 必须在命令行中安装。用户必须回到命令行中来在 Wine 下运行应用程序。例如,要运行Internet Explorer,用户通常需要在 shell 中输入 wine IEXPLORE.EXE。尽管经验丰富的用户喜欢这样做,但初学者会发现这比较困难,而且不太可能懂得起别名等快捷方式。
配置
CDROM 和驱动器映射等工作必须手工完成。这对初学者来说也是个问题。
取消对隐藏文件的隐藏
如果挂载 CDROM 时没有使用专门的 unhide 选项,那么安装 CD 上的一些文件可能会无法找到,从而导致安装失败。
调整配置
Wine 安装很少能直接使用(对它来说也就是从 tarfile 解开)。通常需要进行全面的调整;例如,一个程序的安装可能与您在配置文件中设置的 Windows 版本不相容;而修改那个版本又可能会影响一些已安装的应用程序。对很多 DLL 来说也是如此。为此,Wine 提供了一个巧妙的修复,让您可以设置特定于应用程序的属性。不过,一般的用户可能不会像我们一样满意。
额外的安装步骤
大部分应用程序的安装过程都不是标准的。例如,当我们安装 Internet Explorer 6 时,必须跳过一些步骤,比如 DCOM98 的定位与安装。对用户来说,这类事情可能是最大的障碍。
注意,这些并不是病症,而是举例说明了是哪些种类的事情导致对一般用户来说 Wine 看起来复杂而且困难。

更多 Wine 所不能做的
看完 Wine 的可用性问题后,现在让我们来总结在尝试使用 Wine 时一些常见的技术问题。

缺少 DLL
这可能是最常见的问题:很多安装由于缺少 DLL 而失败。人们应该熟练使用调试器来决定下一步如何去做。(稍后将深入讨论调试器)。
DLL 版本问题
一些安装程序在开始之前会检查现有的系统 DLL。Wine 解决这一问题的方法是,创建假 DLL 以满足安装程序的需要。不过,有一些安装程序会更进一步并深入检查 DLL 以获得它们的版本。这对假的 DLL 来说要求太高了,会导致安装失败。
DLL 加载次序
Wine 有对很多 Windows DLL 的实现,而且如果可用,它还可以使用原始的 Windows DLL。如果两种 DLL 都可用,好像显然应该选择总是使用 Windows 自己的 DLL,但实际上 Windows DLL 有时会包含不能被满足的依赖。要确定是更应该使用 Wine 的 DLL 还是应该使用本机 DLL,惟一的方法是,基于各个应用程序反复进行试验。
DLL 中的函数
当一个 Wine DLL 没有实现 Windows 中相应的 DLL 的全部功能时,应用程序可能会遭遇函数调用失败。由于 DLL 是动态加载的,可能没有办法事先知道会发生这样的事情。这是一个复杂的问题,有一些可做的工作,但最终实际来说它只是取决于应用程序的代码如何编写。
有一些因素会减轻这些问题。一方面,您将会一个一个地遇到这些问题,而不是一次遇到全部问题,这样处理起来要容易些。另外,您遇到的那些问题可能其他人曾遇到过并已经解决(而且解决方案已经公布出来)。Wine 用户组非常活跃,会提供许多帮助,每周一次的 Wine 时事通讯(参阅 参考资料)是极好的信息资源。

Wine 中还没有实现的 Win32 API
在 Wine 中,很多 Win32 API5 的函数是残缺不全的。最常见的原因是,相当多的 Win32 API 并没有被文档化。这就意味着一个特别的应用程序可能会调用某个函数,而完全没有关于此函数的可用资料。例如,我们在运行一个简单的 RPC 程序时发现了 RtlAnsiCharToUnicodeChar 这个函数。在 MSDN 上的搜索结果显示没有关于这个函数的资料,而且没有关于所有 RtlXXXX 类别函数的资料。因此,如果它们在 Wine 中的实现对一些应用程序来说至关重要,那么人们可能只有去猜测它们的行为了。

商用的 Wine
CodeWeavers 为 Wine 做了很多工作。多年来他们为 Wine 项目贡献了很多代码,他们出售商用版本的 Wine,其改进的用户界面解决了我们在本文中提出的很多问题。

例如,CodeWeavers 的二进制安装文件会在用户的开始菜单中添加一个 Crossover 条目;安装后,绝大多数 Crossover 相关的任务可以通过开始菜单条目来完成。在开放源代码的 Wine 中,所有这些任务 —— 安装、程序执行以及其他任务 —— 都必须在命令行中执行。此外,CodeWeavers Crossover 将会尝试去为新安装的软件包配置一个合理的默认值,如果需要的话会在安装完成后自动重新引导,并以其他形式减轻用户的负担。

CodeWeavers 使用开放源代码的 Wine 作为他们的 Crossover 产品的基础,所以,除非遇到上面我们讨论过的可用性问题,否则,在其中一个产品中能运行的应用程序,在另一个产品中同样也能运行。要深入了解 CodeWeavers 和 Crossover,以及要获得可以在 Wine 上运行的应用程序列表,请参阅在 参考资料 中列出的链接。

应用程序安装分析
由于 Wine 支持 Windows 可执行文件的运行,您会想当然地认为可以使用程序的安装程序从头安装,这是正常的。不幸的是,几乎不会那样。对 Windows 安装过程的理解将有助于解释原因。下面非常简单地描述了 Windows 安装程序通常要做的事情的(不必是这个次序):

将文件拷贝到一些目录。
注册 DLL,并将其他应用程序相关的信息添加到注册表中。
在安装过程中,有时会检查 DLL 的版本(如前面所提到的)。
修改 INI 和一些其他配置文件。
因而,Wine 会遇到两种类型的问题,必须按顺序解决:

安装过程中的问题。
执行过程中的问题。
在调试 Wine 安装的过程中,如果您同时有一个可用的 Windows 系统的话会非常有帮助。那样,您可以对 Windows 安装使用追踪器以确切断定哪些文件被拷贝,哪些注册表条目被添加或更新,哪个 INI 文件被修改,等等。记录安装步骤的顺序并与失败的 Wine 安装相比较,是故障诊断的好向导。

在 Linux 上安装 Wine
如果您正在使用 Red Hat 或者 SUSE,最简单的方法是从 CD 安装 Wine。不过,如果那些 CD 比较老,您可能需要通过源文件安装,因为 Wine 项目经常更新。如果通过源文件安装,您会发现 Wine 用户指南(参阅 参考资料 以获得链接)是一份价值无法估量的资料。简化的安装过程如下:

解开源文件后,切换到 tools 目录下以用户身份运行 ./tools/wineinstall。
在 tools 目录下运行 winecheck 脚本来检查安装。您可能不会获得 100% 的成功,但只要没有关键问题就行。
Wine 的所有配置都保存在 ~/.wine/config 文件中。这个文件很容易理解:它描述了您希望将 Linux 文件系统的哪部分看作是 Windows C 驱动器,以及 DLL 的加载次序等其他的细节。
您应该可以快速进行了。例如,要安装 WinZip 8.1,您可以下载安装程序并在命令行中运行 wine winzip81.exe。

快速浏览一下图 2 可以了解很多内容:您可以看到 WinZip 在运行,它的文件浏览器组件显示出熟悉的 Windows 驱动器 C、软盘驱动器 A、一个 CD-ROM M 以及另外的 Z 驱动器。您可以猜到,所有这些都映射在我们上面提到的 ~/.wine/config 文件中。下面是文件中与图 2 所示驱动器有关的片断:

清单 1. Wine 的配置文件



"Path" = "/mnt/floppy"
"Type" = "floppy"
"Label" = "FLOPPY1"
"Device" = "auto"


"Path" = "/home/aditya/aug14/3/c"
"Type" = "hd"
"Label" = "fake_windows"
"Filesystem" = "win2k"
"Codepage" = "0"


"Path"="/home/aditya/downloads/wine/"
"Type" = "hd"
"Label" = "wine src"
"Filesystem" = "win95"


"Path" = "/mnt/cdrom"
"Type" = "cdrom"
"Label" = "CD-ROM1"
"Filesystem" = "win95"
"Device" = "auto"


从这里您可以看到,图 2 中的 M 驱动器实际上是 /mnt/cdrom;C 驱动器是 /home/aditya/aug14/3/c;等等。

图 2. WinZip 和 Windows 驱动器

Windows 应用程序移植到 Linux 的一个例子
技术上讲,使 Windows 可执行文件在 Wine 中运行并不是移植,但是经常被认为是移植。这也是测试一个应用程序是否适合使用 Winelib 进行移植的好办法。要获得关于使用 Wine Winelib 库编译来移植源代码的资料,请参阅 参考资料 中关于 Winelib 用户指南的链接。

我们已经整理了一个非常简单的应用程序,来说明 Windows 程序如何在 Wine 中运行。程序创建了一个窗口;从一个 DLL 中加载了两个函数,有一些对话框。我们将继续使用非常简单的例子;作为实际应用中的例子,我们非常鼓励您用 MS Office 等大型应用程序进行同样的尝试。

同时,这个例子可以通过让您体验代码的运行来入门。

运行代码
示例 DLL 的源代码在 DLLCode 目录中,使用 DLL 的源代码在 callDll 目录中。要运行只需要将两者(DLL 文件和可执行文件)存放于同一目录下,并运行 callDll.exe。winetests 文件夹中的 README.TXT 文件描述了如何在 Linux 上 Wine 中执行那个二进制程序。

如果您愿意,可以随意打开项目文件并进行修改。

DLLCode 项目正确编译后,您可以在 Debug 文件夹中看到 DLLSample.dll 文件。这个文件是 callDll 项目所需要的。为了您的方便,DLLSample.dll 已经存放于 callDll 中正确的位置。您可以回顾图 1 中举例说明的 callDll 中产生的可执行文件的依赖;您可以使用 Dependency Walker 来查看其他程序的依赖(参阅 参考资料)。

比较
下面是对运行于 Windows XP 上的和运行于 Red Hat 的 GNOME 中的消息框(Message Box)视觉上的对比:

图 3. Windows XP 中的消息框

图 4. GNOME 中的消息框

对应于此的 C 代码(callDll.cpp 中第 60 行):

MessageBox(NULL, "Wine test ending...", "", MB_OK);

这提出了一些有趣的观察:

最明显的观察之一是,双方都支持消息框的使用;这是将 Windows 调用有可能映射为 Linux 中相应部分的因素之一。如果您在 Wine 源代码中搜索 MessageBox,您可以找到说明文件,文件中详细说明了哪些函数已经被实现,哪些被去除掉。
大小、字体、颜色和标题栏以及其他可视元素继承自底层操作系统设置的默认值。
从本文中所包括的追踪文件中,您可以看到这个函数是在 user32.dll 中实现的。如果您在文件中搜索字符串“Wine test ending”,您将更深入地理解到,当您在做一些与在消息框中显示字符串同样简单的事情时,幕后发生了多少事情。
既然我们已经看过了一个 Win32 函数,让我们来看一下,当 simpleDLL.dll 中实现的我们自己的函数之一被调用时,幕后发生了什么。我们将展示追踪记录中的片断来说明何时 simpleDll.dll 被加载,哪些函数被导出,在哪一点 getTitle() 函数被调用(按 README 文件中的步骤生成完全的追踪记录):

清单 2. 解析出我们的 DLL 的路径并检查 DLL 是否存在


0009:trace:module:MODULE_GetLoadOrder looking for
C:\documents\article-sample\simpleDLL.dll


清单 3. 这一行展示我们的 DLL 所导出的函数


Module name is simpleDLL.dll, 3 functions, 3 names

Ord    RVA   Addr   Name
   1 0000100a 0x1000100aadd
   2 0000100f 0x1000100fgetSize
   3 00001014 0x10001014getTitle


清单 4. 这里展示了 getTitle 被调用的位置


0009:CALL simpleDLL.getTitle(<unknown, check return>(0x40580000,00000002,00000040):
returning 405b7210
) ret=004010d4
0009:RETsimpleDLL.getTitle() retval=1002901c ret=004010d4


分析一个更大的应用程序或多或少与此相似,不过您当然会得到多得多的细节,会遇到没有被实现的函数,等等。故障诊断通常大概是提供缺少的 DLL 和调整配置;偶尔,您将需要去实现或修复一个函数。

结束语
如果您正在寻找将现有的 Windows 应用程序转移到 Linux 的方法,开放源代码的 Wine 和来自 CodeWeavers 的商用产品都是极好的选择。应用程序可以运行于 Wine 之上,或者使用 Winelib 工具包进行移植。

Wine 还为那些希望介入开放源代码软件的人们提供了一个独一无二的机会。从特别困难的到适合初学者的,有大量的各种复杂程度的项目——而且 Wine 社区非常活跃并提供非常多的支持。

参考资料

下载本文中演示的 示例应用程序。
自 Wine 下载页 获得 Wine 的二进制文件和源代码,通过 Wine 的官方 Web 站点 WineHQ 深入了解 Wine 及其 历史。
Wine 用户指南 将帮您起步。Chapter 7. Troubleshooting / Reporting bugs 中包括很多指向有用信息资料的链接,比如 Frank's Corner for tips and tricks;可以到 Wine Google Group 寻求帮助,到 dll-files.com 寻找缺少的 DLL —— 还有更多。
依赖浏览器和追踪工具将有力地帮助您让 Windows 二进制程序平滑到运行于 Wine 之上。Microsoft Platform SDK 中包括depends.exe Dependency Walker;在 Sysinternals 可以找到类似的工具;同时 Epsilon Squared 提供了一个非常好的 Windows 安装追踪工具。
DLL 不只会在 Wine 中引发问题;对 Windows 用户来说它们也是著名的问题源头。MSDN 文章 The End of DLL Hell 解释了原因。
Windows API 文档的缺乏是美国政府对 Microsoft 的反拖拉斯诉讼的内容。自由软件基金会(Free Software Foundation)首席法律顾问 Eben Moglen 在 Free Software Matters: Shaking Up The Microsoft Settlement 中讨论了 API 和解决条款。
除了 Wine 用户指南以外,WineHQ 文档页 上还列出了其他很多有用的文章。
在 WineHQ 查找现在的和以前的 Wine Weekly News 的话题。
Winelib 用户指南 涵盖了使用 Winelib 将您的应用程序移植到 Linux 和 Unix 所需要知道的所有内容。
Wine 应用程序数据库 列出了那些可以通过 Wine 运行于 Linux 上的 Windows 应用程序,并有很多它们的截图。
Francois Gouget 有很多 关于 Wine 的资料,包括如何做出贡献;为什么 Wine 重要;有趣的 Wine API 统计 以及更多资料!
CodeWeavers 的 Crossover 产品 基于 Wine。
WineX 也是构建于 Wine 源代码之上。WineX 的目标是为 DirectX 实现一个 Linux 兼容层,因此其名字中包含字母 X。
Wine 不是一个仿真器 —— 但是有很多可用的仿真器可以让您在 Linux 或 Unix 上运行 Windows 二进制程序。其中包括 VMWare 和 Win4Lin,这两个都是私有的;还有开放源代码的 Bochs 项目。使用这些程序,Windows 的一个拷贝可以运行于仿真器之上,这个仿真器会确保 Windows OS 所需要的硬件条件都得到满足。
用于交叉生成应用程序的 Xmingwin(developerWorks, 2003 年)让您只需要重新编译就可以将 Linux 应用程序移植到 Windows。
WebSphere Homepage Builder for Linux 需要 Keio 大学定制的 Wine 版本。
在 developerWorks Linux 专区 可以找到更多为 Linux 开发者准备的参考资料。
在 Developer Bookstore 的 Linux 区可以找到大量 关于 Linux 的书籍。
关于作者
Aditya Narayan 拥有坎普尔(Kanpur)印度科技大学(IIT)物理学理学学士学位和硕士学位,并创建了 QCD。他精通开放源代码软件开发,专于 Windows 和 Linux 内部构件、WebSphere 和 J2EE、.NET 等企业平台。Aditya 大部分时间在纽约度过。可以通过 aditya_pda@hotmail.com 与他联系。


Saugata Ghosh 是印度 QCD 的技术总监,为 QCD 管理一些项目。他是一位 Linux 专家,高度信仰开放源代码理论。除了其他事情外,他帮助将 Gnome 国际化为他的母语(孟加拉语)。Saugata 居住在加尔各答(Calcutta),他专于 Wine、Samba 和 J2EE。可以通过 qcd_saugata@hotmail.com 与 Saugata 联系。


Irina Singh 是 IBM 的一名软件架构师,她专注于各种平台上的 WebSphere 体系结构和实现,同时也是一位 Linux 狂热者。她有八年的软件应用程序架构和设计方面的经验,拥有坎普尔印度科技大学电子工程学(EE)理学学士学位。可以通过 irinas@us.ibm.com 与 Irina 联系。

Mephis 发表于 2005-7-2 13:09

Linux基础系列讲座

Linux基础系列讲座

前言

Linux是在1991年发展起来的与UNIX兼容的操作系统,可以免费使用,它的源代码可以自由传播且可任人修改、充实、发展,开发者的初衷是要共同创造一个完美、理想并可以免费使用的操作系统。

我们并不能使同学们通过这次系列讲座成为一个UNIX类操作系统的高手,这次系列讲座的目的就是在同学们中间普及Linux基础知识,为今后我们更加接近的了解Linux做一个好的开端。

第一讲 Linux基础

在这一讲中,我们主要是了解一下Linux的概况,以及对Linux有一个初步的感性认识。

一.什么是Linux?

Linux是一个以Intel系列CPU(CYRIX,AMD的CPU也可以)为硬件平台,完全免费的UNIX兼容系统,完全适用于个人的PC。它本身就是一个完整的32位的多用户多任务操作系统,因此不需要先安装DOS或其他的操作系统(MS Windows, OS2, MINIX..)就可以进行直接的安装。

Linux的最早起源是在1991年10月5日由一位芬兰的大学生Linux Torvalds (Torvalds@kruuna.helsinki.fi)写了Linux核心程序的0.02版开始的,但其后的发展却几乎都是由互联网上的Linux社团(Linux Community)互通交流而完成的。Linux不属于任何一家公司或个人,任何人都可以免费取得甚至修改它的源代码(source code)。Linux上的大部分软件都是由GNU倡导发展起来的,所以软件通常都会在附着GNU Public License(GPL)的情况下被自由传播。GPL是一种可以使你免费获得自由软件的许可证,因此Linux使用者的使用活动基本不受限制(只要你不将它用于商业目的),而不必像使用微软产品是那样,需要为购满许可证付出高价还要受到系统安装数量的限制。我在讲义的最后面附有GPL的非官方中文译稿。

目前Linux中国的发行版本(Linux Distribution)主要有Red Hat(红帽子), Slackware, Caldera, Debian, Red Flag(红旗), Blue Point(蓝点), Xteam Linux(冲浪), Happy Linux(幸福Linux), Xlinux等若干种,我推荐同学们使用的发行版本是Red Hat(事实标准)和Xlinux(安装最容易)。

二.安装Linux的好处?

Linux的核心具有Windows无法比拟的稳定性和高效率,在不使用X Windows的情况下,它占用系统资源较少,可以使一台Intel486摇身一变成为高效工作站。对于想要学习UNIX的用户来说,使他们熟悉UNIX操作环境,通往“骨灰级”高手境界的一大捷径。最重要的是,Linux上有公认的C语言世界最好的编译器gcc,如果你想得到一个效率更高的开发环境(并不一定是最友好的,但一定是最强大的),我建议你一定要好好的熟悉一下Linux。

三.如何得到Linux?

据我所知,大多数的Linux发行版本(Linux distribution)和核心(Kernel)都是可以从网上下载的,但是我不推荐易用这种方法得到Linux,因为仅仅核心就有几十个Mbit的数据量,而一个完整的发行版本大概都是1Gbit左右的数据量,你自己可以估计一下得用多少时间来下载它们?

我建议你最好去软件商店买光盘来,因为Linux的产品光盘是非常便宜的,连带许可证GPL在内你大概支付50元人民币就可以,而具有同样功能的Windows NT 4.0你至少得付出17000元人民币(有一点需要声明:在你购买光盘时GPL许可证你是不会肉眼看到的)。直接到商店去买,可以省去你很多麻烦,因为从网上下载的Linux有很多它还是要求你有光盘刻录工具将安装文件刻到光盘上。

四.如何得到Linux的最新消息?

关于Linux的站点现在到处都是,我这里向大家推荐的是一个关于Linux核心最新消息的一个网站,你可以得到核心(Kernel)发展情况的最新信息。网址如下:

http://www.kernel.org

另外还有一个非常著名的讨论组,你也可以去看看:

http://www.linuxforum.net

另外还有一个我常去的讨论组,这个讨论组是有高手专门维护的,而且回应贴子的速度很快:

http://www.coventive.com.cn/club/default.htm

在我这份讲义快写完的时候,又有一个非常好的自由软件团体出现了,那就是AKA,大家可以到他们的网页上去看看,里面有许多很实用的信息:

http://www.aka.org.cn

五.Linux操作系统上有什么应用?

Linux上有丰富的的应用软件,在这里我给大家做一个简单的介绍,具体它们是什么样子我会在讲座上为大家一一演示。

文本处理方面(控制台界面,X Window界面在后面介绍)

l         vi

最令UNIX类操作系统初学者裹足不前的editor,然而只要你习惯于操作,你会觉得它比任何的editor都好用,且功能强大。

l         pico

一种风格很像Microsoft DOS的EDIT的一种文本编辑器。

中文化方面

XCIN+Crxvt

缺省的Linux系统是不支持显示中文的,虽然现在国内涌现出许多著名的Linux汉化厂商,但是一些著名的Linux distribution如Red Hat、Debian、Caldera仍然不支持中文的输入和输出。这套汉化工具组合在控制台(console)方式和X Window方式下都可以显示和输入汉字信息。

l         Cxterm

可以很容易的自行设置输入法,或者修改现有的输入法表格。

视窗界面(window manager)方面

l         KDE

这是X Window System使用率最高的Window Manager。

l         Fvwm

公认的最为好用的Window Manager之一。

l         Fvwm95

拥有和Microsoft Win95 同样界面的Window Manager。

l         Afterstep

公认的最好看的Window Manager,但号内存也很大。

l         Enlightenment

界面最华丽的Window Manager, Win95和它相比简直就是nothing,但是号内存太大,有点华而不实。

l         Icewin

又一个极富个性的Window Manager。

视窗应用软件方面

l         WWW Browser

Netscape公司的navigator3.x和communicator4.x版可用,使用方法和MS Windows上一样。

l         图像处理

GIMP是类似于Photoshop的绘图软件,号称是Linux上最强的绘图软件。

l         看图工具

l         MTV

这是一个可以播放VCD的软件,但是它是共享软件(Shareware),不是免费软件,我们也得不到它的源代码。

l         Star Office

这是一套著名的办公软件,我个人认为它无论在界面上还是在功能上都强于Microsoft Office产品。唯一的缺憾是他不支持汉字,无论GB还是BIG5。

l         Word Perfect

这是一个非常精彩的字处理软件,功能类似于Microsoft Word。

l         文杰字处理系统

这是一套由韩国人开发的字处理系统,功能强大,有专门的中文版推出,类似于Microsoft Word。

编译环境

l         gcc

公认的C语言世界中功能最为强大的编译器,但是界面不是很友好。

l         除此之外还有FORTRAN、Pascal、GNU make、GNU debugger、GNU LISP、GNU PERL、TCL。

这里因为本人对这些编译工具都不熟悉,因此不多介绍。

MS Windows的模拟环境

l         WINE

可以使绝大多数的16位MS Window程序运行在这个模拟环境中。但是不支持32位的程序。

六.在那里可以找到讨论区?

大家最熟悉的是北邮的BBS: 202.204.7.235 port:23

另外还有如下著名讨论区:

七.安装过程

这是非常重要的一部分,希望大家仔细了解本部分内容。

就我个人认为,对于初学者来说,Linux的安装过程是相当难的,新手往往会遇到系统屡装不成的情况。遇到这种事情,是非常痛苦的,但是几乎每个新手又都会遇到,因此我觉得安装过程应当仔细的说明一下。但是由于篇幅有限,我不见这个这个问题在讲义的正文中陈述,而是把它放在附文2中仔细说明。希望没有安装过Linux的同学们将这篇文章看一看。我想在上课的时候我会给大家演示一遍安装的过程。

第二讲 Linux基础进阶

经过上一节课的探讨,我想同学们应该对Linux有了一个初步的感性认识,但我们的认识还只是处在一个尚需进步的表层上。通过这一节的学习,同学们会对Linux的体系结构,它的基本操作,基本功能有一个更进一步的认识。

一.Linux的文件系统结构

    Linux的文件系统和MS-Windows的文件系统有很大的不同,对于微软视窗系统的文件结构我在这里不再多说,我们主要了结一下linux的文件系统结构.

    linux只有一个文件树,整个文件系统是以一个树根"/"为起点的,所有的文件和外部设备都以文件的形式挂结在这个文件树上,包括硬盘,软盘,光驱,调制解调器等,这和以"驱动器盘符为基础的MS-Windows系统是大不相同的.

    Linux的文件结构体现了这个操作系统简洁清析的设,常我们能够接触到的linux发行版本的根目录大都是以下结构:

    /bin   /etc   /lost+found   /sbin   /var   /boot/root

    /home    /mnt   /tmp   /dev   /lib   /proc   /usr

    现在我将这些目录给大家做一个简要的介绍:

l         /bin和/sbin

    使用和维护UNIX和Linux系统的大部分基本程序都包含在/bin和/sbin里,这两个目录的名气之所以包含bin,是因为可执行的程序都是二进制文件(binary files).

    /bin目录通常用来存放用户最常用的基本程序,如:

    login

    Shells

    文件操作实用程序

    系统实用程序

    压缩工具

    /sbin目录通常存放基本的系统和系统维护程序,如:

    fsck    fdisk    mkfs    shutdown    lilo    init

    存放在这两个目录中的程序的主要区别是:/sbin中的程序只能由root(管理员)来执行.

l         /etc

    这个目录一般用来存放程序所需的整个文件系统的配置文件,其中的一些重要文件如下:

    passwd    shadow    fstab    hosts    motd    profile    shells    services

lilo.conf

l         /lost+found

这个目录专门是用来放那些在系统非正常菪机后重新启动系统时,不知道改网哪里恢复的“流浪”文件的。

l         /boot

这个目录下面存放着和系统启动有关系的各种文件,包括系统的引导程序和系统核心部分。

l         /root

这是系统管理员(root)的主目录。

l         /home

    系统中所有用户的主目录都存放在/home中,它包含实际用户(人)的主目录和其他用户的主目录.Linux同UNIX的不同之处是,Linux的root用户的主目录通常是在/root或/home/root,而UNIX通常是在/。

l         /mnt

    按照约定,像CD-ROM,软盘,Zip盘,或者Jaz这样的可以动介质都应该安装在/mnt目录下,/mnt目录通常包含一些子目录,每个子目录是某种特定设备类型的一个安装点。例如:

    /cdrom   /floppy   /zip   /win....

    如果我们要使用这些特定设备,我们需要用mount命令从/dev目录中将外部设备挂接过来。在这里大家可能看到了有一个win的目录,这是我的机子上面做的一个通向windows文件系统的挂接点,这样我通过访问这个目录就可以访问到我在windows下面的文件了。但如果你的windows文件系统是NTFS格式,那么这个办法就不行了。

l         /tmp和/var

    这两个目录用来存放临时文件和经常变动的文件。

l         /dev

    这是一个非常重要的目录,它存放着各种外部设备的镜像文件,其中有一些内容我们是要牢牢记住的。例如第一个软盘驱动器的名字是fd0;第一个硬盘的名字是hda,硬盘中的第一个分区是hda1,第二个分区是hda2;第一个光盘驱动器的名字是hdc;此外,还用modem和其他外设的名字,在这么多的名字中,我们只需要记住最最常用的那几个外设就可以了。

l         /usr

按照约定,这个目录用来存放与系统的用户直接相关的程序或文件,这里面有每一个系统用户的主目录,就是相对于他们的小型“/”。

l         /proc

这个目录下面的内容是当前在系统中运行的进程的虚拟镜像,我们在这里可以看到由当前运行的进程号组成的一些目录,还有一个记录当前内存内容的kernel文件。

    就个人经验,我认为这些目录以及在它们下面应该存储什么内容,我们都应当很熟练的记下来,这对于我们进一步的使用系统是很有帮助的。

二.Linux的文件类型

    本来我是想把基本操作命令放在这里介绍一下,但是这些命令中又不少是涉及到文件类型的,所以我就只好先介绍一下文件类型了。

    Linux的文件类型大致可分为五类,而且它支持长文件名,不论是文件还是目录名,最长可以达到256个字节。如果你能够用128个汉字写一片小作文,那你也可以用它来做某个文件的文件名(当然这里面不能有不合规定的命名字符存在)。

1.一般性文件

    一般性文件,例如纯文本文件mtv-0.0b4.README,设置文件lilo.conf,记录文件ftp.log等等都是。一般类型的文件在控制台的显示下都没有颜色,系统默认的是白色。

2.目录

    至于目录是什么意思我就不解释了,我的任务是要告诉大家,你可以用cd+目录名进入到这个目录中去,而这个目录在控制台下显示的颜色是蓝色的,非常容易辨认。如果你用ls -l来观看它们,会发现它们的文件属性(共10个字符)的一个字符是d,这表明它是一个目录,而不是其它的东西。

三.Linux基本操作命令

    首先介绍一个名词“控制台(console)”,它就是我们通常见到的使用字符操作界面的人机接口,例如dos。我们说控制台命令,就是指通过字符界面输入的可以操作系统的命令,例如dos命令就是控制台命令。我们现在要了解的是基于Linux操作系统的基本控制台命令。

有一点一定要注意,和dos命令不同的是,Linux的命令(也包括文件名等等)对大小写是敏感的,也就是说,如果你输入的命令大小写不对的话,系统是不会做出你期望的响应的。

l         ls

    这个命令就相当于dos下的dir命令一样,肯定是我第一个就要介绍的,这也是Linux控制台命令中最为重要几个命令之一。ls最常用的参数有三个: -a -l -F。

    ls -a

    Linux上的文件以.开头的文件被系统视为隐藏文件,仅用ls命令是看不到他们的,而用ls -a除了显示 一般文件名外,连隐藏文件也会显示出来。

    ls -l(这个参数是字母L的小写,不是数字1)

    这个命令可以使用长格式显示文件内容,如果需要察看更详细的文件资料,就要用到ls -l这个指令。例如我在某个目录下键入ls -l可能会显示如下信息(最上面两行是我自己加的):

    位置1      2         3      4            5      6                7

    文件属性   文件数    拥有者   所属的group文件大小 建档日期         文件名

    drwx------   2         Guest    users      1024   Nov 21 21:05   Mail

    -rwx--x--x   1         root   root         89080    Nov7 22:41   tar*

    -rwxr-xr-x   1         root   bin          5013   Aug 159:32   uname*

    lrwxrwxrwx   1         root   root         4      Nov 2419:30    zcat->gzip

    -rwxr-xr-x   1         root   bin          308364   Nov 29   7:43    zsh*

-rwsr-x---   1         root   bin          9853   Aug 15   5:46    su*

    下面,我为大家解释一下这些显示内容的意义。

    第一个栏位,表示文件的属性。

    Linux的文件基本上分为三个属性:可读(r),可写(w),可执行(x)。但是这里有十个格子可以添(具体程序实现时,实际上是十个bit位)。第一个小格是特殊表示格,表示目录或连结文件等等,d表示目录,例如drwx------;l表示连结文件,如lrwxrwxrwx;如果是以一横“-”表示,则表示这是文件。其余剩下的格子就以每3格为一个单位。因为Linux是多用户多任务系统,所以一个文件可能同时被许多人使用,所以我们一定要设好每个文件的权限,其文件的权限位置排列顺序是(以-rwxr-xr-x为例):

    rwx(Owner)r-x(Group)r-x(Other)

这个例子表示的权限是:使用者自己可读,可写,可执行;同一组的用户可读,不可写,可执行;其它用户可读,不可写,可执行。另外,有一些程序属性的执行部分不是X,而是S,这表示执行这个程序的使用者,临时可以有和拥有者一样权力的身份来执行该程序。一般出现在系统管理之类的指令或程序,让使用者执行时,拥有root身份。

第二个栏位,表示文件个数。

如果是文件的话,那这个数目自然是1了,如果是目录的话,那它的数目就是该目录中的文件个数了。

第三个栏位,表示该文件或目录的拥有者。

若使用者目前处于自己的Home,那这一栏大概都是它的账号名称。

第四个栏位,表示所属的组(group)。

每一个使用者都可以拥有一个以上的组,不过大部分的使用者应该都只属于一个组,只有当系统管理员希望给予某使用者特殊权限时,才可能会给他另一个组。

第五栏位,表示文件大小。

文件大小用byte来表示,而空目录一般都是1024byte,你当然可以用其它参数使文件显示的单位不同,如使用ls –k就是用kb莱显示一个文件的大小单位,不过一般我们还是以byte为主。

第六个栏位,表示创建日期。

以“月,日,时间”的格式表示,如Aug 15 5:46表示8月15日早上5:46分。

第七个栏位,表示文件名。

我们可以用ls –a显示隐藏的文件名。

Ls –F(注意,是大写的F)

使用这个参数表示在文件的后面多添加表示文件类型的符号,例如*表示可执行,/表示目录,@表示连结文件,这都是因为使用了-F这个参数。但是现在基本上所有的Linux发行版本的ls都已经内建了-F参数,也就是说,不用输入这个参数,我们也能看到各种分辨符号。

l         cd命令

这个命令是用来进出目录的,它的使用方法和在dos下没什么两样,所以我觉得没什么可说的,但有两点我补充一下。

首先,和dos不同的是Linux的目录对大小写是敏感的,如果大小写没拼对,你的cd操作是成功不了的。

其次,cd如果直接输入,cd后面不加任何东西,会回到使用者自己的Home Directory。假设如果是root,那就是回到/root.这个功能同cd ~是一样的。

l         mkdir,rmdir命令

mkdir命令用来建立新的目录,rmdir用来删除以建立的目录,这两个指令的功能不再多加介绍,他们同dos下的md,rd功能和用法都是基本一样的。

l         cp命令

这个命令相当于dos下面的copy命令,具体用法是:

cp –r 源文件(source)目的文件(target)

参数r是指连同元文件中的子目录一同拷贝。熟悉dos的读者用起这个命令来会觉得更方便,毕竟比在dos下面要少敲两下键盘。

l         rm命令

这个命令是用来删除文件的,和dos下面的rm(删除一个空目录)是有区别的,大家千万要注意。Rm命令常用的参数有三个: -i,-r,-f。

比如我现在要删除一个名字为text的一个文件:

rm –i test

系统会询问我们:“rm:remove ‘test’?y”,敲了回车以后,这个文件才会真的被删除。之所以要这样做,是因为linux不象dos那样有undelete的命令,或者是可以用pctool等工具将删除过的文件救回来,linux中删除过的文件是救不回来的,所以使用这个参数在删除前让你再确定一遍,是很有必要的。

rm –r 目录名

这个操作可以连同这个目录下面的子目录都删除,功能上和rmdir相似。

rm –f 文件名(目录名)

这个操作可以进行强制删除。

l         mv命令

这个命令的功能是移动目录或文件,引申的功能是给目录或文件重命名。它的用法同dos下面的move基本相同,这里不再多讲。当使用该命令来移动目录时,他会连同该目录下面的子目录也一同移走。另外因为linux下面没有rename的命令,所以如果你想给一个文件或目录重命名时可以用以下方法:

mv 原文件(目录)名新的文件(目录)名

l         du,df命令

du命令可以显示目前的目录所占的磁盘空间,df命令可以显示目前磁盘剩余的磁盘空间。

如果du命令不加任何参数,那么返回的是整个磁盘的使用情况,如果后面加了目录的话,就是这个目录在磁盘上的使用情况(这个功能可是dos没有的呦)。不过我一般不喜欢用du,因为它给出的信息是在是太多了,我看不过来,而df这个命令我是最常用的,因为磁盘上还剩多少空间对我来说是很重要的。

l         cat命令

这个命令是linux中非常重要的一个命令,它的功能是显示或连结一般的ascii文本文件。cat是concatenate的简写,类似于dos下面的type命令。它的用法如下:

cat text                   显示text这个文件

cat file1 file2            依顺序显示file1,file2的内容

cat file1 file2>file3      把file1,file2的内容结合起来,再“重定向(>)”到file3文件中。

“〉”是一个非常有趣的符号,是往右重定向的意思,就是把左边的结果当成是输入,然后输入到file3这个文件中。这里要注意一点是file3是在重定向以前还未存在的文件,如果file3是已经存在的文件,那么它本身的内容被覆盖,而变成file1+file2的内容。

如果〉左边没有文件的名称,而右边有文件名,例如:

                   cat >file1

结果是会“空出一行空白行”,等待你输入文字,输入完毕后再按+或+,就会结束编辑,并产生file1这个文件,而file1的内容就是你刚刚输入的内容。这个过程和dos里面的copy con file1的结果是一样的。

另外,如果你使用如下的指令:

                   cat file1>>file2

这将变成将file1的文件内容“附加”到file2的文件后面,而file2的内容依然存在,这种重定向符〉〉比〉常用,可以多多利用。

l         more,less命令

这是两个显示一般文本文件的指令。

如果一个文本文件太长了超过一个屏幕的画面,用cat来看实在是不理想,就可以试试more和less两个指令。More指令可以使超过一页的文件临时停留在屏幕,等你按任何的一个键以后,才继续显示。而less除了有more的功能以外,还可以用方向键往上或网下的滚动文件,所以你随意浏览,阅读文章时,less是个非常好的选择。

l         clear命令

这个命令是用来清除屏幕的,它不需要任何参数,和dos下面的clr具有相同的功能,如果你觉得屏幕太紊乱,就可以使用它清除屏幕上的信息。

l         pwd命令

这个命令的作用是显示用户当前的工作路径,这个命令不用多说,大家一试即知。

l         ln命令

这是linux中又一个非常重要命令,请大家一定要熟悉。它的功能是为某一个文件在另外一个位置建立一个同不的链接,这个命令最常用的参数是-s,具体用法是:

                           ln –s 源文件目标文件

当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。例如:

                           ln –s /bin/less/usr/local/bin/less

                           -s 是代号(symbolic)的意思。

这里有两点要注意:第一,ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化;第二,ln的链接又软链接和硬链接两种,软链接就是ln –s ** **,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬链接ln ** **,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。

如果你用ls察看一个目录时,发现有的文件后面有一个@的符号,那就是一个用ln命令生成的文件,用ls –l命令去察看,就可以看到显示的link的路径了。

l         man命令

如果你的英文足够好,那完全可以不靠任何人就精通linux,只要你会用man。Man实际上就是察看指令用法的help,学习任何一种UNIX类的操作系统最重要的就是学会使用man这个辅助命令。man是manual(手册)的缩写字,它的说明非常的详细,但是因为它都是英文,看起来非常的头痛。建议大家需要的时候再去看man,平常吗,记得一些基本用法就可以了。

l         logout命令

一看就知道了,这是退出系统的命令,我就不多说了。要强调的一点是,linux是多用户多进程的操作系统,因此如果你不用了,退出系统就可以了,关闭系统你就不用操心了,那是系统管理员的事情。但有一点切记,即便你是单机使用linux,logout以后也不能直接关机,因为这不是关机的命令。

四.基本的系统管理命令

系统管理基本上可以分为两种,一种是root(系统管理员)对linux的系统管理部分,root本身的职责就是负责整个linux系统的运行稳定,增加系统安全性,校验使用者的身份,新增使用者或删除恶意的使用者,并明确每一个在机器上的使用者权限等等。另一种就是每一个使用者(包括root)对自己文件的权限管理。因为linux是多用户多任务系统,每一个使用者都有可能将其工作的内容或是一些机密性的文件放在Linux工作站上,所以对每个文件或是目录的归属和使用权,都要有非常明确的规定。下面我就按管理员和一般用户分类来介绍基本的系统管理命令。

1.   管理员使用的系统管理指令

l         adduser命令

新增使用者账号的命令,如果你想新增一个叫做jack的用户,那么需在控制台下输入:

adduser jack

这样就增加了一个名字为jazk的用户,要注意这里对大小写是敏感的。另外,新增的用户是没有口令的,你还应当为用户设置口令或者是吩咐用户在第一次登录系统的时候为自己设置口令。

l         passwd命令

这个命令可以修改特定用户的口令,使用格式是:

passwd 用户名

这是,系统会提示你输入新密码,你输入第一遍后,还要输入第二遍进行确认。输入两遍相同的密码之后,系统就接受了新的密码。如果这个命令是一般用户来使用的话,那就只能改变它自己的密码。

l         find,whereis,locate命令

这三个命令都是用来查找文件的,使用格式是:

find路径名称   -name文件名参数(我们这里就不讨论参数了)

whereis 文件名

locate文件名

一般来说,find命令功能最为强大,但是对硬件的损耗也是最大的,当你使用find去查找你个文件时,你会发现硬盘等在不停的闪动,这就意味着你的硬盘可能会比别人的少用个三四年。当你使用whereis或locate去查找文件时,你会发现硬盘却是安安静静的,这是因为这两个命令是从系统的数据库中查找文件,而不是去拼命的读硬盘。所以,如果平常你只是想找一些笑文件的话,使用whereis或locate就可以了,如果你是要进行系统管理的工作,那么使用find再加上一些参数就可以满足你的要求了。

l         su命令

这个命令可以让普通用户变成具有管理员权限的超级用户(superuser),只要它知道知道管理员的密码就可以。多用户多任务系统的强调的重点之一就是系统的安全性,所以应避免直接使用root身份登录系统去做一些日常性的操作,因为时间一久root密码就有可能被知道而危害到系统安全。所以平常应避免用root身份登录,即使要管理系统,也请尽量使用su指令来临时管理系统,然后记住定期的更换root密码。

加入你现在是以一个普通用户的身份登录系统,现在你输入:

su

系统会要求你输入管理员的口令,当你输入正确的密码后,就可以获得全部的管理员权限,这是你就是超级用户(superuser)。但你执行完各种管理操作以后,只要输入logout就可以退回到原先的那个普通用户的状态。

l         shutdown,halt命令

这两个命令是用来关闭linux操作系统的。

在前面我说过,作为一个普通用户是不能够随便关闭系统的,因为虽然你用完了机器,可是这时候可能还有其它的用户正在使用系统。因此,关闭系统或者是重新启动系统的操作只有管理员才有权执行。另外linux系统在执行的时候会用部分的内存作缓存区,如果内存上的数据还没有写入硬盘,就把电源拔掉,内存就会丢失数据,如果这些数据是和系统本身有关的,那么会对系统造成极大的伤害。一般,我们建议在关机之前执行三次同步指令sync,可以用分号“;”来把指令合并在一起执行,如:

# sync;sync;sync

使用shutdown关闭系统的时候有以下几种格式:

shutdown         (系统内置2分钟关机,并传送一些消息给正在使用的user)

shutdown –h now    (下完这个指令,系统立刻关机)

shutdown –r now    (下完这个指令,系统立刻重新启动,相当于reboot)

shutdown –h 20:25(系统会在今天的20:25关机)

shutdown –h +10    (系统会在十分钟后关机)

如果在关机之前,要传送信息给正在机器上的使用者,可以加“-q”的参数,则会输出系统内置的shutdown信息给使用者,通知他们离线。

halt命令就不用多说了,只要你输入halt,系统就会开始进入关闭过程,其效果和shutdown –h now是完全一样的,我每次关机的时候都是用halt。

l         reboot命令

一看这个词,就知道这个命令是用来重新启动系统的。

当你输入reboot后,你就会看到系统正在将一个一个的服务都关闭掉,然后再关闭文件系统和硬件,接着机器开始重新自检,重新引导,再次进入linux系统。

2.普通用户使用的系统管理指令

l         chown命令

这个命令的作用是改变文件的所有者。

如果你有一个文件名为classment.list的文件,所有权要给于另一个账号为golden的同学,则可用chown来实现这个操作,但是当你改变了文件的所有者以后,该文件虽然在你的Home目录下,可是你已经无任何修改或删除该文件的权限了,这一点同学们千万要注意。通常会用到这个指令的时机,应该是你想让linux机器上的某位使用者到你的Home下去用谋个文件是会用到。不过,泼出去的水就收不回来了,你用这个命令的时候可一定要想清楚呦。

l         chmod命令

这个命令用来改变目录或文件的属性,是linux中一个应当熟悉的命令。

对这个命令,使用的方法很多,鉴于篇幅的原因,我只例出其中我最常用的一种。前面讲过,一个文件用10个小格来记录文件的权限。前三个小格是拥有者(user)本身的权限,中间三个小格是和使用者同一组的成员(group)的权限,最后三个小格是表示其它使用者(other)的权限。现在我们用三位的2进制数来表示相应的三小格的权限,例如:

111rwx       101r-x   011 –wx    001 –x    100r—

这样一来,我们就可以用三个十进制的数来表示一个文件属性位上的十个格,其中每一个十进制数大小等于代表每三格的那个三位的二进制数。例如,如果一个文件的属性是: rwxr—r--,那么我们就可以用744来代表它的权限属性;如果一个文件的属性是:rwxrwxr--,那它对应的三个十进制数就是774。这样一来我们就可以用这种简便的方法指定文件的属性了。例如,我想把一个文件test.list的属性设置为rwxr-x---,那么我只要执行:

chmod 750 test.list

就可以了,对于改变后的权限,你用ls –l就可以看到。

到这里,我们第二讲的内容就基本结束了,可以说,这一讲是比较无聊的,但它又是必不可少的。这里列出的仅仅是最最常用的控制台命令,要进一步的熟悉Linux操作系统,了解类UNIX操作系统的管理思想,我们还有很多要学习,有兴趣的同学可以参看其它的相关参考书籍。

第三讲 Linux下的网络服务,配置问题和常用工具

这一讲我们会接触到Linux下能够提供的一些典型的网络服务,大家会对这些服务有一个感性的认识,除此之外我们还会看到Linux下面一些非常重要的配置文件以及他们的用法。最后我们会看到Linux下面最常用的几个工具软件。

一.Linux下的网络服务

一般来说,各种操作系统在网络方面的性能比较是这样的顺序BSD>Linux>Win NT>Win 9X, 由此说来,Linux的网络功能仅次于UNIX,而强于Win NT和其它的视窗系列产品,对于Win2000我还不能评价太多,因为不是很熟。

Linux的网络功能除了基本的连线功能如telnet, ftp, rsh, login, finger等等以外,架设各种服务器的功能更把Linux网络功能发挥的淋漓尽致,下面我大概的为大家介绍一下Linux下的各种网络服务。

l         Mail Server

Email现在是网络上最重要的服务了,你可能没有用过FTP, BBS, INN,但是如果你连电子邮件都没有用过,那作为BUPT的一员,你得自己好好反省一下了。

现在又很多功能强大的mailserver供你选择,例如freemail.263.net, hotmail.com, freemail.sohu.com,等等,这些都是免费的。但这是从使用者角度来看,如果你是想为一个局域网内部提供一个交换电子邮件的服务,那它们对你来说可就是一笔巨款了,再说人家卖不卖给你还不好说呢。Linux下面最著名的mail server是Sendmail,它是一个负责监控和传送电子邮件的邮件代理程序,你使用它就可以在在一个小的局域网(例如宿舍网)里提供一个电子邮件服务,这是多么神奇的事情啊!使用Linux下面的MailServer最大的好处是性价比高,这些软件的功能强大,却又是完全免费的,我们完全不用去花几万元买一个功能有限还要按照人头收费的Exchange Server,或者是使用D版软件被别人扎脊梁骨。

l         Router和Gateway

如果你的计算机可以连接到外面的Internet上去,然而一些可以连接到你这台机器上的计算机却只能访问里面的局域网,那么你可以安装Router或Gateway的服务,这样别人就可以通过你的机器和外面的世界联系了。当然了,这么做的前提是你有一颗大公无私的信,要我就不行,我可舍不得把我的PIII的机器贡献给宿舍的网虫们。

l         Samba

在Windows横行的今天,Samba的出现对于Linux的茁壮成长是非常重要的,它大大拓宽了Linux的应用领域。Samba可以提供一种转换SMB(windows使用的一种信息格式)和NFS(Linux使用的一种信息格式)的服务,通过Samba, 运行Windows的工作站就可以同运行Linux的服务器之间进行通信,还可以 让网络上的使用者(包括Windows用户)共享一台打印机,这样Linux的服务器就可以运行在Windows的环境中了。

l         NFS Server

Linux还可以作为文件服务器,为网络上具有存取权限的Windows/Linux机器分享相同的文件系统,这样一来,不论是在Windows还是在Linux的网络中,Linux的文件服务器都能够发挥作用了。

l         Terminal Server

这种服务能够提供PPP/SLIP Dialup(包括multi-port,就是一台计算机连多个调制解调器上网),让一般的民用网络Moden使用者可通过Terminal Server与Internet连接起来。

l         BBS

在北邮如果你没有上过BBS(Bulletin Board System电子布告版)我会很吃惊的,202.112.101.44或者是202.204.7.235你至少应该去过一个吧?如果没有去过,那么赶快把这一课补上。关于BBS到底能做什么我就不多说了,我假定你已经知道了,现在网络上流行的免费BBS版本很多,著名的有Phoenix,Maple,Firebird,Pivot等等,这些都可以在Linux上使用。另外还有许多基于WWW的BBS,例如著名的跨平台的Motiff Community,可以非常稳定的在Linux下运行,这是“瘟都死”所不能比拟的。

l         WWW

在Linux下面也有功能强大的WWW服务器,你完全可以不必去使用又贵又不稳定的IIS。但是不可否认IIS

Mephis 发表于 2005-7-2 13:10

linux 输入法xsim安装方法

输入法xsim安装方法

希望此文能解决各位在安装xsim时遇上的问题

  从http://sourceforge.net/projects/xsim 可获得xsim,目前的稳定版本是0.3.9.4,强烈建议大家以root登录系统执行安装,这样可以避免一些莫名其妙的问题。

  首先请检查软件包是否安装完全。c++,db,db-devel是必需的,如果希望将状态窗口放在KDE的任务条上,系统中需要有kdelibs3-devel包。

  接下来检查locale,相信大家都是中文locale,如果你需要输入GBK汉字,让root用户也能使用xsim,或在英文环境中使用xsim,请修改locale配制文件,将对应内容修改如下:

  RC_LANG=”zh_CN.gbk”
  ROOT_USES_LANG=”yes”

  修改后重新登录使修改生效。好,现在正式进入安装进程。

  tar zxf xsim-0.3.9.4.tar.gz
  cd xsim-0.3.0.4
  ./configure --help *多看看选项,对你会有帮助的,比如你想安装xsim到其他目录./configure
  *默认cn-locale为gb2312,如果你的locale以改为gbk,加上选项--with-cn-locale=GBK
  *在KDE任务条上显示状态窗口,加上选项--enable-status-kde3
  *更改安装目录,如/opt,选项--prefix=/opt/xsim,默认目录是/usr/local/xsim

  make
  make install
  make install-data

  到此,xsim已经安装到你的机器中了,你可以打开控制台运行#xsim。


  看看是否出现“简”字,按ctrl space ,“简”字变绿,说明安装成功,否则,请重新启动机器试试。如果控制台提示找不到命令xsim,请在用户搜索路径中建立xsim的命令链接,这点至关重要,切记。

  如果你的机器只有自己用,运行chmod 666 /usr/local/xsim/dat/*,如果是多人使用,在$HOME下建立文件夹.xsim,cp /usr/local/xsim/etc/xsimrc和/usr/local/xsim/dat到.xsim中,修改.xsim/xsimrc,重新指定DICT_LOCAL的路径。

  为了让xsim在用户登录时自动运行,可以参照README.cn的方法,在$HOME/.kde/Autostart下建立文件链接xsim。但是有时这种方法会失败,为什么呢?关键在用户目录下的一个文件.xim,以前有个误解,有些用户认为装xsim必需先装xcin,其实不用。如果看见你的HOME目录中有.xim文件,就不要在./kde/Autostar中建立xsim的链接了,参照以下内容直接修改.xim中的相应内容:

  if type -p xcin > /dev/null 2>&1 ; then
  export XMODIFIERS="@im=xcin-$tmplang"
  LANG=$tmplang LC_ALL=$tmplang xcin &
  fi

  改为


  if type -p xsim > /dev/null 2>&1 ; then
  export XMODIFIERS=@im=XSIM
  xsim &
  fi

  改动后运行sh .xim,是不是一切都正常了?

  选字翻页健默认是< >,不适合我们在windows中的使用习惯,使用- +翻页参考我的xsimrc的设置:

  PREV_KEY "minus"
  NEXT_KEY "equal"
  在这个文件中还可以修改字体,我的字体设置为
  FONT_NAME "-adobe-helvetica-medium-r-*-*-14-*-*-*-*-*-iso8859-1,-misc-simsun-medium-r-*-*-14-*-*-*-*-*-gbk-0"

  **************************************************

  安装中的问题:我在configure时同时使用选项—with-cn-locale=GBK和—enable-status-kde3安装后导致启动xsim时KDE停止响应,当locale=GB2312时没有这种情况。如果你也遇上这种情况,只好去掉—enable-status-kde3重新编译安装了。

Mephis 发表于 2005-7-2 13:10

Linux下硬盘分区的最佳方案

Linux下硬盘分区的最佳方案

在对硬盘进行分区前,应该先弄清楚计算机担负的工作及硬盘的容量有多大,还要考虑到以下几个问题:


  第一点也是最重要的一点,要知道当前安装LILO的版本,因为LILO2.21及早期版本对硬盘大小有限制,如果安装LILO到1023磁道以外即8G的空间以外,LILO就无法启动。 但一些BIOS较老的机器,LINUX仍然无法突破1024磁道的限制,因此这些BIOS无法认出大于1024的硬盘空间。


  还需要考虑的问题有:
  · 是否限制用户可使用的磁盘空间大小?
  · 在系统中需要安装哪些软件?
  · 交换分区需要多大?
  · 系统是否有多个硬盘?
  下面,我们按系统工作性质的不同对分区的划分提出了一些建议。当然,根据实际情况,在满足系统工作需求的前提下,下面的分区大小也可以灵活的变动。

  基本工作站的分区方案

  假设系统的硬盘大小是10G。
  /boot 20M
  Swap 128M
  /root 9.85G
  建立一个20M的/boot分区是为了避免将系统内核文件放到1024磁道以外,如果将/boot做为root分区的一个子目录,内核文件就会安装在root分区的任何地方,因为硬盘的大小超过了8G,所以在启动时就有可能出现问题。建议将交换分区的大小设置为内存的两倍,在这里我们假设系统的内存为64M。最后我们将硬盘的剩余空间全部分给了root分区。

  Red Hat Linux 6.2 及其早期版本上的基本服务器硬盘分区方案

  这里的服务器我们假设只提供几种通用的服务,如WWW服务及FTP服务等几种服务,通过telnet登录的用户数很少。假设其硬盘大小为25G。
  /boot 20M
  Swap 128M
  / 10G
  /home 13G
  /var 2G
 
  在硬盘的最前面创建20M大小的/boot分区,原因同上。 交换分区的大小也是128M,因为内存的大小为64M。
  / ,即root分区设为10G这么大是因为其中有一个/usr目录,这个目录可能会占用很多硬盘空间,特别是在安装了X Server,运行图形界面的应用程序的时候。
  /home分区是硬盘中最大的分区,这似乎与我们假设系统用户数不多有些矛盾。实际上在/home目录下确实没有几个用户目录,但在Red Hat6.2及更早的版本中,Apache服务器和wu-ftpd FTP服务器被放在了/home/httpd及/home/ftp目录中。所以这个分区这么大也是有原因的。
  最后,/var目录独自占用了一个分区,因为系统的所有日志都写到了/var/log目录下,这将会占用很大的硬盘空间。如果系统日志记录得非常详细,整个目录很快会被写满,导致系统工作呆滞。当然,可以通过系统日志后台守护程序syslogd来修改日志配置,避免发生这种情况。

  Red Hat 7及以上版本的基本服务器分区方案

  这种情况同前一个方案的情况相同,不同的是LINUX版本为Red Hat 7.0及其以上版本。
  /boot 20M
  Swap 128M
  / 10G
  /var 15G

  与RedHat6不同,在RedHat7中HTTP服务和FTP服务的目录现在位于 /var/www/和/var/ftp/,因此/var分区有15G之大也就不难理解了。

  多用户服务器分区方案

  在这种服务器系统中,同时有多个用户通过telnet, ssh, rlogin或其方式在远程访问系统。系统中有三个35G的硬盘驱动器,总共有105G的磁盘空间 。系统中用到了RAID 5技术做数据冗余。这种情况下,管理员必须为每个用户分配磁盘空间。 对RedHat 6.2及更早的版本,分区如下:
  Disk 1:

  /boot 20M
  / 4G
  /var 3GB
  /home 27.98G

  Disk 2:

  swap 20MB
  / 4GB
  /var 3GB
  /home 27.98GB

  Disk 3:

  swap 20MB
  / 4GB
  /var 3GB
  /home 27.98GB

  这样分区的原因:首先,Disk1上的20M /boot分区不属于任何RAID阵列,否则如果你将/boot放至RAID阵列中,以后就不能系统内核升级了。
  为了方便管理,在其它两个硬盘中建立了20M的交换分区。这种服务器一般配有1G以上的内存,因此交换分区的大小不成问题。如果增大交换分区,就会减少RAID分区空间,所以20M是足够的。RAID分区的分组如下:

  · 1-A, 2-A, and 3-A 一起组成一个8G的 RAID 5 驱动器,做为/根目录打开。
  · 1-B, 2-B, and 3-B 组成 6GB的 RAID 5 驱动器,做为 /var目录。
  · 1-C, 2-C, and 3-C 组成 55.96GB RAID 5 驱动器, 做为 /home.目录。
  这种分配方案总共有55.96G的空间分配给所有用户及Apache和FTP服务,在/var下用6G空间用做记录日志、邮件,这么大的空间是足够的。
  如果安装Red Hat7或以上版本,应给/var分区更大的空间,因为它同时还存放着WEB和FTP服务的两个目录。

Mephis 发表于 2005-7-2 13:11

如何在Linux环境中使用USB存储器

如何在Linux环境中使用USB存储器

如何在Linux环境中使用USB接口的存储设备?这是各大电脑论坛上出现得比较多的一个问题,同此可见这也是摆在许多电脑玩家面前的一道难题。本文就为您提供一套完美的解决方案,通过下面的方法,您仅可以在Linux环境中方便地使用U盘、USB硬盘盒,而且还能将数码相机作为USB大容量存储器。这里就以Red Hat Linux 7.2为例,来一步一步地介绍如何在Linux环境中使用USB存储器。


  1.在X-Windows环境中打开“控制中心”,展开“信息→USB设备”控制台树,查看Linux是否已经正确识别您的USB存储器,如果没有看到USB设备信息,那么您就应该要检查USB端口是否已经在BIOS中打开,或USB存储器与电脑的物理连接有没有连接好了。


  2.在控制台状态下输入如下命令:

  fdisk -l /dev/sda

  注意:不要在sda后面加通配符“*”或“?”,否则运行命令后返回的信息将不正常。如果您有多个USB设备话,则设备名在Linux下分别表示为sda、sdb、sdc等。


    3.在/mnt目录下建立一个挂装USB存储器的目录:

  mkdir /mnt/usb

  4.然后再运行装载设备命令,将USB设备挂装到/mnt/usb目录下:

  mount -t msdos /dev/sda1 /mnt/usb

  注意:如果在第二步中显示您的USB设备的文件系统为FAT32,请使用mount -t vfat /dev/sda1 /mnt/usb命令装载USB设备。

  5.运行如下命令即可查看USB存储器中的文件信息:

  ls /mnt/usb

  然后您就可以像对待硬盘一样对USB存储器中的数据进行拷贝、删除等操作了。

  如果您不习惯于在控制台下敲敲打打,还可以在KDE桌面上建立一个指向USB存储器的快捷方式,用鼠标完成所有的文件操作,就像在Windows中一样简单,建立快捷方式的操作非常简单:用鼠标在桌面空白处单击鼠标,从弹出的快捷菜单中选择“新建/硬盘”,右键单击新创建的快捷方式,选择“属性”菜单命令,切换到“设备”选项卡,分别输入USB存储器的设备名称、安装点和文件系统类型,如图3所示。以后只需要单击该快捷方式即可方便地访问USB存储器了。

Mephis 发表于 2005-7-2 13:17

KDE3完全安装

KDE3完全安装

KDE是K Desktop Environment的简称,是linux下两个极优秀的
图形桌面环境之一(另一个是Gnome),它支持作为一个现代
图形操作环境的全部特征,如拖放操作等等。

经过了1.x和2.x系列的发展,已进入测试阶段的KDE3,无论是在
界面的亲和性上,还是在操作的易用性上,其华丽程度,足以和
发展了10年的Window Xp相比,例如:高亮显示的小图标比XP要好看得多。

虽然KDE3.0的stable(稳定)版还没出来,但其测试版却在网上,
爱好尝鲜的DIYer们却可以自由下载、编译、安装。和Window安装
不同的是,KDE的安装充分体现了的自己动手、解决问题的DIYer精神。

下面我们就来Step by Step的安装KDE3。




一:获取源代码

linux下的源代码都是用cvs服务器进行管理的。除了有一点难用,
cvs是一个几近完美的源代码管理程序,它让多人对一个源程序共同
进行开发,网上几乎所有的open source软件都是由cvs管理的。要
获得KDE3的最新源码,同样要用cvs,不过,我们只要用到cvs的一点
基本用法,很简单的。

1:要checkout(检出)KDE的源代码,先设置变量CVSROOT。

$export CVSROOT=:pserver:anonymous@anoncvs.kde.org:/home/kde

CVSROOT指出kde源码目录在网络上的地址。也可以编辑~/.bashrc
这个文件,加入
export CVSROOT=:pserver:anonymous@anoncvs.kde.org:/home/kde。

设置了CVSROOT后,就可以登陆cvs服务器了

$cvs login

提示输入密码时,直接按回车键。如果没有错误提示,就成功登陆了。

2:在自己的主目录下如下添加文件 .cvsrc,以简化马上要输入的命令。

$less .cvsrc

cvs -z4 -q

diff -u3 -p

checkout -P

update -dP

要安装最基本的kde系统,至少要如下3个包,qt-copy、kdelibs、
kdebase。如下输入命令: $cvs co qt-copy kdelibs kdebase

U qt-copy/COPYING

U qt-copy /Manifest

U qt-copy /README

(这只是完整的 cvs co 输出的一小段摘录)

co 代表着 .cvsrc中的checkout行,即与
$cvs -z4 co -P qt-copy kdelibs kdebase
相同,其中-z4表示gzip压缩的级别4在慢速连接上加快传输速度
。要升级时,在相应当目录下,键入命令:

$pwd

/your/path/to/qt-copy

$cvs update

这个命令将自动更新你的源代码。

.cvsrc中的update -dP 表示升级时,自动删除或添加目录。

在我56K猫的情况下,三个包用了大约两个小时。 二:编译安装

1:安装qt-copy包

首先,设置QTDIR变量,

#export QTDIR=/your/path/to/qt-copy

再编译,

#cd $QTDIR

#./configure --enable-debug --enable-thread --system-libjpeg --system-libpng
--qt-gif --system-zlib

这时,它会问你是否同意其许可证,回答yes并回车。

#gmake

如果没有错误的话,他会congratulation you。

对于—enable-debug,需要说明的是,该选项会使最终可执行文件变大十几倍,并使编译时间变长,在我毒龙750,DDR RAM 384M的电脑上,花了3—4个小时,最后生成了约400M的文件。如果你不想调试程序的话,最好取消该选项。

2:安装kdelibs

安装之前,最好先到http://rpmfine.net去下载libxml与libxml-devle、libxslt与libxslt-devel、pcre与pcre-devel的rpm 包装上。

然后,把如下行添加到你的.bashrc文件中:

export QTDIR=/your/path/to/qt-copy

export KDEDIR=/opt/kde

export PATH=$QTDIR/bin:$KDEDIR/bin:$PATH

export LD_LIBRARY_PATH=$QTDIR/lib:$KDEDIR/lib:$LD_LIBRARY_PATH

LD_LIBRARY_PATH表示系统要加载的库的路径。

以root权限运行命令

#mkdir /opt/kde

在进入到kdelibs目录:

#cd /your/path/to/kdelibs

由于是从cvs下载的源代码,需要运行

#make -f Makefile.cvs

#./configure --enable-debug --prefix=/opt/kde –disable-cups

--prefix=/opt/kde表示把生成的可执行文件安装到/opt/kde目录下;--disable-cups声明不需要打印机支持。

#make && make install

编译并安装。

3:安装kdebase

同安装kdelibs差不多,

#make -f Makefile.cvs

#./configure --enable-debug --prefix=/opt/kde

#make && make install

一切顺利的话,退出,再登陆,就可以看到KDE3那酷酷的界面了,可真漂亮啊!!!

如果要加入中文,需要co出kde-i18n包,但kde-i18n中包含了40多种语言包,我们只需要其中的zh_CN.GB2312这一个,这就要像下面这样做:

$cvs co kde-i18n

当出现U af/....时,按Ctrl+c中断cvs下载,再

$cvs co kde-i18n/zh_CN.GB2312

$cvs co debian

$cvs co script

再把kdelibs目录下的admin目录及其文件copy到kde-i18n下,

$cp -rf kdelibs/admin kde-i18n/

还要编辑kde-i18n目录下的subs文件,使他只剩下zh_CN.GB2312这一行,再

#make -f Makefile.cvs

#./configure --prefix=/opt/kde

#make && make install

安装好后,到control-centor中选择中文,万事就ok了!

假如你想将KDE完全装上,你还需要检出如下的包:

kdeadmin

kdegraphics

kdeartwork

kdemultimedia

kdenetwork

kdesdk

kdetoys

kdeutils

kdevelop

kdoc

kfte

klyx

kmusic

koffice

ksite

kdepim

kdebindings

kdeaddons




这些包的安装都很简单,一般用用

#make -f Makefile.cvs

#./configure --prefix=/opt/kde

#make && make install

就行了,但要注意一下安装的顺序。

Mephis 发表于 2005-7-2 13:21

浅谈如何学习linux

浅谈如何学习linux

一.为什么要学linux?
当然如果没有这种必要,请不要浪费时间




二.起步
你应该为自己创造一个学习linux的环境--在电脑上装一个linux或unix
问题1:版本的选择

北美用redhat,欧洲用SuSE,桌面mandrake较多,而debian是技术最先进的linux
开发人员中用debian的最多,其次是redhat,从全球linux各应用领域市场份额来看
无疑redhat是最多的,此外还有很多出名的发行版本,不再列举。
对于初学linux的人来说,我建议是使用redhat,原因如下:
1)现在很多书都是以redhat为例讲的,为了与书本协调一致
2)周围的人都用redhat,交流比较方便
3)redhat应用范围广,有典型性和代表性
4)它易于使用和安装,我们没有必要把时间浪费在“装系统”上
而应集中精力学习最有用的东西。

//注:现在觉得RH很死板,AS,ES等用在服务器上或许不错,
Personal desktop用mandrake,debian,suse都不错,笔者现在用Mandrake,因为她长得漂亮

如果你并不打算深入学习linux,而是有诸如适应北京市政府办公平台迁移到
linux上这种需要,那么中软,红旗等中文linux是不错的选择

我强烈建议:自己亲自动手把linux装到你的硬盘上,
你必须学会独立安装linux系统的技能,对于现在的版本来说,其实跟装WinXP一样简单

从此现在开始,请不要以windows的工作方式来考虑问题,
应该尝试挖掘linux身上的“天才unix”的气质。




三.进阶
掌握至少50个以上的常用命令
理解shell管道"|",文件流重定向">"及追加">>"等
熟悉Gnome/KDE等X-windows桌面环境操作
掌握.tgz.rpm.biz等软件包的常用安装方法
学习添加外设,安装设备驱动程序(比如modem)
熟悉Grub/Lilo引导器及简单的修复操作
熟悉系统固有目录的名称及公用
学会用mount命令访问其他文件系统
了解vi,gcc,gdb等常用编辑器,编译器,调试器
学习linux环境下的简单组网

建议:买一本不需要太厚的linux教材,大致可以满足要求
//现在的书越来越多了,还带很多图,我当时可没这么多书:)




四.高级应用

澄清一些概念:
linux的普通操作与真正的系统管理不能相提并论,后者需要很多知识

我个人认为比较重要几种linux语言


1.英语
即使你不学linux,我也强烈建议你学好英文
因为实质上计算机语言就是英文和字符,所谓的多国语言只是外部包装
你必须能无障碍的阅读大量的英文技术文档
在搜索引擎找到的英文网站和网页中熟练的检索
最好能有用英文直接交流的能力,
摆脱了这个障碍,你的学习和理解速度就能快很多,你就有机会拉开和别人的差距

2.shell
shell是命令解释器,是内核与用户界面交流通道,shell写的小脚本有点类似于win下的.bat
但shell比.bat强大的多,shell不只是解释命令,更是一种编程语言,有时候几百行的c用shell
几十行就能代替完成工作,因为shell的工作方式建立在系统已有的众多应用程序之上
这也是CS中的一个重要思想。
此外,shell可以实现工作自动化,这个概念也比较重要
sed,awk用来处理文本,历来很常用

3.Perl/PHP
漂亮的脚本, CGI的首选,比ASP好,应用面很广

4.C\C++
C、C++是linux/unix的核心语言,系统代码都是C写的

5.ASM
系统底层及内核,硬件,设备驱动程序,嵌入式开发都需要
//走核心路线的话,个人认为c\c++,asm最重要

6.Java,Python,Tcl,XML

*系统管理篇
在熟悉linux的基础上还需要掌握至少一种unix
我首推Solaris,其次是FreeBSD
比如运营级系统一般是Solaris+Oracle/DB2之类的
学习apache,ssh,sendmail/Qmail,proftp/vsftp,Samba,Squid,MySQL/PostgreSQL/Oracle,Bind
等各种应用服务器的构架及电子商务的应用
熟悉TCP/IP协议族,学习诸如apache+php+proftp+mysql+quota的实现以及大型局域网,分布式集群
等各种企业级应用解决方案
熟悉多用户管理,数据库管理,文件系统,逻辑存储管理,日志分析,备份与灾难数据修复
系统补丁,内核升级,以及在此基础上的防火墙构架等以保障系统安全在内的各种系统管理技能

我觉得,如果在此基础上再掌握路由/交换设备便是一个不错的系统管理员:D

各种基于linux的解决方案可参考相关书籍和文献,必要时用google或各大linux站点站内
搜索引擎寻找最新文档,以避免错误和漏洞
有几本技术大全和技术内幕我认为都是这方面不错的书

*深入学习linux

我个人理解的读linux内核需要的基础:
在此之前,希望先把应用层的东西学一下,那样会比较好理解
1.C
如果学过潭浩强的大学教科书(除了编几个数学模型好像什么也做不了的那种),
建议再看一下
《The C Programming Language》Second Edition这本圣经
/*如果想学缓冲区溢出,这点C的功力可能是不够的*/
还有,<C陷阱与缺陷>,<C专家编程>,<C\C++深层探索>
反正经典书看多了是没有坏处的:)

2.asm (AT&T语法,保护模式)
保护模式下的比较复杂,基本上每本讲内核的书都会有介绍
有80x86 Intel语法的基础就行,
有兴趣可以看看Intel的官方白皮书

3.数据结构(离散数学)
计算机专业的核心课程,重要性我就不说了

4.操作系统原理
看懂这个再去读linux吧

5.微机原理/组成原理(数字电路)
底层直接和硬件打交道,所以这个也要

6.了解linux/unix
我想至少你要会操作吧,了解unix的API

7.软件工程/编译原理

这方面的经典书去www.china-pub.com可以搜到很多
我觉得APUE这种书不适合初学者,还是先看看UPE之类的吧

APUE:
《advanced programming in the unix environment》
《unix环境高级编程》
作者:W.Richard.Stevens共有6本经典书,尊为“圣经”
他的书为全世界黑客所拜读!

UPE:《unix programming environment》
《unix编程环境》比较适合初学者的,深入浅出,
其中有一些比较重要的思想
另外,介绍linux下应用层编程的书也有很多,比如
<GNU\Linux编程指南>,redhat,redflag出的书...........
经典书还有很多很多......
操作系统:设计与实现 //交大的考研参考书目,讲Minix的
unix操作系统设计
4.4BSD操作系统设计与实现
昂莱氏unix源代码分析
ulk:understanding the linux kernel (2nd)深入理解linux内核
linux设备驱动程序 (2nd)
linux内核源代码情景分析
保护方式下的80386及其编程(次书已绝版,只有超星的电子版,如果谁能搞到纸书,清一定告诉我一下,非常感激!!!)

在这里你能明白"黑客"及"haching"一词所代表的真正意义
希望我写的这篇文章能造就更多的黑客,而不是骇客




五.一些资源
www.linuxforum.net //国内最高水平GNU站点
www.chinaunix.net //unix、系统管理的不错
www.linuxeden.com //下载软件不错
www.linuxaid.com.cn
www.linuxsir.org

其实还有很多,包括国外的




后记
很多东西诸如Java之类的我没有学过,所以没有资格发言
本文写给对学习linux感到迷茫的人,高手大可一笑而过
由于个人水平极其有限,难免有错误,望指正和补充

Mephis 发表于 2005-7-2 13:22

linux 找回忘记了的root口令(lilo/grub)

找回忘记了的root口令(lilo/grub)


三种办法:
A.在系统进入单用户状态,直接用passwd root去更改


B.用安装光盘引导系统,进行linux rescue状态,将原来/分区挂接上来,作法如下:
cd /mnt
mkdir hd
mount -t auto /dev/hdaX(原来/分区所在的分区号) hd
cd hd
chroot ./
passwd root
这样可以搞定


C.将本机的硬盘拿下来,挂到其他的linux系统上,采用的办法与第二种相同
rh8中
一. lilo
1. 在出现 lilo: 提示时键入 linux single
画面显示 lilo: linux single
2. 回车可直接进入linux命令行
3. #vi /etc/shadow
将第一行,即以root开头的一行中root:后和下一个:前的内容删除,
第一行将类似于
root::......
保存
4. #reboot重启,root密码为空
二. grub
1. 在出现grub画面时,用上下键选中你平时启动linux的那一项(别选dos哟),然后按e键
2. 再次用上下键选中你平时启动linux的那一项(类似于kernel /boot/vmlinuz-2.4.18-14 ro root=LABEL=/),然后按e键
3. 修改你现在见到的命令行,加入single,结果如下:
kernel /boot/vmlinuz-2.4.18-14 single ro root=LABEL=/
4. 回车返回,然后按b键启动,即可直接进入linux命令行
5. #vi /etc/shadow
将第一行,即以root开头的一行中root:后和下一个:前的内容删除,
第一行将类似于
root::......
保存
6. #reboot重启,root密码为空

Mephis 发表于 2005-7-2 13:22

解析Linux操作系统文件目录

解析Linux操作系统文件目录

随着Linux的不断发展,越来越多的人开始使用Linux,对于那些刚刚接触的人来说,恐怕最先感到困惑的就是那些“不明不白”的目录了。如果想熟练使用Linux,让Linux听命于自己,就必须掌握这些目录,下面就以Xteam公司的最新产品——XteamLinux 4.0为例,介绍一下在该系统下的目录。

  /bin bin是Binary的缩写。这个目录存放着最经常使用的命令。


  /boot这里存放的是启动Linux时使用的一些核心文件,包括一些链接文件以及镜像文件。

  /dev dev是Device(设备)的缩写。该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。

  /etc这个目录用来存放所有的系统管理所需要的配置文件和子目录。

  /home用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。

  /lib这个目录里存放着系统最基本的动态链接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。

  /lost+found这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。

  /mnt在这里面中有四个目录,系统提供这些目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/cdrom上,然后进入该目录就可以查看光驱里的内容了。

  /proc这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:

  echo 1 > /proc/sys/net/ipv4/icmp_echo_

  ignore_all。

  /root该目录为系统管理员,也称作超级权限者的用户主目录。

  /sbin s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。

  /tmp这个目录是用来存放一些临时文件的。

  我们要用到的很多应用程序和文件几乎都存放在usr目录下。具体来说:

  /usr/X11R6存放X-Windows的目录;

  /usr/games存放着XteamLinux自带的小游戏;

  /usr/bin存放着许多应用程序;

  /usr/sbin存放root超级用户使用的管理程序;

  /usr/doc Linux技术文档;

  /usr/include用来存放Linux下开发和编译应用程序所需要的头文件;

  /usr/lib存放一些常用的动态链接共享库和静态档案库;

  /usr/local这是提供给一般用户的/usr目录,在这里安装一般的应用软件;

  /usr/man帮助文档所在的目录;

  /usr/src Linux开放的源代码,就存在这个目录,爱好者们别放过哦;

  /var这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。如果你想做一个网站,你也会用到/var/www这个目录。

  本文简单讲解了一下目录的大致内容,如果想成为Linux高手,则还要进一步学习Linux下的这些目录。

Mephis 发表于 2005-7-2 13:23

LINUX常见问题解答

程序开发篇

0001
linux下调试core文件
gdb <progname> <core>
<progname>:出错产生core dump的可执行程序。
<core>: core dump的文件名,缺省是“core”


0002
gcc abc.c得到的a.out不能运行
./a.out

0003
c++ 编译时为什么出错信息说cout没定义
include头文件完后加入 using namespace std;

0004
新编译生成的gcc ,使用的标准连接库都在/usr/local/lib 下了,但使用的缺省的连接路径是 /usr/lib 怎样添加?(除了在每次编译时 增加 -L /usr/local/lib 以外)(sakulagi)
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
写到~/.bash_profile里面。

Mephis 发表于 2005-7-2 13:23

网络相关篇

0001
让apache的默认字符集变为中文
如果是1.*,vi httpd.conf
找到 AddDefaultCharset ISO8859-1 一行,改为AddDefaultCharset GB2312
如果是2.*的话,需要改动一个地方,vi httpd.conf
AddDefaultCharset ISO-8859-1 改为 AddDefaultCharset off

0002
永久更改ip
ifconfig eth0 新ip
然后编辑/etc/sysconfig/network-scripts/ifcfg-eth0,修改ip

0003
从Linux上远程显示Windows桌面(lnx3000)
安装rdesktop包

0004
手动添加默认网关
以root用户,执行: route add default gw 网关的IP
想更改网关
1 vi /etc/sysconfig/network-scripts/ifcfg-eth0
更改GATEWAY
2 /etc/init.d/network restart

0005
redhat 8.0上msn和qq
下载Gaim 0.58版:
www.linuxsir.org/gaim/gaim-0.58-2.i386.rpm
下载QQ插件 for gcc2.9版:
www.linuxsir.org/gaim/libqq-0.0.3-ft-0.58-gcc296.so.gz
将下载的文件放入/temp目录,然后将系统中已有的Gaim删除,即在终端仿真器中键入命令:rpm -e gaim。
开始安装
打开终端仿真器,继续执行下列命令安装Gaim 0.58版,即:
cd /temp (进入temp目录)
rpm -ivh gaim-0.58-2.i386.rpm (安装软件)
当安装成功后,你就可以在GNOME或KDE桌面建立Gaim图标了。
继续安装QQ插件,即键入命令:
gunzip libqq-0.0.3-ft-0.58-gcc296.so.gz (解压缩文件)
cp libqq-0.0.3-ft-0.58-gcc296.so /usr/lib/gaim (复制插件到gaim库目录中)
软件设置
首次启动Gaim 0.85版时,会出现的登录界面。先选择“插件”,在插件对话框中点击“加载”,分别将
libmsn.so和libqq-0.0.3-ft-0.58-gcc296.so文件装入,确认后关闭。然后再选择“所有帐号”,在
出现的帐号编辑器中继续点击“增加”,当出现的修改帐号页面时,我们就可以输入自己的QQ或MSN号
了,登录名填写QQ号码或MSN邮箱,密码填写对应的QQ或MSN密码,Alias填写自己的昵称,协议选择
相应的QQ或MSN,其他的设置按默认的即可。当全部设置完成后就可以登录使用了。

0006
查出22端口现在运行什么程序
lsof -i :22

0007
查看本机的IP,gateway, dns
IP:
以root用户登录,执行ifconfig。其中eth0是第一块网卡,lo是默认的设备
Gateway:
以root用户登录,执行netstat -rn,以0.0.0.0开头的一行的Gateway即为默认网关
也可以查看/etc/sysconfig/network文件,里面有指定的地址!
DNS:
more /etc/reslov.conf,内容指定如下:
nameserver 202.96.69.38
nameserver 202.96.64.38

0008
RH8.0命令行下轻松改变ping 的TTL值(cgweb)
#sysctl -w net.ipv4.ip_default_ttl=N
(N=0~255),若N>255,则ttl=0

0009
RH8.0命令行下轻松改变系统配置默认值(houaq)
编辑/etc/sysctl.conf, 例如,将
net.ipv4.ip_forward = 0
变为
net.ipv4.ip_forward = 1
重启后生效,用sysctl -a查看可知

0010
mount局域网上其他windows机器共享出的目录
mount -t smbfs -o username=guest,password=guest //machine/path /mnt/cdrom

0011
允许|禁止root通过SSH登陆(Fun-FreeBSD)
修改sshd_config ermitRootLogin no|yes

0012
让root直接telnet登陆
编辑/etc/pam.d/login,去掉
auth required /lib/security/pam_securetty.so 这句话

0013
在linux接adsl设备
需要一个运转正常的Linux + 至少一块网卡 + 宽带设备已经申请完毕,同时已经开通
前市场上大概有几种ADSL设备,他们工作的方式有一些细微的差别。
就是通过虚拟拨号来完成上网的这一过程,也就是利用pppoe设备来进行虚拟拨号的
叫作全向猫,就是一种加电后自动的进行拨号的工作,然后留给我们的接口是RJ45,
大连地区一般留给我们的网关都是10.0.0.2,这种设备最容易对付,最后是直接分配
给用户一个固定的IP,相对大家来说也比较容易对付
1.第一种需要进行拨号:
这几种设备都是通过eth接口与计算机进行通讯的,所以先将硬件设备的连接作好,尤
其是宽带猫的,一定要确认无误(否则一会儿要不去可不算我的事情)
然后启动系统,确认系统上是否安装rp-pppoe这个软件(通过rpm -qa|grep pppoe来查
找),如没有安装的用户,在光盘里或是到网上去down一个来,安装上后,以root用户
执行adsl-setup,这样就进入了adsl的资料的设定状态,要求输入申请宽带的用户名以
及其他一些信息,确认没有问题,接受直至最后(里面都是E文,但是一看即能懂,比
较简单,有关一个防火墙的设置,我一般都不用,选0,大家可以具体考虑)。
配置完成后,以root用户执行adsl-start,这样将进行adsl的拨号工作,正常就会一下
上线,如有什么具体问题,去看一下日志(/var/log/messages)里面告诉你什么了。
停掉adsl,执行adsl-stop就可以了(很简单的)
2.另外两种比较容易对付:
全向猫:只要将你的网卡的IP设置成一个10网段的IP,然后网关指到全向猫的IP
上(10.0.0.2),基本上不有太大的问题
固定IP:就像配置本地儿的网卡一样,将IP,网关,DNS都按申请来的填写上就可以搞定了

0014
让linux自动同步时间(shunz)
vi /etc/crontab
加上一句:
00 0 1 * * root rdate -s time.nist.gov

0015
linux的网上资源有哪些
国外
http://lwn.net/
http://www.tldp.org/
http://www.yolinux.com/(flying-dance big big pig)
http://www.justlinux.com/
http://www.linuxtoday.com/
http://www.linuxquestions.org/
http://www.fokus.gmd.de/linux/
http://www.linux-tutorial.info/
http://public.www.planetmirror.com/
http://www.freebsdforums.org/forums/
http://www.netfilter.org/documentation/
http://www-106.ibm.com/developerworks/linux/

国内
http://www.fanqiang.com/
http://www.linuxsir.com/
http://www.chinaunix.net/
http://www.linuxfans.org/(deadcat)
http://www.linuxeden.com/
http://www.linuxforum.net/
http://www.linuxaid.com.cn/
http://freesoft.online.sh.cn/
http://www-900.ibm.com/developerWor...nux/index.shtml
http://www.neweasier.com/software.html

0016
北京的培训点
http://www.milkyway.com.cn/

0017
改变telnet的端口
/etc/services这个文件里你可修改想要的端口号.重启守护进程

0018
终端模式有问题(sakulagi)
export TERM=vt100

0019
模仿超级终端,LINUX里什么程序连接路由器和交换机(alstone)
minicom

0020
ssh上来能不能不自动断线(wind521)
那是timetou的设置,修改TMOUT变量值

0021
用什么工具做入侵检测
snort

0022
Linux下检测程序内存泄漏的工具
cchecker或是efence库都可以

0023
linux下如何监视所有通过本机网卡的数据
tcpdump iptraf

0024
为什么root执行好多命令都说command not found
你一定是telnet上来d,然后su成root的吧,改改你的su命令格式,应该是su - root

0025
关闭用户的POP3权限(tiansgx)
把POP3的端口关了就可以了。 在文件/etc/services中找到这一行 pop-3 110/tcp 把这一行前加个#,把它注释掉就可以了。

0026
linux下播放flash动画(myxfc)
linux下播放flash动画用这个东西,不会造成浏览器的关闭(其他的插件不好用)
首先下载flash播放动画在linux的插件
http://www.collaborium.org/onsite/j...sh_linux.tar.gz
tar zxvf flash_linux.tar.gz
打开包之后,会看到Linux文件夹
在linux文件颊里有两个文件libflashplayer.so 和shockwaveflash.class,把这两个文件拷贝到你的浏览器里的插件里(浏览器不一样,插件的位置可能也不一样)
/usr/lib/mozilla-1.0.1/plugins,就可以了

0027
锁定wu-ftp用户目录(wangla)
编辑ftpaccess文件
restricted-uid *
这一句很重要,限制了ftp用户在自己的目录里。

Mephis 发表于 2005-7-2 13:24

网络无关篇

0001
修改主机名
vi /etc/sysconfig/network,修改HOSTNAME一行为HOSTNAME=主机名,重启后也能生效

0002
Ret Hat Linux启动到文字界面(不启动xwindow)
将/etc/inittab中 id:5:initdefault: 一行中的5改为3

0003
redhat的自动问题
在www.redhat.com/corp/support/errata/ 找到补丁,6.1以后的版本带有一个工
具up2date,它能够测定哪些rpm包需要升级,然后自动从redhat的站点下载并完成安装。

0004
windows下看linux分区的软件
Paragon.Ext2FS.Anywhere.2.5.rar和explore2fs-1.00-pre4.zip

0005
mount用法
fat32的分区 mount -o codepage=936,iocharset=cp936 /dev/hda7 /mnt/cdrom
iso文件 mount -o loop /abc.iso /mnt/cdrom
软盘 mount /dev/fd0 /mnt/floppy
USB闪存 mount /dev/sda1 /mnt/cdrom
所有/etc/fstab内容 mount -a
可以指定文件格式"-t 格式", 格式可以为vfat, ext2, ext3等.

0006
在vmware的LINUX中使用本地硬盘的FAT分区
将本地的FAT分区共享,然后在VMWARE中使用SMBFS挂上。可以将如下的行放到/etc/fstab中:
//win_ip/D$ /mnt/d smbfs defaults,auto,username=win_name,password=win_pass,codepage=936,iocharest=gb2312 0 0
其中win_ip是你的windows的IP地址;
D$是你的windows里面共享的D盘的共享名;
/mnt/d是要将该分区mount到linux的目录;
win_name和win_pass是你的WINDOWS里面可以读取该分区的用户,比如你的管理员名和密码。
如果你运行了/etc/rc.d/init.d/netfs,那么在启动的时候就会自动挂载这个分区。


0007.a
删除名为-a的文件
rm ./-a
rm -- -a 告诉rm这是最后一个选项,参见getopt
ls -i 列出inum,然后用find . -inum inum_of_thisfile -exec rm {} \;

0007.b
删除名为\a的文件
rm \\a

0007.c
删除名字带的/和‘\0文件
这些字符是正常文件系统所不允许的字符,但可能在文件名中产生,如unix下的NFS文件系统在Mac系统上使用
1.解决的方法,把NFS文件系统在挂到不过滤/字符的系统下删除含特殊文件名的文件。
2.也可,将错误文件名的目录其它文件移走,ls -id 显示含该文件目录的inum,umount 文件系统,
clri清除该目录的inum,fsck,mount,check your lost+found,rename the file in it.
最好是通过WINDOWS FTP过去就可以删除任何文件名的文件了!

0007.d
删除名字带不可见字符的文件
列出文件名并转储到文件:ls -l >aaa
然后编辑文件的内容加入rm命令使其内容成为删除上述文件的格式:
vi aaa
[rm -r *******
]
把文件加上执行权限 chmod +x aaa
执行 $aaa

0007.e
删除文件大小为零的文件
rm -i `find ./ -size 0`
find ./ -size 0 -exec rm {} \;
find ./ -size |xargs rm -f &非常有效
for file in * #自己定义需要删除的文件类型
do
if [ ! -s ${file} ]
then
rm ${file}
echo "rm $file Success!"
fi
done

0008
redhat设置滚轮鼠标(mc1011)
进入X后,选择鼠标的配置,选择wheel mouse(ps/2)就可以了,
如果鼠标表现异常,重启计算机即可。

0009
加装xwindow
用linux光盘启动,选择升级,然后单独选择包,安装即可

0010
删除linux分区
做一张partition magic的启动软盘,启动后删除. 或者用win2000的启动光盘启动,然后删除.

0011
如何退出man
q

0012
不编译内核,mount ntfs分区
原装rh8,未升级或编译内核
1. 上google.com搜索并下载 kernel-ntfs-2.4.18-14.i686.rpm
2. rpm -ivh kernel-ntfs-2.4.18-14.i686.rpm
3. mkdir /mnt/c
4. mount -t ntfs /dev/hda1 /mnt/c

0013
redhat 8.0中用xmms听mp3
下载www.gurulabs.com/files/xmms-mp3-1.2.7-13.p.i386.rpm
rpm -Uvh xmms-mp3-1.2.7-13.p.i386.rpm

0014
找回忘记了的root口令(lilo/grub)
三种办法:
1.在系统进入单用户状态,直接用passwd root去更改
2.用安装光盘引导系统,进行linux rescue状态,将原来/分区挂接上来,作法如下:
cd /mnt
mkdir hd
mount -t auto /dev/hdaX(原来/分区所在的分区号) hd
cd hd
chroot ./
passwd root
这样可以搞定
3.将本机的硬盘拿下来,挂到其他的linux系统上,采用的办法与第二种相同
rh8中
一. lilo
1. 在出现 lilo: 提示时键入 linux single
画面显示 lilo: linux single
2. 回车可直接进入linux命令行
3. #vi /etc/shadow
将第一行,即以root开头的一行中root:后和下一个:前的内容删除,
第一行将类似于
root::......
保存
4. #reboot重启,root密码为空
二. grub
1. 在出现grub画面时,用上下键选中你平时启动linux的那一项(别选dos哟),然后按e键
2. 再次用上下键选中你平时启动linux的那一项(类似于kernel /boot/vmlinuz-2.4.18-14 ro root=LABEL=/),然后按e键
3. 修改你现在见到的命令行,加入single,结果如下:
kernel /boot/vmlinuz-2.4.18-14 single ro root=LABEL=/
4. 回车返回,然后按b键启动,即可直接进入linux命令行
5. #vi /etc/shadow
将第一行,即以root开头的一行中root:后和下一个:前的内容删除,
第一行将类似于
root::......
保存
6. #reboot重启,root密码为空

0015
使ctrl + alt + del失效
vi /etc/inittab
将ca::ctrlaltdel:/sbin/shutdown -t3 -r now这行注释掉,就可以了

0016
如何看出redhat的版本(7.3?8.0?)
cat /proc/version或者cat /etc/redhat-release

0017
文件在哪个rpm中(无双)
上www.rpmfind.net上搜,或者rpm -qf 文件名得到

0018
把man或info的信息存为文本文件
以 tcsh 为例:
man tcsh | col -b > tcsh.txt
info tcsh -o tcsh.txt -s

0019
利用现存两个文件,生成一个新的文件
1. 取出两个文件的并集(重复的行只保留一份)
2. 取出两个文件的交集(只留下同时存在于两个文件中的文件)
3. 删除交集,留下其他的行
1. cat file1 file2 | sort | uniq
2. cat file1 file2 | sort | uniq -d
3. cat file1 file2 | sort | uniq -u

0020
设置com1口,让超级终端通过com1口进行登录
确认有/sbin/agetty,编辑/etc/inittab,添加
7:2345:respawn:/sbin/agetty /dev/ttyS0 9600
9600bps是因为联路由器缺省一般都是这种速率,也可以设成
19200、38400、57600、115200
修改/etc/securetty,添加一行:ttyS0,确保root用户能登录
重启机器,就可以拔掉鼠标键盘显示器(启动时最好还是要看看输出信息)了

0021
删除目录下所有文件包括子目录
rm -rf 目录名

0022
查看系统信息
cat /proc/cpuinfo - CPU (i.e. vendor, Mhz, flags like mmx)
cat /proc/interrupts - 中断
cat /proc/ioports - 设备IO端口
cat /proc/meminfo - 内存信息(i.e. mem used, free, swap size)
cat /proc/partitions - 所有设备的所有分区
cat /proc/pci - PCI设备的信息
cat /proc/swaps - 所有Swap分区的信息
cat /proc/version - Linux的版本号 相当于 uname -r
uname -a - 看系统内核等信息

0023
去掉多余的回车符
sed s/^M// test.sh > back.sh, 注意^M是敲ctrl_v ctrl-m得到的
或者 dos2unix filename

0024
切换X桌面(lnx3000)
switchdesk KDE或者switchdesk GNOME

0025
通用的声卡驱动程序(lnx3000)
OSS www.opensound.com/ ALSA www.alsa-project.org/

0026
改变redhat的系统语言/字符集(beming/mc1011)
修改 /etc/sysconfig/i18n 文件,如
LANG="en_US",xwindow会显示英文界面,
LANG="zh_CN.GB18030",xwindow会显示中文界面。
还有一种方法
cp /etc/sysconfig/i18n $HOME/.i18n
修改 $HOME/.i18n 文件,如
LANG="en_US",xwindow会显示英文界面,
LANG="zh_CN.GB18030",xwindow会显示中文界面。
这样就可以改变个人的界面语言,而不影响别的用户

0027
把屏幕设置为90列
stty cols 90

0028
使用md5sum文件
md5sum isofile > hashfile, 将 md5sum 档案与 hashfile 档案内容比对, 验证杂凑值
是否一致 md5sum –c hashfile

0029
一次解压多个zip文件
unzip "*",注意引号不能少

0030
看pdf文件
使用xpdf或者安装acrobat reader for linux

0031
查找权限位为S的文件
find . -type f \( -perm -04000 -o -perm -02000 \) -exec ls -lg {} \;

0032
装中文输入法
以redhat8为例,xwindow及其终端下的不用说了吧,缺省就安装了,用ctrl-space呼出。
现在讨论纯console,请下载zhcon.gnuchina.org/download/src/zhcon-0.2.1.tar.gz,
放在任一目录中,tar xvfz zhcon-0.2.1.tar.gz, cd zhcon-0.2.1, ./configure,
make, make install。安装结束,要想使用,请运行zhcon,想退出,运行exit。

0033
把弹出的光盘收回来(beike)
#eject -t

0034
cd光盘做成iso文件(弱智)
cp /dev/cdrom xxxx.iso

0035
快速观看开机的硬件检测(弱智)
dmesg | more

0036
查看硬盘的使用情况
df -k 以K为单位显示
df -h 以人性化单位显示,可以是b,k,m,g,t..

0037
查看目录的大小
du -sh dirname
-s 仅显示总计
-h 以K、M、G为单位,提高信息的可读性。KB、MB、GB是以1024为换算单 位, -H以1000为换算单位。

0038
查找或删除正在使用某文件的进程(wwwzc)
fuser filename
fuser -k filename

0039
安装软件
rpm -ivh aaa.rpm
tar xvfz aaa.tar.gz; cd aaa; ./configure; make; make install

0040
字符模式下设置/删除环境变量
bash下
设置:export 变量名=变量值
删除:unset 变量名
csh下
设置:setenv 变量名 变量值
删除:unsetenv 变量名

0041
ls如何看到.开头的文件
ls -a

0042
rpm中的文件安装到哪里去了
rpm -qpl aaa.rpm

0043
使用src.rpm
rpmbuild --rebuild *.src.rpm

0044
vim中显示颜色或不显示颜色
vi ~/.vimrc; 如果有syntax on,则显示颜色,syntax off,则不显示颜色

0045
linux是实时还是分时操作系统
分时

0046
make bzImage -j的j是什么意思(wind521)
-j主要是用在当你的系统硬件资源比较大的时候,比较富裕的时候,用这个可以来加快编译的速度,如-j 3

0047
源码包怎么没有
你没有安装源代码,你把你光盘上rpm -i *kernel*source*.rpm装上,就可以看到你的源代码了。

0048
修改系统时间
date -s “2003-04-14 cst”,cst指时区,时间设定用date -s 18:10

0049
开机就mount上windows下的分区
自动将windows的d盘挂到/mnt/d上,用vi打开/etc/fstab,加入以下一行
/dev/hda5 /mnt/d vfat defaults,codepage=936,iocharset=cp936 0 0
注意,先得手工建立一个/mnt/d目录

0050
linux怎么用这么多内存
为了提高系统性能和不浪费内存,linux把多的内存做了cache,以提高io速度

0051
FSTAB 最后的配置项里边最后两个数字是什么意思(lnx3000)
第一个叫fs_freq,用来决定哪一个文件系统需要执行dump操作,0就是不需要;
第二个叫fs_passno,是系统重启时fsck程序检测磁盘的顺序号
1 是root文件系统,2 是别的文件系统。fsck按序号检测磁盘,0表示该文件系统不被检测
dump 执行ext2的文件系统的备份操作
fsck 检测和修复文件系统

0052
linux中让用户的密码必须有一定的长度,并且符合复杂度
vi /etc/login.defs,改MIN_PASS_LEN

0053
linux中的翻译软件
星际译王 xdict

0054
不让显示器休眠
setterm -blank 0
setterm -blank n (n为等待时间)

0055
用dat查询昨天的日期(gadfly)
date --date=yesterday

0056
xwindow下如何截屏
Ksnapshot或者gimp

0057
解压小全
tar xvfj example.tar.bz2
tar xvfz example.tar.gz
tar xvfz example.tgz
tar xvf example.tar
unzip example.zip

0058
在多级目录中查找某个文件的方法(青海湖)
find /dir -name filename.ext
du -a | grep filename.ext
locate filename.ext

0059
不让普通用户自己改密码(myxfc)
# chmod 511 /usr/bin/passwd
又想让普通用户自己改密码
# chmod 4511 /usr/bin/passwd

0060
显卡实在配不上怎么办(win_bigboy)
去 http://www.redflag-linux.com/,下了xfree86 4.3安装就可以了.

0061
超强删除格式化工具(弱智)
比PQMagic安全的、建立删除格式化的小工具:sfdisk.exe for msdos
http://www.wushuang.net/soft/sfdisk.zip

0062
如何让xmms播放列表里显示正确的中文(myxfc)
-*-*-*-*-*-iso8859-1,-misc-simsun-medium-r-normal--12-*-*-*-*-*-gbk-0,*-r-
把这个东西完全拷贝到你的字体里面
操作方法:
右键单击xmms播放工具的任何地方
会看到一个"选项",然后选择"功能设定"选择"fonts"
然后把上面的字体完整的拷贝到"播放清单"和 "user x font

0063
linux下听MP3(hehhb)
redhat光盘原带然xmms不能播放MP3(无声), 要下载安装一个RPM包:xmms-mp3-1.2.7-13.p.i386.rpm安装即可.打开xmms,ctl-p,在font栏中
先在上半部的小框内打勾,再选择 “fixed(misc) gbk-0 13”号字
体即可显示中文歌曲名。在音频输出插件中选择 "开放音频系统驱动
程序 1.2.7 即可正常播放MP3文件.

0064
安装中文字体(hehhb)
先下载 http://freshair.netchina.com.cn/~George/sm.sh
(参考文献: http://www.linuxeden.com/edu/doctext.php?docid=2679)
SimSun18030.ttc在微软网站可下载,http://www.microsoft.com/china/windows2000/downloads/18
030.asp 它是个msi文件,在 mswindows中安装用的,装好后在windows目录下的fonts
目录里面就可以找到它。把simsun.ttc,SimSun18030.ttc,tahoma.ttf,tahomabd.ttf
拷贝到/usr/local/temp,然后下载的shell文件也放到这个目录里,然后打开终端
cd /usr/local/temp
chmod 755 sm.sh
./sm.sh

0065
装载windows分区的FAT32、FAT16文件系统(hehhb)
以root身份进入KDE,点击桌面上的“起点”图标,在/mnt目录下建立如下文件夹:c,d,e,f,g,usb.分别用作windows下各分区和usb闪盘。
用文本编辑器打开/etc/fstab 文件.加入如下:
/dev/hda1 /mnt/c vfat iocharset=gb2312,umask=0,codepage=936 0 0
/dev/hda5 /mnt/d vfat iocharset=gb2312,umask=0,codepage=936 0 0
/dev/hda6 /mnt/e vfat iocharset=gb2312,umask=0,codepage=936 0 0
/dev/hda7 /mnt/f vfat iocharset=gb2312,umask=0,codepage=936 0 0
/dev/hda8 /mnt/g vfat iocharset=gb2312,umask=0,codepage=936 0 0
/dev/cdrom /mnt/cdrom udf,iso9660 noauto,iocharset=gb2312,owner,kudzu,ro 0 0
/dev/sda1 /mnt/usb vfat iocharset=gb2312,umask=0,codepage=936 0 0
存盘退出. 重新启动后即可正常访问FAT32或FAT16格式分区,解决显示WINDOWS分区下和光盘中文文件名乱码
问题.其中共六列,每列用Tab键分开。注意此方法只能mount上Fat 分区格式.sda1是闪盘。

Mephis 发表于 2005-7-2 13:25

SuSE 解决方案--美化、系统设置等

SuSE 解决方案--美化、系统设置等



本解决方案的目录

一、操作系统安装部分
............1.无软盘、光驱的安装方法
............2.用MS-WINDOWS的bootloader来引导Linux
............3.FTP版本的安装方法
............4.一张软盘的ISO安装方法(不用解开ISO文件)

二、SuSE的美化方法
.............版主linuxbaby关于以上美化过程的补充

三、其他程序的汉字显示问题
............1.Mozilla 的中文字体设置
............2.XMMS的中文歌名显示
............3.Java的中文问题
............4.windows分区及CDROM的中文文件名、目录名显示的问题
............5.在纯文本字符界面下使用zhcon显示汉字
............6.Acroread5.x支持中文字符的PDF
............7.gFTP访问中文目录的问题

四、输入法安装部分
............1.小企鹅fcitx输入法
............2.SCIM输入法
............3.xsim输入法

五、系统优化和配置部分
............1.安装Apache2,PHP不能解释的问题
............2.防火墙的简要设置
............3.如何打开硬盘及光驱的DMA以及IO的32位读写
............4.为何运行YAST之后,字体又变成乱码
............5.ACPI问题
............6.VMware Workstation 4.0 的安装问题

六、参考图书部分
............1.Linux编程大全
............2.XFree86 中的字体
............3.MySQL中文参考手册
............4.网络数据库指南

七、常用软件的使用技巧和安装部分
............1.MPlayer 0.90的安装以及如何通过XMMS播放wma文件
............2.在SuSE下使用MS-OFFICE XP的工具和插件
............3.D4X扫荡大法
............4.远程登陆软件的配置

八、数据库
............1.Oracle 9i
............2.MySQL
............3.PostgreSQL
================================================================================

一、操作系统安装部分

1. SuSE8.2无光盘、软盘安装手册(hongchen提供)

1.下载SuSE8.2 五个光盘映像后,在Windows中用虚拟光驱把文件分别复制到cd1、cd2、cd3、cd4、cd5五个目录。(我的是在D盘的suse82下)。

2.把cd1\dosutils\loadlin目录中的Loadlin.exe复制到cd1\boot\loader目录中。

3.reset机器启动到DOS状态,进入suse82\cd1\boot\loader,执行
loadlin linux append initrd=initrd vga=791
选择硬盘安装,安装源路径为/suse82/cd1,便开始安装。
6.注意在分区时SuSE的/分区结束柱面不能超过1024,否则不能启动,已装有别的用Grub启动的Linux系统除外。将放置安装文件的分区(我的是hda5)mount为/mnt/win_d,在fstab选项中将字符集中填上gb2312,代码中填上936,任意选项中填上umask=0。

4.第一张盘安装完后会自动重启动,然后会让你插入第二光盘,此时有两种方法处理,第一种为点上提示窗口中的“Show details”,将其中的路径改为“dir:///mnt/win_d/suse82/cd2”,这种方法就是要改几次。
另一种方法就是在提示插入第二张光盘时按“Ctrl+Alt+F2”,运行YaST,选择“software->Change Source of Install”,删掉里边的路径,再将加入“dir:///mnt/win_d/suse82/cd1”、“dir:///mnt/win_d/suse82/cd2”、“dir:///mnt/win_d/suse82/cd3”、“dir:///mnt/win_d/suse82/cd4”、“dir:///mnt/win_d/suse82/cd5”,退出YaST,执行“shutdown -r now”,重启动后就会自动安装下去了。

2.用MS-WINDOWS的bootloader来引导Linux

首先准备一张软盘。

安装你的LINUX时,引导程序一定要安装在LINUX的主分区,注意:不是 MBR!!!
如果分区有/boot分区,那么,就将引导安装到这里;
如果分区只有/ ,那么,就安装到这里;

安装过程中做一启动盘!
安装完重启,用启动盘引导进入LINUX,用ROOT用户登录(最好)。

用命令:
dd if=/dev/hdax of=/mnt/win-c/linux.bin bs=512 count=1

其中hdax是你的linux的主分区(/boot分区或者/分区),
win-c是windows中C盘的挂载点,
linux.bin是生成文件的名字,希望什么名字就随便什么。

打开C盘根目录下的BOOT.INI文件,在后面加上C:\linux.bin="SuSE linux 8.2"

完成!!

重启后的WINDOWS启动菜单就多了一行SuSE linux 8.2
选择它,就进入LINUX引导,还可返回WINDOWS启动菜单,方便的很!

选择它,就进入LINUX引导,还可返回WINDOWS启动菜单,方便的很!

3.FTP版本的安装方法
以下内容由johnzhou提供,未做任何修改,如有问题,请提问。

SuSE FTP安装大总结(精华之精华!)初学者必看哦^_^

******************************************************************************************
说明:
1 本帖的内容均一半是自己的经验总结,一半来自论坛里的好兄弟好姐妹们的帮助(咱们论坛里有MM吗!!! ^_^ ),若有兄弟觉得侵犯了你权益请写信至johnzhou008@163.com
2 本帖的内容论坛里已有类似的,不过个人觉的论坛那个太乱,不够清楚,不适合初学者,所以写 了这篇。
3 本贴的内容任何人无须对此文负责,任何人都可以转载,修改此文,只是重新发表时已不是我的作品,与我无关,请勿属我的大名 ^_^
4 欢迎大家来linuxsir.com 论坛做客,这可是中国目前最好的linux 论坛啊!!绝不是打广告喔!!******************************************************************************************


在安装之前我要罗嗦几句:suse OS 有iso/bin与ftp 两种 其中iso基本上是测试版,是一些linux 爱好者自己做,而官方只有ftp 版,所以强烈建议下载ftp 到硬盘安装。好了讲那么多,现在开始我们的ftp安装之旅吧!

首先,自然是要下载suse 8.1 的ftp 到硬盘,具体的地址论坛里有,接下来制作启动软盘具体如下:
准备工作——需要做3 张盘分别为 bootdisk、modules1、modules4它们的位置都在disk目录下,安装中如果有其它需要,你也可以察看DISKS目录下相应的README
最后, 运行rawrite.exe,在第一行输入文件所在路径,回车 第二行,输入a: 第三行,就要开始作了,这时候软盘要在软驱里哦。启动盘到此已做完了!!

下面进入安装suse

做完后,重启,设置BIOS为软盘启动,一步步来
1 用bootdisk启动,进入安装画面,共有6个选项,选择

√ Manual installation

这时系统会自动加载,等到百分之46 时,系统会提示你插入 modules1 以继续加载信息,不一回儿完成。

2 出现语言,选English

3 出现键盘,选English(us)

4 进入下面,有5个选项,由于是ftp安装 选第2个
Settings
√ kernel modules(hardware dricers)
start installation/system
Exit/reboot
power offf
5 进入下步,(有点烦哦!) 共有9个选项,每选一项,系统都会要你插入相应的启动软盘,由于是ftp安装所以选 load fiel systen modules
load IDE/AID/SCSI modules
load CD-ROM modules
load network modules
load PCMCIA modules
load USB modules
load Firewire modules
√ load file system modules
show loaded modules
unload modules
此时系统会提示你插入modules4。

6 进入后,选 vfat (我的文件格式为FAT32,我选第7项vfat.若你的是NTFS,则选ntfs)

7 按 Esc退出,此时会重新回到步骤 4 ,选择start installation/system

8 出现界面有4个选项 选第1个
√start installation/update

9 出现3个选项,选第3个
CD-ROM
Network
√Harddisk
10 出现界面,选择suse8.1所在的硬盘位置及文件目录

注意:如果你将ftp上的东西原封不动的下载到硬盘(假设是你的8.1这个目录),在这个目录的根目录,应该有一些诸如readem、index.gz、和sesu图标之类的文件。那么你在第10步所填写的目录也就到此为止,不要再写后面的明细目录了。
另外:第一,在windows下的:\,我们称之为斜杠,/则为反斜杠了。但是在linux下 目录都是以/分开的,而不是\!!!
第二,在linux下没有C,D,E这样的概念,转而是hda1,hda2,hda3...hdxy,x是从a开始计算,a就是第一个(主)盘,b就是(从)盘,如果是scsi的硬盘,就是sda,sdb。后面的1,2是分区,主分区(第一个分区)为1,第二个为2(如果你只有一个主分区的话,这个2分区就是扩展分区了),那么D,E则为hda5,hda6了(逻辑分区从5开始)。
安装一开始,第10步你选择了hda1:vfat,这就是C盘了,然后不需要输入盘符了,直接输入/8.1,注意前面是“/”而不是“\”!!!

好了,系统自动进行安装,这里要说明一点: 在分区时要特别注意,看清楚要格式化哪个盘,别把你的其它 OS 给格了。
整个安装过程很快,即便是全安装也只有30分钟多一点点(我的硬盘转速还是比较差的)比win redhat 都快,人家说suse的安装软件比redhat 多,这我不敢苟同,如nmap 就没有。
不过界面却是一流的豪华。安装完后,进入system-> YaST,选择你上网的方式,现在你可以
驾 suse 以遨游了!!

4.一张软盘的ISO安装方法(不用解开ISO文件) by jackyyi0624

我的ISO在hda6的suse目录下。
1.做启动软盘(这个就不多说了,记得还要做一个MODULES1的,映像文件在cd1的/boot下面)
2.从软盘启动,在提示需要CD1时,回车,找不到CD1。选择安源介质为hda6,打上路径/suse/cd1.iso 回车后一会就进入安装介面了。但提示无软件包。这时就ctrl+alt+f2到一控制台下:
 rm /dev/hdd #这是我的光驱,大家看情况删hdb,hdc,这时的设备是在ramdisk里的,放心删。
ln -s /dev/loop1 /dev/hdd
losetup /dev/loop1 /mounts/extra/suse/cd1.iso
losetup /dev/loop2 /mounts/extra/suse/cd2.iso
losetup /dev/loop3 /mounts/extra/suse/cd3.iso
......需要几个盘就做几个
3.然后就是中断安装了,回到选择安装介质的地方选CDROM。就能正常安装CD1
 装完CD1后机器自动会提示要CD2,点开显示明细,看到的DEVICE=的后面将/dev/hdd改为/dev/loop2,要CD3的时候就改成/dev/loop3......

shen 老兄说的方法我也试过,在换盘的时候会有问题,特别是说到换每二张盘rm /dev/hdx后,还得手动修复hdx. 特别说明一下
================================================================================

二、SuSE的美化方法

1. 先下载Xft-fans-rh9.tar.bz2,这个是美化的核心部分。SuSE自己有freetype的安装文件,可以不卸载。但是其他几个文件必须安装。

2.在/usr下建一个文件夹system,然后在里面建三个文件夹fonts,命令如下:
#cd /usr
#mkdir system
#cd system
#mkdir fonts
从windows的fonts目录拷贝以下字体文件到/usr/system/fonts,要特别注意字体文件名的大小写,以下字体文件名都是小写:
simsun.ttf (如果是simsun.ttc改名成simsun.ttf)
tahomabd.ttf
tahoma.ttf
verdanab.ttf
verdanai.ttf
verdana.ttf
verdanaz.ttf

3.我们需要一个fonts.dir文件,建立一个文本文件,粘帖以下内容,保存为fonts.dir和fonts.scale:

78

tahoma.ttf -misc-kai-medium-r-normal--0-0-0-0-p-0-ascii-0
tahoma.ttf -misc-kai-medium-r-normal--0-0-0-0-p-0-iso8859-1
tahoma.ttf -misc-kai-medium-r-normal--0-0-0-0-p-0-iso8859-15
simsun.ttf -misc-kai-medium-r-normal--0-0-0-0-c-0-gbk-0
simsun.ttf -misc-kai-medium-r-normal--0-0-0-0-c-0-iso10646-1
simsun.ttf -misc-kai-medium-r-normal--0-0-0-0-c-0-gb2312.1980-0
simsun.ttf -misc-fixed-medium-r-normal--0-0-0-0-c-0-gb2312.1980-0
simsun.ttf -misc-fixed-medium-r-normal--0-0-0-0-c-0-gbk-0
simsun.ttf -misc-fixed-medium-r-normal--0-0-0-0-c-0-iso10646-1
tahoma.ttf -misc-fixed-medium-r-normal--0-0-0-0-p-0-iso8859-1
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-c-0-gb2312.1980-0
ai=0.3:simsun.ttf -misc-SimSun-medium-i-normal--0-0-0-0-c-0-gb2312.1980-0
ds=y:simsun.ttf -misc-SimSun-bold-r-normal--0-0-0-0-c-0-gb2312.1980-0
ds=y:ai=0.3:simsun.ttf -misc-SimSun-bold-i-normal--0-0-0-0-c-0-gb2312.1980-0
tahoma.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-iso8859-1
ai=0.3:tahoma.ttf -misc-SimSun-medium-i-normal--0-0-0-0-p-0-iso8859-1
tahomabd.ttf -misc-SimSun-bold-r-normal--0-0-0-0-p-0-iso8859-1
ai=0.3:tahomabd.ttf -misc-SimSun-bold-i-normal--0-0-0-0-p-0-iso8859-1
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-c-0-gbk-0
ai=0.3:simsun.ttf -misc-SimSun-medium-i-normal--0-0-0-0-c-0-gbk-0
ds=y:simsun.ttf -misc-SimSun-bold-r-normal--0-0-0-0-c-0-gbk-0
ds=y:ai=0.3:simsun.ttf -misc-SimSun-bold-i-normal--0-0-0-0-c-0-gbk-0
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-fcd8859-15
ai=0.3:simsun.ttf -misc-SimSun-medium-i-normal--0-0-0-0-p-0-fcd8859-15
ds=y:simsun.ttf -misc-SimSun-bold-r-normal--0-0-0-0-p-0-fcd8859-15
ai=0.3:simsun.ttf -misc-SimSun-bold-i-normal--0-0-0-0-p-0-fcd8859-15
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-iso8859-15
ai=0.3:simsun.ttf -misc-SimSun-medium-i-normal--0-0-0-0-p-0-iso8859-15
ds=y:simsun.ttf -misc-SimSun-bold-r-normal--0-0-0-0-p-0-iso8859-15
ai=0.3:simsun.ttf -misc-SimSun-bold-i-normal--0-0-0-0-p-0-iso8859-15
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-c-0-iso10646-1
ai=0.3:simsun.ttf -misc-SimSun-medium-i-normal--0-0-0-0-c-0-iso10646-1
ds=y:simsun.ttf -misc-SimSun-bold-r-normal--0-0-0-0-c-0-iso10646-1
ds=y:ai=0.3:simsun.ttf -misc-SimSun-bold-i-normal--0-0-0-0-c-0-iso10646-1
simsun.ttf -misc-song-medium-r-normal--0-0-0-0-c-0-gb2312.1980-0
ai=0.3:simsun.ttf -misc-song-medium-i-normal--0-0-0-0-c-0-gb2312.1980-0
ds=y:simsun.ttf -misc-song-bold-r-normal--0-0-0-0-c-0-gb2312.1980-0
ds=y:ai=0.3:simsun.ttf -misc-song-bold-i-normal--0-0-0-0-c-0-gb2312.1980-0
tahoma.ttf -misc-song-medium-r-normal--0-0-0-0-p-0-iso8859-1
ai=0.3:tahoma.ttf -misc-song-medium-i-normal--0-0-0-0-p-0-iso8859-1
tahomabd.ttf -misc-song-bold-r-normal--0-0-0-0-p-0-iso8859-1
ai=0.3:tahomabd.ttf -misc-song-bold-i-normal--0-0-0-0-p-0-iso8859-1
simsun.ttf -misc-song-medium-r-normal--0-0-0-0-c-0-gbk-0
ai=0.3:simsun.ttf -misc-song-medium-i-normal--0-0-0-0-c-0-gbk-0
ds=y:simsun.ttf -misc-song-bold-r-normal--0-0-0-0-c-0-gbk-0
ds=y:ai=0.3:simsun.ttf -misc-song-bold-i-normal--0-0-0-0-c-0-gbk-0
simsun.ttf -misc-song-medium-r-normal--0-0-0-0-p-0-fcd8859-15
ai=0.3:simsun.ttf -misc-song-medium-i-normal--0-0-0-0-p-0-fcd8859-15
ds=y:simsun.ttf -misc-song-bold-r-normal--0-0-0-0-p-0-fcd8859-15
ai=0.3:simsun.ttf -misc-song-bold-i-normal--0-0-0-0-p-0-fcd8859-15
simsun.ttf -misc-song-medium-r-normal--0-0-0-0-p-0-iso8859-15
ai=0.3:simsun.ttf -misc-song-medium-i-normal--0-0-0-0-p-0-iso8859-15
ds=y:simsun.ttf -misc-song-bold-r-normal--0-0-0-0-p-0-iso8859-15
ai=0.3:simsun.ttf -misc-song-bold-i-normal--0-0-0-0-p-0-iso8859-15
simsun.ttf -misc-simsuntahoma-medium-r-normal--0-0-0-0-c-0-gb2312.1980-0
ai=0.2:simsun.ttf -misc-simsuntahoma-medium-o-normal--0-0-0-0-c-0-gb2312.1980-0
ai=0.4:simsun.ttf -misc-simsuntahoma-medium-i-normal--0-0-0-0-c-0-gb2312.1980-0
ab=y:simsun.ttf -misc-simsuntahoma-bold-r-normal--0-0-0-0-c-0-gb2312.1980-0
ai=0.2:ab=y:simsun.ttf -misc-simsuntahoma-bold-o-normal--0-0-0-0-c-0-gb2312.1980-0
ai=0.4:ab=y:simsun.ttf -misc-simsuntahoma-bold-i-normal--0-0-0-0-c-0-gb2312.1980-0
tahoma.ttf -misc-simsuntahoma-medium-r-normal--0-0-0-0-p-0-iso8859-1
ai=0.3:tahoma.ttf -misc-simsuntahoma-medium-i-normal--0-0-0-0-p-0-iso8859-1
tahomabd.ttf -misc-simsuntahoma-bold-r-normal--0-0-0-0-p-0-iso8859-1
ai=0.3:tahomabd.ttf -misc-simsuntahoma-bold-i-normal--0-0-0-0-p-0-iso8859-1
ai=-0.4:simsun.ttf -misc-simsuntahoma-medium-ri-normal--0-0-0-0-c-0-gb2312.1980-0
ai=-0.4:ab=y:simsun.ttf -misc-simsuntahoma-bold-ri-normal--0-0-0-0-c-0-gb2312.1980-0
ai=-0.2:simsun.ttf -misc-simsuntahoma-medium-ro-normal--0-0-0-0-c-0-gb2312.1980-0
ai=-0.2:ab=y:simsun.ttf -misc-simsuntahoma-bold-ro-normal--0-0-0-0-c-0-gb2312.1980-0
simsun.ttf -misc-simsuntahoma-medium-r-normal--0-0-0-0-c-0-gbk-0
ai=0.2:simsun.ttf -misc-simsuntahoma-medium-o-normal--0-0-0-0-c-0-gbk-0
ai=0.4:simsun.ttf -misc-simsuntahoma-medium-i-normal--0-0-0-0-c-0-gbk-0
ab=y:simsun.ttf -misc-simsuntahoma-bold-r-normal--0-0-0-0-c-0-gbk-0
ai=0.2:ab=y:simsun.ttf -misc-simsuntahoma-bold-o-normal--0-0-0-0-c-0-gbk-0
ai=0.4:ab=y:simsun.ttf -misc-simsuntahoma-bold-i-normal--0-0-0-0-c-0-gbk-0
ai=-0.4:simsun.ttf -misc-simsuntahoma-medium-ri-normal--0-0-0-0-c-0-gbk-0
ai=-0.4:ab=y:simsun.ttf -misc-simsuntahoma-bold-ri-normal--0-0-0-0-c-0-gbk-0
ai=-0.2:simsun.ttf -misc-simsun-mediumtahoma-ro-normal--0-0-0-0-c-0-gbk-0
ai=-0.2:ab=y:simsun.ttf -misc-simsuntahoma-bold-ro-normal--0-0-0-0-c-0-gbk-0

4.安装第一步下载来的安装文件:
#tar jxvf Xft-fans-rh9.tar.bz2
#rpm -ivh *.rpm --force
注意
以下部分是手工安装freetype-2.1.4.tar.bz2,注意,这个是freetype2,freetype目前版本是1.3.1。
点击此处进入下载页面
以下方法来自realhyg。
#tar jxvf freetype-2.1.4.tar.bz2
在/freetype-2.1.4/include/freetype/config/中改ftoption.h,把#define TT_CONFIG_OPTION_BYTECODE_INTERPRETE这一行前后的/*删除使它生效。
然后./configure --prefix=/usr
#make
#make install


5.修改/etc/fonts/fonts.conf,这个文件好象没有被第一步的程序修改,所以要在一下地方添加:
<!-- Font directory list configured on Thu Apr 3 13:42:53 CST 2003 -->

<dir>/usr/X11R6/lib/X11/fonts/Type1</dir>
<dir>/usr/system/fonts</dir> <====这里
<dir>/usr/share/fonts</dir>
<dir>~/.fonts</dir>

6.我们需要修改/etc/gtk/grkrc.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,\
-misc-simsun-medium-r-normal--12-*-*-*-*-*-gb2312.1980-0,*-r-*"
}
class "GtkWidget" style "gtk-default-zh-cn"

7.修改/etc/X11/XF86Config,加入以下部分,记住修改前将此文件备份。

Section "Files
...
...
FontPath "/usr/system/fonts"
FontPath "unix/:7100"
...
...
Section "Module"
Load "xtt"
....

8.修改/etc/sysconfig/language,记住备份


RC_LANG="zh_CN.GB2312"
RC_LC_ALL="zh_CN.GB2312"
RC_LC_MESSAGES="zh_CN.GB2312"
RC_LC_CTYPE="zh_CN.GB2312"
RC_LC_COLLATE="POSIX"
RC_LC_TIME=""
RC_LC_NUMERIC="1,234.56"
RC_LC_MONETARY=""
ROOT_USES_LANG="ctype"

9.这一步当然是在控制中心修改你的local,选择“中国”,在字体设置中,选择tahoma或者simsun,这万全在于你对字体的喜好,因为这会影响到英文字体。文体就出在这里了,为何不如Redhat的字体漂亮,或者,为何没有以前8.0、8.1时候的美化字体漂亮。
因为那个美化包不是为SUSE编译的,所以字号跟以往不同。你原来1024X768的时候,设置为12号,大概可以了,而现在,你恐怕要设置为10号或者更小。我的是8号。

10.GTK2.0程序字体过大的解决方法
由于GTK2.0程序不会自动取得系统字号,所以,要自己建立一个文件如下:
.gtkrc-2.0,将此文件至于你的用户根目录里。

#~/.gtkrc-2.0

style "user-font"
{
font_name="tahoma 10"
}
widget_class "*" style "user-font"

重新启动,你会看见程序字体改变了。
----------------------------------------------------------------------------------------------------------------------------------------
版主linuxbaby关于以上美化过程的补充

在基本的安装过程和beyond_2000的说明是一致的,我们所需要的只是和redhat的唯一区别的是:
关于汉化的不完全补充

一:不需要卸载freetype文件再安装Xft-fans-rh9.tar.bz2,因为我现在的汉化中所实用的是系统自己带的
二:关于gimp等软件出现乱码,个人认为应该是字体问题,SuSU的主要特点之一就是他的YaST的管理机制,我们在安装软件,修改系统的配置的时候SuSE会自动的运行SuSEconfig,在运行这个命令的时候会将系统的一些重要文件进行重新书写使其恢复到他的默认状态,当然字体文件也不例外,所以很多兄弟就出现了将字体安装完后仍然出现乱码的现象。因此要使SuSE能够安装上simsun字体,我们还需要多做一步,那就是在进行字体安装的过程中要在修改/sbin/conf.d/SuSEconfig.fonts。将其中的最后一句#/usr/sbin/fonts-config --verbose --no-gs-fontmap
注销,需要说明的只因为对/usr/sbin/fonts-config这个文件目前的运行机制不是很清楚,暂时对其进行注销,个人认为这个是SuSE特有的一种运行机制,而Redhat没有仍然可以使用,所以不是有很大的阻碍。有兴趣的兄弟可以去研究下SuSE中的YaST的运行机制,我想这个对suse的使用是一个很大的帮助。

希望大家不要为系统的美化花费过多的时间,SuSE是一个优秀的系统,其中很多的功能还不为我们所知,希望大家能够在其他方面多花点精力。

================================================================================

三、其他程序的汉字显示问题

1.mozilla的字体设置,全部设置为misc-simsun-gb2312.1980-0。安装1.3中文版要在你美化完成后进行。记住将/opt/mozilla/plugins目录备份出来,新安装时候,切记安装到原来的目录中。同时,将最小字体设为一个合适的大小(12号左右)。

2.XMMS的字体显示文体,直接将gtkrc.zh_CN第二行的
-misc-simsun-medium-r-normal--12-*-*-*-*-*-gb2312.1980-0
或者填入以下字体,效果一样。
-*-helvetica-medium-r-*--12-*,-*-fixed-medium-r-*--12-*,*
填入即可。

3.java的问题,确定安装了jre1.4.1_1和jdk1.4.1_1,SUSE已经为我们准备了这两个文件,安装既可,连java环境都不用自己配置。
找到/usr/lib/SunJava2-1.4.1/jre/lib/font.properties.zh.Turbo,改名为font.properties.zh,将所有的-tlc-song-替换为-misc-simsun-,你就可以看到控制台显示中文了。
同时,我们要添加一个联接到mozilla的plugins目录
ln -s /usr/lib/SunJava2-1.4.1/jre/plugin/i386/ns610/libjavaplugin_oji.so /opt/mozilla/plugins/libjavaplugin_oji.so
这样,我们就可以在mozilla中运行java程序了。

4.显示windows里的中文文件及目录,参考我的/etc/fstab
/dev/hda6 / reiserfs defaults 1 1
/dev/hda5 /mnt/redhat auto noauto,user 0 0
/dev/hda1 /mnt/c ntfs ro,users,gid=users,umask=0002,nls=cp936 0 0
#/dev/hda1 /mnt/c vfat ro,users,gid=users,umask=0002,iocharset=cp936,codepage=936 0 0
/dev/hda7 swap swap pri=42 0 0
devpts /dev/pts devpts mode=0620,gid=5 0 0
proc /proc proc defaults 0 0
usbdevfs /proc/bus/usb usbdevfs noauto 0 0
/dev/cdrecorder /media/cdrecorder auto ro,noauto,user,exec,iocharset=cp936 0 0
/dev/cdrom /media/cdrom auto ro,noauto,user,exec,iocharset=cp936 0 0

5.在纯文本字符界面下使用zhcon显示汉字

首先需要下载最新版本的zhcon-0.2.3
或者,您可以访问http://zhcon.gnuchina.org/得到更多有关信息。
将文件下载到本地,然后
tar zxvf zhcon-0.2.3.tar.gz
cd zhcon-0.2.3
这个时候别着急编译,
cd src
找到inputclient.h和mouse.h,在别人已有的#include xxxx下面增加以下一句
#include <cassert>
然后cd ..
./configure --prefix=/usr (可以不要--prefix选项)
make
makeinstall
然后ctrl+alt+F2...F6,输入zhcon,你就可以使用中文环境了,ctrl+space调出输入法,ctrl+alt+h查看帮助。

现在,你的系统基本上就可以用了,我写这个的时候,也就做到现在的工作。记住,改变字体大小,会得到比较满意的效果。SUSE的英文字体本身没有模糊的感觉,所以,我们用RH的美化方法得到的字体会感觉比较涩,不圆滑,改小字体,就好看了。

6.Acroread5.x支持中文字符的PDF
访问adobe网站亚洲字体支持,选择你想要的language,然后,选择UNIX平台,之后,你会得到一个12.5M的chsfont.tar.gz文件。注意,mozilla不能在访问此页面后正确下载,请使用opera,或者konqueror来访问上面地址,并将网站标识定义为IE。
下载完成后,
#tar zxvf chsfont.tar.gz
#cd CHSKIT
#./INSTALL
中间按“y”,“q”各一次,然后输入安装路径
/usr/X11R6/lib/Acrobat5
安装完成。

问题:左边标签的中文不能显示,都是“。”,不支持鼠标滚轮。

7.gFTP访问中文目录的问题
下载这个版本,重新安装,即可解决问题。注意先卸载原来系统自带的。
================================================================================


四、输入法安装部分

1.小企鹅输入法
先下载一个安装文件,点击这里下载
#rpm -ivh fcitx-1.8.4-1.i386.rpm

ln -s /usr/bin/fcitx /usr/bin/gWuBi
然后修改家目录下的两个文件:.xinitrc和.xim
在.xinitrc中的
# Start the XIM server
test -r $HOME/.xim && source $HOME/.xim
// 在这里添加以下一行
export XMODIFIERS=@im=gWuBi

然后修改.xim找到
zh_*) # Chinese
case $tmplang in
zh_TW*)
tmplang=zh_TW
;;
zh_CN*)
tmplang=zh_CN
;;
esac
if type -p xcin > /dev/null 2>&1 ; then
字段,把then后面的两个xcin全部该成gWuBi。

root的.xim文件可以从你的user用户拷贝过来。

ln -s /usr/bin/fcitx ~/.kde/Autostart/gWuBi

然后可以自动加载gWuBi,输入法的区域设置请把zh_CN.GBK改成zh_CN.GB2312

2.SCIM输入法

首先你需要下载以下几个文件,当然,你也可以先访问以下网址自行安装。但是需要注意的是,你只可以下载源码包或者UnitedLinux 1.0 (TLES 8.0) build: GCC 3.2 GLIBC 2.2.5这个部分。
http://www.gnuchina.org/~suzhe/scim/download.html
注意以下两步任选其中一个,不是同时安装
I>安装套件scim-suite-0.4.0-2ul1.i386.rpm
II>分别安装以下几个文件
scim-0.4.0-1ul1.i386.rpm
scim-frontend-x11-0.4.0-1ul1.i386.rpm
scim-server-table-0.4.0-1ul1.i386.rpm(可选)如果你想使用WuBi,就需要这个文件,否则,不需要。
scim-tables-zh-0.2.0-1.noarch.rpm(可选)WuBi输入法所用的数据。
scim-server-rawcode-0.4.0-1.i586.rpm 这个是用来输入不常用字符的,如果需要,可以安装。
scim-config-gconf-0.4.0-1ul1.i386.rpm
scim-config-simple-0.4.0-1ul1.i386.rpm
scim-chinese-0.2.0-1.i586.rpm

然后rpm -ivh *.rpm --force --nodeps

在~/.xinitrc or /etc/X11/xinit/xinitrc中加入

/usr/bin/scim -d
export XMODIFIERS=@im=SCIM

如果重起后没有反应,就在~/.xim最后增加以上2句,但是root没有这个文件,需要从user目录里拷贝过来。
然后,如果需要修改配置,你需要修改~/.scim/config.* 文件,但是修改前,请KILL掉SCIM程序。

3.xsim输入法--著作人:charley

英文系统安装 xsim-0.3.9.4
By Charley Dec 21 2002

本文介绍的方法,是在英文系统上安装xsim实现中文输入, 但界面仍保持英文的界面,本文中所使用的系统都没有进行汉化或者美化。
此方法参照了http://www.linuxsir.com/ 中的一些方法以及xcin输入法的安装过程。

xsim的一般安装方法请参照软件附带的README.cn, 本文只涉及到作者遇到的一些问题及解决办法。

I>、Redhat 8.0 (gnome)
xsim需要使用到development包,需要安装。这些软件desktop安装模式下默认是不安装的。

1. 修改文件 /etc/sysconfig/i18n,增加一行
LC_CTYPE="zh_CN.GB18030"

2. 在系统目录 /etc/profile.d 中增加文件 xsim.sh ,该文件内容为
XMODIFIERS="@im=XSIM"; export XMODIFIERS
设置该文件的属性
chmod 555 /etc/profile.d/xsim.sh

3. 编译和安装
cd PACKAGE_DIR
./configure --with-cn-locale=GBK --with-bdb-includes=/usr/include/db4
make
make install
make install-data

4. 普通用户aa启动xsim. 以aa登录
mkdir ~/.xsim
cp /usr/local/xsim/etc/xsimrc ~/.xsim/xsimrc

II>、 SuSE 8.1 (KDE3)

1. 使用YaST增加下列软件包
db, db-devel, db-utils
xdevel
qt3-devel
kdebase3-devel

2. 修改配制文件 /etc/SuSEconfig/profile
将普通用户的配制
unset LC_CTYPE
修改为
#unset LC_CTYPE
LC_CTYPE="zh_CN"; export LC_CTYPE
如果允许root运行xsim, 要将root的设置
LC_CTYPE="en_US"
修改为
LC_CTYPE="zh_CN"

3. 修改配制文件/etc/SuSEconfig/profile, 最后增加一行
XMODIFIERS="@im=XSIM"; export XMODIFIERS
也可以参照 Redhat 步骤2,增加一个文件在 /etc/profile.d

4. 编译和安装
cd PACKAGE_DIR
./configure --with-cn-locale=GBK --with-bdb-includes=/usr/include/db4 --enable-status-kde3
make
make install
make install-data

5. 用户aa登录自动启动xsim. 以aa登录
mkdir ~/.xsim
cp /usr/local/xsim/etc/xsimrc ~/.xsim/xsimrc
ln -s /usr/local/bin/xsim ~/.kde/Autostart/xsim
================================================================================

五、系统优化和配置部分

1.想在SUSE82上玩PHP的兄弟们,请暂时不要安装Apache2,因为官方说,mod_perl,mod_php还是不稳定不安全的,所以没有提供。所以,请安装Apache。

2.想运行named,samba,httpd,squid的话,请在已经打开防火墙的情况下,打开对它们的信任。打开YAST,系统-->Editor for /etc/sysconfig Files-->Network-->Firewall-->SuSEfirewall2,从FW_TRUSTED_NETS开始
FW_TRUSTED_NETS,填入192.168.1.0/24或者协议后跟一个端口号。
FW_TRUSTED_AUTODETECT=yes
FW_TRUSTED_DNS=
FW_TRUSTED_DHCLIENT=
FW_TRUSTED_DHCPD=
FW_TRUSTED_SAMBA=
FW_TRUSTED_SQUID=
需要的话,就yes,否则no。

3.DMA以及32位IO的读写:
打开YAST,选择硬件,IDE DMA MODE,在下面的选项中,选择DMA = ON(default mode)。再次起动,你会发现已经为你选择了正确的DMA模式,33/66/100/133,自动选择好。
然后通过hdparm -d /hdn(n=a,b,...n<=z),你会看到你的DMA是否等于1,否则就是没有打开。如果这样还没有效果,请检查你是否安装了hdparm-5.3-36-*.rpm这个文件(rpm -q hdparm)。
如果安装了,还是没有起作用,可以手工打开DMA和32bit I/O模式。以root身份编辑/etc/init.d/boot.local,在最后一行增加hdparm -c1 -d1 -k1 /dev/hdn(n=a,b,...,n<=z)。
重新启动既可,通过hdaparm -c -d /dev/hdn(n=a,b,...,n<=z) 查询dma,io是否等于1。

4.现在已知每运行YAST配置一次,也就是执行SuSEconfig.xxxx之后,我们之前自己定义的fonts.dir,fonts.scale会被改写。所以请备份这两个文件。或者,参考linuxbaby关于美化的补充说明。

5.关于ACPI,如果你发现你的机子右下角有个叉,或者提示ACPI没有运行,请执行chkconfig --add acpid,起动之后,就好了。

6.关于VMware不能运行的处理:
(1)在起动参数中,增加apic,如下:
kernel (hd0,5)/boot/vmlinuz root=/dev/hda6 vga=0x317 apic hdc=ide-scsi hdclun=0 splash=silent showopts

(2)如果发生编译不能通过,请按照以下方法执行,不过,请先备份原文件。(此方法由richard_1979提供)

1) 先以root登录
2) # cd /usr/src/linux
# make cloneconfig
# make dep clean
3) # cp /boot/vmlinuz.version.h /usr/src/linux/include/linux/version.h
# cp /boot/vmlinuz.autoconf.h /usr/src/linux/include/linux/autoconf.h
4) # vmware-config.pl


7.关于FAT32、NTFS显示中文的解决方法,修改/etc/fstab,别照抄,参考修改。
/dev/hda6 / reiserfs defaults 1 1
/dev/hda5 /mnt/redhat ext3 defaults 0 0
/dev/hda1 /mnt/c ntfs ro,users,gid=users,umask=0002,nls=cp936 0 0
/dev/hda1 /mnt/c vfat rw,users,gid=users,umask=0002,iocharset=cp936 codepage=936 0 0 #如果是fat32分区,就改为这行
/dev/hda7 swap swap pri=42 0 0
devpts /dev/pts devpts mode=0620,gid=5 0 0
proc /proc proc defaults 0 0
usbdevfs /proc/bus/usb usbdevfs noauto 0 0
/dev/cdrecorder /media/cdrecorder auto ro,noauto,user,exec,nls=cp936 0 0
/dev/cdrom /media/cdrom auto ro,noauto,user,exec,nls=cp936 0 0

8.待续。
================================================================================

六、参考图书部分

这部分都是链接别人网站上的,如果那位兄弟发现是盗链自己的,说一声,不想我们在次引用的话,我立刻删除。

Linux编程大全
XFree86 中的字体
MySQL中文参考手册
网络数据库指南
================================================================================

七、常用软件的使用技巧和安装部分

1.> MPlayer以及如何通过XMMS播放wma文件
系统自带了这个软件,不过是pre5版本的,而且是英文界面,好象也有点问题。我们可以自己编译,得到一个适合自己的MPlayer,同时,又是中文界面。
首先,当然是要准备软件了,下载0.90正式版本
下载地址一
下载地址二
系统已经有了一个default-skin,还有就是为我们编译好的各种插件,我们就不要浪费了。所以,大家不要卸载原来的MPlayer-0.90-pre5。
接着,我们需要下载w32codec,如果自己有,可以将文件拷贝至目录/usr/lib/win32,或者点击这里下载一个包含quicktime,dvix,win32code 安装包。
点击这里下载libdvdcss安装包。
基本上,我们所需要的文件准备好了。现在,就可以开始工作了。
tar jxvf MPlayer-0.90.tar.bz2
rpm -ivh w32codec-0.52-1.i386.rpm
需要知道的是,插件一般都安装在/usr/lib中,skin一般安装在/usr/share中。realplay系统已经为我们安装了,XMMS也有现成的,下面按照我这个参数编译,就一切搞定:

./configure --prefix=/usr --enable-gui --enable-menu --enable-xmms --language=zh --with-csslibdir=/usr/lib --with-win32libdir=/usr/lib/win32 --with-reallibdir=/usr/lib/RealPlayer8 --with-xmmsplugindir=/usr/lib/xmms --with-xmmslibdir=/usr/lib

编译到最后,应该不能出现任何error信息。
然后就可以运行gmplayer了。
需要更多的SKIN,访问这里了。
测试方法
gmplayer -really-quiet http://a772.g.akamai.net/5/772/51/20b9f288dddd83/1a1a1aaa2198c627970773d80669d84574a8d80d3cb12453c02589f25382f668c9329e0375e8177dec6493f758ca2f93f86ed743/daredevil-tlr_320.mov

安装好了MPlayer并且安装了w32codec,我们就可以播放wma文件了,但是用mplayer需要一个个的放,很麻烦,那么只要到以下地址下载一个小插件,我们就可以利用xmms做为前端来播放wma音乐了,点击进入
已知的问题是,播放音乐时候的滑动条不会因为你快速滑动而进行到相应的位置。效果不错,推荐使用。

2.> 在SuSE下使用MS-OFFICE XP的工具和插件
install-crossover-office-2.0.0.sh 这个是可以安装并运行MS-OFFICE XP的工具,同时包括IE和其他程序。
install-crossover-plugin-1.2.1.sh 这个是只能运行预先安装在MS-WIN下的MS-OFFICE XP的工具,同时包括IE和其他程序,这个不能安装在LINUX上OFFICE,只能通过OFFICE打开文档,不能编辑。

3.> D4X扫荡大法:(windrose提供)
将下载页面另存为一个文件,例如country.txt,文件格式选择txt。
打开d4x,菜单file/find links in file,弹出对话框,输入文件路径和文件名,这里的情况是country.txt,点击ok之后,弹出一个窗口,里面是所有country.txt文件里发现的链接,从中删掉不需要的那些链接就可以了。

4.> 远程登陆软件的配置
首先,这两个软件不属于linux软件,但是,它们为我们提供了在windows环境下、或者说是远程使用linux的一条途径。

(1.) Xmanager 的安装配置
首先要下载一个安装文件,大约11.7M,也可以到后面的官方主页下载。更多问题访问主页:http://www.netsarang.com/

下面是由Sworder为我们写的配置和使用方法:

在你的Windows上使用SuSE

本方案适合有两台以上电脑的玩家,但是如果只有一台电脑的话也可以实践一下,不过似乎没有什么实际作用,权当练练手吧,呵呵。
我们这次的目的是在你的WIN上面使用KDE或者GNOME等X系统,而不是用VMWARE或者VIRTUAL-PC之类的软件实现的。这样做的好处自然多多,总结如下:
1、节省大量的硬盘空间,不需要在你的硬盘上安装整一个Linux。
2、运行速度由安装Linux的服务器决定,服务器越快,你的KDE、GNOME就跑的越快。
3、作为实际软件开发的解决方案。能够使开发人员在熟悉的WIN平台上使用OFFICE等文档处理工具,而同时在Linux平台上使用gcc、make、cvs等开发工具。
总之好处多多,一具多得!

好了,废话少说,开工了!
先说明一下硬件配置和软件配置:
两台或者两台以上的PC。带网卡的那种哦(屁话!)
在其中一台你认为最强劲的PC上面安装SuSE 8.2 Professional,我们以后就叫他Server。另外的PC可以安装WIN98/WIN2K/WINXP等等,可以称作Client1、Client2..。
假设Server的IP是192.168.0.8,然后Client1的IP可以是192.168.0.10,等等依此类推,子网掩码都是255.255.255.0。只要保证在一个网段里面就可以了。当然,你也可以用DHCP分配网址,不过要搞清楚Server的IP到底是多少。

然后是准备软件了:
到http://www.netsarang.com/去下载一个XManager,最新的版本是1.3.9。我也是针对这个版本来说明的。
你也可以到ftp://219.150.98.101/Linux-Win.Graph.Terminal/那里去下载。
然后就是在你的Client里面安装了,安装的时候会问你要Serial No。没有的话就是试用版了,有时间限制的。

好了,安装完之后,回到我们可爱的SuSE上面。启动YaST,如果是ncurses方式的话,找到system->Editor for /etc/sysconfig Files。进入之后找到Desktop->Display manager->DISPLAYMANAGER_REMOTE_ACCESS。将那个值改成yes。
另外,如果你想以GDM的方式登陆的话,就把Desktop->Display manager->DISPLAYMANAGER的值由kdm改成gdm。
改完之后,Finish。这个时候又会自动运行那个SuSEconfig,以便保存刚才的更改。保存完毕之后,退出YaST。
现在你最好再运行一下rcxdm restart重新启动XDM服务,让刚才的更改起效。
刚才说的都是ncurses方式的YaST,如果是X界面下的YaST的话,修改也是一样的。不同的是,修改完毕之后需要注销一下,让XDM重新启动。

现在我们再回到Client的机器上面,在XManager 13.9里面找到Xconfig,运行之。切换到XDM页,选择XDM Indirect,然后在Host里面填写Server的IP地址,我们这里填入刚才的192.168.0.8。如果你的需要使用Server提供的字体服务的话,请切换到Font页,选择Add Font Server...,在Host里面填入Server的IP地址,一般字体服务的端口都是7100,就用默认的吧。使用字体服务的话是因为如果你的Server使用了日语的字库,而你的Client上面没有日语的字库,那么在X下面可能会出现乱码。全部好了之后,OK退出。

现在启动Xmanager 13.9里面的Xmanager,一会儿之后你就能看到在你的桌面上出现了可爱的SuSE的XDM登陆界面了,^_^

最后,我再讲一下如果只有一台PC怎么样实现这种方案?其实,用脚趾也能想出来,当然是用VMWARE了,呵呵。不过,我还要再罗嗦一下,你那台PC是要有网卡的喔。在VMWARE上安装了SuSE 8.2 Professional之后,将虚拟机的IP地址和本机的IP地址配在一个网段。然后就可以按照上述步骤实验了。

在你的桌面上运行的SuSE的速度取决于你的Server的速度,而且如果在Server上面在配置一个SAMBA的话,那么交换文件就更方便了。如果本方案应用于集中软件开发环境,那么程序员的代码就可以统一保存在一台机器上面,用CVS进行版本管理。方便快捷,一具多得,哈哈。实在是价廉物美,居家旅行,◎#%※之必备方案啊@~v~@

注:本方法只适合Linux机器运行于等级5的方式。



(2.) exceed 8.0 的安装配置

(3.) VNC 的安装配置
================================================================================

八、数据库

1.Oracle 9i (9.02)
Oracle官方网站
SuSE对Oracle的支持网站:点击访问
想知道自己的SuSE版本是否对目前对那个版本的Oracle通过了认证或者支持,请访问这里
SLES8(SuSE Linux Enterprise Server 8)的自动配置文件
SuSE Pro 8.0、8.1的自动配置文件
Oracle 9i (9.01) 在SLES8上的安装手册
Oracle 9i (9.20) 在SLES8上的安装手册

Mephis 发表于 2005-7-2 13:26

Linux下加载Windows分区的几种方法

Linux下加载Windows分区的几种方法



Linux系统可识别Windows分区,默认情况下不自动加载它。但有时在Linux中需要与Windows分区交换文件,这就需要加载它。根据不同的交换需要,我们可采用不同的加载方式。下面以RedHat Linux 7.3简体中文版为例来说明。


 一、手工加载
  如果你只是偶尔进行一些文件交换,又喜欢在仿真终端中捣鼓的话,可使用这种方式。
  假设要加载的分区在Windows中是G盘,你可在Linux的/mnt目录下建一个g目录,/mnt是Linux专门为加载各种存储设备而设的目录,默认情况下就有floppy(软驱)和cdrom(光驱)两个目录,然后再推算一下它在Linux中是第几个设备,方法是:Linux把第一硬盘的第一分区标为hda1,扩展分区的第一分区标为hda5,也就是说D盘就是hda5,那么G盘就是hda8,其它的依此类推。
  进入KDE桌面后,打开仿真终端,输入“mount -o iocharset=cp936 /dev/hda8 /mnt/g”(不带引号)命令,回车就搞定了。进入/mnt/g目录看一看,怎么样?G盘的所有内容都在里面吧。
  解释一下,“mount”是加载分区的命令,“-o iocharset=cp936”是参数,使用这个参数,我们在加载某一分区后,不仅可读写文件,还可正常显示中文长文件名。“dev/hda8”是G盘在Linux下的名称,它是被作为一个设备放在/dev目录下的,“/mnt/g”是加载G盘的目标目录。整个命令的意思是把“dev/hda8”(G盘)挂接到“/mnt/g”目录,并且可显示中文长文件名,可读写文件。


 二、半自动加载
  如果你只是偶尔进行文件交换而又觉得在仿真终端中输入命令太麻烦,你可使用这种只要点一下鼠标就可搞定的方式。
  在KDE3.0的桌面上,允许创建应用程序的链接,我们可利用它来建一个Mount命令的快捷方式,单击它就可加载指定的Windows分区。仍以加载G盘为例:
  在桌面上单击右键,在弹出的菜单中选择“应用程序链接”,在“常规”选项卡的文本输入框中输入你自己指定的名称(如“加载G盘”),切换到“执行”选项卡,在“命令”输入框中输入“mount -o iocharset=cp936 /dev/hda8 /mnt/g”,选中“在终端中运行”复选框,点“确定”退出。
  单击桌面上的“加载G盘”图标,终端窗口一闪,G盘就可加载了。


 三、全自动加载
  如果是经常进行文件交换,希望一进入Linux就加载特定的分区而且又想把这一分区挂接到固定的目录的话,你可使用这种方式。
  用任一文本编辑器打开/ect目录下的fstab文件,把“/dev/hda8 /mnt/g vfat defaults,iocharset=cp936 0 0”添加到最后一行后面,保存后退出。以后每次重新启动系统时都会自动加载G盘。说明:“vfat”表示加载的是FAT32文件系统,如果是“msdos”则是FAT16文件系统,“ntfs”是NT的NTFS文件系

Mephis 发表于 2005-7-2 13:27

SuSE 9美化三步曲

SuSE 9美化三步曲



在所有的Linux发行版中,SuSE可以说是最易于使用的一个版本了。其最近推出的9.0版本更是在很多方面有了明显的改进,比如选单的组合和分类更加合理、控制中心与YaST进行了很好的整合、增加了多个图形化的配置工具等。作为一个多年使用Linux的用户,我使用过Red Hat、Mandrake、Debian、Gentoo、Lindows、红旗、中软等几乎所有主要的Linux发行版。每种发行版可以说是各有千秋,不过SuSE在我的机器上停留的时间最长。这其中有很多原因:首先我不喜欢长时间使用一个Linux操作系统;其次就是我比较偏爱SuSE点缀有嫩绿图标的界面,它让人感觉非常清新,特别是在工作疲劳之时,使用SuSE可以调剂一下心情;还有就是SuSE的界面非常友好。

如果用一句话来评价一下各种发行版的话,就我个人而言,我觉得Red Hat中规中矩,但略显呆板;Debian坚如磐石,但非常不友好;Mandrake非常华丽,但略显业余;Gentoo性能极佳,但主要是针对骨灰级用户;Lindows非常易于使用,但软件太少,并且无法免费获得;红旗、中软两个国内发行版知名度太小,并且自己的特点不明显。相比较而言,SuSE虽然也有一些缺点,但我觉得它兼具了各发行版的很多优点,无论在稳定性、易用性及软件数量等方面都有很好的表现。

SuSE的中文化问题

事实上,一直以来SuSE都是欧洲最大的Linux发行版。自8.1版以后,SuSE开始重视欧洲以外的用户,并开始提供亚洲等各国语言的版本。也许是其全球化的步伐迈得太晚,我觉得至少在中文化方面,SuSE还是有待改进的。当然,随着Novell和IBM的介入,相信SuSE一定会更加出色。

我这里所说的美化,是指使SuSE的中文显示更加漂亮、美观。在安装SuSE 9.0时,我们会发现,虽然选择的是简体中文,但安装完成后,其KDE环境还是英文的,见图1。虽然YaST等一些SuSE特有的软件已经变成了中文界面,但也是“惨不忍睹”,见图2。本来这个问题只需通过KDE控制中心更改“国家/地区语言”即可,但缺省情况下SuSE并没有安装相应的中文包。其它几个亚洲国家的语言情况也是如此。



图1 缺省情况下SuSE不对KDE进行汉化



图2 缺省情况下SuSE的中文显示不佳


事实上,这个问题在以前的版本中就已经存在。让我没有想到的是,在SuSE 9.0中居然也没有得到改正。记得我刚开始碰到这个问题的时候,就自己直接汉化了KDE。对于老的Linux用户来说,这个方法其实也不难,就是到kde.org上下载一个中文软件包,然后安装就可以了。可接下来我发现,实际上相应的软件包在发行版中已经有了,只不过SuSE并不会自动将其装上,并且也没有明显的提示。

鉴于SuSE在中文显示方面的缺陷,我根据自己的使用经验向大家介绍SuSE 9.0美化的三步曲。之所以采用三步曲,并不是说这个过程有多么复杂(实际上过程很简单,否则我们就没有理由选择使用SuSE了),而是对于不同用户的需求选用不同的方法。

第一步

对于一些Linux用户来说,并不在乎KDE是中文还是英文,也不在乎中文显示得是否漂亮。对于这些用户,只要把图2中所示的中文显示混乱和不完整的问题解决就可以了,只需对SuSE的设置稍作修改,而不用安装任何其它的软件包。

之所以出现中文显示混乱的问题,那是因为系统所使用的默认字体无法正确显示中文。解决方法是更改缺省的字体,使其可以正确显示中文字体。我们可以在控制中心中更改字体。

具体方法是:主选单→控制中心→外观和主题→字体,然后点击页面右下角“调整所有字体”按钮,并将其改为AR PI. KaitiM GB,这是SuSE 9.0自带的中文字体。修改完成后,点击“应用”,这时就可发现中文字体显示已经正常了,见图3。



图3 更改缺省字体后中文显示就正常了


这种方法适用于那些只在乎系统的可用性,而不是很在乎界面的用户。因为尽管SuSE中配置工具的中文已经可以正常显示了,但整个KDE环境还是英文的。

第二步

对于大部分用户而言,还是希望有一个纯中文的环境,我们可以通过安装SuSE自带的中文软件包来实现KDE环境的汉化。

具体方法是:主选单→系统→YaST→软件→install and remove software。在界面的上方下拉列表中选择“软件包组群”,然后在其下方的框中依次点击“System”、“GUI”、“KDE”。这时右边的框中就会出现很多软件包,选择名为kde3-i18n-zh_CN的软件包,如图4,点击“接受”即可进行安装。



图4 选择安装中文化软件包


软件包安装完成后,到控制中心中把语言改为中文。

具体方法是:主选单→控制中心→区域和辅助功能→国家/地区和语言,在下拉列表中选择“简体中文”,点击应用即可。这时整个KDE环境就变成中文了,如图5所示。



图5 汉化后的KDE环境



这种方法适用于那些需要中文环境,但并不使用Linux进行办公的用户。因为从图3可以看出,中文字体的显示有些模糊,让人觉得比较业余。

第三步

对于一些用户来说,使用Linux并不仅仅是爱好,也不仅仅是用来学习,它更主要的目的是用于工作。我的办公室里既有Linux机器,也有Windows机器,在很多时候我都在使用Linux。就我个人而言,一定要使用Windows的情况就是玩游戏的时候,比如我最近在玩的《盟军敢死队3》和《魔兽3》就无法在Linux下使用。除此之外,我可以用Linux完成所有的工作。从这个意义上来说,我觉得Linux在桌面上要占据微软的地盘已经不仅仅是GNOME和KDE在桌面上进行改进的问题,更重要的是众多的ISV(独立软件开发商)的跟进问题。

在日常工作中,我经常需要制作一些文档,而SuSE中缺省的字体显然无法满足我的要求。缺省情况下,SuSE只安装了两种简体中文字体。因此,我要向SuSE添加一些字体。其中有两种方法,一种是使用SuSE 9.0中新增的网上下载功能;另外一种是使用Windows或其它第三方的字体。

1.使用网上下载功能添加字体

在SuSE 9.0中,通过其在线更新功能可以下载一些微软的字体(这是新版本中新增加的功能)。据SuSE称,之所以不随发行版附带这些字体是考虑到许可方面的问题。虽然没有直接附带这些字体,但SuSE还是提供了非常方便地获取这些字体的方式。

具体方法是:主选单→系统→YaST→软件→在线更新,按照界面导航到达如图6所示的界面。



图6 使用在线更新功能下载微软核心字体



在左上方的列表中选择“YOU补丁”。在其下方的框中,有一个名为“Download Microsoft TrueType Core Fonts”,选中其前方的复选框,然后点击“接受”开始下载。下载完成后,按照提示进行安装即可。安装完成以后,重新启动系统,这时再进入控制中心的字体设置界面,可以看到上面已经多了一些以MS开头的字体,见图7。



图7 从网上下载的微软核心字体已经可用了


这种方法简单,但是字体数量太少。在Windows中缺省的Simsun字体居然也没有,所以还是无法满足制作丰富的文件格式的需求。

2.导入Windows下的TTF字体

为了使用大量可用的TTF字体,最简单的方法就是直接将这些字体导入到SuSE中。在SuSE 9.0中,提供了非常简捷地导入TTF字体的方法。

首先将Windows中Fonts目录下的所有文件拷贝至SuSE中任一目录中,在此我将其拷贝到了/home/yiligui/fonts目录中,然后将其中simsun&Nsimsun.ttc文件的扩展名改为.ttf,接着启动SuSE的字体安装程序。

具体方法是:主选单→控制中心→系统管理→字体安装程序,然后点击“添加”,找到存放.ttf文件的目录,添加完成后点击应用即可完成安装,如图8所示。



图8 将.ttf字体导入至SuSE中


导入完成后,按照上文所述的方法将系统的默认字体改为SimSun。这时再来看一看控制中心及选单上的中文显示,就和Windows下没有两样了。

到现在为止,我的SuSE系统所拥有的汉字字体数量和显示水平和Windows XP系统已经没有区别,非常漂亮,也非常专业。

字体安装完成后,也可以在OpenOffice.org及其它一些应用程序中使用这些字体了。

小结

让SuSE中文显示更加漂亮、美观这个过程应该说并不复杂,可是对新手来说可能会觉得无从下手。对于SuSE来说,这不能不说是一大缺憾,也许正是这一个缺憾使得SuSE失去了很多中国用户的青睐。但是,经过上面三步曲后,你就会发现SuSE原来如此漂亮。

Mephis 发表于 2005-7-2 13:28

不好意思, 我懒的贴图

BeBe 发表于 2005-7-2 22:34

http://tech.ccidnet.com/pub/article/c738_a99237_p1.html

http://tech.ccidnet.com/pub/attachment/2004/3/281801.gif

http://tech.ccidnet.com/pub/attachment/2004/3/281802.gif

http://tech.ccidnet.com/pub/attachment/2004/3/281803.gif

http://tech.ccidnet.com/pub/attachment/2004/3/281804.gif

http://tech.ccidnet.com/pub/attachment/2004/3/281805.gif

http://tech.ccidnet.com/pub/attachment/2004/3/281806.gif

http://tech.ccidnet.com/pub/attachment/2004/3/281807.gif


http://tech.ccidnet.com/pub/attachment/2004/3/281808.gif

Mephis 发表于 2005-7-3 13:50

SuSE9.1使用apt升级全解

SuSE9.1使用apt升级全解

1.到ftp://ftp.gwdg.de/pub/linux/suse/apt/SuSE/9.1-i386/RPMS.suser-rbos/下载apt相关包,如果想用图形化前端,需下载synaptic-0.53-0.suse091.rb.1.i586.rpm并安装之。

2。编辑 /etc/apt/sources.list ,加入:rpm ftp://ftp.gwdg.de/pub/linux/suse/apt SuSE/9.1-i386 xorg usr-local-bin rpmkeys base update-prpm update kde gnome mozilla samba3 ximian suser-rbos suser-oc2pus suser-guru suser-gbv suser-tcousin suser-scorot suser-sbarnin suser-jogley suser-ollakka labplot funktronics packman packman-i686 kernel-of-the-day wine suse-people suse-projects kde3-stable kde-unstable security-prpm security
rpm-src ftp://ftp.gwdg.de/pub/linux/suse/apt SuSE/9.1-i386 xorg usr-local-bin rpmkeys base update-prpm update kde gnome mozilla samba3 ximian suser-rbos suser-oc2pus suser-guru suser-gbv suser-tcousin suser-scorot suser-sbarnin suser-jogley suser-ollakka labplot funktronics packman packman-i686 kernel-of-the-day wine suse-people suse-projects kde3-stable kde-unstable security-prpm security

3。到ftp://ftp.gwdg.de/pub/linux/suse/apt/SuSE/9.1-i386/RPMS.rpmkeys/ 下载全部rpmkeys包安装之。

4。在非root用户下运行kdesu synaptic

5.剩余的事情就是爽了!!



SuSE9.1下apt安装++

首先,感谢 wzs的“SuSE9.1使用apt升级全解.”给了我很多的引导还有http://www.html4.com/mime/markup/php/suse_linux_en/install_ftp.php的正确方法

step1:- 升级你的SuSE9.1,否自安装 apt-0.5.15cnc6-0.suse091.rb.5.i586.rpm
apt-libs-0.5.15cnc6-0.suse091.rb.5.i586.rpm将有libpopt.so.0的错误报告
step2:-在ftp://ftp.gwdg.de/pub/linux/suse/apt/SuSE/9.1-i386/RPMS.suser-rbos/下载apt-0.5.15cnc6-0.suse091.rb.5.i586.rpm 和apt-libs-0.5.15cnc6-0.suse091.rb.5.i586.rpm
step3:-在root用户下输入命令:cd /user/lib
ln -s libpopt.so.1.0.0 libpopt.so.0
作用产生一个指向libpopt.so.1.0.0的链接文件libpopt.so.0,然后用YAST 2把这个两个软件包装上,我是顺利安上。
step4:-更改 /etc/apt/sources.list 在文件的末尾添上
rpm ftp://ftp.gwdg.de/pub/linux/suse/apt SuSE/9.1-i386 xorg suser-guru wine rpmkeys base update-prpm update kde gnome xfree86 mozilla samba3 ximian suser-rbos suser-gbv usr-local-bin suser-tcousin suser-scorot suser-sbarnin suser-jogley suser-ollakka labplot funktronics packman packman-i686 kde3-stable security-prpm security
rpm-src ftp://ftp.gwdg.de/pub/linux/suse/apt SuSE/9.1-i386 xorg suser-guru wine rpmkeys base update-prpm update kde gnome xfree86 mozilla samba3 ximian suser-rbos suser-gbv usr-local-bin suser-tcousin suser-scorot suser-sbarnin suser-jogley suser-ollakka labplot funktronics packman packman-i686 kde3-stable security-prpm security
如果你不要下载源文件去研究,在rpm-src前加上“#”符号。
(***************以下的是可选改法,你不做括号内的修改不会有很大影响,至于作用用原作者一个老外的话will work better,作者本身也没有解释清楚,参见http://www.html4.com/mime/markup/php/suse_linux_en/install_ftp.php******************************************
更改/etc/apt/apt.conf.d/apt.conf为:
// with "apt-config dump" all settings can be viewed
Acquire::CDROM::Copy "true";

APT {
Clean-Installed "false";
Get {
Assume-Yes "false";
Download-Only "false";
Show-Upgraded "true";
Fix-Broken "false";
Ignore-Missing "false";
Compile "false";
};
};

RPM {
Ignore { };
Hold { };
Allow-Duplicated { "^kernel$"; "^kernel-"; "^kmodule-"; "^gpg-pubkey$" };
Options { };
Install-Options "";
Erase-Options "";
Source {
Build-Command "rpmbuild --rebuild";
};
};

然后编辑 "/etc/apt/apt.conf.d/gpg-import.conf",取消第三行注释.
再然后更改 "/etc/apt/apt.conf.d/gpg-check.conf"如下:
Scripts::PM::Pre:: "gpg-check.lua";
// Enable to check for GPG signatures
RPM::GPG-Check "true";

还改"/etc/apt/apt.conf.d/gpg-checker.conf"如下:
// Make RPM::GPG-Check no; to disable gpg checking
// It can still be used in combination with --checksig
RPM::GPG-Check yes;
Scripts::PM::Pre:: gpg-checker.lua;

最后了,呵呵,添加 "/etc/profile.local"文件,内容为:
xhost +
*********************************)
休息一会*_*
step5:-在ftp://ftp.gwdg.de/pub/linux/suse/apt/SuSE/9.1-i386/RPMS.rpmkeys/ 下载 所有的rpmkeys软件包,用apt --no-checksig --no-post install name_of_the_key方法安装,注意这里的name_of_the_key是rpmkeys包的名字。
你将会看到:
Reading Package Lists...
Building Dependency Tree...
The following NEW packages will be installed:
rpmkey-packman
0 upgraded, 1 newly installed, 0 removed and 94 not upgraded.
Need to get 23.0kB of archives.
After unpacking 31.2kB of additional disk space will be used.
Get:1 ftp://ftp.gwdg.de/ SuSE/9.1-i386/packman rpmkey-packman 0.2-0.pm.0
Fetched 23.0kB in 6s (3551B/s)
Committing changes...
Preparing... ##################################################
rpmkey-packman ##################################################
Done.
You don't seem to have one or more of the needed GPG keys in your RPM database.
Importing them now...
的画面,注意“You don't seem to have one or more of the needed GPG keys in your RPM database.Importing them now...”,请下载414A57C3-lmuelle-gpg-key.asc.文件,我找的网址http://ftp.nluug.nl/networking/samba/Binary_Packages/SuSE/ 414A57C3-lmuelle-gpg-key.asc,你也可以自己搜搜。保存到你的 /home/ 目录下.然后输入"rpm --import /home//414A57C3-lmuelle-gpg-key.asc".把这些包装上才不会有unsigned package(s)的错误。输入 "rpm -qa|grep -E "key".检测你的Key是否安装上去,在你按enter后出现的一排排数据中会有gpg-pubkey-414a57c3-3b52d7d4 一段,呵呵 添加完毕。

step6:-输入"apt-get update",进行list更新,OK!
step7:-安装图像界面的apt-Kynaptic.输入"apt-get install kynaptic". 安装后你可以在K-Menu中:系统> Configuration>Kynaptic Package Manager.找到。
step8:-大喊一声,放松一下,不过下载更新的速度不快--挂机
页: [1]
查看完整版本: linux的基本知识 (Mephis)