一句话精彩问答

[ 2012-01-16 15:07 by danny | 分类:LINUX | 访问:327 views | 查看评论 发表评论 ]

—————————-网络无关篇————————–
0001 修改主机名(bjchenxu)
vi /etc/sysconfig/network,修改HOSTNAME一行为”HOSTNAME=主机名”(没有这行?那就添加这一行吧),然后运行命令” hostname 主机名”。无论你是否重启,主机名修改成功了。

0002 Ret Hat Linux启动到文字界面(不启动xwindow)(bjchenxu)
vi /etc/inittab
id:x:initdefault:
x=3:文本方式 x=5:图形方式

0003 linux的自动升级更新问题(hutuworm,NetDC)
对于redhat,在www.redhat.com/corp/support/errata/找到补丁,6.1以后的版本带有一个工具up2date,它能够测定哪些rpm包需要升级,然后自动从redhat的站点下载并完成安装。
升级除kernel外的rpm: up2date -u
升级包括kernel在内的rpm: up2date -u -f

由于Red Hat Network SSL证书过期,所以应在rhn_register || up2date 之前先执行一行script以更新证书:
wget -q -O – https://rhn.redhat.com/help/new-cert.sh | /bin/bash

Debian跟别的发行版还是有很大的差别的,用Debian做服务器维护更加方便;红帽的升级其实挺麻烦的,当然,如果你交钱给红帽的话,服务是会不一样的。
Debian下升级软件:
apt-get update
apt-get upgrade
前提:配置好网络和/etc/apt/sources.list,也可以用apt-setup设置。

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

0005 mount用法(sakulagi)
fat32的分区 mount -o codepage=936,iocharset=cp936 /dev/hda7 /mnt/cdrom
ntfs的分区 mount -o 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分区(bjchenxu)
将本地的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的文件(bjchenxu)
rm ./-a
rm — -a 告诉rm这是最后一个选项,参见getopt
ls -i 列出inum,然后用find . -inum inum_of_thisfile -exec rm ‘{}’ \;

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

0007.c 删除名字带的/和‘\0′文件(bjchenxu)
这些字符是正常文件系统所不允许的字符,但可能在文件名中产生,如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 删除名字带不可见字符的文件(bjchenxu)
列出文件名并转储到文件:ls -l >aaa
然后编辑文件的内容加入rm命令使其内容成为删除上述文件的格式:
vi aaa
[rm -r *******
]
把文件加上执行权限 chmod +x aaa
执行 $aaa

0007.e 删除文件大小为零的文件(bjchenxu)
rm -i `find ./ -size 0`
find ./ -size 0 -exec rm {} \;

find ./ -size 0 | 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)就可以了,
如果鼠标表现异常,重启计算机即可。
(或者su, vi /etc/X11/XF86Config, 把PS/2 改成 ImPS/2)

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

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

0011 如何退出man(bjchenxu)
q

0012 不编译内核,mount ntfs分区(bjchenxu,hutuworm)
原装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

Read only: http://linux-ntfs.sourceforge.net/
Read/Write: http://www.jankratochvil.net/project/captive/

0013 tar 分卷压缩和合并(WongMokin)
以每卷500M为例
tar分卷压缩:tar cvzpf – mytarfile.tar.gz | split -d -b 500m
tar多卷合并:cat x* > mytarfile.tar.gz

0014 使用lilo/grub时找回忘记了的root口令(bjchenxu)
三种办法:
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失效(bjchenxu)
vi /etc/inittab
将ca::ctrlaltdel:/sbin/shutdown -t3 -r now这行注释掉,就可以了

0016 如何看出redhat的版本是7还是8(hutuworm)
cat /proc/version或者cat /etc/redhat-release或者cat /etc/issue

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

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

0019 利用现存两个文件,生成一个新的文件(bjchenxu)
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口进行登录(bjchenxu)
确认有/sbin/agetty,编辑/etc/inittab,添加
7:2345:respawn:/sbin/agetty /dev/ttyS0 9600
9600bps是因为联路由器缺省一般都是这种速率,也可以设成
19200、38400、57600、115200
修改/etc/securetty,添加一行:ttyS0,确保root用户能登录
重启机器,就可以拔掉鼠标键盘显示器(启动时最好还是要看看输出信息)了

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

0022 查看系统信息(bjchenxu)
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 去掉多余的回车符(bjchenxu)
sed ‘s/^M//’ test.sh > back.sh, 注意^M是敲ctrl_v ctrl-m得到的
或者 dos2unix filename

0024 切换X桌面(lnx3000)
如果你是以图形登录方式登录linux,那么点击登录界面上的session(任务)即可以选择gnome和kde。如果你是以文本方式登录,那执行switchdesk gnome或switchdesk kde,然后再startx就可以进入gnome或kde。
(或者vi ~/.xinitrc,添加或修改成exec gnome-session 或exec startkde,
然后用startx启动X)

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会显示中文界面。
这样就可以改变个人的界面语言,而不影响别的用户
(Debian不支持GB18030(RH的zysong字库是有版权的)
现在好像没有Free的GBK和GB18030字库
vi .bashrc
export LANG=zh_CN.GB2312
export LC_ALL=zh_CN.GB2312)

0027 把屏幕设置为90列(bjchenxu)
stty cols 90

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

0029 一次解压多个zip文件(bjchenxu)
unzip “*”,注意引号不能少

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

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

0032 装中文输入法(bjchenxu)
以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 查看硬盘的使用情况(bjchenxu)
df -k 以K为单位显示
df -h 以人性化单位显示,可以是b,k,m,g,t..

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

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

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

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

0041 ls如何看到隐藏文件(即以.开头的文件)(双眼皮的猪)
ls -a
l. (适用于redhat)

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

0043 使用src.rpm(bjchenxu)
rpmbuild –rebuild *.src.rpm

0044 vim中显示颜色或不显示颜色(bjchenxu)
首先确保安装了vim-enhanced包,然后,vi ~/.vimrc; 如果有syntax on,则显示颜色,syntax off,则不显示颜色

0045 linux是实时还是分时操作系统(bjchenxu)
分时

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

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

0048 修改系统时间(bjchenxu,laixi781211,hutoworm)
date -s “2003-04-14 cst”,cst指时区,时间设定用date -s 18:10
修改后执行clock -w 写到CMOS
hwclock –systohc
set the hardware clock to the current system time

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

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

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

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

0053 linux中的翻译软件(bjchenxu,hutoworm)
星际译王 xdict
console下还有个dict工具,通过DICT协议到dict.org上查11本字典,例如:dict RTFM

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

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

0056 xwindow下如何截屏(bjchenxu)
Ksnapshot或者gimp

0057 解压小全(bjchenxu,noclouds)
tar -I或者bunzip2命令都可以解压.bz2文件
tar xvfj example.tar.bz2
tar xvfz example.tar.gz
tar xvfz example.tgz
tar xvf example.tar
unzip example.zip
tar -jvxf some.bz,就是把tar的zvxf 改成jvxf
zip/tar rh8下有一个图形界面的软件file-roller可以做这件事。另外可以用unzip *.zip解开zip文件,unrar *.rar解开rar文件,不过unrar一般系统不自带,要到网上下载。
# rpm2cpio example.rpm │ cpio -div
# ar p example.deb data.tar.gz | tar zxf -
Alien提供了.tgz, .rpm, .slp和.deb等压缩格式之间的相互转换:
http://sourceforge.net/projects/alien
sEx提供了几乎所有可见的压缩格式的解压接口:
http://sourceforge.net/projects/sex

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

0059 不让普通用户自己改密码(myxfc)
[root@xin_fc etc]# chmod 511 /usr/bin/passwd
又想让普通用户自己改密码
[root@xin_fc etc]# 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 redhat linux中播放mp3文件(hehhb)
原带的xmms不能播放MP3(无声),要安装一个RPM包:rpm -ivh xmms-mp3-1.2.7-13.p.i386.rpm。打开xmms,ctl-p,在font栏中先在上半部的小框内打勾,再选择 “fixed(misc) gbk-0 13”号字体即可显示中文歌曲名。在音频输出插件中选择 “开放音频系统驱动程序 1.2.7 [lioOSS.so],即可正常播放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是闪盘。

0066 在X下使用五笔和拼音,区位输入法(hmkart)
从http://www.fcitx.org/上下载fcitx的rpm包安装即可

