2006年09月27日

做法很简单。呵呵,你完全可以做个简单的代替复杂的squid,但功能有限哟。。@_@

将下面的配置加入到你的apache配置文件即可。

限制别人用你的代理服务器,只开启 192.168.0.0网段可以访问。

For Apache 1.3:

<Directory proxy:*>
    Order deny,allow
    Deny from all
    Allow from 192.168.0.0/255.255.255.0
</Directory>

 

For Apache 2.0:

<Proxy *>
    Order Deny,Allow
    Deny from all
    Allow from 192.168.0.0/255.255.255.0
</Proxy>
2006年04月12日
Adaptive Server Enterprise 15.0 Developer’s Edition or Sun Solaris 64-bit
 Adaptive Server Enterprise 15.0 Developer’s Edition on Windows
 Adaptive Server Enterprise 15.0 Developer’s Edition on Linux
2006年04月11日

一、飞利浦系列

产地:荷兰


  如果一定要评出目前市场上最好的MP3解码芯片的话,那么无疑就是飞利浦芯片了。飞利浦家族的解码芯片在业界一直以其“功能全,音质好,价格高”而著称。

  飞利浦的解码芯片一般都采用的是BGA封装工艺,而国内的这方面技术相当有限,此外,由于飞利浦的解码芯片需要搭配另外的控制芯片电路协同工作,所以产品成本较高。所以采用飞利浦解码芯片的厂商往往都定位于中高价位,如MPIO和IRIVER这两家韩国的MP3专业厂商。这两个品牌一个最主要的共同特点就是在产品中全面采用了飞利浦的解码芯片。因此,他们的产品拥有很高的音质和品质,成为全球MP3爱好者追逐的对象。

1、飞利浦SAA775X系列(SAA7750/7751/7752/7753)

  飞利浦SAA775x芯片是目前市场上MP3播放器解码芯片组中功能最全(支持CD直录),效果最好的解码芯片之一。该解码芯片的音质表现为:低音下沉较深、中音表现出色、而相比之下高音则显得一般。


  因为SAA775x中内含DSP(Digital Signal Processing,数字信号处理)和32位ARM RISC处理器,所以能用超高集成度的单颗芯片,音频解码和语音编码等工作,并且可以加入SDMI(Secure Digital Music Initiative,安全式数字音乐)保护。

  其中SAA7750内含DSP和32位ARM RISC处理器,信噪比为90dB。该芯片兼容多段多档位EQ智能音效,支持以ADPCM格式保存语音记录、同步显示歌名和歌曲信息、Line-in直录,此外还支持USB 1。1/2。0标准,支持多重音乐格式解码。而SAA7751仅有DSP内核和闪存,没有包含音频多媒体解编码器,只能用于本身可升级的MP3 CD光盘播放器上。SAA7752是一个针对价格的解决方案,只包含了DPS芯片,使用外置内存来存储数据,主要针对CD随身听。至于SAA7753,同样仅有DSP芯片,而且改变得更为彻底,干脆直接用嵌入式内存代替了闪存,对应低价格的CD播放系统,作为一个附加MP3的功能。


  飞利浦SAA775x采用的嵌入式处理器,拥有高级能源管理功能,可以根据工作任务量需要控制处理器运行速度,以延长电池的使用时间,类似于普遍使用于高端的PDA和笔记本电脑的节能技术。因此,SAA775x芯片以普通音量播放128Kbps MP3时,单颗AA电池的供电时间可以长达24小时。当然这是芯片的理论工作时间,对于MP3播放器来说,由于生产工艺的制约,具体的工作时间就另当别论了。

2、飞利浦Nexperia PNX010x系列(PNX0101/0102/0105)


  PNX010x系列解码芯片也是一个大的系列,包括 PNX0101,PNX0102和PNX0105。其中PNX0102和PNX0102是专为闪存MP3随身听而开发的,而PNX0105则是针对硬盘式多媒体播放器的产品。


  PNX0101内嵌4Mbit的可编程FLASH,只支持USB1.1。目前所有采用PNX0101芯片MP3所配备的USB2.0接口,都是通过另外增加USB2.0控制芯片来实现的。(注:与Molex的配合使用可支持USB2。0、SD/MMC扩展等)而PNX0102则内嵌有8Mbit的可编程FLASH,自身提供了对USB2.0的支持。PNX0105同样支持USB2.0,而且还支持GDMA和IDE(ATA/ATAPI/PC Card)等接口,但它没有内置可编程FLASH。市场上目前到货的只有采用PNX0101的产品,而即将上市MPIO最新款MP3播放器 FY400 则采用PNX0102,而 PNX0105则要到2005年才能批量供货。

二、Telechips的TCC730/TCC731系列

产地:韩国

  去年才出现在市场上的韩国Telechips解码芯片,一经面世便获得一致好评,在韩国众多厂商的大力支持下成长迅速。从功能、性能、音质各方面来看,Telechips TCC730/731比Sigmatel的STMP3410之类的芯片着实要好一些,低音感充足、各频段表现比较平衡、而且音场更为宽阔;但与飞利浦SAA7750/7751相比还有一定差距。另外,Telechips TCC730价格比SAA7750便宜一点,但需要外接ROM,外围元件比较多,因此采用这种芯片的MP3产品难得有身材玲珑的产品面世。


  业界普遍认为Telechips芯片各方面表现介于Sigmatel STMP3410和SAA7750/7751系列之间。采用该芯片的MP3在本身的音质基础上,如果配备了更为高档的耳机后还会有一定的提升。该类型的机子一般会标配森海塞尔MX300(或者OEM森海塞尔)耳机,该耳机属于森海塞尔普及型MX系列中最平民化的耳机,所以建议对音质有更高要求的朋友可以尝试森海塞尔MX500,或者更高档一点的KOSS SP/KOSS PP,森海塞尔PX100/PX200。因为采用该芯片的MP3在音质上有一定的潜力,而并不像所有经销商告诉你的,所有的MP3在更换高档耳机后音质都有提升,其实有些MP3自身芯片及设计,生产工艺的限制使得其已经不具有音质的挖掘空间。

  目前市场上采用这个芯片的MP3主要有丹丁DATUM MH356,DEC街舞系列,Wewa王者之音,朝华魔音系列。

三、Sigmatel系列

产地:美国

  如果要说目前MP3芯片市场占有率的话,那么美国的Sigmatel家族肯定是名至实归,但对于Sigmatel芯片的品质,却总是仁者见仁,智者见智。总体而言采用Sigmatel解码芯片的MP3音质表现会中规中矩,声音比较亮丽,中音表现一般,低音量感不足、高音比较生硬,它在音乐的表现上要逊于飞利浦和Telechips芯片。


1、Sigmatel 3410

  曾几何时,SigmaTel 3410的芯片还占据着MP3芯片市场的半壁江山,可能直到目前STMP3410单芯片方案仍然是最成熟和常见的一种方案。其价格低廉、良好的程序移植性的特点曾为它在2003年抢占到80%解码芯片的市场份额。
该芯片的音质表现一般,多用在中、低档产品上。现在对于采用SigmaTel 3410芯片的方案已经很成熟,但如果没有在外围电路上增加更多设计的话,其音质会很一般。这也就是为什么虽然采用该芯片的产品很多,但音质表现却有云泥之别的原因了。采用Sigmatel 3410解决方案的MP3播放器主要有Maycom XP168R,DEC M220R系列。


2、Sigmatel 3420/1342

  Sigmatel 3420更像是Sigmatel 3410的升级版,与STMP3410不支持MP3硬件编码,处理速度比较慢相比,Sigmatel 3420在Sigmatel 3410的基础上增加了对USB2。0的支持,修正了Sigmatel 3410对某些主板USB2。0不兼容的问题,还增加了MP3硬件编码功能,在音质方面也比Sigmatel 3410有所提高。


  而Sigmatel 1342是一款专为闪存盘而设计的功能增强型芯片,该芯片的功能相对较少,多用在很低端的带MP3播放功能的闪存盘上,其音质表现大致与Sigmatel 3410在伯仲之间。


3、Sigmatel 3510/3520

  与Sigmatel 3410相比,Sigmatel 3510不仅支持USB2。0,而且改进了综合能源管理、支持电池充电功能检测、并且强化了数字/模拟转换器和耳机的音乐放大器电路、拥有子目录管理能力等智能化的功能,可以说Sigmatel家族的芯片发展到Sigmatel 3520迈出了一大步。


  Sigmatel 3520改进了以往Sigmatel 3410/1342中音表现一般、高音生硬的缺点,音质清澈,信噪比据说可以达到95dB;增加了对MP3硬件编码、FM收音和USB2。0等功能的支持;Sigmatel 3520比前代产品在处理速度上也有所提升,达到了75MHz(34xx系列为65MHz)。现在市场各个价位的MP3都有Sigmatel 3520芯片的影子,也正说明了Sigmatel 3520芯片所取得的长足进步。下边介绍的就是采用Sigmatel 3520芯片并受到一致好评的魅族E2。
如果说品质有华贵和朴实之分的话,那么E2无疑属于后者。略嫌平庸的外表底下掩盖不住其卓越的品质。作为ME系列的加强版(PLUS)E2秉承了ME系列的Sigmatel 3520芯片,经多人试听,一致认为其表现不俗,在整体音乐表现力上,E2的表现可圈可点,尤其在中高音及人声的还原上表现优秀,但在低音的分离上有显单薄,在乐器,特别是BASS,鼓击上低音下潜力度稍嫌不足。总之这是一款典型的采用Sigmatel 3520芯片的MP3,表现令人满意。


4、Sigmatel 3550/3560


  Sigmatel 3550/3560是专用于硬盘式MP3播放器的芯片,其处理速度为75MHz。功能上它们以Sigmatel 35×0为基础。为了给硬盘提高缓存当作避震之用,还添加了SDRAM接口。Sigmatel 3510/3520与3550/3560除了封装有些不同外,主要区别就在于3550/3560还可以支持锂电池及USB直接充电,因此大家凡是看到采用锂电池、支持USB2.0的,80%都可能是采用Sigmatel 3550、3560芯片的 。


  Sigmatel 34XX与Sigmatel 35XX系列的区别,主要是在以下两方面的改进:USB1.1提升至USB2.0;电池续航能力增长,如创新的TX-FM,采用1节7号电池可以连续播放15小时。

