感谢支持
我们一直在努力

linux基本知识集锦

  都很实用的,可能比较古典.但对于我这样一个初学者还是有用的~~~
  从软盘启动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
你可以把 /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           #80×25文本模式
  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

赞(0) 打赏
转载请注明出处:服务器评测 » linux基本知识集锦
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