0067 在Linux下如何解压rar文件(hmkart)
http://www.linuxeden.com/download/softdetail.php?softid=883
下载rar for Linux 3.2.0,解压开后make
然后可以用unrar e youfilename.rar解压rar文件

0068 硬盘安装后怎么添加/删除rpm包(sakulagi)
redhat-config-packages –isodir=<PATH>
可以指定iso文件所在的目录

0069 字符下控制音量(grub007,天外闲云)
使用aumix。另外,要保存oss的音量大小,步骤为:
1、用aumix将音量调整为你们满意的音量
2、用root用户进入/usr/lib/oss下(oss的默认安装目录)
3、执行./savemixer ./mixer.map
4、ok,以后oss开启之后就是你在第一步调整的音量了。
ps:阅读该目录下的README可以得到更多的有用信息。

0070 用dd做iso(grub007)
dd if=/dev/cdrom of=/tmp/aaa.iso

0071 删除几天以前的所有东西(包括目录名和目录中的文件)(shally5)
find . -ctime +3 -exec rm -rf {} \;

find ./ -mtime +3 -print|xargs rm -f -r

0072 用户的crontab在哪里(hutuworm)
/var/spool/cron/下以用户名命名的文件

0073 以不同的用户身份运行程序(bjchenxu)
su – username -c “/path/to/command”
有时候需要运行特殊身份的程序, 就可以让su来做

0074 如何清空一个文件(bjchenxu)
> filename

0075 为什么OpenOffice下不能显示中文(allen1970)
更改字体设置
tools->options->font replacement
Andale Sans UI -> simsun

0076 如何备份Linux系统(Purge)
Symantec Ghost 7.5以后的版本支持Ext3 native复制

0077 linux上的partition magic(wwwzc)
Linux下一个有用的分区工具: parted
可以实时修改分区大小, 删除/建立分区.

0078 /proc/sys/sem中每项代表什么意思? (sakulagi)
/proc/sys/sem内容如下
250 32000 32 128
这4个参数依次为SEMMSL(每个用户拥有信号量最大数量),SEMMNS(系统信号量最大数量),SEMOPM(每次semop系统调用操作数),SEMMNI(系统信号量集最大数量)

0079 Grub 引导菜单里 bigmem smp up 都是什么意思?(lnx3000)
smp: (symmetric multiple processor)对称多处理器模式
bigmem: 支持1G 以上内存的优化内核
up:(Uni processor) 单处理器的模式

0080 Oracle的安装程序为什么显示乱码?(lnx3000)
现在Oracle的安装程序对中文的支持有问题,只能使用英文界面来安装,在执行runinstaller之前,执行:export LANG=C;export LC_ALL=C

0081 linux下文件和目录的颜色代表什么(sakulagi,弱智)
蓝色表示目录;绿色表示可执行文件;红色表示压缩文件;浅蓝
色表示链接文件;灰色表示其它文件;红色闪烁表示链接的文件有问题了;黄色是设备文件,包括block, char, fifo。
用dircolors -p看到缺省的颜色设置,包括各种颜色和“粗体”,下划线,闪烁等定义。

0082 查看有多少活动httpd的脚本(bjchenxu)
#!/bin/sh
while (true)
do
pstree |grep “*\[httpd\]$”|sed ‘s/.*-\([0-9][0-9]*\)\*\[httpd\]$/\1/’
sleep 3
done

0083 如何新增一块硬盘(好好先生)
一、关机,物理连接硬盘
如果是IDE硬盘,注意主、从盘的设置;如果是SCSI硬盘,注意选择一个没有被使用的ID号。
二、开机,检查硬盘有没有被linux检测到
dmesg |grep hd*(ide硬盘)
dmesg |grep sd*(SCSI硬盘)
或者 less /var/log/dmesg
如果你没有检测到你的新硬盘,重启,检查连线,看看bios有没有认出它来。
三、分区
你可以使用fdisk,Sfdisk或者parted(GNU分区工具,linux下的partition magic)
四、格式化
mkfs
五、修改fstab
vi /etc/fstab

0084 linux下怎么看分区的卷标啊 (q1208c)
e2label /dev/hdxn, where x=a,b,c,d….; n=1,2,3…

0085 RH8,9中安装后如何添加新的语言包(好好先生)
一.8.0中
1.放入第一张光盘
2.cd /mnt/cdrom/Redhat/RPMS
3.rpm -ivh ttfonts-ZH_CN-2.11-29.noarch.rpm(简体中文,你可以用tab键来补齐后面的部分,以免输入有误)
4.rpm -ivh ttfonts-ZH_TW-2.11-15.noarch.rpm(繁体中文)
如果你还想装日文、韩文,试试第二张光盘上的ttfonts*.rpm.
二.9.0中
9.0不在第一张盘上,在第三张盘上.rpm包名分别为:
ttfonts-zh_CN-2.12-1.noarch.rpm(简体中文)
ttfonts-zh_TW-2.11-19.noarch.rpm (繁体中文)

0086 终端下抓屏(tsgx)
cat /dev/vcsX >screenshot 其中,X表示第X个终端
还可以运行script screen.log,记录屏幕信息到screen.log里。一会记录到你exit为此。这也是抓屏的好方法。
这是在debian的cookbook上看到的。在RH9上能用。没有在其它的系统上测试过。

0087 让一个程序在退出登陆后继续运行(NetDC)
#nohup 程序名 &

0088 man命令不在路径中,如何查看非标准的man文件(bjchenxu)
nroff -man /usr/man/man1/cscope.1 | more

0089 以不同的用户身份运行程序(bjchenxu)
su – username -c “/path/to/file”
有时候需要运行特殊身份的程序…就可以让su来做…

0090 编辑/etc/inittab后直接生效(bjchenxu)
#init q

0091 让linux连续执行几个命令,出错停止(bjchenxu)
command1 && command2 && command3

0092 如何将grub安装到mbr(bjchenxu, NetDC)
grub> root (hd0, 0)
grub> setup (hd0)
也可以用#grub-install /dev/hda来安装grub。

0093 安装时把grub(lilo)写到linux分区的引导区还是主引导扇区(MBR)(bjchenxu)
如果你想电脑一启动就直接进入操作系统启动菜单就把grub(lilo)写到MBR上,如果写到linux分区的引导区则要用引导盘引导。建议写 到 MBR,方便点,至于说写到MBR不安全,该怎么解释呢?每装一次win98,MBR都会被修改一次,大家觉得有什么不安全的吗?

0094 如何让多系统共存(bjchenxu)
98系统的话用lilo(grub)引导,2k/nt则使用osloader引导多系统

0095 如何在图形界面和控制台(字符界面)之间来回切换(bjchenxu)
a.图形界面到控制台:Ctr+Alt+Fn(n=1,2,3,4,5,6)。
b.各控制台之间切换:Alt+Fn(n=1,2,3,4,5,6)。

c.控制台到图形:Alt+F7