5、Sigmatel 3502


  据称该芯片瞄准高端市场,将芯片与外围电路设计做了大幅度提升,被誉为第三代的解码芯片,将DSP数字信号处理器主频速率提升至75MHz,信噪比高达95db,输出功率达到了11mW,总谐波失真率也低于0.05%。微星科技在岁末推出了自己的平民化的产品MS-5511增强版。
微星MS-5511增强版正是采用美国Sigmatel公司前沿技术产品Sigmatel 3502解码芯片。配合微星一流制造工艺,内部电路设计、焊接工艺、线路板材料等独特技术显示了国内知名IT大厂的严谨设计及精湛工艺。经过试听,在音乐的表现上,微星MS-5511采用的Sigmatel 3502芯片让人觉得跟Sigmatel 3520芯片并没有太大的突破,不过对于一款售价399的MP3,的确是不错的选择。除过宣传的众多功能外,我想微星的全系列MP3产品享受的二十四小时全天侯即时服务大概是最为诱人的。这在中低端市场是非常难得的。

三、SKYLARK芯片


产地:韩国

  韩国ECT公司的SKYLARK芯片,目前国产的纽扣机都用到,只是目前还不支持WMA,价格与STMP3410差不多,功能较全。Skylark主要功能特点是功耗低,音质清晰悦耳;录音生成MP3格式的文件,可选择压缩比特率;编码直录功能,且可以根据需要调整压缩比特率;内置FM调频收音,中国、日本、欧洲3种制式可选,可将收到节目录在播放机中;中文、英文、韩文、日文等语言选择;歌名、ID3、歌词同步显示(支持中文歌名、歌词同步显示);独立文件删除功能,方便使用; A-B点复听功能;内部存储器容量查询,可以查询内部存储器的容量。不用说,采用KYLARK芯片的代表作品就是丹丁DX-8了。对于彩蛋,我们已经了解太多,对于它在此就不在赘述。我们在遗憾其不支持WMA文件格式的时候不由的深深赞赏设计者的美妙的创意。


四、ATMEL芯片

产地:美国

  美国ATMEL公司是DSP、MCU业界的龙头。AT89C51ND1X系列芯片是专为mp3产业开发的嵌入式多媒体应用的DSP+MCU混合型解决方案。采用这种芯片的MP3集成USB,MMC嵌入式非常小的系统软件,功能齐全带USB功能的仅需15K字节固件代码。这种MP3解码器和硬件接口控制器非常的低耗电。


五、华矽

产地:台湾

  台湾华矽(MOSART)的芯片功能简单,一般用于低端产品,如无LCD显示,或SD卡播放器。双芯片结构(CPU与解码芯片分离)。音质就比较有特色,低音不错,中高音一般。


六、炬力ATJ2085

产地:珠海


  炬力的ATJ208564 PIN封装,高度集成。支持格式有MP3、WMA、WMV、ASF播放,支持FM,芯片价格较便宜。现在很多大陆厂商都选用这款炬力的ATJ208564PIN,其缺点是音质一般,勉强可听,FM的表现上也有待提高。

2006年04月10日

0001 修改主机名(bjchenxu)
vi /etc/sysconfig/network
,修改HOSTNAME一行为"HOSTNAME=主机名"(没有这行?那就添加这一行吧),然后运行命令" hostname 主机名"。一般还要修改/etc/hosts文件中的主机名。这样,无论你是否重启,主机名都修改成功。


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


0003 linux
的自动升级更新问题(hutuwormNetDC)
对于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
用法(sakulagisxsfxx)
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.
访问DVD mount -t iso9660 /dev/dvd /mnt/cdrommount -t udf /dev/dvd /mnt/cdrom
注意:dvd的格式一般为iso9660udf之一

