查看完整版本 : 小技巧及初学FAQ【2008年1月21日更新】
楼层---主题------------------------------------------------------页面
1------目录--------------------------------------------------------1
2------如何同时启动多个x-------------------------------------------1
3------文本日历----------------------------------------------------1
4------启动postgresql的tcp/ip连接支持------------------------------1
5------将man转存为文本文件-----------------------------------------1
6------在文本模式下发送2进制文件-----------------------------------1
7------man page转成HTML格式----------------------------------------1
8------rpm搜索-----------------------------------------------------1
9------文本方式下自动mount光区和软盘-------------------------------1
10-----用xvidtune调整你的显示器------------------------------------1
11-----将man转换为文本文件-----------------------------------------1
12-----根据文件扩展名鉴别文件类型----------------------------------1
13-----给一个文件标记上行号----------------------------------------1
14-----将一个文件中的所有大写字母换成小写--------------------------1
15-----计算一个文件有几行------------------------------------------1
16-----默认进入图形界面--------------------------------------------2
17-----修复grub----------------------------------------------------2
18-----使用windows分区---------------------------------------------2
19-----如何安装软件------------------------------------------------2
20-----XMMS不能播放MP3---------------------------------------------2
21-----windows分区中文件名中的中文全变成问号-----------------------2
22-----卸载linux---------------------------------------------------2
23-----安装软件时提示缺少一个.so文件-------------------------------2
24-----在linux下使用QQ---------------------------------------------2
25-----文本控制台出现乱码------------------------------------------2
26-----改变grub默认启动的系统--------------------------------------2
27-----定制VI------------------------------------------------------2
28-----让Mozilla支持flash------------------------------------------2
29-----如何使用md5sum----------------------------------------------2
30-----引导入单用户模式--------------------------------------------2
31-----linux下解压rar包--------------------------------------------3
32-----以另一个用户身份使用GUI应用程序-----------------------------3
33-----在文字模式下设置刷新率--------------------------------------3
34-----使用chattr给文件加上写保护----------------------------------3
35-----小技巧:pidof -----------------------------------------------3
36-----默认打开NumLock---------------------------------------------3
37-----如何制作启动盘----------------------------------------------3
38-----用命令弹出/收回光驱托盘-------------------------------------3
39-----保存alias设置-----------------------------------------------3
40-----如何使用ISO文件---------------------------------------------3
41-----如何在RedHat中配置ADSL--------------------------------------3
42-----文本下支持图片显示的浏览器----------------------------------3
43-----利用Nautilus中右键的脚本子菜单------------------------------3
44-----如何在openoffice下使用中文----------------------------------3
45-----如何安装xxxxxx.src.rpm这样的包------------------------------3
46-----快速进入某些目录--------------------------------------------4
47-----XMMS播放列表不能显示中文------------------------------------4
48-----任何共享上网------------------------------------------------4
49-----grub使用小技巧----------------------------------------------4
50-----删除文件名以连字符 - 开始的文件-----------------------------4
51-----如何制作iso映象---------------------------------------------4
52-----让你的程序在你logout后仍然继续执行而不中断------------------4
53-----使用 head 和 tail 以块方式读取文本流------------------------4
54-----使用tac反向输出文件内容-------------------------------------4
55-----字符串截断--------------------------------------------------4
56-----特殊的管道操作命令 tee -------------------------------------4
57-----读出文件前n行的3种方法--------------------------------------4
58-----vi中的拷贝--------------------------------------------------4
59-----如何写shell脚本---------------------------------------------4
60-----查找系统man中所有有关某条命令的man手册----------------------4
61-----在grub.conf中指定分辨率-------------------------------------5
62-----察看支持的显示模式------------------------------------------5
63-----间接扩充----------------------------------------------------5
64-----bash中的算术运算--------------------------------------------5
65-----如何进行c语言编程-------------------------------------------5
66-----使用redhat linux的iso文件加装软件---------------------------5
67-----获取文件的大小----------------------------------------------5
68-----linux下阅读chm文件------------------------------------------5
69-----我编译mysql时出现错误??-------------------------------------5
70-----解决vi里半汉字处理的问题------------------------------------5
71-----我忘了一个命令的具体名字,怎么办?----------------------------5
72-----使用bc进行数制转换------------------------------------------5
73-----DNS 配置的语法是否正确-------------------------------------5
74-----httpd.conf 语法检查------------------------------------------5
75-----怎样使ethtool设置永久保存在网络设备中-----------------------5
76-----如何在SMP内核下限制活动的CPU数量--------------------------6
77-----如何实现多块网卡的绑定(bonding)功能?----------------------6
78----- 操作系统安装后,怎样用逻辑卷管理器创建一个逻辑卷?----------6
79------怎样配置Netdump服务器和客户端?---------------------------6
80------怎样在运行的系统中设置RAID 1(镜像)?-----------------------6
81------怎样配置VNC服务器使其能在红帽企业Linux3系统引导时自动启动?--6
82------怎样在系统引导时阻止某些模块的加载?------------------------6
83------系统为什么不识别外部USB驱动?-----------------------------6
84------调整LVM2和ext2或ext3文件系统大小的过程------------------6
85------使用Sendmail发送邮件时如何将发送地址user@localhost.domain伪装成user@domain?--------------------6
86------如何使红帽企业Linux4支持多LUN?---------------------------6
87------netstat命令的输出中的"warning, got duplicate tcp line"有什么含义?---6
88------如何在红帽企业Linux 4中设置 device-mapper 的多路径管理?--6
89------怎样添加一个NIS域用户?------------------------------------6
90-------如何通过设置PAM实现控制'su‘的访问?------------------------6
91------如何使用iptables的NAT功能把红帽企业版Linux作为一台路由器使用?---7
92------如何手工设置显示器的明暗-----------------------------------7
以前的帖子,估计很多人没看过,贴出来温习一下
Linux里的X-Windows以其独特的面貌和强大的功能吸引了很多原先对linux不感兴趣的人,特别是KDE和GNOME,功能强大不说,而且自带了很多很棒的软件,界面非常友好,很适合于初学者。下面告诉大家一个同时启动6个X的小技巧:
在~/.bashrc中加入 以下几行:
alias X='startx -- -bpp 32 -quiet&'
alias X1='startx -- :1 -bpp 32 -quiet&'
alias X2='startx -- :2 -bpp 32 -quiet&'
alias X3='startx -- :3 -bpp 32 -quiet&'
alias X4='startx -- :4 -bpp 32 -quiet&'
alias X5='startx -- :5 -bpp 32 -quiet&'
其中32是显示器的色彩深度,你应该根据自己的实际情况设置。
之后运行
# bash
使改变生效,以后只要依次运行X,X1,X2,X3,X4,X5就可以启动6个X-Windows了。
文本日历
显示本月日历
[root@ns1 mail]# cal
显示某年的日历
[root@ns1 mail]#cal 2002
显示3个月的日历
[root@ns1 root]# cal -3
把周一作为一周的第一天
[root@ns1 root]# cal -m
显示Julian日历(日子是从1月1日开始累加的)
[root@ns1 root]# cal -j
装了rpm的postgresql之后启动
/etc/init.d/postgresql start
是不能启动postgresql的tcp/ip连接支持的,所以打开/etc/init.d/postgresql这个文件把
su -l postgres -s /bin/sh -c "/usr/bin/pg_ctl -D $PGDATA -p /usr/bin/postmaster start > /dev/null
2>&1" < /dev/null
改为:
su -l postgres -s /bin/sh -c "/usr/bin/pg_ctl -o '-o -F -i' -w -D $PGDATA -p /usr/bin/postmaster start > /dev/null
2>&1" < /dev/null
这样就可以启动数据库的tcp/ip链接了
以ls的man为例
man ls |col -b >ls.txt
将info变成文本,以make为例
info make -o make.txt -s
首先检查系统有没有uuencode 和 uudecode如果没有从光盘上装
rpm -ivh sharutils-x.xx.x-x.rpm
假设要发送的文件是vpopmail-5.2.1.tar.gz执行
uuencode -m vpopmail-5.2.1.tar.gz vpopmail.tar.gz>encodefile
说明:
uuenode是编码命令,-m是使用mime64编码,vpopmail-5.2.1.tar.gz是要编码的文件,vpopmail.tar.gz是如果解码后得到的文件名,encodefile是编码后的文件名。
执行上述命令之后就可以通过mail命令发送编码后的文件了
mail chenlf@chinalinuxpub.com<encodefile
好了,现在我来接收邮件
在控制台上输入mail命令:
mail
Mail version 8.1 6/6/93. Type ? for help.
"/var/spool/mail/chenlf": 2 messages 2 new
>N 1 chenlf@ns1.catv.net Mon Jun 10 16:44 17/363
N 2 root@ns2.catv.net Mon Jun 10 16:45 6091/371145
& 2
Message 2:
From root@ns2.catv.net Mon Jun 10 16:45:28 2002
Date: Mon, 10 Jun 2002 16:44:51 +0800
From: root <root@ns2.catv.net>
To: chenlf@chinalinuxpub.com
begin-base64 644 vpopmai.tar.gz
H4sIABr15TwAA+w9a2PbNpL7NfwVqNPbWIlFPSzbiR2n9SuxE7/OcuLNtdmU
EiGLMUWqfFhWt7u//eYBgKRE2U7iTa+3VndjiQQGg5nBYDAYDC6H4XDgeH51
yW7ajdpf/h2fer1VX1lagr/1+spyq/BXff5SX2mtNBZXmovN5l/qjWZrqfEX
sfRvwWbik8aJEwnxl7ifDofXlLvp/Z/0c1nk/8uN/777NuqNen251ZrB/+XF
pcUG8r/ZbC0vL9ZXoPwi/O8von73qEx//sP5bwHHxanT8aUIe2IrDBIZJLFl
7QVJFFovpZOkkYxFL4yEFhVLCKhk1W2xG45E1wnEnohlIsJAiksvSlLHF24I
JQORhKIjRdKXYhh5Ayca6xcAD8DQm4HT7XuB/EGcSXgbPErEyAkSrNp3LqVw
grGoyaRbGzpxPHJFGssotq0Gtw6l9gTgJbixode9EOlQDMaTmEjE/AerydVc
rAY4jJzIFY7vC3wL2DgJvJIxIjFwkm6fWkfw1KoAIti/EgkWc3A6YRp05ReB
aeXAQH34GoXOwAvOVUnoEnwRYRqJeJAMgczRpYzEyEv6YQoUH8oACltLtjjD
Rr1YOCJ2BkPgJop1IuJu5A0TYh9xIdQwfrCWTdt9pMKvaZg4j5jT3PgojC5+
sFZswM0LAJzvSyhGXQSCOmLoO9DtEOAicBCD2qUT1agAg44BSd+1niIEzVPs
.................
.................
.................
& s 2 encodefile
"encode" [New file]
& q
然后进行解码
uudecode encodefile
ls
encodefile vpopmai.tar.gz
tar zxvf vpopmail.tar.gz
OK了
使用 man2html 这个指令,就可以将 man page 转成 HTML 格式了。用法是:
man2html filename > htmlfile.html
假设你想知道/bin/ls这个文件属于哪个rpm包你可以使用
rpm -qf /bin/ls
fileutils-4.1-10
所以ls是属于fileutils-4.1-10这个rpm包了
例如想知道fileutils-4.1-10.i386.rpm 有那些文件,分别安装到系统哪个目录,可以执行
rpm -pql fileutils-4.1-10.i386.rpm
/bin/chgrp
/bin/chmod
/bin/chown
/bin/cp
/bin/dd
/bin/df
/bin/ln
/bin/ls
/bin/mkdir
/bin/mknod
/bin/mv
/bin/rm
/bin/rmdir
/bin/sync
/bin/touch
/etc/DIR_COLORS
/etc/profile.d
/etc/profile.d/colorls.csh
/etc/profile.d/colorls.sh
/usr/bin/dir
/usr/bin/dircolors
/usr/bin/du
/usr/bin/install
/usr/bin/mkfifo
/usr/bin/shred
/usr/bin/vdir
/usr/share/doc/fileutils-4.1
/usr/share/doc/fileutils-4.1/ABOUT-NLS
/usr/share/doc/fileutils-4.1/AUTHORS
/usr/share/doc/fileutils-4.1/COPYING
/usr/share/doc/fileutils-4.1/ChangeLog
/usr/share/doc/fileutils-4.1/NEWS
/usr/share/doc/fileutils-4.1/README
/usr/share/doc/fileutils-4.1/THANKS
/usr/share/doc/fileutils-4.1/TODO
/usr/share/info/fileutils.info.gz
/usr/share/locale/cs/LC_MESSAGES/fileutils.mo
/usr/share/locale/da/LC_MESSAGES/fileutils.mo
/usr/share/locale/de/LC_MESSAGES/fileutils.mo
/usr/share/locale/el/LC_MESSAGES/fileutils.mo
/usr/share/locale/es/LC_MESSAGES/fileutils.mo
/usr/share/locale/fr/LC_MESSAGES/fileutils.mo
/usr/share/locale/gl/LC_MESSAGES/fileutils.mo
/usr/share/locale/it/LC_MESSAGES/fileutils.mo
/usr/share/locale/ja/LC_MESSAGES/fileutils.mo
/usr/share/locale/ko/LC_MESSAGES/fileutils.mo
/usr/share/locale/nl/LC_MESSAGES/fileutils.mo
/usr/share/locale/no/LC_MESSAGES/fileutils.mo
/usr/share/locale/pl/LC_MESSAGES/fileutils.mo
/usr/share/locale/pt/LC_MESSAGES/fileutils.mo
/usr/share/locale/pt_BR/LC_MESSAGES/fileutils.mo
/usr/share/locale/ru/LC_MESSAGES/fileutils.mo
/usr/share/locale/sk/LC_MESSAGES/fileutils.mo
/usr/share/locale/sl/LC_MESSAGES/fileutils.mo
/usr/share/locale/sv/LC_MESSAGES/fileutils.mo
/usr/share/locale/zh/LC_MESSAGES/fileutils.mo
/usr/share/man/man1/chgrp.1.gz
/usr/share/man/man1/chmod.1.gz
/usr/share/man/man1/chown.1.gz
/usr/share/man/man1/cp.1.gz
/usr/share/man/man1/dd.1.gz
/usr/share/man/man1/df.1.gz
/usr/share/man/man1/dir.1.gz
/usr/share/man/man1/dircolors.1.gz
/usr/share/man/man1/du.1.gz
/usr/share/man/man1/install.1.gz
/usr/share/man/man1/ln.1.gz
/usr/share/man/man1/ls.1.gz
/usr/share/man/man1/mkdir.1.gz
/usr/share/man/man1/mkfifo.1.gz
/usr/share/man/man1/mknod.1.gz
/usr/share/man/man1/mv.1.gz
/usr/share/man/man1/rm.1.gz
/usr/share/man/man1/rmdir.1.gz
/usr/share/man/man1/shred.1.gz
/usr/share/man/man1/sync.1.gz
/usr/share/man/man1/touch.1.gz
/usr/share/man/man1/vdir.1.gz
上述命令仅对rpm包安装的软件有效
linux下使用广盘软盘都必须要先mount很不方便,大家可以使用autofs来自动mount自己的广盘和软盘.
具体步骤如下:
1 修改/etc/auto.misc
# $Id: auto.misc,v 1.2 1997/10/06 21:52:04 hpa Exp $
# This is an automounter map and it has the following format
# key [ -mount-options-separated-by-comma ] location
# Details may be found in the autofs(5) manpage
cd -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom
# the following entries are samples to pique your imagination
#linux -ro,soft,intr ftp.example.org:/pub/linux
#boot -fstype=ext2 :/dev/hda1
#floppy -fstype=auto :/dev/fd0
#floppy -fstype=ext2 :/dev/fd0
#e2floppy -fstype=ext2 :/dev/fd0
#jaz -fstype=ext2 :/dev/sdc1
#removable -fstype=ext2 :/dev/hdd
我们只需要修改里面的cd和floppy部分:
# $Id: auto.misc,v 1.2 1997/10/06 21:52:04 hpa Exp $
# This is an automounter map and it has the following format
# key [ -mount-options-separated-by-comma ] location
# Details may be found in the autofs(5) manpage
cdrom -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom
# the following entries are samples to pique your imagination
#linux -ro,soft,intr ftp.example.org:/pub/linux
#boot -fstype=ext2 :/dev/hda1
floppy -fstype=auto :/dev/fd0
floppy -fstype=ext2 :/dev/fd0
e2floppy -fstype=ext2 :/dev/fd0
#jaz -fstype=ext2 :/dev/sdc1
#removable -fstype=ext2 :/dev/hdd
然后修改/etc/auto.master
原来的文件是
# $Id: auto.master,v 1.2 1997/10/06 21:52:03 hpa Exp $
# Sample auto.master file
# Format of this file:
# mountpoint map options
# For details of the format look at autofs(8).
#/misc /etc/auto.misc --timeout=60
去掉最后一行前面的注释
# $Id: auto.master,v 1.2 1997/10/06 21:52:03 hpa Exp $
# Sample auto.master file
# Format of this file:
# mountpoint map options
# For details of the format look at autofs(8).
/misc /etc/auto.misc --timeout=60
其中60是说如果没有任何操作则在60妙后自动umount
好了,重新起动autofs
chkconfig --levels 345 autofs on
/etc/init.d/autofs restart
测试:
放张广盘到光区然后执行
cd /misc/cdrom
ls
就可以看到广盘里的内容了
如果是软盘则执行
cd /misc/floppy
ls
大家会发现装了linux之后在windows下用的好好的显示器有时进到linux的xwindows里后就歪掉了,调整好之后回到windows后windows的桌面也外调了,来回启动系统每次都要调整很麻烦的,这里介绍一个办法一劳永逸
j进入linux启动x在xterm里执行xvidtune,会弹出这个软件的窗口,点Auto然后点Left,Right等按钮调整你的显示器到最佳的位置,然后点界面上的Show按钮会得到类似这样的输出:
"1152x864" 121.50 1152 1232 1360 1568 864 865 868 911 +hsync -vsync
然后退出这个软件,修改你的/etc/X11/XF86Config-4文件在
Section "Monitor"
Identifier "AS 786T"
VendorName "Unknown"
ModelName "Unknown"
HorizSync 30 - 87
VertRefresh 50 - 160
Option "dpms"
EndSection
里加上刚才的输出,我的是:
Section "Monitor"
Identifier "AS 786T"
VendorName "Unknown"
ModelName "Unknown"
HorizSync 30 - 87
VertRefresh 50 - 160
Modeline "1152x864" 121.50 1152 1232 1360 1568 864 865 868 911 +hsync -vsync
Option "dpms"
EndSection
保存然后重起试试看吧
以ls为例
$ man ls |col -b> ls.txt
然后就可以用任何文本浏览器打开ls.txt查看里面的内容了
对于新手来说,对linux的文件扩展名可能会很困惑,文件扩展名是文件名的最后,位于最后一个“.”号的后面的那部分(在文件sneakers.txt,重 "txt"是这个文件的扩展名).
下面是文件扩展名的简要列表和他们的说明:
压缩和打包文件:
.bz2 ― bzip2压缩文件
.gz ― gzip压缩文件
.tar ―tar打包文件
.tbz ― tar打包并用bzip压缩的文件
.tgz ― tar打包并用gzip压缩的文件.
文件格式
.au ― audio文件
.gif ― GIF图象文件
.html/.htm ― HTML文件
.jpg ― JPEG图象文件
.pdf ― 文档的电子图象; PDF代表Portable Document Format
.png ― PNG图象(Portable Network Graphic的缩写)
.ps ― PostScript文件; 打印格式文件
.txt ― 纯文本文件
.wav ― audio文件
.xpm ― 图象文件
系统文件
.conf ― 配置文件
.lock ― lock文件; 用来判断一个程序或者设备是否在被使用
.rpm ― Red Hat Package Manager文件,用来安装程序,软件和脚本文件
.c ― c源程序代码文件
.cpp ― C++源程序代码文件
.h ― C或者C++程序的头文件
.o ― 程序目标文件
.pl ― Perl脚本
.so ― 类库文件
.tcl ― TCL脚本
对于那些不常用或者没有扩展名的文件,如何判断它的类型呢?我们可以使用file命令,例如:一个名为saturday的文件没有扩展名。使用file命令,我们可以知道这个文件的文件类型:
$ file saturday
saturday : ASCII English text
在这个例子重。命令file saturday显示出这个文件是一个ASCII文本文件.任何文本文件都可以用诸如cat,more或者less以及文本编辑器来查看或者编辑
更多帮助请参考
man file
使用nl命令
例如[root@ns2 root]# nl /etc/passwd
1 root:x:0:0:root:/root:/bin/bash
2 bin:x:1:1:bin:/bin:/sbin/nologin
3 daemon:x:2:2:daemon:/sbin:/sbin/nologin
4 adm:x:3:4:adm:/var/adm:/sbin/nologin
5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
6 sync:x:5:0:sync:/sbin:/bin/sync
7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
8 halt:x:7:0:halt:/sbin:/sbin/halt
9 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
10 news:x:9:13:news:/var/spool/news:
11 uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
12 operator:x:11:0:operator:/root:/sbin/nologin
13 games:x:12:100:games:/usr/games:/sbin/nologin
14 gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
15 ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
16 nobody:x:99:99:Nobody:/:/sbin/nologin
17 vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin
18 mailnull:x:47:47::/var/spool/mqueue:/dev/null
19 rpm:x:37:37::/var/lib/rpm:/bin/bash
20 rpc:x:32:32:Portmapper RPC user:/:/sbin/nologin
21 xfs:x:43:43:X Font Server:/etc/X11/fs:/bin/false
22 rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
23 nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
24 nscd:x:28:28:NSCD Daemon:/:/bin/false
25 ident:x:98:98:pident user:/:/sbin/nologin
26 radvd:x:75:75:radvd user:/:/bin/false
27 pcap:x:77:77::/var/arpwatch:/sbin/nologin
28 chenlf:x:500:500::/home/chenlf:/bin/bash
29 alias:x:100:16::/etc/qmail/alias:/bin/true
30 qmaild:x:101:16::/var/qmail:/bin/true
31 qmaill:x:102:16::/var/qmail:/bin/true
32 qmailp:x:103:16::/var/qmail:/bin/true
33 qmailq:x:104:11::/var/qmail:/bin/true
34 qmailr:x:105:11::/var/qmail:/bin/true
35 qmails:x:106:11::/var/qmail:/bin/true
36 qmaillog:x:107:11::/var/log:/bin/true
37 vpopmail:x:502:502::/home/vpopmail:/bin/bash
38 mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash
39 ldap:x:55:55:LDAP User:/var/lib/ldap:/bin/false
40 named:x:25:25::/usr/local/bind921/var:/bin/false
41 ftpadmin:x:96:96::/var/ftp/:/sbin/nologin
给输出的行号后加个点例如1. 2.
[root@ns2 root]# nl /etc/passwd -s '. '
1. root:x:0:0:root:/root:/bin/bash
2. bin:x:1:1:bin:/bin:/sbin/nologin
3. daemon:x:2:2:daemon:/sbin:/sbin/nologin
4. adm:x:3:4:adm:/var/adm:/sbin/nologin
5. lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
6. sync:x:5:0:sync:/sbin:/bin/sync
7. shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
8. halt:x:7:0:halt:/sbin:/sbin/halt
9. mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
10. news:x:9:13:news:/var/spool/news:
11. uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
12. operator:x:11:0:operator:/root:/sbin/nologin
13. games:x:12:100:games:/usr/games:/sbin/nologin
14. gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
15. ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
16. nobody:x:99:99:Nobody:/:/sbin/nologin
17. vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin
18. mailnull:x:47:47::/var/spool/mqueue:/dev/null
19. rpm:x:37:37::/var/lib/rpm:/bin/bash
20. rpc:x:32:32:Portmapper RPC user:/:/sbin/nologin
21. xfs:x:43:43:X Font Server:/etc/X11/fs:/bin/false
22. rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
23. nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
24. nscd:x:28:28:NSCD Daemon:/:/bin/false
25. ident:x:98:98:pident user:/:/sbin/nologin
26. radvd:x:75:75:radvd user:/:/bin/false
27. pcap:x:77:77::/var/arpwatch:/sbin/nologin
28. chenlf:x:500:500::/home/chenlf:/bin/bash
29. alias:x:100:16::/etc/qmail/alias:/bin/true
30. qmaild:x:101:16::/var/qmail:/bin/true
31. qmaill:x:102:16::/var/qmail:/bin/true
32. qmailp:x:103:16::/var/qmail:/bin/true
33. qmailq:x:104:11::/var/qmail:/bin/true
34. qmailr:x:105:11::/var/qmail:/bin/true
35. qmails:x:106:11::/var/qmail:/bin/true
36. qmaillog:x:107:11::/var/log:/bin/true
37. vpopmail:x:502:502::/home/vpopmail:/bin/bash
38. mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash
39. ldap:x:55:55:LDAP User:/var/lib/ldap:/bin/false
40. named:x:25:25::/usr/local/bind921/var:/bin/false
41. ftpadmin:x:96:96::/var/ftp/:/sbin/nologin
cat filename |tr "[A-Z]" "[a-z]">filename2
例如把passwd文件全部转换为大写:
cat /etc/passwd|tr "[a-z]" "[A-Z]">passwd
cat passwd
ROOT:X:0:0:ROOT:/ROOT:/BIN/BASH
BIN:X:1:1:BIN:/BIN:/SBIN/NOLOGIN
DAEMON:X:2:2:DAEMON:/SBIN:/SBIN/NOLOGIN
ADM:X:3:4:ADM:/VAR/ADM:/SBIN/NOLOGIN
LP:X:4:7:LP:/VAR/SPOOL/LPD:/SBIN/NOLOGIN
SYNC:X:5:0:SYNC:/SBIN:/BIN/SYNC
SHUTDOWN:X:6:0:SHUTDOWN:/SBIN:/SBIN/SHUTDOWN
HALT:X:7:0:HALT:/SBIN:/SBIN/HALT
MAIL:X:8:12:MAIL:/VAR/SPOOL/MAIL:/SBIN/NOLOGIN
NEWS:X:9:13:NEWS:/VAR/SPOOL/NEWS:
UUCP:X:10:14:UUCP:/VAR/SPOOL/UUCP:/SBIN/NOLOGIN
OPERATOR:X:11:0:OPERATOR:/ROOT:/SBIN/NOLOGIN
GAMES:X:12:100:GAMES:/USR/GAMES:/SBIN/NOLOGIN
GOPHER:X:13:30:GOPHER:/VAR/GOPHER:/SBIN/NOLOGIN
FTP:X:14:50:FTP USER:/VAR/FTP:/SBIN/NOLOGIN
NOBODY:X:99:99:NOBODY:/:/SBIN/NOLOGIN
VCSA:X:69:69:VIRTUAL CONSOLE MEMORY OWNER:/DEV:/SBIN/NOLOGIN
MAILNULL:X:47:47::/VAR/SPOOL/MQUEUE:/DEV/NULL
RPM:X:37:37::/VAR/LIB/RPM:/BIN/BASH
RPC:X:32:32:PORTMAPPER RPC USER:/:/SBIN/NOLOGIN
XFS:X:43:43:X FONT SERVER:/ETC/X11/FS:/BIN/FALSE
RPCUSER:X:29:29:RPC SERVICE USER:/VAR/LIB/NFS:/SBIN/NOLOGIN
NFSNOBODY:X:65534:65534:ANONYMOUS NFS USER:/VAR/LIB/NFS:/SBIN/NOLOGIN
NSCD:X:28:28:NSCD DAEMON:/:/BIN/FALSE
IDENT:X:98:98:PIDENT USER:/:/SBIN/NOLOGIN
RADVD:X:75:75:RADVD USER:/:/BIN/FALSE
PCAP:X:77:77::/VAR/ARPWATCH:/SBIN/NOLOGIN
CHENLF:X:500:500::/HOME/CHENLF:/BIN/BASH
ALIAS:X:100:16::/ETC/QMAIL/ALIAS:/BIN/TRUE
QMAILD:X:101:16::/VAR/QMAIL:/BIN/TRUE
QMAILL:X:102:16::/VAR/QMAIL:/BIN/TRUE
QMAILP:X:103:16::/VAR/QMAIL:/BIN/TRUE
QMAILQ:X:104:11::/VAR/QMAIL:/BIN/TRUE
QMAILR:X:105:11::/VAR/QMAIL:/BIN/TRUE
QMAILS:X:106:11::/VAR/QMAIL:/BIN/TRUE
QMAILLOG:X:107:11::/VAR/LOG:/BIN/TRUE
VPOPMAIL:X:502:502::/HOME/VPOPMAIL:/BIN/BASH
MYSQL:X:27:27:MYSQL SERVER:/VAR/LIB/MYSQL:/BIN/BASH
LDAP:X:55:55:LDAP USER:/VAR/LIB/LDAP:/BIN/FALSE
NAMED:X:25:25::/USR/LOCAL/BIND921/VAR:/BIN/FALSE
FTPADMIN:X:96:96::/VAR/FTP/:/SBIN/NOLOGIN
wc -l filename
例如wc -l /etc/passwd
41 /etc/passwd
KingArthur
2002-12-09, 13:36
问:我的linux开机直接进入文本界面,怎样才能让它默认进入图形界面?
答:修改/etc/inittab文件,其中有一行id:3:initdefault,意思是说开机默认进入运行级别3(多用户的文本界面),把它改成id:5:initdefault,既开机默认进入运行级别5(多用户的图形界面)。这样就行了。
KingArthur
2002-12-09, 22:15
问:我的机器重装windows后,开机启动就直接进入了windows,原来的linux进不去了,怎么办?
答:这是由于windows的霸道:D。重装windows后,windows重写了你的mbr,覆盖掉了grub。解决方法很简单:用你的linux第一张安装盘引导进入linx rescue模式(如何进入?你注意一下系统的提示信息就知道了:D),执行下面两条命令就可以了
chroot /mnt/sysimage #改变你的根目录
grub-install /dev/hda #安装grub到mbr
KingArthur
2002-12-10, 13:02
问:我在linux中怎样才能使用windows分区呢?
答:先说一点背景知识:D 。linux支持很多种文件系统,包括windows的fat32和ntfs。对fat32的支持已经很好,可以直接使用,而对ntfs的支持还不是太好,只能读,而写是极危险的,并且对ntfs的支持不是默认的,也就是说你想要使用ntfs的话,需要重新编译内核。鉴于重编内核对于新手的复杂性,这里只讲解使用fat32分区的方法:smokin: 下面给出上述问题的两种解决方案:1.在安装系统(linux),进行到分区选择挂载点时,你可以建立几个挂载点,如/mnt/c,/mnt/d等,然后选择你的windows fat32分区,把它们分别挂载到前面建立的挂载点即可。(注意,正如前面所说,在这里你不能把一个ntfs分区挂载到一个挂载点,应为ntfs不是默认支持的。)这样你装好系统后就能直接使用你的windows fat32分区了。例如,你把windows的c盘(linux中的/dev/hda1)挂载到/mnt/c,那么你就能在/mnt/c目录中找到你的c盘中的全部数据。2. 如果你在安装系统时没有像方案1所说的那样挂载上你的fat32分区,没关系,仍然能够很方便的解决这个问题。首先,用一个文本编辑器(如vi)打开/etc/fstab,在文件的最后加入类似如下的几行
/dev/hda1 /mnt/c vfat default 0 0
你所要做的修改就是,把/dev/hda1改成你要挂载的fat32分区在linux中的设备号,把/mnt/c改成相应的挂载点即可。注意,挂载点就是一个目录,这个目录要事先建立。举一个例子,我有三个fat32分区,在windows中是c,d,e盘,在linux中的设备号分别为/dev/hda1,/dev/hda5,/dev/hda6。那么我就要先建立3个挂载点,如/mnt/c,/mnt/d,/mnt/e,然后在/etc/fstab中加上这么几行:
/dev/hda1 /mnt/c vfat default 0 0
/dev/hda5 /mnt/d vfat default 0 0
/dev/hda6 /mnt/e vfat default 0 0
保存一下退出编辑器。这样以后你重启机器后就能直接使用c,d,e这三个fat32格式的windows分区了:cool:
KingArthur
2002-12-10, 13:30
问:我在linux中如何安装软件呢?
答:linux中的软件安装比windows中略微麻烦一些。你获得的软件包大体可分为两类,一类是像windows中一样已经做好的二进制安装文件,主要有.bin和redhat的.rpm两种两种格式。对于.rpm包,一般在x中直接双击即可安装;对于.bin文件,一般先要用chmod o+x xxxx.bin设置它的可执行属性,然后直接双击或在命令行中输入./xxxx.bin即可安装。这一类软件包的安装和windows一样简单。而另一类,也是unix系统下使用最广泛的软件发布方法,则是提供打包的程序源代码,文件常以.tar.gz结尾。要安装以这种方式发布的软件,你首先要把获得的源代码解包,然后根据源代码所附的文档的说明来编译,安装。对新手来说,这一类是非常头疼的。所以,我建议新手需要安装什么软件时,尽量去找.rpm包或.bin包,等过一段时间,对系统比较熟悉后再去试着找源代码安装。但请注意,可以说所有的软件都有第二类发布,但不一定都有第一类发布,所以学会通过源代码包来安装程序是极其重要的基本技能,千万不要把它扔掉。:cool:
ps:rpm的命令行用法参见http://www.chinalinuxpub.com/bbs/showthread.php?s=&threadid=16792
相关连接:
http://www.chinalinuxpub.com/bbs/showthread.php?s=&threadid=19478
http://www.chinalinuxpub.com/bbs/showthread.php?s=&threadid=19356
KingArthur
2002-12-10, 15:07
问:我的rh8.0中的XMMS不好使,不能播放MP3,怎么办?
答:这是因为rh公司怕别人告他侵权,所以在rh8.0中去掉了XMMS对MP3的支持,8.0以前的版本都是好使的。在8.0中要解决也很简单,装一个插件就行了。这个插件我放在本贴的附件里,rpm格式,经winrar压缩:D
KingArthur
2002-12-12, 19:25
问:我访问windows分区时发现所有windows分区中的文件和文件夹名中的中文全变成问号,怎么办?
答:在第三贴中我们讲解了通过编辑/etc/fstab实现在linux中访问windows的fat32分区。同样,我们可以通过进一步修改/etc/fstab来实现中文文件名显示。只要把/dev/hda1 /mnt/c vfat default 0 0中的default全改为iocharset=cp936就行了。:D
再给两个相关联结:
http://www.chinalinuxpub.com/bbs/showthread.php?s=&threadid=15316&highlight=mount
http://www.chinalinuxpub.com/bbs/showthread.php?s=&threadid=14106&highlight=fat32
另外参考本贴:http://www.chinalinuxpub.com/bbs/showthread.php?s=&threadid=13012&highlight=xmms
KingArthur
2002-12-12, 20:19
问:我想卸载linux,怎么做?
答:很简单。直接找个分区软件把linux分区格掉就行了。注意,如果你的机器上还装有windows,而且引导装载程序用的是grub的话,你还需要在格式化linux之前fdisk /mbr,清除掉MBR中的grub。:cool:
KingArthur
2002-12-18, 18:26
问:我在安装一个软件的时候,提示我缺少一个.so文件,安装无法继续,怎么办?
答:.so文件就像windows中的.dll文件一样,是库文件。一个程序的正常安装和运行需要特定的库文件的支持。所以你需要去找到包含这个.so的包装上。去www.rpmfind.net用你缺的那个.so文件的名字为关键字搜一搜,你会找到所需要的.rpm包:D
KingArthur
2002-12-21, 13:14
问:我在linux下想用QQ,可以吗?
答:可以的:D 首先,如果你用的是rh8.0,那么你需要先在系统工具---包管理器中卸载系统自带的gaim0.59,然后安装本贴附件中的gaim0.58。附件中还有一个文件叫libqq-0.0.3-ft-0.58-gcc296.so,这是gaim的Qq插件。使用时,先连上网络,然后启动gaim,选择插件,就是libqq-0.0.3-ft-0.58-gcc296.so这个文件,然后选"所有帐号",再选"添加",填上你QQ的帐号,密码,呢称,在协议中选择QQ,然后登陆就可以了。享受吧:D
###########################
现在已经有了对应于gaim0.59的QQ插件,添加到附件中,大家有福了:D
###########################
KingArthur
2002-12-25, 14:02
问:我的文本控制台怎么总是出现乱码呢?
答:这是因为你安装了中文支持的缘故。解决的方法是安装一个zhcon(一个快速地外挂式CJK(中文/日文/韩文)的多内码平台),我把他放在附件中提供大家下载。关于zhcon的更进一步的消息,大家可以到他的官方主页zhcon.gnuchina.org查看。安装和使用请参考这个连接http://hepg.sdu.edu.cn/Service/tips/zhcon_manual.html
zhcon下载连接:http://zhcon.gnuchina.org/download/src/zhcon-0.2.1.tar.gz
KingArthur
2003-01-08, 17:44
问:我的机器是windows和linux双系统,如何改变grub默认启动的系统?
答:这需要修改/boot/grub/grub.conf。举一个例子你就明白了。假设你的/boot/grub/grub.conf是这样子的:
default=0
timeout=10
splashimage=(hd0,7)/grub/splash.xpm.gz
title Red Hat Linux (2.4.18-14)
root (hd0,7)
kernel /vmlinuz-2.4.18-14 ro root=LABEL=/
initrd /initrd-2.4.18-14.img
title DOS
rootnoverify (hd0,0)
chainloader +1
那么你的grub会默认启动Red Hat Linux (2.4.18-14)这个系统,把default=0改成default=1,那么grub会默认启动DOS这个系统。注意,这里的要点是:你想默认启动第n个title所指的系统,那么default应该是等于n-1
感觉我说的很罗嗦,呵呵:D ,但应该解决问题了:smokin:
最后给两个连接,作为收场白吧:
http://www.chinalinuxpub.com/vbbforum/showthread.php?s=&threadid=3699
http://www.chinalinuxpub.com/vbbforum/showthread.php?s=&threadid=3698
KingArthur
2003-03-24, 20:49
技巧:定制VI
在每个用户的目录下,都有一个 vi 的配置文件".vimrc"(没有的话可以自己创建). 用户可以编辑它,使这些设置在每次启动 vi 时,都有效. 例如,加入如下设置行:
set nu #显示行号
set nonu# 不显示行号
set ic #查找时不考虑大小写
set noic# 查找时考虑大小写
set smartindent #自动缩进
KingArthur
2003-03-26, 21:18
请下载安装下面链接里的flashplayer plugin.
http://www.chinalinuxpub.com/bbs/showthread.php?s=&threadid=36554
旧的flash插件与miniChinput输入法有冲突,会导致mozilla突然关闭.把miniChinput卸掉,使用fctix输入法,或者升级flash插件到上面连接的最新版插件即可解决这一问题
KingArthur
2003-04-15, 22:23
下载的red linux iso文件带的md5sum文件在刻盘时怎用?
md5sum是校验文件完整性的工具
假设你的iso文件为/tmp/my.iso,md5sum文件为/tmp/md5sum,那么:
cd /tmp
md5sum -c md5sum
如果输出是:
my.iso:ok
那么你的iso文件就没有问题,否则就要重下了
说明,以上操作环境应该是LINUX下
Windows下进行检验的方法:下载一个winmd5就可以,执行后用鼠标把要校验的文件拖到界面上就可以
下载winmd5:
http://www.chinalinuxpub.com/bbs/attachment.php?s=&postid=126622
KingArthur
2003-04-17, 17:05
引导入单用户模式
单用户模式的优越性之一是你不必使用引导软盘或引导光盘;不过,它仍旧给你提供了把文件系统挂载为只读模式或干脆不挂载这两种选择。
在单用户模式中,你的计算机引导入运行级别 1。你的本地文件系统被挂载,但是你的网络不会被激活。你有一个可用的系统维护 shell。和救援模式不同,单用户模式会自动试图挂载你的文件系统;如果你的文件系统无法被成功挂载,不要使用单用户模式。如果你的系统上的运行级别 1 的配置被损坏,你就不能使用单用户模式。
如果你的系统引导了,但是在引导后却不允许你登录,你可以试着使用单用户模式。
如果你使用的是 GRUB,使用以下步骤来引导入单用户模式:
1.如果你配置了 GRUB 口令,键入 p 并输入口令。
2.选择带有你想引导的内核版本的 Red Hat Linux,然后键入 e 来编辑。你会看到用于所选卷标的配置文件中的一个项目列表。
3.选择起首为 kernel 的行,然后键入 e 来编辑那一行。
4.转到行尾,然后键入 single(按 [空格]键,然后键入 single)。按 [Enter] 来退出编辑模式。
5.回到了 GRUB 屏幕后,键入 b 来引导入单用户模式。
如果你使用的是 LILO,在 LILO 引导提示(如果你使用的是图形化 LILO,你必须按 [Ctrl]-[x] 来退出图形化屏幕后再进入 boot: 提示)后键入:
linux single
KingArthur
2003-04-21, 17:32
下载rar for linux:
http://www.chinalinuxpub.com/vbbforum/attachment.php?s=&postid=126614
解包后进入目录直接make install就可以用了(rar,unrar....)
File roller也能解rar包了
KingArthur
2003-04-29, 21:34
当我们使用su 命令时,您可能已经注意到了,我们只运行了那些在终端窗口中显示输出的命令。根据 Linux 发行版,您可能必须要采取一些额外的步骤以便能运行 GUI 应用程序。Linux 上的 GUI 应用程序使用 X 窗口系统,它旨在允许多个用户使用视窗化的应用程序通过网络访问一台计算机。对于只有单个用户的 Linux 系统来说,适宜采取以下步骤,但是要记住 X 窗口系统的网络继承性,那样就不会无意中暴露您的系统并且允许任意的网络用户在您的系统上打开窗口。
X 显示器是通过这种格式“主机名:显示器号.屏幕号”的名字来知晓的。对于运行在诸如 PC 这样的工作站上的 Linux 来说,通常只有一个带单一屏幕的显示器。在这种情况下,显示器名称可能会,也往往会被省略掉,因此显示器就是所谓的 :0.0。我们假设您阅读本文时正在使用图形界面登录,那么您的启动程序应该已经为您设置了 DISPLAY 环境变量。但是,当您使用 su 切换到另一个用户时,并不会设置该变量。清单 5 显示了如何使用 echo 命令来显示 DISPLAY 环境变量,接着显示了如何切换到另一个用户并设法启动 xclock 应用程序,开始使用空白的 DISPLAY 环境变量,然后使用被设置成 :0.0 的值。
清单 5. 设法启动 xclock
ian3@echidna:~> whoami
ian3
ian3@echidna:~> echo $DISPLAY
:0.0
ian3@echidna:~> su - db2inst1
Password:
db2inst1@echidna:~> echo $DISPLAY
db2inst1@echidna:~> xclock
Error: Can't open display:
db2inst1@echidna:~> DISPLAY=:0.0
db2inst1@echidna:~> export DISPLAY
db2inst1@echidna:~> echo $DISPLAY
:0.0
db2inst1@echidna:~> xclock
Xlib: connection to ":0.0" refused by server
Xlib: Client is not authorized to connect to Server
Error: Can't open display: :0.0
db2inst1@echidna:~>
让我们了解一下这里正在发生什么。在这个例子中,用户 ian3 登录到系统,将其 DISPLAY 环境设置成如我们期望的 :0.0。当 ian3 切换到用户 db2inst1 时,并未设置 DISPLAY 环境变量,启动 xclock 的尝试失败,因为该应用程序不能打开显示器。
因此替代用户 db2inst1 设置了 DISPLAY 环境变量并将其导出,这样它就可以用于可能从这个终端窗口启动的其它 shell 了。请注意,设置和导出环境变量没有使用前导的 $ 符号,而显示或在别的地方使用该值时则使用了该符号。然而,即使设置了环境变量,xclock 仍然失败了。
第二次失败的原因在于 X 的客户机/服务器本质。虽然 db2inst1 是在该系统仅有的显示器上的窗口中运行,但该显示器实际上还是归最初登录的用户(在本例中是 ian3)所有。对 ian3 而言,这个问题最简单的解决方案是:使用 xhost 命令使该系统上的其他用户能使用这个显示器。在桌面上打开另一个终端窗口并输入这个命令:
xhost +local:
请注意尾部的冒号(:)。这将允许同一系统上的其他用户连接到 X 服务器并打开窗口。在给出的示例中,运行 db2inst1 的窗口现在可以启动 xclock 或其它 X 应用程序。
有关使用 xhost 的更多详细信息,可以使用 info xhost 或 man xhost 命令来查看联机手册页。如果您对 X 连接的安全性感兴趣,那么请从 Xsecure 手册页开始入手。
转的,没测试
在X的终端下执行:
xrandr -s 1024x768 -r 75
其中:1024x768是分辨率,75是刷新频率。是马上生效的。
#################
Arthur注:好使,测试过了
KingArthur
2003-05-03, 18:20
许多用户会无意删除重要的文件。用上chattr 命令后,我们就能保护自己重要的文件了。
chattr 命令改变文件属性为 "i" ,我们就能写保护象/etc/fstab, /etc/passwd, /etc/group等重要文件了。
例如:
$ chattr +i filename
这个例子演示了保护 "filename" 使之不能被修改。去掉保护只要用 chattr -i filename 就可以了。
chattr还有许多其他用法,希望大家能自己man一下看看
======
冷风注:
该命令只对ext2 ext3文件系统有效
======
KingArthur
2003-05-03, 18:29
对于 在 'ps aux' 中寻找 程序的 PID 感到厌倦了吗?
命令 pidof 查找指定程序的 PID,并且用普通文本格式输出。加上 -x 参数,包含shell 脚本的pid。
例如:
$ pidof -x bash
1138 984 597
如果要用一条命令杀掉一个守护进程或者脚本的话,可以用以下的命令:
$ kill -9 $(pidof -x pico)
KingArthur
2003-05-03, 20:08
使用 setleds 程序,
把下面几句话放入 /etc/rc.d/rc.local:
for t in 1 2 3 4 5 6 7 8
do:
setleds +num < /dev/tty$t
done
KingArthur
2003-05-17, 20:57
输入下面的命令然后按提示操作即可
mkbootdisk --device /dev/fd0 2.4.x
这里2.4.x是你当前所用的内核的完整版本号
KingArthur
2003-05-27, 21:56
弹出:eject
收回:eject -t
挺好玩的,呵呵:D
KingArthur
2003-06-20, 15:23
加到~/.bashrc里
KingArthur
2003-06-23, 20:41
使用下面的命令:
mount -o loop path_of_iso path_of_mount_dir
KingArthur
2003-06-28, 12:23
两种方法,任选一种:
1.redhat-config-network---->新建--->xDSL连接---->填写帐号信息
2.adsl-setup---->输入adsl的用户名---->使用的网络接口(只有一张网卡的话就是eth0了,直接回车即可)---->选择no,直接回车---->输入DNS地址---->输入adal帐户的口令,不回显--->是否允许普通用户控制此连接,选yes吧--->选择防火墙等级---->检察无误后输入y然后回车结束配置.
Type '/sbin/ifup ppp0' to bring up your xDSL link and '/sbin/ifdown ppp0'
to bring it down.
Type '/sbin/adsl-status /etc/sysconfig/network-scripts/ifcfg-ppp0'
to see the link status.
如果仍然无法上网,请仔细检查:
1.DNS是否设好?
2.网关是否设好?
3.是否有硬件问题?
文本下支持图片显示的浏览器
redhat8,9带了一个很好的浏览器,如果你的console开启了帧缓冲的话(framebuffer)输入
w3m http://www.chinalinuxpub.com
开启帧缓冲只需要在/etc/grub.conf里加上vga=xxx例如
kernel /vmlinuz-2.4.20-18.7smp ro root=/dev/sda2 vga=791
791表示1024x768的分辨率有关分辨率的调节查看
/usr/src/linux-2.4/Documentation/vesafb.txt
下面是分辨率的对照表
| 640x480 800x600 1024x768 1280x1024
----+-------------------------------------
256 | 0x301 0x303 0x305 0x307
32k | 0x310 0x313 0x316 0x319
64k | 0x311 0x314 0x317 0x31A
16M | 0x312 0x315 0x318 0x31B
可以看出,791其实就是0x317的10进制表示形式
就可以得到显示网页图片的文本浏览器了,当然要支持中文你还需要装个zhcon
KingArthur
2003-07-11, 13:21
在~/.gnome2/nautilus-scripts目录下建立一个脚本文件test.sh,内容如下:
#!/bin/bash
dir=`dirname $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS`
cd $dir
tar zxvf $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS
然后给它可执行权限
在Nautilus中用右键点击一个.tar.gz文件,选择脚本-->test.sh,然后,你发现了什么?
呵呵,这个文件被解包了:D很方便吧
上面只是一个很简单的例子.实际上~/.gnome2/nautilus-scripts目录下的所有可执行文件都将显示在脚本菜单中。从该菜单中选择某脚本将会执行那个脚本。利用这一点,你可以给自己带来很多方便.
书写这种脚本时注意:
1.当从本地文件夹中执行时,选中的文件名将会被传递给脚本;当从远程文件夹中执行时(如显示万维网或 ftp 内容的文件夹),脚本将不会使用任何参数。
在各种情况下,下列脚本可以使用的环境变量会被 Nautilus 设置:
NAUTILUS_SCRIPT_SELECTED_FILE_PATHS:用新行分开的所选文件的路径(除非是本地文件)
NAUTILUS_SCRIPT_SELECTED_URIS:用新行分开的所选文件的 URI
NAUTILUS_SCRIPT_CURRENT_URI:当前位置的 URI
NAUTILUS_SCRIPT_WINDOW_GEOMETRY:当前窗口的位置和大小
2.这种脚本的默认工作目录是~/,而不是你在Nautilus中选中的文件所在目录
最后再贡献一个打包的脚本:
#!/bin/bash
dir=`dirname $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS`
file=`basename $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS`
cd $dir
tar czvf $file.tar.gz $file
KingArthur
2003-07-13, 21:18
看看这个:
http://www.chinalinuxpub.com/bbs/attachment.php?s=&postid=144391
KingArthur
2003-07-15, 22:20
这种包是源代码rpm包,如果直接用rpm -ivh来安装的话,会在/usr/src/redhat/SOURCES目录下找到一个tar.gz打包的源代码包.也就是说需要你自己手工解包编译安装.但是可以直接用:
rpmbuild --rebuild xxxxx.src.rpm
来直接把源代码rpm包编译成普通的二进制rpm包.执行上述命令后,可以到/usr/src/redhat/RPMS/i386目录下找到可用的二进制rpm包.
KingArthur
2003-07-27, 16:46
键入 cd 可进入用户的home目录. 键入 cd - 可进入上一个进入的目录.
KingArthur
2003-07-29, 10:25
打开XMMS-->按ctrl+p--->选择fonts--->把两个勾都打上---->在两个文本框里都填上:
-adobe-helvetica-bold-r-*-*-14-*,-isas-fangsong ti-medium-r-normal-*-*-160-*-*-c-*-gb2312.1980-0
点击确定
KingArthur
2003-07-29, 10:58
假设网络拓扑结构如下:
internet<=====>eth0{localhost}eth1<=====>LAN[192.168.0.0/24]
那么localhost上需要执行:
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j MSQUERADE
然后LAN上的机器把网关指向eth1,再设置好DNS就行了
KingArthur
2003-07-30, 12:21
我的gurb.conf文件是这样的:
default=1
timeout=10
splashimage=(hd0,4)/grub/my.xpm.gz
title Red Hat Linux (2.4.20-8.ipx)
root (hd0,4)
kernel /vmlinuz-2.4.20-8.ipx ro root=LABEL=/
initrd /initrd-2.4.20-8.ipx.img
title Windows
rootnoverify (hd0,0)
chainloader +1
1.给grub加口令
使用grub-md5-crypt程序可以把一个字符串用md5加密来供grub使用.在上述文件的第三行(splashimage=(hd0,4)/grub/my.xpm.gz)后新加一行:
password --md5 $1$PtzMx/$IB2QhN7SyZWH3WTXmp2P50
其中 $1$PtzMx/$IB2QhN7SyZWH3WTXmp2P50 是 123 经grub-md5-crypt加密后得到的加密口令.这样,如果想要在gurb起动菜单使用e命令和c命令,必需首先使用p命令来输入口令,这里即为 123 .
2.给起动项加锁
让我们继续,在"title Windows"这行后面新加一行:
lock
这样在grub的起动画面想要选择 title Windows 这一项时会提示你输入口令,即上面设定的 123 .
3.不同的起动项使用不同的口令
如果想不同的起动项使用不同的口令,如 title Windows 项使用口令 tcp , title Red Hat Linux (2.4.20-8.ipx) 项使用口令 ipx ,怎么办?好办,在 title Red Hat Linux (2.4.20-8.ipx) 这一行后新加一行:
password --md5 $1$Y13Nx/$JBRWp5p5AquDAQnE8nlnN1
这里的 $1$Y13Nx/$JBRWp5p5AquDAQnE8nlnN1 是 ipx 经grub-md5-crypt加密后得到的加密口令
对于 title Windows 这一项也可以按同样的方法完成,但是注意首先要把开始加的 lock 这行删除.
好了,现在重起机器试一下吧
KingArthur
2003-08-08, 16:14
如,某个文件为 -foo .如何删除呢?执行下面的命令:
rm -- -foo
或者
rm ./-foo
KingArthur
2003-08-10, 12:21
使用下面的命令:
mkisofs -o test.iso -Jrv -V test_disk /home/carla/
在上面的示例中:
* -o 为新的 .iso 映像文件命名(test.iso)
* -J 为了与 Windows 兼容而使用 Joliet 命名记录
* -r 为了与 UNIX/Linux 兼容而使用 Rock Ridge 命名约定,它使所有文件都公共可读
* -v 设置详细模式,以便在创建映像时获得运行注释
* -V 提供了卷标识(test_disk);该标识就是出现在 Windows 资源管理器中的盘名
* 列表中的最后一项是选择要打包到 .iso 中的文件(都在 /home/carla/ 中)
KingArthur
2003-08-13, 09:50
nohop your_prog&
logout
KingArthur
2003-08-18, 21:26
假定您想只处理文件的一部分,譬如头几行或后几行,那您该怎么做呢?请使用 head(它将头 10 行发送至标准输出)或 tail(它将后 10 行发送至标准输出)。
您可以通过使用 -n 选项改变这些命令发送至其标准输出的行数(当然,输出结果将随 XF86Config 文件的内容而不同):
将 XF86Config 中选定行数的内容发送至标准输出
$ head -n 4 /etc/X11/XF86Config
# File generated by anaconda.
# **********************************************************************
# Refer to the XF86Config(4/5) man page for details about the format of
# this file.
$ tail -n 4 /etc/X11/XF86Config
Modes "1600x1200"
ViewPort 0 0
EndSubsection
EndSection
如果您想让 head 或 tail 以字节而不是以行为单位,那该怎么办呢?您可以用 -c 选项代替 -n 选项。因此,要显示前 200 个字符,请使用 head -c 200 file,或者使用 tail -c 200 file 来显示后 200 个字符。如果数字后面跟有 b(表示块(block)),那么这个数字将被乘以 512。类似地,跟有 k(表示千字节(kilobyte))表示用 1024 去乘给定的数字,而跟有 m(表示兆字节(megabyte))表示用 1048576 字节去乘给定的数字。
请记住,head file1 file2 file3 和 cat file1 file2 file3 | head 之间有重大差别。前者将打印每个文件指定行数的内容,不同文件的内容之间用头信息隔开,头信息以 ==> 后跟文件名开头。后者将打印由 cat 命令后所列文件组成的输入流中指定行数的内容,但将把输入流作为单个文件对待。可以使用 -q(表示静默(quiet))选项关闭文件名头信息。与 -q 相反的是 -v(表示详列(verbose))。
假如您要处理的文件在处理期间一直在发生变化(比如,当您让 head 或 tail 读取来自正在被另一个命令写入的文件的数据时,就是这种情况),请使用 -f 选项让 tail 持续读取来自指定文件的数据并将这些数据发送至 tail 自己的标准输出中。通过管道发送数据时该选项会被忽略。因此,cat file | tail -f 将不会得到所期望的结果,但 tail -f file 则可以。
(如果 tail 正在读取的文件不止一个,那么各行内容之间将用标准头信息隔开,以指明它们来自哪个文件,标准头信息以 ==> 开头。)
这个选项用于监视系统日志再合适不过,譬如,在单独的终端窗口(或单独的控制台)中执行的 tail -f /var/log/access.log 将持续打印每次点击后新添加的 Apache 访问日志条目,一直到您用 Ctrl-C 停止它为止。
通过组合使用 head 和 tail,可以从文件的中间部分读取给定长度的一块数据!下面说明如何做到:假定您想从文件开头算起第 1000 字节处开始读取一块 789 字节的数据。可以使用 cat file | head -c 1788 | tail -c 789 来解决这一问题。
KingArthur
2003-08-19, 17:26
[root@Ash root]# cat .bashrc
# .bashrc
# User specific aliases and functions
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
[root@Ash root]# tac .bashrc
fi
. /etc/bashrc
if [ -f /etc/bashrc ]; then
# Source global definitions
# User specific aliases and functions
# .bashrc
注意到了吗?cat反过来写就是tac:)
KingArthur
2003-08-19, 20:00
$myVAR="foodforthought"
$echo ${myVAR##*fo}
rthought
$echo ${myVAR#*fo}
odforthought
简单的说,${myVAR##*fo}的值是这么得到的:找到从字符串 foodforthought (即$myVAR的值) 开始处开始、且匹配通配符 *fo 的最长子字符串,然后将其从字符串 foodforthought 的开始处截去.
${myVAR#*fo}和${myVAR##*fo}类似,但他是除去最短的匹配.
使用 %% 和使用 ## 类似,但他是从字符串末尾除去匹配的字符.同样, % 和 # 类似.
还可以使用:${myVAR:m:n}.他的值是从$myVAR的第m个字符开始的连续n个字符.
KingArthur
2003-08-22, 19:45
tee命令把标准输入写入指定的文件,同时拷贝一份发送到标准输出.这样,我们就可以在把一个程序的输出保存到一个文件的同时在屏幕上实时观察输出:
make isntall | tee foo
ls -l | tee bar | grep ^foobar
KingArthur
2003-08-27, 14:26
第一种方法
head -5 filename
第二种方法
awk 'NR==1,NR==5 {print $0}' filename
第三种方法
sed -n '1,5p' filename
KingArthur
2003-09-10, 12:11
常用的copy和paste命令都是在命令模式(按Esc进入)下使用的。举几个例子:
拷贝当前行:yy
拷贝当前行到第15行:y15G
拷贝当前行和下一行:yj
拷贝当前行和下两行:y2j
实际上,j命令是把光标向上移动一行,15G是把光标移到第15行
如果想要拷贝一段不规则的文本(即不是完整的几行),可以在命令模式下按v键进入可视模式,使用方向键选择你想拷贝的那一段文本,然后按y键,这段内容就拷贝下来了.
拷贝完成后,把光标移到想要粘贴的地方,按下p键即可粘贴
命令注意大小写喔
KingArthur
2003-10-06, 13:47
所谓的脚本,一般都是指解释型的程序,也就是一个文本文件。举例如下:
用一个文本编辑器(如vi)编辑一个文本文件(假设叫做foo),内容如下
#!/bin/bash
bar='hello world'
echo $bar
然后执行
chmod +x foo
这个脚本就完成了,可以像一般的可执行程序一样执行它:
./foo
可以看到它就是打印字符串'hello world'(没有引号)。
解释:
1.脚本的第一行是必须要有的,它指定了脚本解释器的路径,格式是:#!/path。这里使用的解释器就是bash(/bin/bash)。如果是perl脚本的话,一般是#!/usr/bin/perl。
2.chmod +x foo也是必须的,是给foo以可执行权限。所有的脚本都必须有可执行权限。
KingArthur
2003-10-06, 13:53
man -K string
例如
man -K httpd
如果闲输出的太多,可以修改/etc/man.config去掉man的压缩包所在的目录的路径
KingArthur
2003-10-13, 19:27
在grub.conf中指定分辨率:
# vga=xxx sets the framebuffer console to a specific resolution.
# Here is a table you can use so it can help you decide
# what resolution you want to use:
# colour depth | 640x480 800x600 1024x768 1280x1024
# 256 (8bit) | 769 771 773 775
# 32000 (15bit) | 784 787 790 793
# 65000 (16bit) | 785 788 791 794
# 16.7 Mill. (24bit) | 786 789 792 795
在grub.conf中kernel那一行的最后加上 vga=xxx ,这里的xxx在上表中列出。
你可以试试vga=ask的效果
KingArthur
2003-10-13, 19:30
使用xrandr的 -q 选项:
xrandr -q
这样会给出一个列表。要使用其中的某一个模式,只需要使用xrandr的 -s 选项:
xrandr -s n
这里的 n 是 xrandr -q 列表中相应模式行最开始那个数字。
KingArthur
2003-12-01, 13:48
bash$ cat foo.sh
#!/bin/bash
object=name
name=alice
eval echo \$$object
echo ${!object}
bash$ ./foo.sh
alice
alice
这是shell编程的一个高级技巧,称之为间接扩充:使用一个变量值作为另一个变量的名字。换句话说,你可以给定shell脚本对变量名赋值的控制能力。这是一个激动人心的特性。
KingArthur
2003-12-01, 14:03
很多人都认为bash对算术运算支持很差,只能通过expr命令来有限的使用。实际上这是一个误解。bash内置了完善的算术运算能力。它将$((和))包围的单词解释为算术表达式。算术表达式内也可以使用变量,但是这些变量前面不需要加美元标记,当然加上也没有错。
echo "Only $(((365-$(date +%j))/7)) weeks until the New Year"
可用的算术操作符有:加(+),减(-),乘(*),除(/),取余(%),左移位(<<),右移位(>>),位与(&),位或(|),位非(!和~),位异或(^)。注意,这里的除法将会对结果取整。另外,这些操作符的赋值形式也被允许。例如,$((x+=2))表示x加2,再把结果保存为x。
KingArthur
2003-12-01, 14:15
首先,使用一个文本编辑器,如vi,编辑好你的程序源码,保存好,这里假设保存的文件名叫foo.c。然后就可以使用编译器gcc来进行编译:
gcc foo.c -o bar
编译成功的话会在当前目录生成一个可执行文件,叫做bar,之后就可以运行它了:
./bar
如果想debug怎么办?可以使用调试器gdb。gcc和gdb的具体使用请自行查阅相关文档。
KingArthur
2004-02-22, 15:33
有很多朋友都是使用的iso文件安装的系统,但以后如果希望使用redhat-config-packages程序来加装发行版中的软件包时会发现,redhat-config-packages不会认出你mount上的iso文件.那么该怎么办呢?其实很简单,redhat-config-packages本身提供了一个参数--isodir.假设你把iso文件mount到了/mnt/cdrom下,那么这样使用redhat-config-packages就可以了:
redhat-config-packages --isodir=/mnt/cdrom
KingArthur
2004-03-12, 14:06
想获取filename这个文件的大小,可以使用这条命令:
ls -l | grep filename | awk '{print $5}'
KingArthur
2004-07-02, 12:01
使用chm_viewer这个软件即可.
主页: http://sourceforge.net/projects/chmviewer/
KingArthur
2004-07-24, 15:31
请确认你用来编译的是源码包而不是预编译的二进制包.二进制包是不用编译的,解压缩就可以直接使用了.
根据我的经验,90%以上在论坛上发贴询问这个问题的兄弟,都是使用了二进制包.
以mysql4.0为例.它的下载页面为 http://dev.mysql.com/downloads/mysql/4.0.html ,源码包的下载链接在这个网页的最下面,上面的链接全部是预编译的二进制包
用vi编辑汉字删除的时候总是半个半个的删除汉字,很容易弄乱
只要再你自己的home目录下编辑.vimrc加入
set encoding=euc-cn
就可以按照双字节来处理汉字了
KingArthur
2004-09-04, 14:40
我记得有一个命令是作NETBIOS名字查询的,大概是叫做xxxlookup,现在急需用它,怎么办?别急,apropos命令可以帮你轻松搞定:
[leona@Ash leona]$ apropos netbios
lmhosts (5) - The Samba NetBIOS hosts file
nmbd (8) - NetBIOS name server to provide NetBIOS over IP naming services to clients
nmblookup (1) - NetBIOS over TCP/IP client used to lookup NetBIOS names
[leona@Ash leona]$ apropos lookup
dig (1) - DNS lookup utility
finger (1) - user information lookup program
host (1) - DNS lookup utility
hosts (5) - The static table lookup for host names
kpsewhich (1) - standalone path lookup and and expansion for kpathsea
lookup_dcookie (2) - return a directory entry's path
nmblookup (1) - NetBIOS over TCP/IP client used to lookup NetBIOS names
nslookup (8) - query Internet name servers interactively
pvm_lookup (3) - retrieve data from pvmd database
马上就找到了,原来叫nmblookup,呵呵 :)
更多内容请man apropos
Note: If the apropos command doesn t work, it may mean that the whatis database (which is accessed by the apropos command) has not yet been built. To create the database, first use the: su command (and type in your password when prompted) to log in as root, then enter: /usr/sbin/makewhatis. This process may take several minutes. When it finishes, try the apropos command again. For more on whatis, please "man whatis"
KingArthur
2004-12-04, 20:41
玩计算机搞开发的总免不了使用2进制或者16进制,那么控制台下有没有进制转换工具呢?有的:bc。bc是一个功能强大的计算器程序,这里只简单的说明bc对输入输出数据的进制控制。
bc中有两个内置变量:obase和ibase,分别控制输出和输入的进制,他们默认值为10。下面是一个例子。输入数据使用2进制,输出使用16进制。
$ bc
bc 1.06
Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
obase=2
ibase=16
FE30
1111111000110000
1.检查 named.conf
named-checkconf named.conf
2. 检查 zone文件..
例如: test.com 的zone文件为 test.com.zone
named-checkzone test.com test.com.zone
ethtool支持多种以太网设备,ethtool设置可通过/etc/sysconfig/network-scripts/ifcfg-ethX文件保存,从而在设备下次启动时激活选 项。
例如:
ethtool -s eth0 speed 100 duplex full autoneg off
此指令将eth0设备设置为全双工自适应,速度为100Mbs。若要eth0启动时设置这些参数, 修改文件
/etc/sysconfig/network-scripts/ifcfg-eth0 ,添加如下一行:
ETHTOOL_OPTS="speed 100 duplex full autoneg off"
解决方法:
对称多处理器意味系统中拥有多个处理器,在SMP模式下可以使用内核参数 maxcpus 限制活动CPU数量。
为了达到这个目的,可以按照以下步骤操作。
在启动到显示淡蓝色的GRUB启动引导程序的时候,选择被引导的内核条目,按字母E进入编辑状态,选择Kernel的条目再按E编辑, 添加 maxcpus=2 (假设限制CPU数量为2)到行末。修改如下
title Red Hat Enterprise Linux AS (2.6.9-22.EL)
root (hd0,0)
kernel /vmlinuz-2.6.9-22.EL ro root=/dev/VolGroup00/LogVol00 rhgb quiet maxcpus=2
initrd /initrd-2.6.9-22.EL.img
回车之后再按B引导.
解决方法:
在Linux里面,通过bonding内核模块和一个特殊的网络接口来实现多网卡的绑定功能。将多块网卡绑定为一块网卡,可以增加网络带宽,提供冗余。
要创建一个bonding接口,首先,在目录/etc/sysconfig/network-scripts/下建立一个文件ifcfg-bond<N>,用网络接口号来代替N,例如0。
文件ifcfg-bond<N>的内容跟要绑定的接口的配置基本相同。唯一的不同是 DEVICE=必须是bond<N>,用网络接口号来代替N。
下面是一个ifcfg-bond0示例配置文件:
DEVICE=bond0
BOOTPROTO=none
ONBOOT=yes
NETWORK=10.0.1.0
NETMASK=255.255.255.0
IPADDR=10.0.1.27
USERCTL=no
Bonding接口创建以后,被绑定的网卡必须在它们的配置文件里面添加MASTER=和SLAVE=两个参数。每个bonding接口的配置基本相同。
例如,如果绑定两块以太网卡eth0和eth1,它们的配置文件如下:
DEVICE=eth<N>
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no
用网络接口号代替<N>。
在使bonding接口生效之前,必须要确认系统内核已装载bonding模块。如何装载bonding模块,红帽企业版3和红帽企业版4有一点不一样。
对于红帽企业版3:
在/etc/modules.conf文件里面添加一行:
alias bond<N> bonding
使用网络接口号代替<N>,例如0。对于绑定的别名,除了bond0以外,还需要添加一行:
options bond<N> -o bonding<N>
对于每个bonding接口,必须在/etc/modules.conf里面有对应的配置。
配置完/etc/modules.conf文件,bonding接口和网络接口以后,可以使用ifup命令启动bonding接口,或者重新启动网络服务。
LVM可以在操作系统安装时创建,但有时需要安装后创建。
可以参考如下步骤在安装后创建逻辑卷:例 如:假设有/dev/sda3,/dev/sdb1和/dev/hda2三 个可用磁盘分区。需要创建一个名称为test_vg的LVM卷 组。
1.使用fdisk分 区时将这三个分区的分区类型转为ox8e. 即LVM分 区,查看pvcreate(8) (man 8 pvcreate)。
2.
pvcreate /dev/sda3 /dev/sdb1 /dev/hda2
3.
vgcreate test_vg /dev/sda3 /dev/sdb1 /dev/hda2
卷组test_vg联机后就可创建逻辑卷.例如创建一个100MB的 逻辑卷,它的标准名为/dev/test_vg/lvol1, 还有一个含三个物理卷200MB的my_test_lv。
1.
lvcreate -L 100 test_vg
2.
lvcreate -L 200 -n my_test_lv -i 3 test_vg
注意:命令 lvcreate -L 100 test_vg 可创建一个100MB名 称为 /dev/test_vg/lvol1的逻辑卷。命令 lvcreate -L 200 -n my_test_lv -i 3 test_vg 可 创建一个名称为 my_test_lv(使 用-n)的 逻辑卷。-i选 项指条带所在物理卷的数量,本案例中是情况三。
在阵列中创建一个文件系统。例如在 my_test_lv 中 创建一个ext2文 件系统:
mkfs -t ext2 /dev/test_vg/my_test_lv
可以用以下命令挂载LV:
mount /dev/test_vg/my_test_lv /usr1
如需在引导程序中创建LV,可 以在文件/etc/fstab中 添加适当的条目。
Netdump要 求至少有一个服务器以及任意数目的客户端。
服务器配置:
1.检验netdump服 务器是否安装完毕:
rpm -q netdump-server
如果未安装,执 行命令:
up2date netdump-server
进行安装。
2.服务器包安装后,用 命令:
passwd netdump
更改用户的密码.
3.打开服务器:
chkconfig netdump-server on
4.运行服务器:
service netdump-server start
客户端配置:
1.校验客户端是否已安装:
rpm -q netdump
如果未安装执行命令:
up2date netdump
安装.
2.编辑文件/etc/sysconfig/netdump, 添加如下行:
NETDUMPADDR=192.168.0.5
*
o 192.168.0.5指 服务器地址。
3.出现提示符时输入如下命令和密码:
service netdump propagate
4.打开客户端:
chkconfig netdump on
5.运行客户端:
service netdump start
所有输入的sysrq命 令都通过网络送至netdump服 务器并储存在/var/crash目 录中。由netdump产 生的转出文件名称默认为vmcore。
在红帽企业Linux下 创建和维护RAID软件有两个工具。分别为raidtools和mdadm.这 里集中讨论mdadm。
尽量不要把现存“在线”的分区转换为软件RAID1镜 像,这可能造成所有数据的丢失。创建RAID的 最佳时间是安装或使用文件系统之前。
如果的确需要转换一个现存的分区到RAID1,那么这个文档 给 出了一个正确的方法。操作前备份所有数据是极为重要的。在实施之前最好能够在测试机上预先进行测试。
实际上,可以使用命令直接转换成RAID 1, 可以参考如下的命令。假设有一个硬盘/dev/hdc, 假设该硬盘分区和原有硬盘/dev/hda一 致。
mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/hda3 /dev/hdc3
这个命令将/dev/hda3分 区上的数据通过镜像转移到/dev/hdc3分区,并 创建RAID /dev/md0 设备.通过查看/proc/mdstat来了解RAID的 创建过程.用以下命令来查看RAID设 备的创建:
watch cat /proc/mdstat
输出如下:
Personalities : [raid1]
read_ahead 1024 sectors
Event: 2
md0 : active raid1 hdc2[1] hdc1[0]
977664 blocks [2/2] [UU]
[====>................] resync = 20.6% (201920/977664)
finish=7.6min speed=1696K/sec
unused devices:
RAID设备一旦创建完毕,设备/dev/hda将 会转换为/dev/md0, 需要修改如/etc/fstab中 的相关记录。
使用以下命令获得更多信息或到mdadm工 具中寻求帮助:
* mdadm --help
* man mdadm
要用第一种方式将整个硬盘做镜像,并从两个驱动器中引导,过程将更加复杂.
这 是常见范围之外的问题,如 需解决,以 下两个网页可能有所帮助:
* http://togami.com/~warren/guides/remoteraidcrazies/
* http://www.linux-sxs.org/hardware/raid_for_idiots.html
vncserver服务可以在系统引导时自动启动. 但是需要进行设置才能使之正常自动启动.
首先,编辑/etc/sysconfig/vncservers文件,把使用VNC服务的用户添加到这个文件中,添加的内容如下例所示:
VNCSERVERS="N:user"
此处N指VNC服务器所在的显示服务器编号。user指运行VNC的 用户。多个显示服务和用户之间可通过如下设置来指定:
VNCSERVERS="N:user1 Y:user2"
注意:若正在使用X Window System,那么0号显示符会被本地的X系 统使用,不能用于VNC。
对于指定的每个VNC用户,需要设置一个VNC密 码,这个密码区别于普通系统帐号密码。用户可以通过执行vncpasswd来 设置自己的VNC密 码。如:
$ vncpasswd
Password:
Verify:
默认配置下,VNC启动后只显示一个简易的窗口和一个终端窗口.若要显示完整红帽环境,需要创 建~username/.vnc/xstartup文件,添加以下语句:
#!/bin/bash
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc
最后确保该文件可以被执行:
# chmod 755 ~username/.vnc/xstartup*
如需立即启动vncserver服务,运行以下命令:
# service vncserver start
如:
# service vncserver start
Starting VNC server: 1:user1
如需引导时自动启动vncserver服务,运行以下命令:
# chkconfig vncserver on
注意:这个命令执行后不会有输出,会直接返回命令提示符,如:
# chkconfig vncserver on
# chkconfig --list vncserver
vncserver 0:off 1:off 2:on 3:on 4:on 5:on 6:off
有些时候需要在系统引导时阻止加载一些模块。
红帽Linux有 一个文件用于存放需要加载的软件模 块和硬件驱动的列表,在红帽企业Linux4.0中这个文件是/etc/modprobe.conf,在红帽企业3.0中是/etc/modules.conf文件。系统引导时会查询该文件并且引导列表中的模块。
如果需要在下次启动时不加载某个模块。在/etc/modprobe.conf 或 /etc/modules.conf 中,加入一行(需要用模块名字代替下行的"modulename”)
alias modulename off
要访问一个外部USB驱动,需加载USB模块。步骤如下,找出需要加载的模块来识别驱动器。
首先,确保系统识别了设备,执行如下命令:
dmesg
输出如下:
hub.c: new USB device 00:1d.7-1, assigned address 3
scsi1 : SCSI emulation for USB Mass Storage devices
Vendor: WDC WD25 Model: 00JB-00EVA0 Rev: 0 0
Type: Direct-Access ANSI SCSI revision: 02
Attached scsi disk sdb at scsi1, channel 0, id 0, lun 0
SCSI device sdb: 488397168 512-byte hdwr sectors (250059 MB)
sdb: sdb1 sdb2 sdb3 sdb4
WARNING: USB Mass Storage data integrity not assured
这表明系统识别了/dev/sdb外 部磁盘,它有四个分区:/dev/sdb1,/dev/sdb2,/dev/sdb3,/dev/sdb4.之后就可以进行分区的安装了。
如果安装分区时出现问题,而 且显示如下错误信息: device cannot be found or invalid device。可能是由于没有加 载正确的主机控制器驱动程序.
运行如下命令找出哪些模块需要加载:
# lspci -v | grep HCI
00:02.2 USB Controller: Silicon Integrated Systems [SiS] 7001 (rev 07)
(prog-if 10 [OHCI])
00:02.3 USB Controller: Silicon Integrated Systems [SiS] 7001 (rev 07)
(prog-if 10 [OHCI])
00:0b.0 USB Controller: NEC Corporation USB (rev 41) (prog-if 10 [OHCI])
00:0b.1 USB Controller: NEC Corporation USB (rev 41) (prog-if 10 [OHCI])
00:0b.2 USB Controller: NEC Corporation USB 2.0 (rev 01)
(prog-if 20 [EHCI])
00:0f.0 USB Controller: VIA Technologies, Inc. USB (rev 50)
(prog-if 00 [UHCI])
00:0f.1 USB Controller: VIA Technologies, Inc. USB (rev 50)
(prog-if 00 [UHCI])
00:0f.2 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 51)
(prog-if 20 [EHCI])
00:11.0 USB Controller: OPTi Inc. 82C861 (rev 10) (prog-if 10 [OHCI])
主机控制器接口(HCI)有 三类,分别是:
HCI 种类 内核模块
uhci usb-uhci, uhci
ohci usb-ohci
ehci ehci-hcd
由上述的输出可以知道这台电脑支持所有三种HCI。
需要加载对应的驱动程序来识别联接到HCI的USB接口。
例如,用如下命令加载usb-uhci和usb-ohci模块:
modprobe usb-uhci
modprobe usb-ohci
加载正确的模块后,重新将USB驱动器联接到系统,重 新执行本文开头提及的几个步骤.
如需Linux下USB设备的更多信息,可 参考http://www.linux-usb.org/ 中Linux USB。
建议在对包含重要数据的分区作操作之前先在不包含重要数据的文件系统中进行调整大小的测试。强烈建议在调整前文件系统之前创建和校对数据备份。文章接下来部 分描述了一个未分区空间测试逻辑卷和ext3文 件系统调整的方案。
在这个测试过程中,首 先在一个未分区的磁盘空间创建一个分区(假 设为/dev/hda2)。然后在该分区上创建物理卷,卷组(TestVG)和 逻辑卷(TestLV)。 最后在逻辑卷上创建ext3文 件系统, 检查之后,挂载使用。用未分区磁盘空间创建新的物理卷(/dev/hda3), 并添加卷组和逻辑卷。最后,调整现有逻辑卷中的文件系统的大小, 并且检查整个文件系统的数据一致性。
在测试过程中, 用 到parted ,lvm,mount,mkfs.ext3,de,e2fsck和ext2online程 序。读者被鼓励通过阅读命令手册来熟悉程序。例如:
# man parted
PARTED(8) GNU Parted Manual PARTED(8)
NAME
GNU Parted - a partition manipulation program
SYNOPSIS
parted [options] [device [command [options...]...]]
...
parted和lvm程 序可以在交互和非交互模式下运行。这篇文章的所有样例都使用非交互模式。可在线查阅parted和lvm程序的内置可用命令, 来理解命令语法。
为新的物理卷创建一个分区。
执行parted命令,并用print显示可用的未分区磁盘空间:
# parted /dev/hda print
Disk geometry for /dev/hda: 0.000-76318.054 megabytes
Disk label type: msdos
Minor Start End Type Filesystem Flags
1 0.031 101.975 primary ext3 boot
4 31118.093 76316.594 extended
5 31220.099 76316.594 logical ext3 lvm
Information: Don't forget to update /etc/fstab, if necessary.
这种情况下,parted print命令显示设备/dev/hda从101.975(分 区1的 末端)到31118.093(分 区4的 开始)间 仍有未分配空间。
用parted mkpart命令在可用磁盘空间中创建分区,然后用parted print命令验证:
# parted /dev/hda "mkpart primary 101.976 2500"
Information: Don't forget to update /etc/fstab, if necessary.
# parted /dev/hda print
Disk geometry for /dev/hda: 0.000-76318.054 megabytes
Disk label type: msdos
Minor Start End Type Filesystem Flags
1 0.031 101.975 primary ext3 boot
2 101.975 2502.312 primary ext3
4 31118.093 76316.594 extended
5 31220.099 76316.594 logical ext3 lvm
Information: Don't forget to update /etc/fstab, if necessary.
在新分区上创建逻辑卷
lvm可用于操作LVM2卷 组、逻辑卷和物理卷。首先,用lvm pvs列出已存在的物理卷。然后用pvcreate在 新分区上创建物理卷,然后再次执行lvm pvs验 证物理卷:
# lvm pvs
PV VG Fmt Attr PSize PFree
/dev/hda5 VolGroup00 lvm2 a- 44.03G 0
# lvm pvcreate /dev/hda2
Physical volume "/dev/hda2" successfully created
# lvm pvs
PV VG Fmt Attr PSize PFree
/dev/hda2 lvm2 -- 2.34G 2.34G
/dev/hda5 VolGroup00 lvm2 a- 44.03G 0
为一个新的逻辑卷创建卷组
创建一个新的卷组前,至少要有一个物理卷是可用的。物理卷用于创建卷组.注意本例中'VolGroup00'卷 组已存在:
# lvm vgs
VG #PV #LV #SN Attr VSize VFree
VolGroup00 1 2 0 wz--n 44.03G 0
# lvm vgcreate TestVG /dev/hda2
Volume group "TestVG" successfully created
# lvm vgs
VG #PV #LV #SN Attr VSize VFree
TestVG 1 0 0 wz--n 2.34G 2.34G
VolGroup00 1 2 0 wz--n 44.03G 0
注 意卷组需要用lvm vgchange -a y激活:
# lvm vgchange -a y TestVG
0 logical volume(s) in volume group "TestVG" now active
Now there is a new directory in /dev for the volume group:
# ls -ld /dev/TestVG
drwx------ 2 root root 60 Jan 17 17:48 /dev/TestVG
在 新卷组中创建一个测试逻辑卷
将 所有卷组的自然限度(可 用磁盘空间)分 配给一个新的逻辑卷。用 lvm vgdisplay 显示TestVG卷 组的详细信息:
# lvm vgdisplay TestVG
--- Volume group ---
VG Name TestVG
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size 2.34 GB
PE Size 4.00 MB
Total PE 598
Alloc PE / Size 0 / 0
Free PE / Size 598 / 2.34 GB
VG UUID ebStj9-3KYx-asoc-JBt3-N9kU-vONW-4VdpTB
卷 组的空闲范围是"Free PE / Size 598 / 2.34 GB",可以用value 598在lvm lvcreate中 创建一个逻辑卷:
# lvm lvs
LV VG Attr LSize Origin Snap% Move Copy%
LogVol00 VolGroup00 -wi-ao 43.03G
LogVol01 VolGroup00 -wi-ao 1.00G
# lvm lvcreate -l598 TestVG -nTestLV
Logical volume "TestLV" created
# lvm lvs
LV VG Attr LSize Origin Snap% Move Copy%
TestLV TestVG -wi-a- 2.34G
LogVol00 VolGroup00 -wi-ao 43.03G
LogVol01 VolGroup00 -wi-ao 1.00G
现 在在目录/dev/TestVG下 创建了一个新设备:
# ls -l /dev/TestVG
total 0
lrwxrwxrwx 1 root root 25 Jan 17 17:48 TestLV -> /dev/mapper/TestVG-TestLV
新设备是个符号链接,它链接到/dev/mapper/TestVG-TestLV,其节点由device-mapper创建。
在 新逻辑卷上创建一个文件系统.
逻 辑卷上的新文件系统用程序mkfs.ext3 创建:
# mkfs.ext3 /dev/TestVG/TestLV
mke2fs 1.35 (28-Feb-2004)
max_blocks 627048448, rsv_groups = 19136, rsv_gdb = 149
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
306432 inodes, 612352 blocks
30617 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=629145600
19 block groups
32768 blocks per group, 32768 fragments per group
16128 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912
Writing inode tables: done
inode.i_blocks = 7160, i_size = 4243456
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 35 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override.
用e2fsck检 测文件系统:
# e2fsck -f /dev/TestVG/TestLV
e2fsck 1.35 (28-Feb-2004)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/TestVG/TestLV: 11/306432 files (9.1% non-contiguous), 18728/612352 blocks
安 装新文件系统
先 创建一个安装点,在这个安装点上安装新的逻辑卷文件系统。安装后,运 行df来 校验可用磁盘空间:
# mkdir /mnt/test
# mount /dev/TestVG/TestLV /mnt/test
# df -h /mnt/test
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/TestVG-TestLV
2.3G 36M 2.2G 2% /mnt/test
LVM大小调整步骤如下。
这 是调整文件系统大小的大体步骤。首先添加一个物理卷。
在 这之前,创建一个分区以供物理卷使用。使用parted,运 行print查 看分区,然 后用mkpart创 建一个分区:
# parted /dev/hda print
Disk geometry for /dev/hda: 0.000-76318.054 megabytes
Disk label type: msdos
Minor Start End Type Filesystem Flags
1 0.031 101.975 primary ext3 boot
2 101.975 2502.312 primary ext3
4 31118.093 76316.594 extended
5 31220.099 76316.594 logical ext3 lvm
Information: Don't forget to update /etc/fstab, if necessary.
2502.312(分 区2末)和31118.093(分 区4始)之 间 有可用的未分区磁盘空间:
# parted /dev/hda "mkpart primary 2502.313 31118.092"
Information: Don't forget to update /etc/fstab, if necessary.
# parted /dev/hda print
Disk geometry for /dev/hda: 0.000-76318.054 megabytes
Disk label type: msdos
Minor Start End Type Filesystem Flags
1 0.031 101.975 primary ext3 boot
2 101.975 2502.312 primary ext3
3 2502.312 31118.093 primary
4 31118.093 76316.594 extended
5 31220.099 76316.594 logical ext3 lvm
Information: Don't forget to update /etc/fstab, if necessary.
# ls -l /dev/TestVG
total 0
lrwxrwxrwx 1 root root 25 Jan 17 17:48 TestLV -> /dev/mapper/TestVG-TestLV
创建物理卷
和之前一样在/dev/hda3上 用lvm pvcreate创建一个物理卷:
# lvm pvs
PV VG Fmt Attr PSize PFree
/dev/hda2 TestVG lvm2 a- 2.34G 0
/dev/hda5 VolGroup00 lvm2 a- 44.03G 0
# lvm pvcreate /dev/hda3
Physical volume "/dev/hda3" successfully created
# lvm pvs
PV VG Fmt Attr PSize PFree
/dev/hda2 TestVG lvm2 a- 2.34G 0
/dev/hda3 lvm2 -- 27.94G 27.94G
/dev/hda5 VolGroup00 lvm2 a- 44.03G 0
在 卷组中添加物理卷
用lvm vgextend命 令将物理卷添加到TestVG卷 组中:
# lvm vgextend TestVG /dev/hda3
Volume group "TestVG" successfully extended
# lvm pvs
PV VG Fmt Attr PSize PFree
/dev/hda2 TestVG lvm2 a- 2.34G 0
/dev/hda3 TestVG lvm2 a- 27.94G 27.94G
/dev/hda5 VolGroup00 lvm2 a- 44.03G 0
在 卷组中扩展逻辑卷
和 之前一样,首 先用命令lvm vgdisplay查看物理卷的范围。它显示TestVG在"Free PE / Size 7153 / 27.94 GB"中 有7153个 空闲的范围区域:
# lvm vgdisplay TestVG
--- Volume group ---
VG Name TestVG
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 2
Act PV 2
VG Size 30.28 GB
PE Size 4.00 MB
Total PE 7751
Alloc PE / Size 598 / 2.34 GB
Free PE / Size 7153 / 27.94 GB
VG UUID ebStj9-3KYx-asoc-JBt3-N9kU-vONW-4VdpTB
若想使用卷组上所有的空闲物理卷,使用 lvextend 命令和选项“-l+7153” 来完成操作。将空闲7153M空间添加到逻辑卷:
# lvm lvextend -l+7153 /dev/TestVG/TestLV
Extending logical volume TestLV to 30.28 GB
Logical volume TestLV successfully resized
此时的文件系统拥有足够的空间供逻辑卷扩展调整文件系统。扩展卷组和逻辑卷后,就可以调整文件系统了.用 ext2online来完成。首先校验文件系统大小,执行调整,然后再次确认大小:
# df -h /mnt/test
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/TestVG-TestLV
2.3G 36M 2.2G 2% /mnt/test
# ext2online /dev/TestVG/TestLV
ext2online v1.1.18 - 2001/03/18 for EXT2FS 0.5b
# df -h /mnt/test
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/TestVG-TestLV
30G 39M 29G 1% /mnt/test
调整后检验文件系统的完整性,检验文件系统之前需要把文件系统卸载。否则有如下提示
# e2fsck -f /dev/TestVG/TestLV
e2fsck 1.35 (28-Feb-2004)
/dev/TestVG/TestLV is mounted.
WARNING!!! Running e2fsck on a mounted filesystem may cause
SEVERE filesystem damage.
Do you really want to continue (y/n)? no
check aborted.
卸 载文件系统,检查文件系统。
# umount /mnt/test
# e2fsck -f /dev/TestVG/TestLV
e2fsck 1.35 (28-Feb-2004)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/TestVG/TestLV: 11/3919104 files (9.1% non-contiguous), 132827/7937024 blocks
结论
联机调整文件系统的测试过程非常复杂.所 以在实际操作中,对程序和命令的熟悉十分重要,诸如备份重要数据等操作时,一定要做好预防措施,这 样才能在调整文件系统时万无一失。
伪装是Sendmail的一个特 性,他可以在发送信件时重写主机名。普遍应用于集中邮件系统,用来路由从该网络中进来的邮件。同时便于邮件管理,避免频繁使用主机名,可以隐藏真实主机 名。
要打开这个功能,需 要添加以下几行到/etc/mail/sendmail.mc文件:
MASQUERADE_AS(domain.com)dnl
FEATURE(masquerade_envelope)dnl
FEATURE(masquerade_entire_domain)dnl
MASQUERADE_DOMAIN(domain.com)dnl
用m4 宏处理程序更新Sendmail设置文件,执行以下命令 可 以创建新的sendmail.cf文件:
# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
默认时,m4 宏 处理程序同 Sendmail 一起安装的, 但它是m4包 的一部分。
创 建新文件(/etc/mail/sendmail.cf)后,需要重新启动Sendmail才能使变更生效。用以下命令完成此操作:
# service sendmail restart
和以前版本的红帽企业Linux产品不同,在红帽企业Linux4中设置多LUN支持需要修改/etc/modprobe.conf,而不是/etc/modules.conf文件。
支持多LUN的选项是 options scsi_mod max_luns=xxx 。 注意这个选项和以前版本企业Linux使用的选项不一样,RHEL3/2使用的是 options scsi_mod max_scsi_luns=xxx 。
如下是红帽企业Linux4的配置步骤
1. 添加以下内容到/etc/modprobe.conf
options scsi_mod max_luns=xxx
(xxx是scsi_mod需要支持LUN的数目,如128)
2. 为了使修改有效,创建启动内存磁盘
mkinitrd -f /boot/newimage-2.6.xx 2.6.xx
(xx需要用内核版本替代)
3. 重新启动操作系统之后,所有的LUNs就应该被识别。
在默写特定的情况下,netstat 会产生类似如下的输出。
tcp 0 0 X.X.X.X:80 X.X.X.X:1035 TIME_WAIT
tcp 0 0 X.X.X.X:80 X.X.X.X:2028 TIME_WAIT
warning, got duplicate tcp line
warning, got duplicate tcp line
另一个典型情况是:
tcp 0 0 X.X.X.X:80 X.X.X.X:1035 TIME_WAIT
tcp 0 0 X.X.X.X:80 X.X.X.X:2028 TIME_WAIT
warning, got BOGUS tcp line
warning, got BOGUS tcp line
以上现象可能是由于在sysctl的设置中使能了 tcp_tw_recycle和 tcp_tw_reuse选项。可以通过一下命令检查这些参数是否被设置。
sysctl net.ipv4.tcp_tw_recycle
sysctl net.ipv4.tcp_tw_reuse
如果输出是1则表明他们被使能了,可以使用如下命令关闭核心参数
net.ipv4.tcp_tw_reuse = 0
net.ipv4.tcp_tw_recycle = 0
执行 sysctl -p 使这些设置生效。这些消息本质上说明存在这两个完全一样的TCP连接,这会发生在一个连接被迅速的断开并且重新连接,而且使用的端口和地址相同。他们不应该发生,无论如何,使能上述设置会增加重现机会。这个提示不会有人和危害,而且也不会降低系统性能,目前正在进行工作,是在将来的红帽企业Linux版本上消除这个错误信息。但这个不是一个高优先级的问题,因为他本质上是一个无害的。
相关版本:红帽企业Linux 4 UPDATE 2 为了设置 device-mapper-multipathing,需要完全的升级操作系统。早期的红帽企业Linux 4 不包含这个功能。编辑文件/etc/multipath.conf。在文件头部注释掉如下内容:
devnode_blacklist {
devnode "*"
}
如下例:
# devnode_blacklist {
# devnode "*"
# }
取消文件 /etc/multipath.conf中这段的注释,这段内容可以让 device-mapper multipathing 不用扫描所有的设备。 etc/multipath.conf file:
defaults {
multipath_tool "/sbin/multipath -v0"
udev_dir /dev
polling_interval 10
default_selector "round-robin 0"
default_path_grouping_policy multibus
default_getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
default_prio_callout "/bin/true"
default_features "0"
rr_wmin_io 100
failback immediate
}
devnode_blacklist {
wwid 26353900f02796769
devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
devnode "^hd[a-z][[0-9]*]"
devnode "^cciss!c[0-9]d[0-9]*[p[0-9]*]"
}
这段设置了默认的 device-mapper 的动作,并且去出了通常不会有多路径的设备,如IDE硬盘和软盘。默认的hd*设备的黑名单存在这一个排印错误。需要修改。
devnode "^hd[a-z][[0-9]*]"
把上行修改为如下:
devnode "^hd[a-z][0-9]*"
为了实现简单的failover功能,下例中,defaults 组中的默认的 default_path_grouping_policy 选项被设置成为 failover。
defaults {
multipath_tool "/sbin/multipath -v0"
udev_dir /dev
polling_interval 10
default_selector "round-robin 0"
default_path_grouping_policy failover
default_getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
default_prio_callout "/bin/true"
default_features "0"
rr_wmin_io 100
failback immediate
}
退出编辑并保存设置,执行如下命令
modprobe dm-multipath
modprobe dm-round-robin
service multipathd start
multipath -v2
命令 multipath -v2 可以显示多路径,从而可以知道那些设备工作在多路径下。如果没有任何输出,确认所有的SAN连接被正确的设置,系统有没有正确的开启多路径功能。执行如下命令确认多路径服务有无启动。
chkconfig multipathd on
设备的设备名会被生成,/dev/dm-#,#指代的是多路径组,如果/dev/sda是唯一的多路径设备,/dev/dm-0将会是 /dev/sda和/dev/sdb的多路径设备。注意:fdisk不能用于设备/dev/dm-#,使用fdisk只能操作基础磁盘,要在设备映射多路径映射设备上创建/dev/dm-#分区的操作. 执行一下命令。
kpartx -a /dev/dm-#
注意: dmsetup ls Ctarget=multipath 是一个协助侦测系统上多路径设备的命令。如果在多路径设备数据库中没有发现硬件,请查看文章“How can I add moreproducts into the mutipathing database?”
NIS域用户需要被添加到NIS服 务器的本地用户数据库(如 /etc/passwd, /etc/group, 等)。 如下命令可以创建新用户(如:yptestuser)及设置密码:
adduser yptestuser
passwd yptestuser
然后,需要升级NIS域 验证文件,使NIS能输出所有用户特性数据,这样就可以通 过NIS访 问包括用户的主目录,默认SHELL, 用户组等信息。
cd /var/yp
make
在NIS客户端执行getent来 测试用户是否可用:
getent passwd yptestuser
上述命令应该输出yptestuser的uid,gid, 主目录和默认SHELL等。
在开始之前需要记录以下内容:
* 测试应该在测试服务器上完成,因为操作可能把服务器锁住。
* 本文内容的设置仅仅作为测试,而不是一个完整的安全设置,而应该仅仅作为示例
添加两个用户: testuser1和testuser2,添加两个组:suroot和redgroup:
#useradd testuser1
#useradd testuser2
#groupadd suroot
#groupadd redgroup
备份/etc/pam.d/su:
#cp /etc/pam.d/su /etc/pam.d/su.bak
在/etc/pam.d/su中pam_stack.so后面添加以下内容:
auth required /lib/security/$ISA/pam_stack.so service=system-auth
auth sufficient /lib/security/$ISA/pam_stack.so service=suroot-members
auth sufficient /lib/security/$ISA/pam_stack.so service=redgroup-members
auth required /lib/security/$ISA/pam_deny.so
创建文件/etc/pam.d/suroot-members,内容如下:
auth required /lib/security/pam_wheel.so use_uid group=suroot
auth required /lib/security/pam_listfile.so item=user sense=allow onerr=fail file=/etc/security/sumembers-access
创建/etc/pam.d/redgroup-members,内容如下:
auth required /lib/security/pam_wheel.so use_uid group=redgroup
auth required /lib/security/pam_listfile.so item=user sense=allow onerr=fail file=/etc/security/redgroup-access
创建文件/etc/security/sumembers-access,在该文件中添加用户,例如testuser1。添加到该文件的用户将是suroot组中的唯一允许使用su命令改变身份为root,backupuser和operator的用户。
创建文件/etc/security/redgroup-access,添加到该文件的用户将是redgoup中唯一允许使用su命令改变身份为:dbuser和dbbackupuser。
有多种方法可以把Linux机器设置成路由器。下面介绍的这种方法是一种比较普遍的做法:采用iptables 做NAT(Network Address Translation)转换。
打开包转发功能:
echo "1" > /proc/sys/net/ipv4/ip_forward
如果要让包转发功能在系统启动以后自动生效,需要修改/etc/sysctl.conf文件,添加一行:
# Controls IP packet forwarding
net.ipv4.ip_forward = 1
接下来,打开iptables的NAT功能:
/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
上面的语句中eth0是连接外网或者连接Internet的网卡. 执行下面的命令,保存iptables的规则:
service iptables save
有关iptables的配置和提示,您可以参考红帽知识库里面更多关于iptables的文章。
查看路由表:
netstat -rn
查看iptables规则:
iptables -L
xgamma -gamma [gamma值],gamma值是从1.0到10.0的范围,默认为1.0
例如
xgamma -gamma 2
vBulletin® v3.8.3,版权所有 ©2000-2010,Jelsoft Enterprises Ltd.