0096 Redhat linux常用的命令(bjchenxu)
<1>ls:列目录。
用法:ls或ls dirName,参数:-a显示所有文件,-l详细列出文件。
<2>mkdir:建目录。
用法:mkdir dirName,参数:-p建多级目录,如:mkdir a/b/c/d/e/f -p
<3>mount:挂载分区或镜像文件(.iso,.img)文件。
用法:
a.磁盘分区:mount deviceName mountPoint -o options,其中deviceName是磁盘分区的设备名,比如/dev/hda1,/dev/cdrom,/dev/fd0,mountPoint 是挂载点,它是一个目录,options是参数,如果分区是linux分区,一般不用-o options,如果是windows分区那options可以是iocharset=cp936,这样windows分区里的中文文件名就能显示出来 了。用例:比如/dev/hda5是linux分区,我要把它挂到目录a上(如没目录a那就先mkdir a),mount /dev/hda5 a,这样目录a里的东西就是分区hda5里的东西了,比如hda1是windows分区,要把它挂到b上,mount /dev/hda1 b -o iocharset=cp936。
b.镜像文件:mount fileName mountPoint -o loop,fileName是镜像文件名(*.iso,*.img),其它的不用说了,跟上面一样。用例:如我有一个a.iso光盘镜像文件,mount a.iso a -o loop,这样进入目录a你就能浏览a.iso的内容了,*.img文件的用法一样。
<4>find:查找文件。
用法:find inDir -name filename,inDir是你要在哪个目录找,filename是你要找的文件名(可以用通配符),用通配符时filename最好用单引号引起来, 否则有时会出错,用例:find . -name test*,在当前目录查找以test开头的文件。
<5>grep:在文件里查找指定的字符串。
用法:grep string filename,在filename(可用通配符)里查找string(最好用双引号引起来)。参数:-r在所有子目录里的filename里找。用 例:grep hello *.c -r在当前目录下(包括子目录)的所有.c文件里查找hello。
<5>vi:编辑器。
用法:vi filename。filename就是你要编辑的文本文件。用了执行vi filename后,你可能会发现你无法编辑文本内容,不要着急,这是因为vi还没进入编辑状态,按a或i就可以进入编辑状态了,进入编辑状态后你就可以 编辑文本了。要退出编辑状态按Esc键就可以了。以下操作均要在非编辑状态下。查找文本:输入/和你要查找的文本并回车。退出:输入: 和q并回车,如果你修改了文本,那么你要用:q!回车才能退出。保存:输入: w回车,如果是只读文件要用: w!。保存退出:输入: wq回车,如果是只读就: wq!回车。取消:按u就可以了,按一次就取消一步,可按多次取消多步。复制粘贴一行文本:把光标移到要复制的行上的任何地方,按yy(就是连按两次 y),把光标移到要粘贴地方的上一行,按p,刚才那行文本就会被插入到光标所在行的下一行,原来光标所在行后面所有行会自动下移一行。复制粘贴多行文本: 跟复制一行差不多,只是yy改成先输入要复制的行数紧接着按yy,后面的操作一样。把光标移到指定行:输入:和行号并回车,比如移到123行:123回 车,移到结尾:$回车。

0097 linux文本界面下如何关闭pc喇叭(labrun)
将/etc/inputrc中的set bell-style none 前的#去掉,或echo “set bell-style none” >> ~/.bashrc

0098 重装windows导致linux不能引导的解决办法(好好先生)
如果没有重新分区,拿linux启动盘(或者第一张安装光盘)引导,进入rescue模式。首先找到原来的/分区mount在什么地方。 redhat通常是/mnt/sysimage. 执行”chroot /mnt/sysimage”. 如果是grub,输入grub-install /dev/hd*(根据实际情况);如果是lilo,输入lilo -v,然后重新启动。如果分区有所改变,对应修改/etc/lilo.conf和/boot/grub/grub.conf然后再执行上述命令。

0099 为什么装了LINUX后win2K很慢(lnx3000,好好先生)
老问题了,你在2000是不是能看见Linux的逻辑盘,但不能访问?
在磁盘管理里,选中这个盘,右击->更改”驱动器名和路径”->”删除”就可以了,注意不是删除这个盘!

0100 将linux发布版的iso文件刻录到光盘的方法(bjchenxu)
借用windows中的nero软件,选择映象文件刻录,选择iso文件,刻录即可!

0101 linux中刻录iso的方法(hutuworm)
方法一:使用xcdroast,选择制作光碟,选择ISO文件,刻录!
参见http://www.xcdroast.org/xcdr098/faq-a15.html#17
方法二:找刻录机的命令:
cdrecord –scanbus
输出结果为:
0,0,0 0) ‘ATAPI ‘ ‘CD-R/RW 8X4X32 ‘ ’5.EZ’ Removable CD-ROM
刻录的命令:
cdrecord -v speed=8 dev=0,0,0 hutuworm.iso

0102 屏幕变花时怎么办(双眼皮的猪)
当您一不小心cat了一个并不是文本的文件的时候,这时屏幕会变花,那么您可以按两下”Enter”键,再敲”reset”,那么屏幕就恢复正常了….

0103 卸载软件包时如何得知具体包名(diablocom)
大家知道删除软件包的命令是rpm -e XXX,但是当我们不知道这个XXX的确切拼写时,可以用rpm -q -a查询所有安装的软件包或者用rpm -qa |grep xxxx查询出名字

0104 使用内存作linux下的/tmp文件夹(yulc)
在/etc/fstab中加入一行:
none /tmp tmpfs default 0 0
或者在/etc/rc.local中加入
mount tmpfs /tmp -t tmpfs -o size=128m
注:size=128m 表示/tmp最大能用128m
不管哪种方式,只要linux重启,/tmp下的文件全部消失

0105 用ls只列出目录(yulc)
ls -lF | grep ^d
ls -lF | grep /$
ls -F | grep /$

0106 在命令行下列出本机IP地址,而不是得到网卡信息(yulc)
ifconfig |grep “inet” |cut -c 0-36|sed -e ‘s/[a-zA-Z: ]//g’
hostname -i

0107 修改/etc/profile或者$HOME/.profile文件后如何立即生效(peter333)
#source /etc/profile (或者source .profile)

0108 bg和fg的使用(bjchenxu)
输入ctrl+z,当前一个任务会被挂起并暂停, 同时屏幕上返回进程号,此时用 “bg %进程号”,会把这个进程放到后台执行,而用” fg %进程号 “就能让这个进程放到前台来执行。另外,job命令用来查看当前的被bg的进程

0109 ctrl+s与ctrl+q(bjchenxu)
ctrl-s用来暂停向终端发送数据的,屏幕就象死了一样,可以用ctrl-q来恢复

0110 目录统计脚本(bjchenxu)
保存成total.sh,然后用total.sh 绝对路径,就能统计路径下目录的大小了
代码:
#!/bin/sh
du $1 –max-depth=1 | sort -n|awk ‘{printf “%7.2fM —-> %s\n”,$1/1024,$2}’|sed ‘s:/.*/\([^/]\{1,\}\)$:\1:g’

0111 grep不显示本身进程(bjchenxu)
#ps -aux|grep httpd|grep -v grep
grep -v grep可以取消显示你所执行的grep本身这个进程,-v参数是不显示所列出的进程名

0112 删除目录中含输入关键字的文件(WongMokin)
find /mnt/ebook/ -type f -exec grep “在此输入关键字” {} \; -print -exec rm {} \;

0113 让cron中的任务不回馈信息, 本例5分钟检查一次邮件(WongMokin)
0-59/5 * * * * /usr/local/bin/fetchmail > /dev/null 2>&1

0114 在当前目录下解压rpm文件(bjchenxu)
cat kernel-ntfs-2.4.20-8.i686.rpm | rpm2cpio | pax -r

0115 合并两个Postscript或PDF文件(noclouds)
$ gs -q -dNOPAUSE -dBATCH -sDEVICE=pswrite \
-sOutputFile=bar.ps -f foo1.ps foo2.ps
$ gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite \
-sOutputFile=bar.pdf -f foo1.pdf foo2.pdf

0116 去掉apache的manual目录中的所有.en的后缀名(bjchenxu)
进入到manual目录
代码:find ./ -regex .*\.en|awk -F. ‘{ printf “mv %s.%s.%s.%s %s.%s.%s\n”,$1,$2,$3,$4,$1,$2,$3}’|sh

0117 如何起多个X(noclouds)
startx默认以display :0.0起第一个X,通过传递参数给Xserver可以起多个X:
# startx — :1.0
# startx — :2.0

然后用Ctrl-Alt-F7/F8…切换。

0118 让一个程序在退出登陆后继续运行(noclouds,bjchenxu)
# <cmd>
# disown
或者是
nohup command &

0119 看Linux启动时屏幕的显示信息(bjchenxu)
在启动完后用命令dmesg查看

0120 让vi不响铃(sakulagi)
echo “set vb t_vb=” >> ~/.vimrc

0121 让fedora开机后自动login(dzho002)
1) rpm -ihv autologin-1.0.0-7mdk.i586 rpm
2) 建立文件 /etc/sysconfig/autologin
在里面加上一行.
USER = root

0122 如何配置让哪些服务启动(天外闲云,q1208c)
方法1 运行ntsysv或者setup命令,进入菜单进行配置
方法2 chkconfig –list 显示服务
chkconfig name on/off 打开/关闭“name”服务

0123 安全删除linux(天外闲云)
步骤1 Dos下使用fdisk /mbr或者用win2000/xp的光盘启动进入故障恢复控制台,使用命令fixmbr
步骤2 格式化linux分区为windows分区即可。

