• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

Linux使用小知识

发布: 2007-7-04 12:06 | 作者: admin | 来源:  网友评论 | 查看: 11次 | 进入软件测试论坛讨论

领测软件测试网

自己整理一下,放上来...

从软盘启动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

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网