歡迎您光臨本站 註冊首頁

Linux使用小知識

←手機掃碼閱讀     火星人 @ 2014-03-24 , reply:0

  都很實用的,可能比較古典.但對於我這樣一個初學者還是有用的~~~

  從軟盤啟動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           #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

[火星人 ] Linux使用小知識已經有578次圍觀

http://coctec.com/docs/linux/show-post-133429.html