0124 用grub引导进文本界面(天外闲云)
进入grub之后,按a,输入 空格 3 就可以引导进入文本界面,但是不修改系统的运行级,只在当次有效。

0125 先测试patch是否运行正常,暂不将更改应用到kernel(jiadingjun)
patch –dry-run
—————————-网络相关篇————————–
0001 让apache的默认字符集变为中文(bjchenxu)
如果是1.*,vi httpd.conf
找到 AddDefaultCharset ISO8859-1 一行,改为AddDefaultCharset GB2312
如果是2.*的话,需要改动一个地方,vi httpd.conf
AddDefaultCharset ISO-8859-1 改为 AddDefaultCharset off

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

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

0004 手动添加默认网关(bjchenxu)
以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(bjchenxu)
下载Gaim 0.58版:
gaim-0.58-2.i386.rpm
下载QQ插件 for gcc2.9版:
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,其他的 设置按默认的即可。当全部设置完成后就可以登录使用了。
由于MS对msn的协议经常升级,导致linux上的gaim和msn插件必须升级,目前尚无万无一失的解决方案,请见谅

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

0007 查看本机的IP,gateway, dns(bjchenxu)
IP:
以root用户登录,执行ifconfig。其中eth0是第一块网卡,lo是默认的设备
Gateway:
以root用户登录,执行netstat -rn,以0.0.0.0开头的一行的Gateway即为默认网关
也可以查看/etc/sysconfig/network文件,里面有指定的地址!
DNS:
more /etc/resolv.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机器共享出的目录(bjchenxu)
mount -t smbfs -o username=guest,password=guest //machine/path /mnt/cdrom

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

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

0013 在linux接adsl设备(wind521)
需要一个运转正常的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的网上资源有哪些(bjchenxu)
国外
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/developerWorks/cn/linux/index.shtml
http://www.neweasier.com/software.html
http://www.blueidea.com/bbs/archivecontent.asp?id=635906(sqh)
http://westlinux.ywzc.net/(onesun)

0016 改变sshd的端口(bjchenxu)
在/etc/ssh/sshd_config中加入一行:Port 2222,/etc/init.d/sshd restart重启守护进程

0017 改变telnet的端口(bjchenxu)
将/etc/services文件中telnet对应的端口号21改为你想要的值,/etc/init.d/xinetd restart重启守护进程

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

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

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

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

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

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

0024 为什么root执行好多命令都说command not found(bjchenxu)
你是telnet上来,然后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/jos2000/related/soft/flash_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用户在自己的目录里。

0028 服务器怎么不让telnet(知秋一叶)
服务器上必须启动telnet服务 && 服务器的防火墙优先级应该设为低

0029 防止任何人使用su命令成为root(xiaohu0)
1.vi /etc/pam.d/su
auth sufficient /lib/security/pam_rootok.so debug
auth required /lib/security/pam_wheel.so group=wheel
2.在/etc/pam. d/su配置文件中定义了wheel组.

0030 如何使lynx浏览器能够浏览中文网页(Ghost_Vale)
浏览简体中文网页就的修改如下设置
Save options to disk: [X]
Display and Character Set
Display character set : [Chinese________________________]
Assumed document character set(!): [iso-8859-1______]
CJK mode (!) : [ON_]
然后移到最下面的 Accept Changes 按下 Enter 保存就可以了
当然你的系统要支持简体中文才可以

0031 网卡激活了,却上不了网,怎么办?(Slock)
trace一下,看看到底是在那一块被阻住的。
1.Ping自己
2.Ping网关
3.Ping DNS
4.trace DNS
If All=ok
then nslookup www.sina.com.cn
Ping sina’s address
Tra sina’ address
基本上就可以知道结果了

0032 在redhat9下配samba,win2000能访问,win98不能访问?(squall2003)
如果是wind98必需修改注册表:HKEY_LOCAL_MACHINE/system/correntcontrolset/services/Vxd/VNETSUP下建个D值:EnablePlainTextpasswd,键值1

0033 如何得到网卡的MAC地址(bjchenxu,hutuworm)
arp -a | awk ‘{print $4}’
ifconfig eth0 | head -1 | awk ‘{print $5}’

0034 如何得到网卡的IP地址(mb)
ifconfig eth0 |awk ‘/inet addr/ {split($2,x,”:”);print x[2]}’

0035 如何修改Linux机器所在的工作组(hutuworm)
vi /etc/samba/smb.conf,修改workgroup = 一行,将组名写在后面。

0036 一块网卡如何绑定两个ip(linuxloveu)
#cd /etc/sysconfig/network-scripts
#cp ifcfg-eth0 ifcfg-eth0:1
#vi ifcfg-eth0:1
修改IP和设备名
Debian下一个网卡绑定多个ip的方法(NetDC)
修改/etc/network/interfaces
auto eth0
iface eth0 inet static
address 172.16.3.123
netmask 255.255.255.0
network 172.16.3.0
broadcast 172.16.3.255
gateway 172.16.3.1

auto eth0:1
iface eth0:1 inet static
address 10.16.3.123
netmask 255.255.0.0
network 10.16.0.0
broadcast 10.16.255.255
修改/etc/network/ifstate
lo=lo
eth0=eth0
eth0:1=eth0:1
然后/etc/init.d/networking restart就可以了。

0037 一个ip如何绑定两块网卡(hutuworm)
假设192.168.0.88是ip,192.168.0.1是网关:
/sbin/modprobe bonding miimon=100 mode=1
/sbin/ifdown eth0
/sbin/ifdown eth1
/sbin/ifconfig bond0 192.168.0.88
/sbin/ifenslave bond0 eth0 eth1
/sbin/route add default gw 192.168.0.1

0038 192.168.1.0/24(双眼皮的猪)
它与192.168.1.0/255.255.255.0是等价的,只是表示方式不同….

0039 linux下清空arp表的命令(NetDC)
#arp -d -a(适用于bsd)
for HOST in `arp | sed ‘/Address/d’ | awk ‘{ print $1}’` ; do arp -d $HOST; done

0040 使用ntp协议从服务器同步时间(NetDC)
ntpdate NTP-SERVER 例:ntpdate 172.16.2.1

0041 host命令的用法(bjchenxu)
host能够用来查询域名,它还能得到更多的信息
host -t mx example.com可以查询出example.com的MX记录,以及处理mail的host的名字
host -l example.com会返回所有注册在example.com下的域名
host -a example.com则会显示这个主机的所有域名信息.

0042 立刻让LINUX支持NAT(platinum)
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -I POSTROUTING -j MASQUERADE

0043 rh8.0下rcp的用法设置(zhqh1)
只对root用户生效
1、在双方root用户根目录下建立.rhosts文件,并将双方的hostname加进去.在此之前应在双方的/etc/hosts文件中加入对方的IP和hostname
2、把rsh服务启动起来,redhat默认是不启动的。方法:用执行ntsysv命令,在rsh选项前用空格键选中,确定退出。 然后执行:service xinetd restart即可。
3、到/etc/pam.d/目录下,把rsh文件中的auth required /lib/security/pam_securetty.so一行用“#”封掉即可。

0044 在ethX设备上,使LINUX支持网络广播功能(默认是不支持的)(platinum)
ip route add 255.255.255.255 dev ethX

—————————-程序开发篇————————–
0001 linux下调试core文件(bjchenxu)
gdb <progname> <core>
<progname>:出错产生core dump的可执行程序。
<core>: core dump的文件名,缺省是“core”

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

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

0004 新编译生成的gcc ,使用的标准连接库都在/usr/local/lib 下了,但使用的缺省的连接路径是 /usr/lib 怎样添加?(除了在每次编译时 增加 -L /usr/local/lib 以外)(sakulagi, hutuworm)
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
写到~/.bash_profile里面。
增加一种简便办法:
将/usr/local/lib加入/etc/ld.so.conf,然后运行一次ldconfig