0006
vmwareLINUX中使用本地硬盘的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是你的windowsIP地址;
D$
是你的windows里面共享的D盘的共享名;
/mnt/d
是要将该分区mountlinux的目录;
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 显示含该文件目录的inumumount 文件系统,
clri
清除该目录的inumfsckmountcheck your lost+foundrename 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
分卷压缩和合并(WongMokinWaker)
以每卷500M为例
tar
分卷压缩:tar cvzpf – somedir | 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
maninfo的信息存为文本文件(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
3840057600115200
修改/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(任务)即可以选择gnomekde。如果你是以文本方式登录,那执行switchdesk gnomeswitchdesk kde,然后再startx就可以进入gnomekde
(
或者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(RHzysong字库是有版权的)
现在好像没有FreeGBKGB18030字库
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
装中文输入法(bjchenxuhutuworm)
redhat8为例,xwindow及其终端下的不用说了,缺省就安装了,用ctrl-space呼出。
现在讨论纯console,请到http://zhcon.sourceforge.net/下载zhcon-0.2.1.tar.gz,放在任一目录中,tar xvfz zhcon-0.2.1.tar.gzcd zhcon-0.2.1./configuremakemake 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
KMG为单位,提高信息的可读性。KBMBGB是以1024为换算单 位, -H1000为换算单位。

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
修改系统时间(bjchenxulaixi781211hutuworm)
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
开机就mountwindows下的分区(bjchenxu)
自动将windowsd盘挂到/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
中的翻译软件(bjchenxuhutuworm)
星际译王 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
,就是把tarzvxf 改成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

0057-2 tar
压缩、解压用法(platinum
解压:x
压缩:c
针对gzz
针对bz2j
用于显示:v

解压实例
gz
文件:tar xzvf xxx.tar.gz
bz2
文件:tar xjvf xxx.tar.bz2

压缩实例
gz
文件:tar czvf xxx.tar.gz /path
bz2
文件:tar cjvf xxx.tar.bz2 /path

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。打开xmmsctl-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.ttcSimSun18030.ttctahoma.ttftahomabd.ttf
拷贝到/usr/local/temp,然后下载的shell文件也放到这个目录里,然后打开终端
cd /usr/local/temp
chmod 755 sm.sh
./sm.sh

0065
装载windows分区的FAT32FAT16文件系统(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
存盘退出. 重新启动后即可正常访问FAT32FAT16格式分区,解决显示WINDOWS分区下和光盘中文文件名乱码
问题.其中共六列,每列用Tab键分开。注意此方法只能mountFat 分区格式.sda1是闪盘。

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

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
ddiso(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有没有认出它来。
三、分区
你可以使用fdiskSfdisk或者partedGNU分区工具,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为此。这也是抓屏的好方法。
这是在debiancookbook上看到的。在RH9上能用。没有在其它的系统上测试过。

0087
让一个程序在退出登陆后继续运行(NetDC,双眼皮的猪)
#nohup
程序名 &
或者使用disown命令也可以

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不安全,该怎么解释呢?每装一次win98MBR都会被修改一次,大家觉得有什么不安全的吗?

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
:列目录。
用法:lsls 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/fd0mountPoint 是挂载点,它是一个目录,options是参数,如果分区是linux分区,一般不用-o options,如果是windows分区那options可以是iocharset=cp936,这样windows分区里的中文文件名就能显示出来了。用例:比如/dev/hda5linux分区,我要把它挂到目录a上(如没目录a那就先mkdir a),mount /dev/hda5 a,这样目录a里的东西就是分区hda5里的东西了,比如hda1windows分区,要把它挂到b上,mount /dev/hda1 b -o iocharset=cp936
b.
镜像文件:mount fileName mountPoint -o loopfileName是镜像文件名(*.iso,*.img),其它的不用说了,跟上面一样。用例:如我有一个a.iso光盘镜像文件,mount a.iso a -o loop,这样进入目录a你就能浏览a.iso的内容了,*.img文件的用法一样。
<4>find
:查找文件。
用法:find inDir -name filenameinDir是你要在哪个目录找,filename是你要找的文件名(可以用通配符),用通配符时filename最好用单引号引起来,否则有时会出错,用例:find . -name test*,在当前目录查找以test开头的文件。
<5>grep
:在文件里查找指定的字符串。
用法:grep string filename,在filename(可用通配符)里查找string(最好用双引号引起来)。参数:-r在所有子目录里的filename里找。用例:grep hello *.c -r在当前目录下(包括子目录)的所有.c文件里查找hello
<5>vi
:编辑器。
用法:vi filenamefilename就是你要编辑的文本文件。用了执行vi filename后,你可能会发现你无法编辑文本内容,不要着急,这是因为vi还没进入编辑状态,按ai就可以进入编辑状态了,进入编辑状态后你就可以编辑文本了。要退出编辑状态按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
为什么装了LINUXwin2K很慢(lnx3000,好好先生)
老问题了,你在2000是不是能看见Linux的逻辑盘,但不能访问?
在磁盘管理里,选中这个盘,右击->更改"驱动器名和路径"->"删除"就可以了,注意不是删除这个盘!

0100
linux发布版的iso文件刻录到光盘的方法(bjchenxu)
借用windows中的nero软件,选择映象文件刻录,选择iso文件,刻录即可!
1101 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
方法三:使用k3b可以刻录CD/DVD
k3b
主页:http://www.k3b.org/
(
实际上k3b是个图形界面,刻录CD利用了cdrecord,刻录DVD利用了dvd+rw-tools http://fy.chalmers.se/~appro/linux/DVD+RW/ )

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

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

1104
使用内存作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下的文件全部消失

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

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

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

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

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

1110
目录统计脚本(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’

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

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

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

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

1115
合并两个PostscriptPDF文件(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

1116
去掉apachemanual目录中的所有.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

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

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

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

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

1120
vi不响铃(sakulagi)
echo "set vb t_vb=" >> ~/.vimrc

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

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

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

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

1125
先测试patch是否运行正常,暂不将更改应用到kernel(jiadingjun)
patch –dry-run

1126 redhat
debian上的文件安装删除用法(NetDC)
删除一个软件包:
rpm -e <package-name>
dpkg -r <package-name>
显示一个软件包的内容:
rpm -qvl <package-name.rpm>
dpkg -c <package-name.deb>
显示所有已经安装的软件包:
rpm -qvia
dpkg -l
打印一个包的信息:
rpm -qpi <package-name.rpm>
dpkg -I <package-name.deb>
检验包characteristics
rpm -Va
debsums -a
检验一个文件属于哪个包:
rpm -qf </path/to/file>
dpkg -S </path/to/file>
安装新软件包:
rpm -Uvh <package-name.rpm>
dpkg -i <package-name.deb>

1127
如何使新用户首次登陆后强制修改密码(猫小)
#useradd -p ” testuser; chage -d 0 testuser

1128
日志维护工具logrotate(hotbox)
/etc/logrotate.conf中配置,作用:定义log文件达到预定的大小或时间时,自动压缩log文件

1129 Linux
中默认的管理员叫什么(bjchenxu)
root

1130
如何产生一个长度固定(例如文件长度为1M)字节的空文件,即每个字节的值全为0×00(sakulagi)
dd if=/dev/zero of=/tmp/zero_file bs=1024 count=1024

1131 RedHat Linux
里修改时间的步骤(hutuworm)
1.
设置你的时区: timeconfig里选择Asia/Shanghai (如果你位于GMT+8中国区域)
2.
与标准时间服务器校准: ntpdate time.nist.gov
2.5
当然,如果你是李嘉诚,也可以跟自己的手表校准: date -s STRING STRING格式见man date
3.
写回硬件时钟: hwclock –systohc

1132
查找当前目录下文件并更改扩展名(零二年的夏天)
更改所有.ss文件为.aa
# find ./ -name "*.ss" -exec rename .ss .aa ‘{}’ \;

1133 patch
的使用(天才※樱木)
语法是patch [options] [originalfile] [patchfile]
例如:
patch -p[num] <patchfile
-p
参数决定了是否使用读出的源文件名的前缀目录信息,不提供-p参数,则忽略所有目录信息,-p0(或者-p 0)表示使用全部的路径信息,-p1将忽略第一个"/"以前的目录,依此类推。如/usr/src/linux-2.4.16/Makefile这样的文件名,在提供-p3参数时将使用linux-2.4.16/Makefile作为所要patch的文件。
对于刚才举的Linux内核源码2.4.16升级包的例子,假定源码目录位于/usr/src/linux中,则在当前目录为/usr/src时使用"patch -p0 <patch-2.4.16"可以工作,在当前目录为/usr/src/linux时,"patch -p1<patch-2.4.16"也可以正常工作。

1134
file.txt里的123改为456(hutuworm)
方法1
sed ’s/123/456/g’ file.txt > file.txt.new
mv -f file.txt.new file.txt
方法2
vi file.txt
输入命令:
:%s/123/456/g



1135
将一个分区格式化为ext3日志文件系统(hutuworm)
mkfs -j /dev/xxxx

1136
开启硬盘ATA66 (laixi781211)
/sbin/hdparm -d1 -X68 -c3 -m16 /dev/hda

1137
查看当前运行级别(双眼皮的猪)
runlevel

1138
查看当前登陆身份(双眼皮的猪)
(1)who am i
(2)whoami
(3)id
注意(1)(2)的小区别

1139
删除rpm -e删除不了的包(wwwzc)
1
、如果在删除包之前删除了包的目录
rpm -e –noscripts
2
、如果系统里一个包被装两次(由于某些异常引起的)
rpm -e multi-installed-pkgs –allmatches

1140
如何定制用户登录时显示的信息(jiadingjun)
/etc目录下放一个名字叫motd的文本文件实现的,例如,建立自己的/etc/motd:
$cat /etc/motd
welcome to my server !
那么,当用户登录系统的时候会出现这样的信息:
Last login: Thu Mar 23 15:45:43 from *.*.*.*
welcome to my server !

1141
用命令清空Root回收站中的文件(dtedu)
cd /var/.Trash-root
rm -rf *

1142
Red Hat上加Simsun.ttc字体(bjchenxu)
Red Hat 7.3为例,安装时选取简体中文安装,先复制一个simsun.ttc/usr/X11R6/lib/X11/font/TrueType,改名为simsun.ttf;然后进入/usr/X11R6/lib/X11/font/TrueType目录下,运行ttmkfdir > fonts.dir命令;接着用vi编辑fonts.dir文件,把有simsun.ttf行修改如下:
simsun.ttf -misc-SimSun-medium-r-normal–0-0-0-0-c-0-ascii-0
simsun.ttf -misc-SimSun-medium-r-normal–0-0-0-0-c-0-iso10646-1
simsun.ttf -misc-SimSun-medium-r-normal–0-0-0-0-p-0-iso8859-15
simsun.ttf -misc-SimSun-medium-r-normal–0-0-0-0-p-0-iso8859-1
simsun.ttf -misc-SimSun-medium-r-normal–0-0-0-0-c-0-gb2312.1980-0
simsun.ttf -misc-SimSun-medium-r-normal–0-0-0-0-p-0-gb2312.1980-0
simsun.ttf -misc-SimSun-medium-r-normal–0-0-0-0-m-0-gb2312.1980-0
simsun.ttf -misc-SimSun-medium-r-normal–0-0-0-0-p-0-gbk-0
接着运行cat fonts.dir > fonts.scale命令,修改/etc/X11/XF86config-4, SectionFiles”加上下面这一行:
FontPath “/usr/X11R6/lib/X11/fonts/TrueType”
最后回到KDE桌面里, 在“开始”→“选项”→“观感”→“字体”,将所有字体改为Simsun

1143 Unicon
Zhcon的区别和作用(bjchenxu)
Unicon
是内核态的中文平台,基于修改Linux FrameBufferVirtual Consolefbcon)实现的。由于是在系统底层实现的,所以兼容性极好,可以直接支持gpm鼠标。但是相对比较危险,稍有漏洞就可能会危及系统安全。Zhcon是用户态的中文平台,有点像UCDOS

1144
如何卸载tar格式安装的软件(bjchenxu)
进入安装该软件的原代码目录,运行make uninstall。如果不行,也可以查看一下Makefile文件,主要是看install部分,从其中找出tar格式的文件被复制到了什么路径,然后进入相应的目录进行删除即可。

1145
定制linux提示符 (bjchenxu)
bash中提示符是通过一个环境变量$PS1指定的。用export $PS1查看现在的值,比较直观常用的提示符可以设定为export PS1=[\u@\h \W]\$”。其中\u代表用户名,\h代表主机名,\W代表当前工作目录的最后一层,如果是普通用户\$则显示$root用户显示#

1146
vi中搜索了一个单词,该单词以高亮显示,看起来很不舒服,怎么能将它去掉(bjchenxu)
vi的命令模式下输入:nohlsearch就可以了。另外可以在~/.vimrc中写上下面的语句就会有高亮显示:
set hlsearch
加上下面的语句就不会有高亮显示:
set nohlsearch

1147
如何找出系统中所有的*.cpp*.h文件(bjchenxu)
find命令就可以了。不过如果从根目录查找消耗资源较高,使用下面的命令就可以:
find / -name "*.cpp" -o -name "*.h"

1148
如安装Debian需要几张盘就够了?7张盘全部都要下载吗?(bjchenxu)
如果经常有网络环境的话,下载第一张就可以了。要是没有网络环境的话不推荐使用Debian,因为Debian主要依赖网络来更新软件。实在要安装的话,要下载全部7张盘,否则可能会出现需要的软件包找不到的问题。

1149 Debian
第一张光盘为什么有两个版本?debian-30r1-i386-binary-1.isodebian-30r1-i386-binary-1_NONUS.iso该下载哪一个呢?它们有什么区别?(bjchenxu)
因为含有“non-US”(不属美国)的软件不能合法地存放在架设于美国境内的服务器中。以前,其原因通常是因为软件含有严密的密码编码,而今天,则是因为程序使用了美国专利保护的演算法。每个人应该取用“non-US”来供私人用途所用;而没有这个标识的iso则只对架设在美国的镜像及供应商才有用处。其它二进制的光盘则不会含有任何“US-sensitive”(与美国相关的)软件,它们和其它种binary-1光盘一样运作得很好。因此,个人使用还是下载debian-30r1-i386-binary-1_NONUS.iso版本。

1150
为何我使用umount /mnt/cdrom命令的时候出现device is busy这样的语句,不能umount(bjchenxu)
在使用umount的时候一定要确保已退出/mnt/cdrom这个目录,退出这个目录就可以使用umount /mnt/cdrom了。

1151
我使用的是笔记本电脑,怎么才能在控制台下显示现在还剩多少电量呢? (bjchenxu)
使用apm -m就可以看到还有多少分钟了,具体参数可以用man apm查看。

1152
为什么我进入Linux的终端窗口时,man一条命令出来的都是乱码呢? (bjchenxu)
这是因为你的字符集设置有问题。临时解决办法可以使用export LANG=en_US”。要想不必每次都修改的话,在/etc/sysconfig/i18n文件里面修改LANG=en_US”就可以了。也可以针对某个用户来做,这样就可以改变个人的界面语言,而不影响别的用户。命令如下:# cp /etc/sysconfig/i18n $HOME/.i18n

1153
编译内核的时候出错,提示“Too many open files”,请问怎么处理 (bjchenxu)
这是因为file-max默认值(8096)太小。要解决这个问题,可以root身份执行下列命令(或将它们加入/etc/rcS.d/*下的init脚本):
# echo "65536"  > /proc/sys/
最后进入解压后的目录,运行安装命令。
# cd vmware-linux-tools
# ./install.pl

1154
本来装有LinuxWindows XP,一次将Windows XP重装后,发现找不到LinuxWindows XP的启动选单,请问如何解决(bjchenxu)
首先光盘启动,进入rescue模式,运行GRUB,进入grub提示符grub>,然后敲入下面的语句,重启就好了。
root (hd0,2)
setup (hd0)

—————————-网络相关篇————————–
0001
apache的默认字符集变为中文(bjchenxu)
vi httpd.conf
,找到 AddDefaultCharset ISO-8859-1 一行
apache
版本如果是1.*,改为 AddDefaultCharset GB2312
如果是2.0.1-2.0.52,改为 AddDefaultCharset off
然后运行/etc/init.d/httpd restart重启apache即可生效。
注意:对于2.0.53以上版本,不需要修改任何配置,即可支持中文。

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
msnqq(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
 (安装软件)
当安装成功后,你就可以在GNOMEKDE桌面建立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.solibqq-0.0.3-ft-0.58-gcc296.so文件装入,确认后关闭。然后再选择“所有帐号”,在出现的帐号编辑器中继续点击“增加”,当出现的修改帐号页面时,我们就可以输入自己的QQMSN号了,登录名填写QQ号码或MSN邮箱,密码填写对应的QQMSN密码,Alias填写自己的昵称,协议选择相应的QQMSN,其他的设置按默认的即可。当全部设置完成后就可以登录使用了。
由于MSmsn的协议经常升级,导致linux上的gaimmsn插件必须升级,目前尚无万无一失的解决方案,请见谅

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

0007
查看本机的IPgateway, 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(cgweblnx)
方法1(重启后有效)
#sysctl -w net.ipv4.ip_default_ttl=N
(N=0~255),
N>255,ttl=0
方法2(重启后无效)
#echo N(N
0255) > /proc/sys/net/ipv4/ip_default_ttl

0009
开启LINUXIP转发(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登陆(bjchenxuplatinum)
方法1
编辑/etc/pam.d/login,去掉
auth required /lib/security/pam_securetty.so
这句话
方法2
vi /etc/securetty
添加
pts/0
pts/1


0013
linuxadsl设备(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.linuxhero.com/
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,双眼皮的猪)
修改自己HOME目录下的.bash_profile文件,加上
export TMOUT=1000000  (
以秒为单位)
然后运行source .bash_profile

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

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

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

0024
为什么root执行好多命令都说command not found(bjchenxu)
你是telnet上来,然后suroot的吧,改改你的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,双眼皮的猪)
traceroute
,看看到底是在那一块被阻住的。
1.ping
自己
2.ping
网关
3.ping DNS
4.traceroute DNS
如果一切正常
nslookup www.sina.com.cn
ping sina
address
traceroute sina
address
基本上就可以知道结果了

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

0033
如何得到网卡的MAC地址(bjchenxuhutuworm)
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就可以了。
一个网卡绑定多ip另一法(hotbox)
/etc/sysconfig/network-scripts/下创建一个文件:ifcfg-ethX-rangeX "X"为网卡号)
文件内容:
IPADDR_START=<start ip>
IPADDR_END=<end ip>
CLONENUM=0
可以有256ip

0037
一个ip如何绑定两块网卡(hutuworm)
假设192.168.0.88ip,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.comMX记录,以及处理mailhost的名字
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文件中加入对方的IPhostname
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

0045
路由设置手册(NetDC)
查看路由信息:
netstat -rn
route -n
手工增加一条路由:
route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1
手工删除一条路由:
route del -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1
好了,下面到了重要的了,让系统启动的时候自动启用路由设置。
redhat中添加一条路由,修改文件/etc/sysconfig/static-routes
any net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1
debian中添加一条路由,

方法一:修改/etc/network/interfaces
代码:
auto eth0
iface eth0 inet static
       address 172.16.3.222
       netmask 255.255.0.0
       network 172.16.0.0
       broadcast 172.16.255.255
       gateway 172.16.2.1
  up route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1
  down route del -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1
方法二:在/etc/network/if-up.d目录下建立一个简单的脚本文件,如static-route$(记得以$符号结尾,要不有个run-parts会跑出来告诉你一些东西)脚本最简单的就好啦,如:
代码:
#!/bin/bash
route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1
嘿嘿,你也可以猜到/etc/network/目录下的其他目录的作用了吧。
发觉在debian中这个route的设置其实只是它的那些配置文件的一个比较简单的应用而已,你完全可以做更复杂的应用。

0046
利用ssh复制文件(platinum)
假如AB都有SSH服务,现在在ASSH
1
、从A复制B(推过去)
scp -rp /path/filename username@remoteIP:/path
2
、从B复制到A(拉过来)
scp -rp username@remoteIP:/path/filename /path
如果其中一个不是LINUX系统,可以在WINDOWS上用SecureFX软件

0047 samba3.0
中文显示问题的解决办法(linuxzfp, jiadingjun)
samba 3.0的配置文件中(/etc/samba/smb.conf)[global]中加入下面两句:
unix charset=cp936
重启服务
service smb restart

0048
临时修改网卡MAC地址的方法
关闭网卡:/sbin/ifconfig eth0 down
然后改地址:/sbin/ifconfig eth0 hw ether 00:AA:BB:CCD:EE
然后启动网卡:/sbin/ifconfig eth0 up

0049 conntrack
表满的处理方法(cgweb)
前段时间配置的iptables+squid做的proxy server ,一直工作正常。今天我上控制台上发现
Jun 18 12:43:36 red-hat kernel: ip_conntrack: table full, dropping packet.
Jun 18 12:49:51 red-hat kernel: ip_conntrack: table full, dropping packet.
Jun 18 12:50:57 red-hat kernel: ip_conntrack: table full, dropping packet.
Jun 18 12:57:38 red-hat kernel: ip_conntrack: table full, dropping packet.


IP_conntrack
表示连接跟踪数据库(conntrack database),代表NAT机器跟踪连接的数目,连接跟踪表能容纳多少记录是被一个变量控制的,它可由内核中的ip- sysctl函数设置。每一个跟踪连接表会占用350字节的内核存储空间,时间一长就会把默认的空间填满,那么默认空间时多少?我以redhat为例在内存为64MB的机器上时4096,内存为128MB 8192,内存为256MB16376,那末就能在/proc/sys/net/ipv4/ip_conntrack_max里查看、设置。
例如:增加到81920,可以用以下命令:
echo "81920" > /proc/sys/net/ipv4/ip_conntrack_max

那样设置是不会保存的,要重启后保存可以在/etc/sysctl.conf中加:
net.ipv4.ip_conntract_max =81920
按照此方法改变后一切正常,要是在满了可以加大其值.

0050 Linux
下怎么使用BT(atz0001)
azureus
http://azureus.sourceforge.net/

0051 Linux
下查看光纤网卡的工作模式(sakulagi)
主板上PCIX插槽中插入一块64位的光纤网卡,在LINUX9.0的环境下,要知道它是否工作在64位模式下,可使用getconf WORD_BIT

0052
在线更新RHEL的另类途径(hutuworm)
1.
安装相应的APT包:
Red Hat EL 2.1 – i386
rpm -ihv http://dag.wieers.com/packages/apt/apt-0.5.15cnc6-3.0.el2.dag.i386.rpm
Red Hat EL 3 – i386
rpm -ihv http://dag.wieers.com/packages/apt/apt-0.5.15cnc6-3.1.el3.dag.i386.rpm
Red Hat EL 3 – x86_64
rpm -ihv http://dag.wieers.com/packages/apt/apt-0.5.15cnc6-3.1.el3.dag.x86_64.rpm
2.
在线更新
apt-get update
apt-get upgrade

—————————-
程序开发篇————————–
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)
利用CDrpm安装
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问题

0006 shell
脚本为何无法运行(GOD_Father)
第一,脚本权限要为可执行 #chmod +x test.sh
第二,脚本所在的目录在环境变量PATH中,或者直接执行 #./test.sh

—————————-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
忘了mysqlroot口令怎么办(bjchenxu)
# service mysql stop
# mysqld_safe –skip-grant-tables &
# mysqladmin -u user password ‘newpassword”
# mysqladmin flush-privileges

0004
快速安装php/mysql(bjchenxu)
确保使用系统自带的apache,从安装光盘中找出所有以mysqlphp-mysql开头的rpm包,然后运行#rpm -ivh mysql*.rpm php-mysql*.rpm; mysql_install_db; service mysql start

0005
修改mysqlroot口令(bjchenxu)
# mysqladmin -uroot -p password ‘
你的新密码

2006年04月07日

  最进很多朋友都发现自己的IE运行很慢 而且CPU占用100% 搞不好连网站都打不开。现在大家都别急  只要大家按下面这方法做就行了,这方法是小四哥的,我现在把它转过来小四哥别介意。我前两天也是受害者只一了 呵呵



IE很慢的主要是这个病毒: C:\WINDOWS\system32\stdup.dll



   操作方法如下:

1.进安全模式,然后删除文件 C:\WINDOWS\system32\stdup.dll

然后运行 regedit ,打开注册表编辑器,然后找到 HKEY_LOCAL_MACHINE\SOFTWARE\STDUP 和 HKEY_CURRENT_USER\Software\STDUP ,如果有这两项,请删除!

然后将 C:\Program Files\STDUP\ 文件夹整体删除! 



2.依次点击打开:开始-》设置-》控制面板-》管理工具-》服务

找到一个叫StdService的服务,双击,在启动类型这一栏,选已禁用,再在下面一行点停止,再点确定。就可以了。

如果要彻底一点,就进入windows目录下的system32目录,在里面找到STDSVER.DLL这个文件,删除。当然,先要在进程列表中关闭rundll32这个进程。

讨厌的病毒就解决了!



补充:要是进不了安全模式的话就先在注册表 删HKEY_LOCAL_MACHINE\SOFTWARE\STDUP 和 HKEY_CURRENT_USER\Software\STDUP ,这两项 然后依次点击打开:开始-》设置-》控制面板-》管理工具-》服务

找到一个叫StdService的服务,双击,在启动类型这一栏,选已禁用,再在下面一行点停止,再点确定。  重起 再删文件夹里的C:\
WINDOWS\system32\stdup.dll就可以了。 因为我的机子就是进不了安全模式 所以我就这样做了 呵呵 不知道这方法你们用着行不
行 



希望大家的IE能早日恢复正常

2006年04月06日

suse10系统优化方法

一是重选字体,把大部分都换成suse sans,运行速度加快
二是在控制中心-kde性能-konqueror中打开“禁用系统配置启动检查”这项服务,kde启动速度极大加快
三是到运行级别中关闭一些不必要的服务。这个就不用图了然后,就ok了,还有一些方法还没有实行,如果可能再来分享。
四是启动预加载实例,启动1就可以,如果内存足够大,也可启动十个八个的,这一项使打开各种窗口非常快。可以说是无延迟,即点即开。
五是把splashtheme变成那个一条杠那个,就是开始是空白,然后渐渐黑到头那个,十分快。(这是对于要求美观一点的朋友的方法)
六是把飞溅屏幕设为无,那进入桌面简直是神速(这是对不要求美观,只要求性能的朋友的方法)
七是把tty的数目减少,默认是6个,可以把后面的三个(4、5、6)去掉。

2006年03月30日

http://www.cacti.net/

http://www.cacti.net/downloads/cacti-0.8.6h.tar.gz

安装文档可以参考

http://bbs.chinaunix.net/viewthread.php?tid=594019&extra=page%3D1

主动FTP与被动FTP-权威解释

目录

       
  • 开场白
  • 基础
  • 主动FTP
  • 主动FTP的例子
  • 被动FTP
  • 被动FTP的例子
  • 总结
  • 参考资料
  • 附录 1: 配置常见FTP服务器



    开场白

    处理防火墙和其他网络连接问题时最常见的一个难题是主动FTP与被动FTP的区别以及如何完美地支持它们。幸运地是,本文能够帮助你清除在防火墙环境中如何支持FTP这个问题上的一些混乱。

    本文也许不像题目声称的那样是一个权威解释,但我已经听到了很多好的反馈意见,也看到了本文在许多地方被引用,知道了很多人都认为它很有用。虽然我一直在找寻改进的方法,但如果你发现某个地方讲的不够清楚,需要更多的解释,请告诉我!最近的修改是增加了主动FTP和被动FTP会话中命令的例子。这些会话的例子应该对更好地理解问题有所帮助。例子中还提供了非常棒的图例来解释FTP会话过程的步骤。现在,正题开始了…

    基础

    FTP是仅基于TCP的服务,不支持UDP。 与众不同的是FTP使用2个端口,一个数据端口和一个命令端口(也可叫做控制端口)。通常来说这两个端口是21-命令端口和20-数据端口。但当我们发现根据(FTP工作)方式的不同数据端口并不总是20时,混乱产生了。

    主动FTP

    主动方式的FTP是这样的:客户端从一个任意的非特权端口N(N>;1024)连接到FTP服务器的命令端口,也就是21端口。然后客户端开始监听端口N+1,并发送FTP命令“port N+1”到FTP服务器。接着服务器会从它自己的数据端口(20)连接到客户端指定的数据端口(N+1)。

    针对FTP服务器前面的防火墙来说,必须允许以下通讯才能支持主动方式FTP:


    1. 任何端口到FTP服务器的21端口 (客户端初始化的连接 S<-C)
    2. FTP服务器的21端口到大于1024的端口(服务器响应客户端的控制端口 S->C)
    3. FTP服务器的20端口到大于1024的端口(服务器端初始化数据连接到客户端的数据端口 S->C)
    4. 大于1024端口到FTP服务器的20端口(客户端发送ACK响应到服务器的数据端口 S<-C)



      画出来的话,连接过程大概是下图的样子:


      在第1步中,客户端的命令端口与FTP服务器的命令端口建立连接,并发送命令“PORT 1027”。然后在第2步中,FTP服务器给客户端的命令端口返回一个"ACK"。在第3步中,FTP服务器发起一个从它自己的数据端口(20)到客户端先前指定的数据端口(1027)的连接,最后客户端在第4步中给服务器端返回一个"ACK"。

      主动方式FTP的主要问题实际上在于客户端。FTP的客户端并没有实际建立一个到服务器数据端口的连接,它只是简单的告诉服务器自己监听的端口号,服务器再回来连接客户端这个指定的端口。对于客户端的防火墙来说,这是从外部系统建立到内部客户端的连接,这是通常会被阻塞的。

      主动FTP的例子

      下面是一个主动FTP会话的实际例子。当然服务器名、IP地址和用户名都做了改动。在这个例子中,FTP会话从 testbox1.slacksite.com (192.168.150.80),一个运行标准的FTP命令行客户端的Linux工作站,发起到testbox2.slacksite.com (192.168.150.90),一个运行ProFTPd 1.2.2RC2的Linux工作站。debugging(-d)选项用来在FTP客户端显示连接的详细过程。红色的文字是 debugging信息,显示的是发送到服务器的实际FTP命令和所产生的回应信息。服务器的输出信息用黑色字表示,用户的输入信息用粗体字表示。

      仔细考虑这个对话过程我们会发现一些有趣的事情。我们可以看到当 PORT 命令被提交时,它指定了客户端(192.168.150.80)上的一个端口而不是服务器的。当我们用被动FTP时我们会看到相反的现象。我们再来关注PORT命令的格式。就象你在下面的例子看到的一样,它是一个由六个被逗号隔开的数字组成的序列。前四个表示IP地址,后两个组成了用于数据连接的端口号。用第五个数乘以256再加上第六个数就得到了实际的端口号。下面例子中端口号就是( (14*256) + 17 = 3762。我们可以用netstat来验证这个端口信息。

      testbox1: {/home/p-t/slacker/public_html} % ftp -d testbox2
      Connected to testbox2.slacksite.com.
      220 testbox2.slacksite.com FTP server ready.
      Name (testbox2:slacker): slacker
      —> USER slacker
      331 Password required for slacker.
      Password: TmpPass
      —> PASS XXXX
      230 User slacker logged in.
      —> SYST
      215 UNIX Type: L8

      Remote system type is UNIX.
      Using binary mode to transfer files.
      ftp> ls
      ftp: setsockopt (ignored): Permission denied
      —> PORT 192,168,150,80,14,178

      200 PORT command successful.
      —> LIST
      150 Opening ASCII mode data connection for file list.
      drwx——   3 slacker    users         104 Jul 27 01:45 public_html
      226 Transfer complete.
      ftp> quit
      —> QUIT
      221 Goodbye.

      被动FTP

      为了解决服务器发起到客户的连接的问题,人们开发了一种不同的FTP连接方式。这就是所谓的被动方式,或者叫做PASV,当客户端通知服务器它处于被动模式时才启用。

      在被动方式FTP中,命令连接和数据连接都由客户端,这样就可以解决从服务器到客户端的数据端口的入方向连接被防火墙过滤掉的问题。当开启一个FTP连接时,客户端打开两个任意的非特权本地端口(N >; 1024和N+1)。第一个端口连接服务器的21端口,但与主动方式的FTP不同,客户端不会提交PORT命令并允许服务器来回连它的数据端口,而是提交PASV命令。这样做的结果是服务器会开启一个任意的非特权端口(P >; 1024),并发送PORT P命令给客户端。然后客户端发起从本地端口N+1到服务器的端口P的连接用来传送数据。

      对于服务器端的防火墙来说,必须允许下面的通讯才能支持被动方式的FTP:


      1. 从任何端口到服务器的21端口 (客户端初始化的连接 S<-C)
      2. 服务器的21端口到任何大于1024的端口 (服务器响应到客户端的控制端口的连接 S->C)
      3. 从任何端口到服务器的大于1024端口 (入;客户端初始化数据连接到服务器指定的任意端口 S<-C)
      4. 服务器的大于1024端口到远程的大于1024的端口(出;服务器发送ACK响应和数据到客户端的数据端口 S->C)


        画出来的话,被动方式的FTP连接过程大概是下图的样子:


        在第1步中,客户端的命令端口与服务器的命令端口建立连接,并发送命令“PASV”。然后在第2步中,服务器返回命令"ORT 2024",告诉客户端(服务器)用哪个端口侦听数据连接。在第3步中,客户端初始化一个从自己的数据端口到服务器端指定的数据端口的数据连接。最后服务器在第4 步中给客户端的数据端口返回一个"ACK"响应。

        被动方式的FTP解决了客户端的许多问题,但同时给服务器端带来了更多的问题。最大的问题是需要允许从任意远程终端到服务器高位端口的连接。幸运的是,许多FTP守护程序,包括流行的WU-FTPD允许管理员指定FTP服务器使用的端口范围。详细内容参看附录1。

        第二个问题是客户端有的支持被动模式,有的不支持被动模式,必须考虑如何能支持这些客户端,以及为他们提供解决办法。例如,Solaris提供的FTP命令行工具就不支持被动模式,需要第三方的FTP客户端,比如ncftp。

        随着WWW的广泛流行,许多人习惯用web浏览器作为FTP客户端。大多数浏览器只在访问ftp://这样的URL时才支持被动模式。这到底是好还是坏取决于服务器和防火墙的配置。

        被动FTP的例子

        下面是一个被动FTP会话的实际例子,只是服务器名、IP地址和用户名都做了改动。在这个例子中,FTP会话从 testbox1.slacksite.com (192.168.150.80),一个运行标准的FTP命令行客户端的Linux工作站,发起到testbox2.slacksite.com (192.168.150.90),一个运行ProFTPd 1.2.2RC2的Linux工作站。debugging(-d)选项用来在FTP客户端显示连接的详细过程。红色的文字是 debugging信息,显示的是发送到服务器的实际FTP命令和所产生的回应信息。服务器的输出信息用黑色字表示,用户的输入信息用粗体字表示。

        注意此例中的PORT命令与主动FTP例子的不同。这里,我们看到是服务器(192.168.150.90)而不是客户端的一个端口被打开了。可以跟上面的主动FTP例子中的PORT命令格式对比一下。

        testbox1: {/home/p-t/slacker/public_html} % ftp -d testbox2
        Connected to testbox2.slacksite.com.
        220 testbox2.slacksite.com FTP server ready.
        Name (testbox2:slacker): slacker
        —> USER slacker
        331 Password required for slacker.
        Password: TmpPass
        —> PASS XXXX
        230 User slacker logged in.
        —> SYST
        215 UNIX Type: L8

        Remote system type is UNIX.
        Using binary mode to transfer files.
        ftp> passive
        Passive mode on.
        ftp> ls
        ftp: setsockopt (ignored): Permission denied
        —> PASV
        227 Entering Passive Mode (192,168,150,90,195,149).
        —> LIST
        150 Opening ASCII mode data connection for file list
        drwx——   3 slacker    users         104 Jul 27 01:45 public_html
        226 Transfer complete.
        ftp>; quit
        —> QUIT
        221 Goodbye.

        总结

        下面的图表会帮助管理员们记住每种FTP方式是怎样工作的:

        主动FTP:
           命令连接:客户端 >1024端口 -> 服务器 21端口
           数据连接:客户端 >1024端口 <- 服务器 20端口

        被动FTP:
           命令连接:客户端 >1024端口 -> 服务器 21端口
           数据连接:客户端 >1024端口 -> 服务器 >;1024端口

        下面是主动与被动FTP优缺点的简要总结:

        主动FTP对FTP服务器的管理有利,但对客户端的管理不利。因为FTP服务器企图与客户端的高位随机端口建立连接,而这个端口很有可能被客户端的防火墙阻塞掉。被动FTP对FTP客户端的管理有利,但对服务器端的管理不利。因为客户端要与服务器端建立两个连接,其中一个连到一个高位随机端口,而这个端口很有可能被服务器端的防火墙阻塞掉。

        幸运的是,有折衷的办法。既然FTP服务器的管理员需要他们的服务器有最多的客户连接,那么必须得支持被动FTP。我们可以通过为FTP服务器指定一个有限的端口范围来减小服务器高位端口的暴露。这样,不在这个范围的任何端口会被服务器的防火墙阻塞。虽然这没有消除所有针对服务器的危险,但它大大减少了危险。详细信息参看附录1。


        参考资料

        O’Reilly出版的《组建Internet防火墙》(第二版,Brent Chapman,Elizabeth Zwicky著)是一本很不错的参考资料。里面讲述了各种Internet协议如何工作,以及有关防火墙的例子。

        最权威的FTP参考资料是RFC 959,它是FTP协议的官方规范。RFC的资料可以从许多网站上下载,例如:ftp://nic.merit.edu/documents/rfc/rfc0959.txt

        Active FTP vs. Passive FTP, Appendix 1

        几种常见FTP服务器与被动方式有关的设置

        ProFTPD
        参考: http://www.castaglia.org/proftpd … -mini-HOWTO-NAT.txt

        MasqueradeAddress
        PassivePorts

        vsftpd
        参考: http://vsftpd.beasts.org/vsftpd_conf.html

        pasv_enable
        pasv_max_port
        pasv_min_port
        pasv_address

        Pure-FTPd

        参考: http://www.pureftpd.org/README

        -p  –passiveportrange      <minport:maxport>;
        -P  –forcepassiveip        <ip address>;


        2006年03月23日

        Installation instructions:
        Before starting the installation you should review the ASE Quick Install Guide.

        ASE 15 Downloads
        Click here to download ASE Express Edition for Linux (x86)
        *
        (250MB – Be patient this will take time to download)
        Click here to download ASE Express Edition for Linux (OpenPower) * (320MB – Be patient this will take time to download)

        DB2 System Command  Explanation

        1           db2admin          DB2 Administration Server
        2           db2adutl          Work with TSM Archived Images
        3           db2advis          DB2 Index Advisor
        4           db2audit          Audit Facility Administrator Tool
        5           db2atld          Autoload
        6           db2batch         Benchmark Tool
        7           db2bfd         Bind File Description Tool
        8           db2cap         CLI/ODBC Static Package Binding Tool
        9           db2cc          Start Control Center
        10         db2cdbcr          Create Control Database for Data Warehouse
        11         db2cfexp         Connectivity Configuration Export Tool
        12         db2cfimp          Connectivity Configuration Import Tool
        13         db2cidmg          Remote Database Migration Tool
        14         db2ckbkp          Check Backup
        15         db2ckmig          Database Pre-migration Tool
        16         db2ckrst          Check Incremental Restore Image Sequence
        17         db2cli          DB2 Interactive CLI
        18         db2cmd          Open DB2 Command Window
        19         db2dclgn         Declaration Generator
        20         db2drdat         DRDA Trace
        21         db2empfa          Enable Multi-page File Allocation
        22         db2eva          Event Analyzer
        23         db2evmon  Event Monitor Productivity Tool
        24         db2exfmt          Explain Table Format Tool
        25         db2expln         DB2 SQL Explain Tool
        26         db2flsn          Find Log Sequence Number
        27         db2fs         First Steps
        28         db2gncol          Update Generated Column Values
        29         db2gov          DB2 Governor
        30         db2govlg          DB2 Governor Log Query
        31         db2icrt          Create Instance
        32         db2idrop          Remove Instance
        33         db2ilist         List Instances
        34         db2imigr         Migrate Instance
        35         db2inidb         Initialize a Mirrored Database
        36         db2ipxad          Get IPX/SPX Internetwork Address
        37         db2iupdt          Update Instances
        38         db2ldcfg         Configure LDAP Environment
        39         db2licm          License Management Tool
        40         db2look         DB2 Statistics and DDL Extraction Tool
        41        db2move         Database Movement Tool
        42         db2mscs         Set up Windows NT Failover Utility
        43         db2nchg         Change Database Partition Server Configuration
        44         db2ncrt         Add Database Partition Server to an Instance
        45         db2ndrop         Drop Database Partition Server from an Instance
        46         db2perfc         Reset Database Performance Values
        47        db2perfi         Performance Counters Registration Utility
        48         db2perfr         Performance Monitor Registration Tool
        49         db2profc         DB2 SQLJ Profile Customizer
        50         db2profp         DB2 SQLJ Profile Printer
        51         db2rbind         Rebind all Packages
        52         Db2relocatedb  Relocate Database
        53         db2sampl         Create Sample Database
        54         db2set          DB2 Profile Registry Command
        55         db2sql92         SQL92 Compliant SQL Statement Processor
        56         db2start         Start DB2
        57         db2stop         Stop DB2
        58         db2support    Problem Analysis and Environment Collection Tool
        59        db2sync         Start DB2 Synchronizer
        60         db2tbst         Get Tablespace State
        61         db2trc          Trace
        62        db2uiddl         Prepare Unique Index Conversion to V5 Semantics
        63        db2untag         Release Container Tag

        db2level 查看DB2的版本号

        Installation                       

        Program Temporary Fix (PTF), use db2iupdt to update all db2 instances.                       
        use dasiupdt to update Administration Server.                       
        db2iupdt -u db2inst1 db2inst1                       

        Post Installation Environmental Checking                       
        db2icrt        Create instance               
        db2ilist        List instance               
        db2idrop        Drop instance               
        set db2instance                 set which instance applies to the current session       

        System -> Instance -> Database -> Nodegroup -> Table Space -> Table, Index, Log data                       
        Node -> Database Manager (Inst1) -> Database1 -> TableSpace A -> Table1

        Environment Variables                session env
        Instance-Level profile registry               
        Global-Level profile registry               

        db2set               
        update dbm cfg for dbname using  config_keywork=value               

        Administrative Server:               
        dasicrt ASName (Unix)                dasidrop ASName (Unix)
        db2admin create (intel)        db2admin drop (intel)

        db2admin start               
        db2admin stop               

        db2set -g DB2ADMINSERVER               

        db2stop         To stop the instance                                                                               

        Create Database                                                                                       
        Create Database db_name on path Allias allias Using codeset codeset       
        Collate Using System/Identity Catalog TableSpace..User TableSpace
        Temporary Tablespace .. With "comment string"               
        Managed by System Using ‘container string’/ Database Using ..       

        SMS: OS                 Directory        usually used for system tablespaces        Grows/Shinks on demand        Ease of Admin
        DMS: Database Manager        File or Device        User tablespaces                        Preallocated                Best performance

        DMS: able to distribute one table across multiple table spaces                                                                                                       
        DMS: table space data types: Regular, temporary and long                                                                                                       

        1 extent = 32 pages                                                                                                       

        DFT_Extent_SZ defined at db level; Extentsize defined at table space level

        Create Table Space
        Create Regular/Long/[System/user]Temporary Tablespace  PageSize 4096(k) Managed by System…/Database
        Extentsize k/m/g Prefetchsize k/mg Bufferpool  overhead  Transferrate

        Unix:
        Create tablespace enterprise managed by system using (‘/database/firstcontain’, ‘/database/secondcontain’, ‘/database/thirdcontain’) prefetchsize 32
        Create tablespace humanres managed by database using (device ‘/dev/rdata1′ 1024, device ‘/dev/rdata2′ 1024) extentsize 8 prefetchsize 16
        Intel:
        Create tablespace enterprise managed by system using (‘e:\database\firstcontain’, ‘e:\database\secondcontain’, ‘e:\database\thirdcontain’) prefetchsize 32
        create long tablespace longtbs managed by database using (device ‘\\.\physicaldrive1′ 1024) extentsize 32 prefetchsize 16
        create tablespace indextbs managed by database using (file ‘c:\database\index.tbs’ 1000) prefetchsize 32

        db2 list tablespaces
        db2 list tablespaces show detail
        db2 list tablespace containers for X
        db2 list tablespace containers for x show detail

        alter tablespace  add db_container_clause / Extend /Resize database_container_clause /refetchsize  /Bufferpool  /Overhead .. /Transferrate
        select tbspace tbspaceid,definer, tbspacetype, datatype, extentsize from syscat.tablespaces order by 1, 2, 3

        Create table
        Create table emp_photo in humanres index in indextbs long in longtbs
        select tabname, tableid, tbspaceid, tabschema, type from syscat.tables order by 1 , 2, 3
        create table artists
        (artno smallint not null,
        name varchar(50) with default ‘abc’,
        classification char(1) not null,
        bio clob(100k) logged,
        picture blob(10M0 not logged compact)
        in dms 01                               
        index in dms02                               
        long in dms03;                               

        create table t1 (c1 char(10), c2 smallint)                               
        data capture None/Changes                                changes indicate extra info to be logged.F93

        Create Bufferpool                               
        Sysctrl or SysAdm authority                               
        Create Bufferpool bp_index size 125                               
        alter tablespace indextbs bufferpool bp_index                               

        Change Directory Entries                               
        Uncatalog database ourdb                               
        Catalog database .. As alias on drive  / At node                                 
        list database directory                               

        Connect to Database                               
        connect to                 connect reset                terminate
        db2dbdft                               

        Create schema                               
        create schema Payroll authorization Keith

        connect to musicdb user keith                               
        select * from employee                               
        set current schema = ‘Payroll’                               
        select * from employee                               

        Large Object                               
        blob clob dbclob                               

        Identity                       
        Create table Mytab                       
        (col1 int not null generated always as identity (start with 100, increment by 5),                       
        col2 double,                       
        col3 int);                       

        insert into mytab(col2, col3) values (5.6, 3);                       
        values (identity_val_local())                          /* Return Identity value */
                               
        Declare Temporary tables                       
        declare global temporary table t1                       
        like real_t1                       
        on commit delete rows                       
        not logged                       
        in usr_temp_ts;                       

        insert into session.t1
        select * from real_t1 where deptno=: mydept;

        table drops when connection ends.

        Create Index
        create unique index itemno on albums (itemno)
        create index item on stock (itemno) cluster
        create unique index empidx on employee (empno) include (lastname, firstname)

        Create View
        connect to testdb
        create view empsalary
        as select empno, empname, salary
        from payroll, personnel
        where empno = empnumb and salary > 30000.00

        Create alias
        create alias singers for artists

        Foreign Key
        create table department (dept char(3) not null, deptname char(20) not null, constraint dept_name unique (deptname), primary key(dept)) in dms99
        create table Employee (empno char(6) not null, name char(30), wkdept char(3) not null, constraint dept foreign key (wkdept) references department on delete restrict) in dms99

        Unique Key Considerations
        Create table Pay.Emptab
        (empno smallint not null primary key,
        name char(20),
        driverlic char(17) not null,
        constraint driv_uniq unique(driverLic))
        in tbsp1

        Check constraints
        Create table Speed_limits
        (route_num smallint,
        canada_sl integer not null,
        uS_SL integer not null check (US_SL <= 65))

        alter table speed_limits
        add constraint speed65
        check (us_sl <=65)

        Trigger
        create trigger reorder
        after update
        of qty on stock
        referencing new as n
        for each row mode db2sql
        when (n.qty <= 5)                                               
        insert into recorder values (n.itemno, current timestamp)                                               

        User defined type                                               
        create distinct type kph as integer with comparisons                                               
        create distinct type mph as integer with comparisons                                               
        create table speed_limits                                               
        (route_num smallint,                                               
        canada_sl kph not null,                                               
        us_sl mph not null)                                               

        select route_num from speed_limits where canada_sl > kph(80)                                               
        select route_num from speed_limits where canada_sl> us_sl        fails

        User defined Function                                               
        Create function kph_to_mph(kph)                                               
        returns mph
        language C
        external Name

        create function "+" (mph, mph)
        returns mph
        source "+" (integer, integer)

        not fenced

        Import and Export
        db2 connect to musicdb
        db2 export to artexprt of ixf messages artmsg select artno, name from artists
        db2 import from artexprt of ixf messages artmsg create/insert/insert_update/replace/replace_create into artists
        db2 import from artexprt of ixf
        message artmsg create into artists {(column_list)]
        in tbs       
        index in indtbs       
        long in longtbs       

        Load        faster/load into tabales only/not logged/ trigger not fired/unique constraints enforced, RI and check constraints via Set Integrity

        Backup and Recovery       
        Logging: Circular/archival       
        db2 list history all for musicdb       

        Backup database User  Using pwd tablespace  Online use tsm open  sessions to         
        BACKUP DATABASE DWCTRLDB TO E:\\DB2LOG WITH 2 BUFFERS BUFFER 1024        

        Restore database continue/abort user  using pwd TableSpace online /history file online use tsm /From  to .        
        Rollforward database  to isotime/end of logs       
        RESTORE DATABASE DWCTRLDB FROM E:\\DB2LOG TAKEN AT 20010715100252 WITH 2 BUFFERS BUFFER 1024 WITHOUT PROMPTING        

        Backup Tablespace
        BACKUP DATABASE DWCTRLDB TABLESPACE USERSPACE1 TO E:\\DB2LOG WITH 2 BUFFERS BUFFER 1024

        Monitoring
        diaglevel 0-4
        diagpath
        Get monitor switches
        Update monitor switches using . On/off
        reset monitor all /for db

        Get snapshot for db/all databases

        create event monitor georgepay for statements
        where appl_name = ‘Payroll’ and auth_id  = ‘George’
        write to file ‘/monitors/georgepay’
        maxfiles 25
        maxfilesize 1024
        nonblocked
        append

        db2enmon

        db2trc on
        db2trc dump trace.bin
        db2trc off
        db2trc fmt trace.bin trace.fmt
        vi trace.fmt

        db2 ? Sqlnnnn

        db2 describe indexes for table
        db2 describe table                        
        db2 list active databases                       
        db2 list applications for database db_alias [show detail]                       
        db2 force application [all|(application-handle)]                       
        db2stop force                       

        Concurrency                       
        Row lock                Min table lock       
        share                        is
        update                        ix
        exclusive                        ix
        weak exclusive                        ix
        next key share                        is
        next key exclusive                        ix
        next key weak exclusive                         ix

        Application
        exec sql declare c1 cursor for
        select empno, lastname from xyzco.templ
        where wrkdept = :dept;
        strcpy(dept, ‘D21′);
        exec sql connect to eddb;
        exec sql open c1;
        exec sql fetch c1 into :hempno, :hlastname;
        while (sqlca.sqlcode == 0) {

        exec sql fetch c1 into :hempno, :hlastname;
        }
        exec sql close c1;
        exec sql connect reset;

        Application performance
        db2 update db cfg for dba using DFT_QUERYOPT n               
        db2 set current query optimization= n               
        db2 prep pgml.sqc QueryOPT n               
        db2optimization= n               

        Runstats on table                
        Reorgchk                reorg table
        reort table               
        bind/rebind               

        Security               
        SysAdm               
        sysctrl               
        sysmaint               
        dbadm               

        Grant /Revoke                                                                                                                       
        Grant alll on table  to  with grant option                                                                                                                       
        GRANT  DBADM,CREATETAB,BINDADD,CREATE_NOT_FENCED,IMPLICIT_SCHEMA,LOAD ON DATABASE  TO USER DB2USER2                                                                                                                       


        DataType                                                                                                                       
        CHARACTER, VARCHAR, BLOB, CLOB, DBCLOB, GRAPHIC, or VARGRAPHIC                                                                                                                       

        Import and Export                                                                                                                       
        CLP                                                                                                                       
        db2 export to staff.ixf of ixf select * from userid.staff                                                                                                                       
        db2 export to myfile.ixf of ixf messages msgs.txt select * form staff                                                                                                                       
        db2 export to myfile.del of del lobs to mylogs lobfile lobs1, lobs2 modified by lobsinfile select * from emp                                                                                                                       

        DB2LOOK: used to capture the original table definitions and to generate the corresponding data definition language.                                                                                                                       
        DB2BATCH: used to monitor the performance characteristics and execution duration of SQL statement.                                                                                                                       

        db2 import from stafftab.ixf of ixf insert into userid.staff       

        Load       
        db2 load from stafftab.ixf of ixf messages staff.msgs insert into userid.staff copy yes use tsm data buffer 4000       
        DB2LOADREC registry variable is used to identify the file with the load copy location information.       

        DB2ATLD        AutoLoader



        Business Rules       
        Not Null       
        Unique       
        PK       
        FK       
        Check constraint

        Version recovery
        Roll-forward recovery

        Two database configuration parameters allow you to change where archived logs are stored:
        newlogpath
        userexit

        To determine which log extents in the database log path directory are archived logs, check the value of the loghead database configuration para.
        Those logs with sequence numbers less than loghead are archived logs and can be moved.

        Create table NOT LOGGED INITIALLY

        db2move to move tables from one OS to another.

        If restart db fails, look in the db2diag.log file for a list of TS that are currently damaged.

        Can restart db if put damaged TS to DROP PENDING TABLESPACES option

        REORGCHK

        db2iauto -on Instname         //To automatically start instance after each system restart.
        db2iauto -off Instname

        set db2instance = instname    //set the current instance name
        db2set db2instdef=instname -g        //put on global registry the defalt inst name

        db2 get instance
        set db2instance

        db2ilist
        db2icrt -u fenceduserid instname

        set db2instance=instname
        db2start

        Profile registries:
        1. The DB2 Instance Level Profile Registry.
        2. The DB2 Global Level Profile Registry.
        3. The DB2 Instance Node Level Profile Registry.
        4. The DB2 Instance Profile Registry.

        DB2 configurations check order:
        1. Environment variables set with the set command. (or the export command on Unix)
        2. Registry values set with the instance node level profile (using the db2set -I commandwith a node number)
        3. Registry values set with the db2set command.
        4. Registry values set with the instance profile (using the db2set -I command)
        5. Registry values set with the global profile (using the db2set -g command)       

        db2set -lr        //list all       
        db2set -all       
        db2set -ul       // set at user level       
        db2set -ul username       

        DB2 Security        
        NT: SYSADM authority granted to administrators group.       
              set the registry variable DB2_GRP_LOOKUP=local and add the domain account to the local admin group.       
              Update database manager configuration file to specify a new group.       
                db2stop
                db2 update dbm cfg using sysadm_group global_group
                db2start

        Unix: Group for fenced user account must be created, any user ids that use fenced udfs or SPs must be a member of this group.       

        Rules:
        on unix, names must be in lower case.
        on oS/2, names must be in upper case.
        on Windows platforms, names can be any case.

        Authentication type:
        Server
        server_encrypt
        client
        DCS
        DCS_Encrypt
        DCE
        DCE_SERVER_ENCRYPT
        KERBEROS
        KRB_SERVER_ENCRYPT

        Parameters controls access to the instance:
        authentication
        sysadm_group
        trust_allclnts
        trust_clntauth
        sysctrl+group
        sysmaint_group

        If you locked yourself out of the db2 system, use the fail-safe option to override the usual db2 security checks.
        Unix: instance owner
        NT: user in administrators group
        OS/2: a UPM administrator

        SYSADM
        DBADM
        SYSCTRL
        SYSMAINT

        syscat.dbauth
        syscat.tabauth
        syscat.colauth
        syscat.packageauth
        syscat.indexauth
        syscat.schemaauth
        syscat.passthruauth

        Isolation level:
        Repeatable Read
        Read Stability
        Cursor Stability
        Uncommitted Read

        Select Isolcation from syscat.packages

        Change isolation level

        Lock Mode:
        Intent None
        Intent Share
        Next Key Share
        Share
        Intent Exclusive
        Share with Intent Exclusive
        Update
        Next Key Exclusive
        Next Key Weak Exclusive
        Exclusive
        Weak Exclusive
        Superxclusive

        select * from employee order by salary desc Fetch first 100 rows only
        optimize for 20 rows

        Create procedure not fenced

        DB2 activate database dbname
        db2 deactivate database dbname

        Manage parallelism
        intra_parallel
        max_querydegree
        dft_degree

        RUNSTATS to collect statistics
        syscat.tables
        sysstat.tables
        syscat.columns
        sysstat.columns
        syscat.indexes
        sysstat.indexes
        syscat.coldist
        sysstat.coldist
        syscat.functions
        sysstat.functions

        Modeling production databases
        db2look -h


        SQLDBCON: DB configuration file
        SQLLOGCTL.LFH: Track all database logs
        SQLLOGDIR/Syyyyyyyy.log: Log file
        SQLSPCS.1: Table space info
        SQLSPCS.2: Backup of table space info file
        SQLBP.1: Buffer Pool
        SQLBP.2: Backup of Buffer Pool.
        DB2RHIST.ASC: Track historical info.
        DB2RHIST.BAK: Backup of track historical info.


        syscat.dbauth
        syscat.bufferpools
        syscat.colauth
        syscat.datatypes
        syscat.indexauth
        syscat.indexes
        syscat.schemata
        syscat.procedures
        syscat.tables
        syscat.tablespaces

        一些实验脚本:

        catalog database Test as TestDB at node db2inst3

        create bufferpool bufferpool1 size 10000 pagesize 4096
        select * from syscat.bufferpools

        create database test
        catalog tablespace managed by system using …
        user tablespace        managed by database using …
        temporary tablespace managed by system using …



        create tablespace test1 managed by system using (‘/home/db2inst1/ts’)
        create tablespace test1 managed by database using
        (file’/home/db2inst1/test_ts’ 1000)

        smitty storage
        create a new logical volume db2ts2
        chown db22 db2ts2

        create tablespace test1 managed by database using (device ‘/dev/rdb2ts2′
        1000)

        alter tablesapce test_dev resize (device ‘/dev/rdatabase2′ 2000)
        alter tablesapce test_dev extend (device ‘/dev/rdatabase2′ 1000)


        mkuser db2inst3
        passwd db2inst3 training
        /usr/lpp/db2_07_01/instance/db2icrt -u db2f2 db22

        su – db22

        db2ilist
        db2start
        db2 get instance

        db2
        list database directory

        create database db22
        /home/db22/db22/NODE0000/SQL00001
        /home/db22/db22/NODE0000/sqldbdir

        list database directory on /home/db22
          ->database directory: SQL00001

        list tablespace
        list tablespace containers for 0
          ->/home/db22/db22/NODE0000/sql00001/sqlt0000.0

        su – db22
        mkdir tbs
        cd ts
        mkdir systs
        mkdir tempts

        create database test \
        catalog tablespace managed by system using \
          (‘/home/db22/ts/systs’) \
        user tablespace managed by database using \
          (file ‘/home/db22/ts/user.dat’ 1000) \
        temporary tablespace managed by system using \
          (‘/home/db22/ts/tempts’) \

        DataType:

        smallint
        integer
        bigint
        decimal
        character  1-254
        varchar    1-32672
        long varchar  32700
        For bit data
        blob (k,m,g)
        clob (k,m,g)
        dbclob (k,m,g)
        graphic
        vargraphic
        long vargraphic
        date
        time
        timestamp

        10M as the criteria
        Not Logged
        compact

        Max columns in a table: 500

        list tables
        describe table employee

        create table employee \
        (empno char(6) not null primary key, \
        FirstName varchar(12) not null, \
        LastName varchar(12) not null, \
        photo blob(10m) not null not logged), \
        in usertablespace2

        primary key (deptno)

        foreign key FKEmp1 (workdept)
        -> Foreign key name can’t be like FK_EM_Dept


        references department (deptname) on delete no action

        constraint chkprov check (province in (ON, NS, BC))

        c3 generated always as (c1 + c2),
        c4 generated always as (case when c1> c2 then 1 else null end))


        create user temporary tablespace usrtbsp managed by database \
        using (file ‘/home/db2inst8/usr_tbsp’ 1000)


        declare global temporary table glb_temp \
        like employee on commit delete rows \
        not logged in usrtbsp

        describe table glb_temp

        create table t2 (cl1 int, \
        col2 double \
        col3 int not null generated always as identity \
        (start with 100, increment by 5)

        select * from syscat.tables


        create tablespace index_ts managed by database using \
        (file ‘/home/db2inst8/index_ts.dat’ 1000)

        create tablespace photo_ts managed by database using \
        (file ‘/home/db2inst8/photo_ts.dat’ 1000)

        create table emp_photo \
        (empno char(6) not null, \
          photo_format varchar(10) not null, \
          picture blob(100k) \
           in userspace1 \
           index in index_ts \
           long in photo_ts)

        alter table t2 add cl4 char(6)

        alter table t2 alter column col4 set data type varchar(20)
        – if defined as char(20), then can’t be modified.

        alter table t2 add constraint col_u unique (col1, col2)

        alter table t2 alter column col1 not null  – wrong


        alter table project add constraint proj_key primary key (projno)

        alter table emp_act add constraint act_key primary key (empno, projno,
        actno)

        alter table projects drop constraint proj_key

        alter table emp_act add constraint act_emp_ref \
          foreign key (empno) \
          references employee \
          on delete cascade

        rename table t1 to t2

        drop table t2

        create trigger new_hire after insert on employee for each row mode db2sql\
        update company_stats set nbemp=nbemp + 1

        syscat.triggers

        stty erase ^

        create view myview as select * from employee

        create view emp_info (emp_lname, emp_fname, emp_job) \
        as select lastname, firstnme, job from empolyee

        syscat.views

        create alias myemp for employee

        drop alias myemp

        select * from syscat.tables

        create index indx_emp on employee (lastname asc)

        create tablespace indx_ts managed by database \
        using (file ‘/home/db2inst1/indx_ts.dat’ 1000)

        create unique index ph_indx on employee (phoneno desc) in indx_ts
        ?

        SECURITY
        ********************************************************************
        Authentication:

        Server
        server encrypted
        client trusted
        client untrusted
        DCS (connect server)
        DCS_Server_Encrypt
        Kerberos


        to setup autentication method:
        modify database configuration

        get database manager configuration

        get dbm cfg                file:         db2systm
        "Database manager authentication"

        update dbm cfg using authentication client


        Authorities:
        SYSADM   *****         highest authority // instance, databases, access data
        SYSCTRL         ****        //instance, databases, no access data
        SYSMAINT ***        //backup restore database
        DBADM          ****          second highest on a database
        LOAD         *         export import data to databases


        within a database:

        SYSADM
        DBADM   –SYSCTRL         /* Parallel authority
        LOAD    –SYSMAINT



        Instance level:
        SYSADM
           SYSCTRL /SYSMAINT
           Load DBADM

        cat /etc/group
        add new user to the group


        Change adm group:

        mkgroup db2test
        cat /etc/group

        su – db2inst2
        db2
        get dbm cfg
        search for primary group

        update dbm cfg using sysadm_group db2test


        Details:

        SYSADM:         migrate db; change dbm cfg; grant dbadm/Load
        SYSCTRL:         create db, drop db, create tbs, drop tbs;stop user connection;
                        backup/restore db
        SYSMAINT:        backup/restore db, start/stop instances

        The above three has to change cfg file to grant priviledge



        SYSADM & DBADM are administrative privilege

        SYSCTRL & SYSMAINT are system privilege


        db2 get database manager configuration

        db2stop force


        PRIVILEDGE:

        Database priviledge:
                createtab
                bindadd
                connect
                implicit schema
                use tablespace
                load

        DB object:
                ownership /        individual priviledge
                control … on table have alter; delete; insert; select; update; index;
        references
                        … on index
                        … on view have delete; insert; select; update; all
                        … on package grant bind; execute
                        … on tbs grant use;
                        … on schema have createin; alterin; dropin


        export db2instance db2inst2
        ?

        mkuser pgrp=db2bk db2bk

        connect to sample
        grant dbadm on database to user db2user2
                if there is no group callled db2user2
                        grant dbadm on database to db2user2
        grant load on database to user db2user2

        revoke dbadm on database from user db2user2

        revoke connect on database from user db2user3

        grant select on employee to user db2user3 with grant option

        grant bindadd on database to user db2user3

        grant connect on database to public

        grant createtab on database to group dbusers
        grant createtab on database to group dbusers with grant option (Errro!)

        connect to sample user db2user3 using db2user3

        grant select on staff to user db2user3

        grant control on staff to user db2user3

        grant use of tablespace indx_ts to db2user4 with grant option

        grant contrl on employee to db2users

        grant all on employee to public



        Dept Admin (Manager)           …           SysAdm
        security Admin                …        SysAdm(instance level) DBAdm (DB level)
        DBA                        …        SysAdm/SysCtrl
        Sys Operator                …        SysMaint
        Programmer                …        connect, bindadd, createtab
        DB user                        …        connect, select, update, delete,insert

        syscat.dbauth
        syscat.tbauth
        syscat.colauth
        syscat.packageauth
        syscat.indexauth
        syscat.schemaauth


        select distinct grantee, granteetype, ‘Database’ from syscat.dbauth
                        granteetype = G with grant option
                                    = U default


        select distinct grantee, granteetype from syscat.tabauth where tabname =
        ‘Employee’


        Database Audit

        Audit facility is setup at instance level.

        Audit Categories:
        1.         Audit
        2.        Authorization checking
        3.        Object maintenance
        4.        Security maintenance
        5.        System administration
        6.        User validation
        7.        Operation content


        db2Audit Start  (default is stopped)
        db2Audit Stop

        db2Audit Configure [Scope {all | checking | objmaint | secmaint | sysadmin | validate | context}]
                [status { both | success | failure}]
               
                db2audit configure scope all status both
                db2audit configure scope checking, objmaint status success

        db2Audit describe

        db2Audit flush                                        — write all content from cache to db2audit.log

        db2Audit extract file … category audit…        — extract info from db2audit.log to db2audit.out
                format: text file
                        delimited ascii format
                                audit.del
                                checking.del
                                objmaint.del
                                secmaint.del
                                sysmaint.del
                                validate.del
                                context.del

                db2audit extract file audit.txt category context database sample
                db2audit extract delasc delimiter !

        db2Audit prune all                                — delete db2audit log.
                db2audit prune date 2001090409
               
        $db2home/SQLLIB/SECURITY/db2audit.cfg
        $db2home/SQLLIB/SECURITY/db2audit.log



        Grant Privilege:
        Grant … on Database … to …
                Bindadd                 : To create packages
                Connect                        : Access db
                CreateTab                : To create base tables
                Create_NOT_Fenced        : Ro register functions that execute in the dbm’s process
                Implicit_schema                : To implicitly create a schema
                DBADM                        : has all privileges
                LOAD                        : must have other table-level privileges in order to insert/replace

        Grant control on index … to … : to drop the index

        Grant         BInd on package | Program … to …         : Rebind
                Control                : Rebuild, drop or execute the package, and extend package privileges to other users.
                Execute | Run        : execute the package

        Grant         alterin        on Schema … to …        : To alter or comment on all objects in the schema.
                CreateIN                        : To create objects in the schema.
                DropIN                                : To drop all objects in the schema.

        Grant passthru on server … to …        : To access and use a specified data source in pass-through mode.

        Grant         All                on Table …  to … with grant option : all except control privilege that grantor has
                Alter                   view_name        : add columns, create/drop PK, FK.       
                Control                   nickname        : All the privilege, drop base table, view or nickname. Grant to other.
                Delete
                Index
                Insert
                References                        : Create and drop FK referencing the table
                Select
                UPdate

        Note:         1. alter, index, references are not applicable to views.
                2. Delete, insert, select and update are not applicable to nicknames.

        Grant use of tablespace … to …        : To specify or default to the tbs when creating table.