都很實用的,可能比較古典.但對於我這樣一個初學者還是有用的~~~ 從軟盤啟動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