0005 RH9下GCC的安装(一起走过的日子,hutuworm)
三种方法选一:
(1)利用CD上rpm安装
CD-1:compat-gcc-7.3-2.96.118.i386.rpm
CD-1:compat-gcc-c++-7.3-2.96.118.i386.rpm
CD-1:libgcc-3.2.2-5.i386.rpm
CD-2:compat-gcc-g77-7.3-2.96.118.i386.rpm
CD-2:compat-gcc-java-7.3-2.96.118.i386.rpm
CD-2:compat-gcc-objc-7.3-2.96.118.i386.rpm
CD-2:gcc-3.2.2-5.i386.rpm
CD-2:gcc-c++-3.2.2-5.i386.rpm
CD-2:gcc-g77-3.2.2-5.i386.rpm
CD-2:gcc-gnat-3.2.2-5.i386.rpm
CD-2:gcc-java-3.2.2-5.i386.rpm
CD-2:gcc-objc-3.2.2-5.i386.rpm
比如碰到系统提示:
warning : gcc-3.2.2-5.i386.rpm : V3 DSA signature :MOKEY key ID db42a60e
error : Failed dependencies :
binutils >=2.13.90.0.18-9 is needed by gcc-3.2.2-5
glibc-devel >=2.3.2-11.9 is needed by gcc-3.2.2-5…
就先安裝glibc-devel包,依此类推
(2)更好的方法就是在X-window下选“主菜单”──>“系统设置”──>“添加/删除应用程序”──>“开发工具”中的gcc并安装它
(3) up2date gcc便可自动解决dependency问题

—————————-经典图书篇————————–
0001 GNU/Linux高级网络应用服务指南(bjchenxu)
linuxaid网站
机械工业出版社
优点:又全又精,全都是实战之作
缺点:针对版本较低,为redhat 6.2

0002 Linux Apache Web Server管理指南(Linux Apache Web Server Administration)(bjchenxu)
Charles Aulds 马树奇/金燕译
电子工业出版社
优点:目前我还没有发现哪个关于apache的问题这本书没有讲过
缺点:针对1.3.x,最新的针对2.0.*的英文版已出,中文版待出

0003 Linux内核情景分析(bjchenxu)
毛德操/胡希明
浙江大学出版社
优点:太透彻了,没法不懂
缺点:还是版本问题,内核更新太快了,不过还是必读

0004 Unix环境高级编程(bjchenxu)
Richard Stevens
机械工业出版社
优点:博大精深
缺点:初学者是很难理解的,否则怎么叫《高级编程》呢?

0005 编程精粹–Microsoft编写优质无错c程序秘诀(bjchenxu)
Steve Maguire
电子工业出版社
优点:不说了,作者是微软的资深工程师
缺点:很难找了,1994年出的

0006 Understanding the Linux Kernel, 2nd Edition(hutuworm)
Daniel P. Bovet & Marco Cesati
O’Reilly出版社
读了这本书之后,你就会明白在什么情况下Linux具有最佳的性能,以及它如何面对挑战,在各种环境中提供进程调度、文件访问和内存管理时的优良的系统响应。作者通过解释其重要性来引入每一个题目,并将内核操作与Unix程序员和用户熟悉的系统调用或实用程序联系起来。

0007 UNIX操作系统教程(英文版)(弱智)
Syed Mansoor Sarwar等
机械工业出版社
特点:浅显易懂,着重unix基础概念和整体理解,顺便复习英语。
另外:机械工业出版社已经出版了中文版,名称:UNIX 教程

0008 UNIX编程环境(弱智)
Brian W.Kernighan, Rob Pike 陈向群等译
机械工业出版社
特点:浅显,深入浅出讲解如何使用UNIX及各种工具,简单介绍Unix编程环境;对比“UNIX环境高级编程”,此书适合新手入门。

0009 The Art of UNIX Programming(hutuworm)
Eric Steven Raymond
http://catb.org/~esr/writings/taoup/html/
优点: E.S. Raymond的经典著作

0010 unix网络编程–卷一 套接口API和X/Open传输接口API(slg1972)
Richard Stevens
清华大学出版社
优点:详细地讲解unix网络的编程

0011 unix网络编程–卷二 进程间通讯(slg1972)
Richard Stevens
清华大学出版社
优点:详细讲解unix的进程之间,线程之间的关系,及各种不同标准的进程编程的异同

0012 unix网络编程–卷三 应用程序(slg1972, hutuworm)
未出,因为Richard Stevens大师英年早逝,再也不可能完成这计划中的第三卷了。据说其未竟稿可能由Gary R. Wright整理续写出来,但是自大师驾鹤以来一直杳无音信

0013 基于C++ CORBA高级编程(slg1972)
Michi Henning,Steve Vinoski
清华大学出版社
优点:中间件的好书,通向corba应用的必备资料。

0014 unix linux网管通鉴(odin_free)
电子版的,包括本版精华
优点:我见过关于unix知识最全面、最实用的chm文档,相当于一个小型网站,里面支持全文检索,推荐所有还没有的兄弟姐妹们下载

0015 www.chinaoy.com(aomin5555)
不错,挺全的,图书下载的好网址:
redhat linux9.0 官方入门指南
·redhat linux9.0 官方安装指南
·redhat linux9.0 官方定制设置手册
·redhat linux基础教程
·Linux 参考大全
·清华论坛linux精华
·Linux系统管理员指南中文手册
·Linux网站建设和维护全攻略
·redhat linux8.0 安装手册
·Linux环境database管理员指南

0016 Linux Advanced Routing & Traffic Control(hutuworm)
专门讲LINUX IPROUTE2的书,大概100页左右,www.lartc.org
中文版在:http://www.lartc.org/LARTC-zh_CN.GB2312.pdf

0017 Debian User强烈推荐看的书(NetDC)
Debian Reference (Debian参考手册)
http://qref.sourceforge.net/
简体中文版的pdf文档。
http://qref.sourceforge.net/Debian/reference/reference.zh-cn.pdf

0018 Advanced Bash-Scripting Guide(hutuworm)
An in-depth exploration of the art of shell scripting.
Mendel Cooper. <thegrendel@theriver.com>.
http://www.tldp.org/LDP/abs/abs-guide.pdf
优点:是Bash编程的圣经,而且该书作者不断在更新其内容,一两个月就会翻新一个版本,值得一读,一读再读。

—————————-mysql相关篇————————–
0001 mysql的数据库存放在什么地方(bjchenxu)
1. 如果使用rpm包安装,应该在/var/lib/mysql目录下,以数据库名为目录名
2. 如果源码安装在/usr/local/mysql中,应该在/usr/local/mysql/var中,以数据库名为目录名

0002 从mysql中导出和导入数据(bjchenxu)
导出数据库
mysqldump 数据库名 > 文件名
导入数据库
mysqladmin create 数据库名
mysql 数据库名 < 文件名

0003 忘了mysql的root口令怎么办(bjchenxu)
# service stop mysql
# mysqld_safe –skip-grant-tables &
# mysqladmin -u user password ‘newpassword”
# mysqladmin flush-privileges

——————————-杂项篇——————————–
感谢allan0909指正
请不要做浮躁的人
http://www.chinaunix.net/forum/viewtopic.php?t=93113
欢迎转载本文,请注明来自www.chinaunix.net,转载本文的网址如下:
a. linuxsir网站
http://www.linuxsir.com/bbs/showthread.php?s=&threadid=46279
b. 阿叶的小屋
http://hylinux.3322.org/showarticle.php?action=showarticle&id=2794
c. csdn
http://expert.csdn.net/expert/FAQ/FAQ_Index.asp?id=175651
d. dev-club
http://www.dev-club.com/club/bbs/showAnnounce.asp?page=1&id=2175595
e. 聚贤庄
http://www.ncn.cn/linux/2003001.htm
f. linux伊甸园
http://www.linuxeden.com/edu/doctext.php?docid=3020
g. 风雨人生技术网
http://www.guomin.net/index.php?showtopic=220
http://www.guomin.net/index.php?showtopic=219
http://www.guomin.net/index.php?showtopic=218

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Tags:

Linux下utf-8 BOM 的检查和删除

[ 2012-01-12 11:48 by danny | 分类:LINUX | 访问:423 views | 查看评论 发表评论 ]

当源程序是gb格式,你转换为 utf8 的时候,很多情况是头部会出现bom,当是php 程序时候,这样会出现很多意想不到的事情,那怎么办呢,你可以用linux 命令来查找,然后对文件的bom 进行删除,就ok 了

grep -r $’\xEF\xBB\xBF’ * |grep .php

bom:UTF-8签名(UTF-8 signature)也叫做BOM(Byte Order Mark)

用vim去除utf-8 BOM

1.’去掉utf-8 BOM
:set nobomb

2.’保留utf-8 BOM
:set bomb

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Tags:

EMOS,IMAP 收邮箱报timeout的解决办法

[ 2011-12-31 11:44 by danny | 分类:文摘 | 访问:425 views | 查看评论 发表评论 ]

最近几天,有公司同事反映,不能收邮件,大急,查原因,原来是用imap方式收邮箱就出错,报time out!
用 tail -f /var/log/maillog,查看邮件服务器日志,发现有这样的日志信息,server imapd: 40 maximum active connections.

用netstat|grep tcp 查看,发现有很多imapd进程,应该是用imap收发邮件的用户太多了

马上百度,谷歌,最后不惜千辛万苦,终于找到原因:

vi /usr/lib/courier-imap/etc/imapd

MAXDAEMONS=40
# change to:
MAXDAEMONS=100

保存

service courier-imap restart

解决。

友情连接:http://zeldor.biz/2011/02/courier-time-outs/

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Tags:

InnoDB与Myisam的六大区别

[ 2011-12-21 16:23 by danny | 分类:LINUX | 访问:430 views | 查看评论 发表评论 ]

MyISAM

InnoDB

构成上的区别:

每个MyISAM在磁盘上存储成三个文件。第一个文件的名字以表的名字开始,扩展名指出文件类型。

.frm文件存储表定义。

数据文件的扩展名为.MYD (MYData)。

索引文件的扩展名是.MYI (MYIndex)。

基于磁盘的资源是InnoDB表空间数据文件和它的日志文件,InnoDB 表的大小只受限于操作系统文件的大小,一般为 2GB

事务处理上方面:

MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持

InnoDB提供事务支持事务,外部键等高级数据库功能

SELECT UPDATE,INSERT,Delete操作
如果执行大量的SELECT,MyISAM是更好的选择

1.如果你的数据执行大量的INSERT或UPDATE,出于性能方面的考虑,应该使用InnoDB表

2.DELETE FROM table时,InnoDB不会重新建立表,而是一行一行的删除。

3.LOAD TABLE FROM MASTER操作对InnoDB是不起作用的,解决方法是首先把InnoDB表改成MyISAM表,导入数据后再改成InnoDB表,但是对于使用的额外的InnoDB特性(例如外键)的表不适用

对AUTO_INCREMENT的操作

每表一个AUTO_INCREMEN列的内部处理。

MyISAM为INSERT和UPDATE操作自动更新这一列。这使得AUTO_INCREMENT列更快(至少10%)。在序列顶的值被删除之后就不能再利用。(当AUTO_INCREMENT列被定义为多列索引的最后一列,可以出现重使用从序列顶部删除的值的情况)。

AUTO_INCREMENT值可用ALTER TABLE或myisamch来重置

对于AUTO_INCREMENT类型的字段,InnoDB中必须包含只有该字段的索引,但是在MyISAM表中,可以和其他字段一起建立联合索引

更好和更快的auto_increment处理

如果你为一个表指定AUTO_INCREMENT列,在数据词典里的InnoDB表句柄包含一个名为自动增长计数器的计数器,它被用在为该列赋新值。

自动增长计数器仅被存储在主内存中,而不是存在磁盘上

关于该计算器的算法实现,请参考

AUTO_INCREMENT列在InnoDB里如何工作

表的具体行数
select count(*) from table,MyISAM只要简单的读出保存好的行数,注意的是,当count(*)语句包含 where条件时,两种表的操作是一样的

InnoDB 中不保存表的具体行数,也就是说,执行select count(*) from table时,InnoDB要扫描一遍整个表来计算有多少行


表锁

提供行锁(locking on row level),提供与 Oracle 类型一致的不加锁读取(non-locking read in
SELECTs),另外,InnoDB表的行锁也不是绝对的,如果在执行一个SQL语句时MySQL不能确定要扫描的范围,InnoDB表同样会锁全表,例如update table set num=1 where name like “%aaa%”

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Tags:

Apache的prefork模式和worker模式

[ 2011-11-08 21:05 by danny | 分类:LINUX | 访问:241 views | 查看评论 发表评论 ]

prefork模式
这个多路处理模块(MPM)实现了一个非线程型的、预派生的web服务器,它的工作方式类似于Apache 1.3。它适合于没有线程安全库,需要避免线程兼容性问题的系统。它是要求将每个请求相互独立的情况下最好的MPM,这样若一个请求出现问题就不会影响到其他请求。

这个MPM具有很强的自我调节能力,只需要很少的配置指令调整。最重要的是将MaxClients设置为一个足够大的数值以处理潜在的请求高峰,同时又不能太大,以致需要使用的内存超出物理内存的大小。

worker模式
此多路处理模块(MPM)使网络服务器支持混合的多线程多进程。由于使用线程来处理请求,所以可以处理海量请求,而系统资源的开销小于基于进程的MPM。但是,它也使用了多进程,每个进程又有多个线程,以获得基于进程的MPM的稳定性。

控制这个MPM的最重要的指令是,控制每个子进程允许建立的线程数的ThreadsPerChild指令,和控制允许建立的总线程数的MaxClients指令。

prefork和worker模式的切换
1.将当前的prefork模式启动文件改名
mv httpd httpd.prefork
2.将worker模式的启动文件改名
mv httpd.worker httpd
3.修改Apache配置文件
vi /usr/local/apache2/conf/extra/httpd-mpm.conf
找到里边的如下一段,可适当修改负载等参数:

StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0

4.重新启动服务
/usr/local/apache2/bin/apachectl restart
即可换成worker方式启动apache2

处于稳定性和安全性考虑,不建议更换apache2的运行方式,使用系统默认prefork即可。另外很多php模块不能工作在worker模式下,例如redhat linux自带的php也不能支持线程安全。所以最好不要切换工作模式。

prefork和worker模式的比较
prefork模式使用多个子进程,每个子进程只有一个线程。每个进程在某个确定的时间只能维持一个连接。在大多数平台上,Prefork MPM在效率上要比Worker MPM要高,但是内存使用大得多。prefork的无线程设计在某些情况下将比worker更有优势:它可以使用那些没有处理好线程安全的第三方模块,并且对于那些线程调试困难的平台而言,它也更容易调试一些。

worker模式使用多个子进程,每个子进程有多个线程。每个线程在某个确定的时间只能维持一个连接。通常来说,在一个高流量的HTTP服务器上,Worker MPM是个比较好的选择,因为Worker MPM的内存使用比Prefork MPM要低得多。但worker MPM也由不完善的地方,如果一个线程崩溃,整个进程就会连同其所有线程一起”死掉”.由于线程共享内存空间,所以一个程序在运行时必须被系统识别为”每个线程都是安全的”。

总的来说,prefork方式速度要稍高于worker,然而它需要的cpu和memory资源也稍多于woker。

prefork模式配置详解

ServerLimit 256
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 256
MaxRequestsPerChild 0

ServerLimit
默认的MaxClient最大是256个线程,如果想设置更大的值,就的加上ServerLimit这个参数。20000是ServerLimit这个参数的最大值。如果需要更大,则必须编译apache,此前都是不需要重新编译Apache。
生效前提:必须放在其他指令的前面

StartServers
指定服务器启动时建立的子进程数量,prefork默认为5。

MinSpareServers
指定空闲子进程的最小数量,默认为5。如果当前空闲子进程数少于MinSpareServers ,那么Apache将以最大每秒一个的速度产生新的子进程。此参数不要设的太大。

MaxSpareServers
设置空闲子进程的最大数量,默认为10。如果当前有超过MaxSpareServers数量的空闲子进程,那么父进程将杀死多余的子进程。此参数不要设的太大。如果你将该指令的值设置为比MinSpareServers小,Apache将会自动将其修改成”MinSpareServers+1″。

MaxClients
限定同一时间客户端最大接入请求的数量(单个进程并发线程数),默认为256。任何超过MaxClients限制的请求都将进入等候队列,一旦一个链接被释放,队列中的请求将得到服务。要增大这个值,你必须同时增大ServerLimit。

MaxRequestsPerChild
每个子进程在其生存期内允许伺服的最大请求数量,默认为10000.到达MaxRequestsPerChild的限制后,子进程将会结束。如果MaxRequestsPerChild为”0″,子进程将永远不会结束。将MaxRequestsPerChild设置成非零值有两个好处:
1.可以防止(偶然的)内存泄漏无限进行,从而耗尽内存。
2.给进程一个有限寿命,从而有助于当服务器负载减轻的时候减少活动进程的数量。

