自己整理一下,放上来...
从软盘启动grub
制作启动盘后可以用软盘启动引导硬盘上的操作系统 插入制作好的启动软盘,进入BIOS设定软盘启动。软盘启动成功后就会进入grub的命令行模式
grub>
要启动一个操作系统,首先指定引导哪个分区上的系统,例如要引导指第一个硬盘上的第一个分区的操作系统,先键入
grub>root (hd0,0)
接着如果要启动的是Windows系统,键入
grub>chainloader (hd0,0)+1
注意(hd0,0)要随着硬盘和分区的不同而改变数字。 如果要引导Linux或其他系统,应键入
grub>kernel (hd0,0)/boot/vmlinuz root=/dev/hda1
注意hda1参数也要随着硬盘和分区的不同而改变,如从第二个硬盘的第一个分区引导则用hdb1。
最后敲入boot就可以启动系统了。
在任何时候不能确定命令或者命令的参数都可以按Tab获得相关的帮助。用上下键可以获得命令的历史记录。
其实这些命令就是menu.lst的启动描述,您也可以根据那些描述来自己键入启动命令,最后敲入boot就可以引导系统了。
如何实现多网卡bonding
使用多块网卡虚拟成为一块网卡,具有相同的IP地址。这项技术其实在sun和cisco中已经存在,分别称为Trunking和etherchannel技术,在Linux中,这种技术称为bonding。 ??因为bonding在内核2.4.x中已经包含了,只需要在编译的时候把网络设备选项中的Bonding driver support选中就可以了。
??然后,重新编译核心,重新起动计算机,执行如下命令:
??ismod bonding
??ifconfig eth0 down
??ifconfig eth1 down
??ifconfig bond0 ipaddress
??ifenslave bond0 eth0
??ifenslave bond0 eth1
??现在两块网卡已经象一块一样工作了.这样可以提高集群节点间的数据传输.
??你最好把这几句写成一个脚本,再由/etc/rc.d/rc.local调用,以便一开机就生效.
??bonding对于服务器来是个比较好的选择,在没有千兆网卡时,用两三块100兆网卡作bonding,可大大提高服务器到交换机之间的带宽.但是需要在交换机上设置连接bonding网卡的两个口子映射为同一个虚拟接口。
如何实现为一个网卡绑定多个IP地址?
Linux的网络设备配置文件存放在/etc/sysconfig/network-scripts里面,对于以太网的第一个网络设备,配置文件名一般为 ifcfg-eth0 如果需要为第一个网络设备绑定多一个IP地址,只需要在/etc/sysconfig/network-scripts目录里面创建一个名为ifcfg-eth0:0的文件,内容样例为: DEVICE="eth0:0"
IPADDR="211.100.10.119"
NETMASK="255.255.255.0"
ONBOOT="yes"
其中的DEVICE为设备的名称,IPADDR为此设备的IP地址,NETMASK为子网掩码,ONBOOT表示在系统启动时自动启动。
如果需要再绑定多一个IP地址,只需要把文件名和文件内的DEVICE中的eth0:x加一即可。LINUX最多可以支持255个IP别名。
如何根据NETBIOS名字查找计算机IP
使用nmblookup test可以查找到同个网络内NETBIOS名字为test的机器的IP,如果这个机器有多个IP,也会一并列出。
如何知道某个端口现在运行什么监听程序
当我们用netstat -an的时候,我们有时候可以看到类似的输出: udp 0 0 0.0.0.0:32768 0.0.0.0:*
但是查找/etc/services又没有这个端口的相关说明,怎么办呢?这个是不是黑客程序?有没有办法查看究竟什么程序监听在这个端口?
使用lsof -i :32768就可以看到:
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
rpc.statd 603 root 4u IPv4 953 UDP *:32768
rpc.statd 603 root 6u IPv4 956 TCP *:32768 (LISTEN)
原来是rpc的程序。
使用lsof -i :port就能看见所指定端口运行的程序,同时还有当前连接。
如何监视某个tty
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)"> 你可以把 /etc/inetd.conf中 ??# Use this one instead if you want to snoop on telnet users (try to use this
??# for ethical purposes, ok folks?) :
??telnet stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.telnetsnoopd
??1.把原本的in.telnetd换成上述的in.telnetsnoopd,
??2.然后激活 ttysnoops &
?3.mkdir /var/spool/ttysnoop
??4.重新激活 inetd
??用法就是 ttysnoop tty*,这时它会要你输入root的密码,按 ctrl+7可以终止,不过监视人家时要小心不要被发现了哟。这两个窗口是一样的,你还可以控制他的键盘 (自己先练习一下,呵呵...)
如何恢复iptables的默认设置
/usr/local/sbin/iptables -P INPUT ACCEPT /usr/local/sbin/iptables -P FORWARD ACCEPT
/usr/local/sbin/iptables -P OUTPUT ACCEPT
#
# reset the default policies in the nat table.
#
/usr/local/sbin/iptables -t nat -P PREROUTING ACCEPT
/usr/local/sbin/iptables -t nat -P POSTROUTING ACCEPT
/usr/local/sbin/iptables -t nat -P OUTPUT ACCEPT
#
# flush all the rules in the filter and nat tables.
#
/usr/local/sbin/iptables -F
/usr/local/sbin/iptables -t nat -F
#
# erase all chains that's not default in filter and nat table.
#
/usr/local/sbin/iptables -X
/usr/local/sbin/iptables -t nat -X'
GRUB多重启动管理器
什么是grub
grub 是一个多重启动管理器。grub是GRand Unified
Bootloader的缩写,它可以在多个操作系统共存时选择引导哪个系统。它可以引导的操作系统包括Linux,FreeBSD,Solaris,NetBSD,BeOSi,OS/2,Windows95/98,Windows
NT,Windows2000。它可以载入操作系统的内核和初始化操作系统(如Linux,FreeBSD),或者把引导权交给操作系统(如Windows 98)来完成引导。
如何允许非root用户mount光盘和软盘
可以通过修改文件系统配置文件:/etc/fstab来使非root用户使用光盘和软盘,将/etc/fstab中关于fd0及cdrom的内容修改为如下所示: /dev/fd0 /mnt/floppy auto noauto,user 0 0
/dev/cdrom /mnt/cdrom iso9660 noauto,ro,user,unhide 0 0
你可以通过察看/etc/mtab或使用不带参数的mount命令来察看哪些文件系统被加载及它们的加载参数是什么。
如何限制某个用户只能FTP不能TELNET?
很简单,修改此用户的shell即可。打开/etc/password,查找要修改的用户所对应的记录,如: floatboat:x:500:500::/home/floatboat:/bin/bash
要禁止floatboat用户登录,只需要把此行中的“/bin/bash”改为/usr/bin/passwd即可。这样用户telnet上服务器只能修改密码,而无法直接控制台。
当然,如果你希望连密码都不允许此用户修改,只要把shell改为“/sbin/nologin”即可。
怎么样做到限时登录
通过以下三个脚本程序调用at和系统维护功能即可实现限时登录: 在指定的时间执行该脚本,将在/etc下生成一名为nologin的文件,登录程序在执行时会自动判断此文件是否存,如果存在将不允许用户登录,内容为:
vi /sbin/login.denied
echo " Login Denied " > /etc/nologin
chmod 700 login.denied
在指定的时间执行该脚本,删除/etc/下的nologin文件以允许用户登录,内容为:
vi /sbin/login.allowed
if [ -f /etc/nologin ]; then
rm /etc/nologin
fi
chmod 700 login.allowed
编写一个限制时间的脚本,内容为:
vi /sbin/login.rollback
if [ -f /sbin/login.denied ]; then
at -f /sbin/login.denid 22:00
fi
if [ -f /sbin/login.allowed ]; then
at -f /sbin/login.allowed 8:00
if
chmod 744 /sbin/login.rollback
创建完成以后,把/sbin/login.rollback脚本放进crontab中,在每天凌晨执行:
crontab -e
# roll login script
00 1 * * * /sbin/login.rollback
此种设置的功能是:从晚上10:00到第二天早上8:00静止非root用户登录,显示为系统维护状态。
lilo.conf配置实例
有了这些基础知识,我们可以很容易地按照自己的意图配置LILO。请看一个lilo.conf文件的例子:
boot=/dev/hda #将LILO安装在MBR。LILO作为主引导管理器
message=/boot/message #注释为/boot/message
compact #产生一个更小的“map”文件
map=/boot/map #指定“map”文件为/boot/map
install=/boot/boot.b
password=zhoudi #设置口令
vga=normal #80x25文本模式
linear #使用“linear”地址
prompt #提示用户键盘输入
timeout=50 #超时时长为5秒
default=dos #缺省引导label为dos的操作系统
#设定Linux
image=/boot/vmlinuz-2.0.34-1
#设置Linux核心引导映像
label=linux #标识为linux
root=/dev/hda1 #设置根文件系统
read-only #LILO以只读方式载入根文件系统
#设定MS-DOS或Windows 95
other=/dev/hda2 #DOS分区为第一个IDE硬盘的第二分区
label=dos #标识为dos
table=/dev/hda #主设备为第一个IDE硬盘
#设定SCO UNIX
注意:SCO分区必须设为活动(active)分区并将LILO安装在MBR上。
other=/dev/hda3
label=sco
table=/dev/hda
这个例子中,LILO是作为主引导管理器来管理机器上所有操作系统的。LILO也可作为二
级引导管理器,这只要将“boot”参数改为根分区就可做到。例如:
boot=/dev/hda1
以这种方式使用LILO时,Linux根分区必须用DOS或Linux的fdisk程序将其设置为活动分区,
并且这种方式只对硬盘主分区(不是扩展或逻辑分区)有效。
LILO还可以启动第二个以上的操作系统。在我的机器上有两块希捷硬盘,一块硬盘为8.4GB,
另一块为1.2GB,都以LBA模式接在主IDE口上。8.4GB跳线为主盘,1.2GB跳线为从盘,Linux
核心很容易地就将它们辨认出来并能正常使用,1.2GB的硬盘上安装了MS-DOS 6.22。笔者是
这样设置lilo.conf的:
disk=/dev/hda
bios=0x80
#由于IDE硬盘存在双硬盘问题,所以当启动DOS系统时,会提示“无系统盘或系统盘错!”,需修改程序如下。
disk=/dev/hdb
bios=0x81
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
linear
prompt
timeout=50
default=dos
image=/boot/vmlinuz-2.2.11-1
label=linux
root=/dev/hda1
read-only
other=/dev/hdb1
label=dos
map-drive = 0x80
to = 0x81
map-drive = 0x81
to = 0x80
#交换两硬盘主、从顺序
table=/dev/hdb
配置好lilo.conf文件后,在root账户下执行lilo命令,新的LILO就被载入系统。
上面第一个例子执行结果如下:
#lilo
Added linux
Added dos*
Added sco
(注:带*号的表示其为缺省操作系统)
为Linux系统设置备份
备份是一项重要的工作,但是很多人没有去做。一旦由于使用不当造成数据丢失,备份就成了真正的救命者。本文将讨论设置备份的策略和如何选择备份介质,并介绍用于备份的tar和cpio工具。 设置备份策略
设置备份策略和计划可以增加进行备份的可能性。备份开始前,要确定备份哪些数据、备份的频率和使用什么样的介质进行备份。备份的时候,应该进行完全备份。
备份通常安排在空闲时间进行。在大多数系统中,由于此时用户数量最少,所以打开的文件也最少。由于备份要占用一些系统资源,运行备份时用户会发现系统反应迟钝。
如果Linux计算机只有一个使用者,可以一个星期或一个月对整个系统备份一次。如果有关键性的文件,就应该有计划地把这些文件拷贝到一个可移动的磁盘中。
备份之前,首先要确保正确地设置备份设备。大多数磁带备份系统在安装时可以发现是否正确。系统启动后,打开一个终端窗口并且输入下面的命令:
$dmeg | less
滚动列表,并从中寻找你的磁带系统的驱动。如果没有发现,就需要加载一个组件驱动程序。
如果运行Linux服务器,就要制定一个备份计划,但这并不意味着每天要对所有的东西都备份。系统中只有一部分东西需要每天备份,下面列出需要备份的项目:
用户文件 每天都要对/home目录中的用户文件进行备份。
配置文件 /etc和/var目录中的配置文件不需要频繁备份,每个星期或每月备份一次即可,主要取决于配置更改的频繁程度。
程序文件 /usr和/opt目录中的程序文件很少发生变化,安装后做一次备份即可。通常情况下,程序文件可方便地从原始安装盘中恢复。
选择备份介质
把备份存到哪里有多种选择。下面介绍一些可选择的备份介质:
软盘 如果要把重要文件快速备份,或者将其带到家中,这时软盘仍旧是一种可选的备份介质。
光盘写入器 随着光盘写入器变得越来越可靠,价格也越来越低,光盘本身也非常便宜。选用此项的一个好处是光盘不容易被损坏,它备份的可靠性很高。
使用光盘写入器有两点不利因素:它们速度较慢,并且只能保存大约650MB。
可重写的光盘 可重写光盘驱动器比光盘写入器要贵得多,工作方式与其类似。但是,这些光盘是可被重写的,并且它比只能写一次的光盘贵许多。可重写光盘其它的特性都与光盘写入器类似。
Jaz和Zip Zip驱动器很流行,已经成为许多PC机的标准配置,同时它的磁盘和驱动器也都不贵。它一张磁盘可容纳100MB的数据,是一种用于快速、可移动备份的很好选择。
Jaz磁盘可以容纳上G字节的数据,并且使用更先进的技术以获得更好的表现。Jaz驱动器和Jaz磁盘都比较贵。
Jaz和Zip的缺陷是都容易损坏,并且保持时间相对要短。
磁带机 磁带备份设备是大多数Linux服务器的标准配置。磁带是可靠的,并且很少出现错误,它几乎比其它介质存储时间都要长。
对于点对点工作组网络和中型网络,Travan和高端数字音频磁带(DAT)通常是最好的选择。Travan驱动器经过压缩可以处理8GB数据,这对于具有5-10个PC机的小型网络来说足够了。DAT驱动器有更好的表现,可以处理24GB的数据。DAT驱动器比Travan驱动器昂贵,但它磁带的价格要比Travan QIC磁带卷便宜。
高端磁带 选择高端磁带可能是相当贵的。与Travan或DAT相比,这种驱动器有更大的容量和更高的速度。三种广泛使用的驱动器类型是:Sony Advanced Intelliget Tape ( AIT ) 、Quantum Digital Linear Ta p e ( DLT )和Exabyte Mammoth 8mm。它们最少可以容纳20GB的不压缩数据,并且具有更高的数据传输能力。
用于备份的tar
tar工具是以前备份文件的可靠方法,几乎可以工作于任何环境中,Linux老用户一般都信赖它。
Linux中以.tar结尾的文件都是用tar创建的。它的使用超出了单纯的备份,可用来把许多不同文件放到一起组成一个易于分开的文件。tar是从Tape ARchiver备份工具起步的。
包含在Linux中的GNU tar工具简便易用,包含了一个用来压缩的选项,且支持不断增加的备份。
tar是一个命令行的工具,没有图形界面。使用Konsole或Kvt打开一个终端窗口,接下来是一个简单的备份命令:
$tar cvf - /home > /temp/backup.tar
这个命令在/tmp目录中创建一个backup.tar的文件,/home目录中所有内容都包含在其中。
接下来可以把tar文件拷贝到备份磁盘中。使用简单备份时,如果要使用压缩功能,改为下面命令:
$tar czvf - /home > /tmp/backup.tgz
上面扩展名. tgz指出这是一个压缩文件。
下一个例子可以用来直接备份到一个安装好的Jaz驱动器中,但这样做要确定有足够的空间:
$tar czvf /mnt/jaz/backup.tgz - /home
对于一个磁带驱动器,使用设备名称:
$tar czvf /dev/st0/backup.tgz - /home
如果有一个备份非常大,可以使用多卷选项。但是,这样做就不能使用压缩。当第一个磁盘或磁带填满后,tar将提示插入另一张:
$tar cvMf /dev/st0/5mar2000.tar -home
要恢复备份使用下面的命令,以Jaz磁盘为例:
$tar xzvf /mnt/jaz/5mar2000.tgz /home
表1列出了tar主要功能参数。此外还有很多可选参数,本文不再详述。
表1 tar主要功能参数
参数 描述
-A 附加到另一个tar存档的后面
-C 创建一个新的tar存档
-d 找出tar存档和文件间的差别,用于一个文档的验证
--delete 从存档删除文件,磁盘备份不能选用
-r 把文件附加到tar存档的后面
-t 列出tar存档的内容
-u 只把比tar文档中的文件新的文件附加到存档中
-x 解开一个tar存档
tar备份可以用crontab工具设置成基于时间的有规律地运行。例如,每晚2点把/home目录备份到SCSI磁带驱动器中,只要将下面语句添加到root的crontab中即可:
00 02 * * * tar cvf /dev/st0/homefiles.tar - /home
用于备份的cpio
GNU cpio工具像tar一样从命令提示行启动程序。与tar相比cpio更复杂,但是也更为可靠。因为如果一个tar文件中某处有一个坏块,就不能对备份文件的其它部分进行访问,而使用cpio,只有坏块不能被访问。
cpio创建一个称为copy-out mode的备份,备份存档中包含了文件和所有者、时间及访问许可等信息。cpio需要一个假定要备份的文件列表。创建列表的一个最方便的方法就是使用ls命令。例如,要把/home目录备份到SCSI磁带设备中,输入下面的命令:
$ls /home | cpio -o > /dev/st0
也可以使用find命令。它包括许多选项可以用来消减被存档文件的数量。例如,下面的命令对所有在上一个2 4小时内修改过的文件进行存档:
$find /home -mtime 1 -type f -print | cpio -o > /dev/st0
copy - in模式把文件从备份存档中解出来。下面的命令会恢复前两个备份例子中的所有文件:
$cpio -i < /dev/st0
你也可以对cpio的备份进行计划,用crontab工具设置成基于任何时间的有规律地运行。例如,要在每晚2点把/ home目录备份到SCSI磁带驱动器中,把下面的语句添加到root的crontab文件中即可:
00 02 * * * ls /home | cpio -o > /dev/st0