worker模式配置详解

StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0

StartServers
服务器启动时建立的子进程数,默认值是”3″。

MaxClients
允许同时伺服的最大接入请求数量(最大线程数量)。任何超过MaxClients限制的请求都将进入等候队列。默认值是”400″,16(ServerLimit)乘以25(ThreadsPerChild)的结果。因此要增加MaxClients的时候,你必须同时增加ServerLimit的值。

MinSpareThreads
最小空闲线程数,默认值是”75″。这个MPM将基于整个服务器监视空闲线程数。如果服务器中总的空闲线程数太少,子进程将产生新的空闲线程。

MaxSpareThreads
设置最大空闲线程数。默认值是”250″。这个MPM将基于整个服务器监视空闲线程数。如果服务器中总的空闲线程数太多,子进程将杀死多余的空闲线程。MaxSpareThreads的取值范围是有限制的。Apache将按照如下限制自动修正你设置的值:worker要求其大于等于MinSpareThreads加上ThreadsPerChild的和。

ThreadsPerChild
每个子进程建立的常驻的执行线程数。默认值是25。子进程在启动时建立这些线程后就不再建立新的线程了。

MaxRequestsPerChild
设置每个子进程在其生存期内允许伺服的最大请求数量。到达MaxRequestsPerChild的限制后,子进程将会结束。如果MaxRequestsPerChild为”0″,子进程将永远不会结束。将MaxRequestsPerChild设置成非零值有两个好处:
1.可以防止(偶然的)内存泄漏无限进行,从而耗尽内存。
2.给进程一个有限寿命,从而有助于当服务器负载减轻的时候减少活动进程的数量。
注意对于KeepAlive链接,只有第一个请求会被计数。事实上,它改变了每个子进程限制最大链接数量的行为。

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Tags:

使用 xargs 中的 max-lines 选项控制命令的 argument 个数

[ 2011-11-08 20:59 by danny | 分类:LINUX | 访问:283 views | 查看评论 发表评论 ]

今天闲逛时发现一个有趣的问题

大概意思就是使用 xargs 把一个 zip 文件列表传给 unzip 解压时会报 “caution: filename not matched”这样的错误

感觉要是我自己碰到这种情况也会有同样问题的,于是翻了翻 xargs 和 unzip 的 manual,发现主要是 xargs 在捣鬼。

比如当前目录有仨文件:1.zip, 2.zip 和 3.zip,使用

ls *.zip | xargs unzip

等于

unzip 1.zip 2.zip 3.zip

可以用

ls *.zip | xargs -p echo

来验证下 (-p 等于 –interactive)

而对于 unzip 来说,

unzip 1.zip 2.zip 3.zip

表示从 1.zip 文件中提取 2.zip, 3.zip,并不是分别解压这三个 zip

所以这时候要使用 xargs 的 -l[max-lines],表示最多使用 max-lines 个非空项作为后面那个 command 的 argument,如果省略 max-lines,则使用默认值 1

所以想要每个 .zip 分别被 unzip 的话,需要:

ls *.zip | xargs -l1 unzip

为了加深对 max-lines 的理解,比较下 max-lines 分别为 1 和 2 时,

ls *.zip | xargs -l[max-lines] echo

的输出:

  • $ ls *.zip | xargs -l1 echo
    1.zip
    2.zip
    3.zip
  • $ ls *.zip | xargs -l2 echo
    1.zip 2.zip
    3.zip

ls *.zip | xargs -l1 unzip

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Tags:

EMOS在大用户量环境的性能调优

[ 2011-10-26 16:35 by danny | 分类:LINUX | 访问:276 views | 查看评论 发表评论 ]

参数不是最合适的,但应该是足够大的,500用户,在dell 1950标配机上跑着没问题。
1、修改/usr/lib/courier-imap/etc/pop3d
MAXDAEMONS=512
MAXPERIP=9000
2、修改/etc/authlib/authdaemonrc
daemons=256
3、修改/etc/amavisd.conf
$max_servers = 50;
4、修改/usr/sbin/apachectl
HTTPD=’/usr/sbin/httpd.worker’
5、修改/etc/httpd/conf/httpd.conf
<IfModule worker.c>
StartServers         10
MaxClients       1500
ServerLimit         100
MinSpareThreads     25
MaxSpareThreads     75
ThreadsPerChild     25
MaxRequestsPerChild  0
</IfModule>
6、修改/etc/clamd.conf
MaxThreads 50
7、修改/etc/my.cnf
max_connections=2048
8、去除rar打包exe会被ban的问题
编辑/etc/amavisd.conf,把$banned_filename_re = new_RE 这段内容相应的修改下
如果你知道该重启哪些服务,就重启这些服务,不清楚的话重启下系统就好。
9、加强发信人限制策略
编辑/etc/postfix/master.cf,把-o smtpd_client_restrictions=permit_sasl_authenticated,reject这行注释去掉。
10、仅允许同域用户给别名群发邮件。
原来的思路是用邮件列表做控制,后来发现邮件列表越搞越复杂越多事,又搜索了一把,发现用postfix的发信和收信人策略搞更方便,分享之。

A、        创建local_recipient和local_domains两个文件
[root@a postfix]# pwd
/etc/postfix
[root@a postfix]# cat local_recipient
allstaff@a.com local_only
[root@a postfix]# cat local_domains
a.com OK
127.0.0.1 OK
youip OK
B、        产生db文件,如果修改过/etc/postfix/local_recipient和/etc/postfix/local_domains文件内容,需要重新执行下面的命令才可生效。
postmap hash:/etc/postfix/local_recipient
postmap hash:/etc/postfix/local_domains
C、        在main.cf里加入两行
smtpd_restriction_classes = local_only
local_only = check_sender_access hash:/etc/postfix/local_domains, reject
D、        在main.cf里给smtpd_sender_restrictions加个规则check_recipient_access hash:/etc/postfix/local_recipient,结果如下:
smtpd_sender_restrictions =
permit_mynetworks,
reject_sender_login_mismatch,
reject_authenticated_sender_login_mismatch,
reject_unauthenticated_sender_login_mismatch,
reject_unknown_sender_domain,
check_recipient_access hash:/etc/postfix/local_recipient
F、        重启postfix。

此时非a.com用户无法给allstaff发信。
弹回信息如下:
你发送到allstaff@a.com的邮件由于以下原因被退回 :
allstaff@a.com SMTP error, RCPT TO: 554 5.7.1 <allstaff@a.com>: Recipient address rejected: Access denied
请到http://help.163.com/special/00752CTC/126_tran_withdrawal_letter.html 查询退信原因。
参考了[url]http://www.extmail.org/forum/viewthread.php?tid=4102&extra=& amp;page=1[/url]和[url]http://www.extmail.org/forum /viewthread.php?tid=8244&extra=page%3D5%26amp%3Bfilter%3Dtype%26amp%3Btypeid%3D1&page=1[/url]

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Tags:

postfix 如何删除队列中的邮件

[ 2011-10-18 17:30 by danny | 分类:LINUX,文摘 | 访问:248 views | 查看评论 发表评论 ]

[root@mail ~]# mailq 查看队列邮件

postsuper -d ALL  这样就删除所有邮件啦

[注意:大小写有区别,请注意大小写!]

网上看到,Postfix 邮件队列管理的几个 Perl 小程序,pfdel.pl 是用来删除队列中指定用户的邮件的,luserdel.pl 是用来删除队列中无效用户的邮件的,moqdel.pl 是用来删除队列中邮箱配额已满的用户的邮件的,jmoqdel.pl 是删除邮箱配额已满的用户的垃圾邮件箱的。我装的是EMOS1.3,找不到这几个小程序。

用外面的邮件服务器发点EDM,一直有问题,成功太少,干脆用自己的邮件服务器发送,谁知道3W多封邮件是发出去了,全部堵在我们自己的服务器上,邮件服务器给堵死了spool只好删除队列中的垃圾邮件了,网上说是 mailq | tail +2 | awk ‘BEGIN { RS = “” } / chen@example.org$/ { print $1 }’ | tr -d ‘*!’ | postsuper -d

参考官网写个脚本也不行,应该多研究下还可以的,脚本如下:

Q: 删除邮件队列

A: mailq | tail +2 | awk ‘BEGIN { RS = “” } / chen@example.org$/ { print $1 }’ | tr -d ‘*!’

| postsuper -d -

[root@linuxas3 root]# vi mailqueue
#!/bin/bash
netkiller@9812.net
queue=$1
# echo ${queue}
DELETE=”mailq | tail +2 | awk  ’BEGIN { RS = ”” } /${queue}$/ { print $1 }’ | tr -d ‘*!’

| postsuper -d -”
echo ${DELETE} > queue
chmod 755 queue
./queue
[root@linuxas3 root]# chmod 755 mailqueue
[root@linuxas3 root]# ./mailqueue chen@example\.org
mailq | tail +2 | awk ‘BEGIN { RS = “” } /chen@example.org$/ { print $1 }’ | tr -d ‘*!’ |

由于邮件中有一些正常邮件,所以只能删除特定字符的垃圾邮件,通过mailq显示出来邮件队列:2AB97F815E* 2749 Thu Feb 5 15:48:38 web1@shequsz.com

szmaxoni@public.szptt.net.cn   删除邮件只需要命令postsuper -d 2AB97F815E即可。应该通过管道可以简单实现,但是我对使用管道不熟悉,只好多走两步了……

[root@mail ~]# mailq |grep shequsz.com >>/home/maillist 到出包含shequsz.com的垃圾邮件到maillist

[root@mail home]# awk ‘{print $1}’ maillist >>/home/mywang/dellist 把邮件ID导出来,查看下如果带*,需要编辑替换下

[root@mail mywang]# cat delmail.sh  编辑一个脚本,把文件里面ID逐个匹配然后删除邮件

for i in `cat dellist`;

do  postsuper -d $i;

done

[root@mail mywang]# sh delmail.sh

postfix有四种不同的邮件队列,并且由队列管理进程统一进行管理:

 

1. maildrop:本地邮件放置在maildrop中,同时也被拷贝到incoming中。

2. incoming:放置正在到达或队列管理进程尚未发现的邮件。

3. active:放置队列管理进程已经打开了并正准备投递的邮件,该队列有长度的限制。

4. deferred:放置不能被投递的邮件。

 

postfix日常维护

启动postfix        postfix start

停止postfix        postfix stop

重新读取postfix配置文件     postfix reload

 

 

立即投递队列中所有邮件(慎用)           postfix flush

 

查看队列邮件    postqueue -p 或 mailqpostqueue -p |tail

 

使用postsuper 来维护队列。一般是先用mailq查看队列里的邮件,找到对应的id,然后用postsuper -d来删除。例如id是0EAF3A9B 那么postsuper -d 0EAF3A9B

 

Q: 删除邮件队列

 

A: mailq | tail +2 | awk ‘BEGIN { RS = “” } / chen@example.org$/ { print $1 }’ | tr -d ‘*!’ | postsuper -d

 

详细要看mailq和postsuper的用法

 

修复队列以及任何权限错误

postfix check

查看邮件系统日志

tail -f /var/log/maillog

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

【组图】每日不离Linux

[ 2011-07-22 14:16 by danny | 分类:LINUX | 访问:262 views | 查看评论 发表评论 ]

Linux无处不在!Linux基金会执行委员Jim Zemlin告诉我们,“我们每天都在用着Linux,即使大家不知道。Linux显然已成为我们生活不可或缺的一部分了。”“假如这世界没有Linux 难以想象。Linux在交通控制系统、银行、核潜艇等各行各业发挥着重要作用。Linux深入到你的生活、理财、生命中去了。灭掉Linux,如同自 杀。” 事实确实如此,接下来笨兔兔一起和大家来看看Linux在我们生活的各个方面吧。

1,Android手机和平板电脑启程
Android手机系统基于Linux,每天有550,000部Android手机激活。

http://img.cnbeta.com/newsimg/110722/1301350519877618.jpg

2,Linux支撑着世界上大多数的超级计算机
http://img.cnbeta.com/newsimg/110722/13013711841026216.jpg

3,日本高速铁路运行
在每一台离开站点的列车,Linux都在后面掌控。
http://img.cnbeta.com/newsimg/110722/13013821492084049.jpg

4,高科技交通控制系统
旧金山目前开始采用由Linux驱动的交通控制系统。
http://img.cnbeta.com/newsimg/110722/1301393820885944.jpg

5,Toyota丰田采用Linux制造汽车
前几日,丰田加入Linux基金会。丰田汽车的车载信息娱乐系统和通信系统采用Linux。
http://img.cnbeta.com/newsimg/110722/130139454582180.jpg

6,喝上牛奶,也得多亏Linux
DeLaval,一个122年的采奶设备公司,使用Linux作为挤奶的自动系统。
http://img.cnbeta.com/newsimg/110722/1301405777718113.jpg

7,纽约股票交易所
纽约股票交易所在2007年采用Linux,NYSE由此降低成本,增强了稳定性。
http://img.cnbeta.com/newsimg/110722/13014161974717971.jpg

8,Linux帮助电子物理研究
CERN,是世界最大的物理实验室,也依赖Linux驱动其电子加速器。
http://img.cnbeta.com/newsimg/110722/13014271131702222.jpg

9,空中交通控制系统
航空交通控制系统采用Linux,可使你从A安全飞到B。
http://img.cnbeta.com/newsimg/110722/13014281575458376.jpg

10,Linux与核潜艇
2004年,Lockheed Martin为美国政府开发出运行Red hat Linux的核潜艇。
http://img.cnbeta.com/newsimg/110722/1301449112120095.jpg

11,Google, Amazon, Facebook也使用Linux作为他们的网络服务器
http://img.cnbeta.com/newsimg/110722/130144101673765658.jpg

12,数字录像机与Linux
家里使用的数字录像机也是由Linux驱动啊。
http://img.cnbeta.com/newsimg/110722/130145111371402913.jpg

【结语】
Linux取得这些成就,花了20年!不容易啊。愿吃饱了饭的人们都用上优秀的操作系统!

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Tags:

咸祥中学

[ 2011-07-19 21:54 by danny | 分类:古城大嵩 | 访问:246 views | 查看评论 发表评论 ]

咸祥中学坐落于东海之滨、沙金山麓,这里民风淳朴,书香浓厚,人杰地灵,孕育了童第周、周尧、沙孟海、沙耆等科技文化名人。 学校创办于1956年,是一所历史悠久,环境优美,设施齐全,质量较高,有良好社会声誉的省三级重点中学。 学校精神是:自信自强,勤奋进取;办学的目标是:环境精致、管理精细、教学精当。

咸祥中学校园面积100余亩,建筑面积3万余平方米。 环境格局清晰,绿化面积达11500平米,校内花草树木,郁郁葱葱,亭台楼阁,错落有致,是宁波市绿化先进单位。 学校设施齐全,教学用房、场地、仪器、设备均达到省定标准。拥有一流的校园音响系统、闭路电视系统及计算机网络系统; 设有适应现代教学需要的电脑室、语音室、多媒体教室、电子阅览室;实验图书楼气势恢宏,实验室设施齐全,图书室藏书丰富,管理先进,是宁波市学校一级图书 馆。

“三年影响一生”是学校的办学理念,“做实、做细、做透、做亮”是工作所追求的目标, “学生离开了学校,我们能给学生留下许多美好的回忆”是学校的共同愿景。 几年来,学校不断深化教育改革,推进素质教育,规范教育管理,逐步摸索出一条“低起点,小步子,多参与,快反馈,勤循环”的成功教学理念。 教师教风严谨,学生学风端正,在全体师生共同努力下,教育教学质量逐年提高,赢得了较高的社会声誉。 近几年,她的省会考合格率达到了99%以上,高考上线率每年都在99%以上,各项高考指标的完成率在全区名列前茅, 她先后荣获了市示范性文明学校、区文明单位、区先进学校、区“五四”红旗团委、省达标先进单位等多项荣誉称号,2003年,成为浙江省三级重点中学。

回溯过去,踏遍青山人未老;面向未来,豪情满怀从头越。 今日的咸祥中学,各项工作蒸蒸日上,她犹如一颗璀璨明珠,镶嵌在象山港畔,为了跻身省二级重点中学行列, 全校教职工正团结一致,满怀信心,矢志进取,以矫健的身姿、昂扬的斗志搏击新的风雨,实现新的腾飞!

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...