導航:首頁 > 操作系統 > linux實驗二

linux實驗二

發布時間:2022-10-02 07:36:15

⑴ 求高手幫忙下linux系統的Shell編程,我們的一個實驗課課題,詳見問題補充,謝謝

#!/bin/bash
dir_source="/home/hnsd/workdata/"

yyyymmdd=`date +%Y%m%d`

data_time=`date +%p`

if [ "${data_time}" = "AM" ]; then
workdata=workdata1
dir_back="/home/hnsd/disk1backup/"
else
workdata=workdata2
dir_back="/dev/disk2backup/"
fi

tar zcvf ${dir_back}${yyyymmdd}_${workdata}.tar.gz ${dir_source}*

crontab 寫法為

* 12 * * * 腳本絕對路徑
30 17 * * * 腳本絕對路徑

⑵ Linux Bonding 怎麼玩

一、什麼是bondingLinux bonding 驅動提供了一個把多個網路介面設備捆綁為單個的網路介面設置來使用,用於網路負載均衡及網路冗餘二、bonding應用方向1、網路負載均衡對於bonding的網路負載均衡是我們在文件伺服器中常用到的,比如把三塊網卡,當做一塊來用,解決一個IP地址,流量過大,伺服器網路壓力過大的問題。對於文件伺服器來說,比如NFS或SAMBA文件伺服器,沒有任何一個管理員會把內部網的文件伺服器的IP地址弄很多個來解決網路負載的問題。如果在內網中,文件伺服器為了管理和應用上的方便,大多是用同一個IP地址。對於一個百M的本地網路來說,文件伺服器在多 個用戶同時使用的情況下,網路壓力是極大的,特別是SAMABA和NFS伺服器。為了解決同一個IP地址,突破流量的限制,畢竟網線和網卡對數據的吞吐量是有限制的。如果在有限的資源的情況下,實現網路負載均衡,最好的辦法就是 bonding 2、網路冗餘對於伺服器來說,網路設備的穩定也是比較重要的,特別是網卡。在生產型的系統中,網卡的可靠性就更為重要了。在生產型的系統中,大多通過硬體設備的冗餘來提供伺服器的可靠性和安全性,比如電源。bonding 也能為網卡提供冗餘的支持。把多塊網卡綁定到一個IP地址,當一塊網卡發生物理性損壞的情況下,另一塊網卡自動啟用,並提供正常的服務,即:默認情況下只有一塊網卡工作,其它網卡做備份三、bonding實驗環境及配置1、實驗環境系統為:CentOS,使用4塊網卡(eth0、eth1 ==> bond0;eth2、eth3 ==> bond1)來實現bonding技術2、bonding配置第一步:先查看一下內核是否已經支持bonding1)如果內核已經把bonding編譯進內核,那麼要做的就是載入該模塊到當前內核;其次查看ifenslave該工具是否也已經編譯modprobe -l bond*或者 modinfo bondingmodprobe bondinglsmod | grep 'bonding'echo 'modprobe bonding &> /dev/null' >> /etc/rc.local(開機自動載入bonding模塊到內核)which ifenslave注意:默認內核安裝完後就已經支持bonding模塊了,無需要自己手動編譯2)如果bonding還沒有編譯進內核,那麼要做的就是編譯該模塊到內核(1)編譯bondingtar -jxvf kernel-XXX.tar.gzcd kernel-XXXmake menuconfig選擇 " Network device support " -> " Bonding driver support "make bzImagemake moles && make moles_installmake install(2)編譯ifenslave工具gcc -Wall -O -I kernel-XXX/include ifenslave.c -o ifenslave第二步:主要有兩種可選擇(第1種:實現網路負載均衡,第2種:實現網路冗餘)例1:實現網路冗餘(即:mod=1方式,使用eth0與eth1)(1)編輯虛擬網路介面配置文件(bond0),並指定網卡IPvi /etc/sysconfig/network-scripts/ifcfg-bond0DEVICE=bond0ONBOOT=yesBOOTPROTO=staticIPADDR=192.168.0.254BROADCAST=192.168.0.255NETMASK=255.255.255.0NETWORK=192.168.0.0GATEWAY=192.168.0.1USERCTL=noTYPE=Ethernet注意:建議不要指定MAC地址vi /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0BOOTPROTO=noneONBOOT=yesUSERCTL=noMASTER=bond0SLAVE=yes注意:建議不要指定MAC地址vi /etc/sysconfig/network-scripts/ifcfg-eth1DEVICE=eth1BOOTPROTO=noneONBOOT=yesUSERCTL=noMASTER=bond0SLAVE=yes注意:建議不要指定MAC地址(2)編輯模塊載入配置文件(/etc/modprobe.conf),開機自動載入bonding模塊到內核

vi /etc/modprobe.conf

alias bond0 bonding options bond0 miimon=100 mode=1

alias net-pf-10 off #關閉ipv6支持說明:miimon是用來進行鏈路監測的。 比如:miimon=100,那麼系統每100ms監測一次鏈路連接狀態,如果有一條線路不通就轉入另一條線路;mode的值表示工作模式,他共有0,1,2,3,4,5,6六種模式,常用為0,6,1三種,具體後面會介紹 mode=0,表示load balancing (round-robin)為負載均衡方式,兩塊網卡都工作,但是與網卡相連的交換必須做特殊配置( 這兩個埠應該採取聚合方式),因為做bonding的這兩塊網卡是使用同一個MAC地址mode=6,表示load balancing (round-robin)為負載均衡方式,兩塊網卡都工作,但是該模式下無需配置交換機,因為做bonding的這兩塊網卡是使用不同的MAC地址mode=1,表示fault-tolerance (active-backup)提供冗餘功能,工作方式是主備的工作方式,也就是說默認情況下只有一塊網卡工作,另一塊做備份 注意:bonding只能提供鏈路監測,即從主機到交換機的鏈路是否接通。如果只是交換機對外的鏈路down掉了,而交換機本身並沒有故障,那麼bonding會認為鏈路沒有問題而繼續使用(4)重啟並測試第一:由於bonding使用的模式為mod=1(網路冗餘),所以eth0、eth1與虛擬的bond0同一個MAC地址注意:對比上面這兩個圖,可知mode=1模式下,eth0與eth1這兩塊網卡,只有一塊網卡在工作(即:eth0),因為eth1網卡的RX與TX都沒有在發生變化第二:測試,用ping指令ping虛擬網卡設備bond0的IP地址(192.168.0.254),然後禁用eth0設備看一下能夠繼續ping的通說明:如上圖可得到,斷開eth0(上圖的右下角),還是可以ping的通的例2:實現網路負載均衡和網路冗餘(即:mod=0方式,使用eth0與eth1)注意:VM中只能做mode=1的實驗,其它的工作模式得用真機來實踐跟例1的步驟一樣,只需要修改模塊載入配置文件(/etc/modprobe.conf),如下:

alias bond0 bonding options bond0 miimon=100 mode=0

(1)測試如下##目前兩塊網卡都處於連接狀態root@Web:~# ifconfig | grep 'eth' | awk '{print $1}'eth0eth1##禁用了網卡eth0,用ping指令測試反之,也是一樣的!例3:實現網路負載均衡和網路冗餘(即:mod=6方式,使用eth0與eth1,其中eth0設置為primay)跟例1的步驟一樣,只需要修改模塊載入配置文件(/etc/modprobe.conf),如下:alias bond0 bonding options bond0 miimon=100 mode=6上圖可知:mode=6時,eth0與eth1所使用的MAC是不一樣的(1)測試如下##目前兩塊網卡都處於連接狀態root@Web:~# ifconfig | grep 'eth' | awk '{print $1}'eth0eth1##禁用了網卡eth0,用ping指令測試四、bonding運用的注意事項1、bonding的模式:0-6,即:7種模式第一種模式:mod=0 ,即:(balance-rr) Round-robin policy(平衡掄循環策略)特點:傳輸數據包順序是依次傳輸(即:第1個包走eth0,下一個包就走eth1....一直循環下去,直到最後一個傳輸完畢), 此模式提供負載平衡和容錯能力;但是我們知道如果一個連接或者會話的數據包從不同的介面發出的話,中途再經過不同的鏈路,在客戶端很有可能會出現數據包無序到達的問題,而無序到達的數據包需要重新要求被發送,這樣網路的吞吐量就會下降第二種模式:mod=1,即: (active-backup) Active-backup policy(主-備份策略)特點:只有一個設備處於活動狀態,當 一個宕掉另一個馬上由備份轉換為主設備。mac地址是外部可見得,從外面看來,bond的MAC地址是唯一的,以避免switch(交換機)發生混亂。此模式只提供了容錯能力;由此可見此演算法的優點是可以提供高網路連接的可用性,但是它的資源利用率較低,只有一個介面處於工作狀態,在有 N 個網路介面的情況下,資源利用率為1/N第三種模式:mod=2,即:(balance-xor) XOR policy(平衡策略)特點:基於指定的傳輸HASH策略傳輸數據包。預設的策略是:(源MAC地址 XOR 目標MAC地址) % slave數量。其他的傳輸策略可以通過xmit_hash_policy選項指定,此模式提供負載平衡和容錯能力第四種模式:mod=3,即:broadcast(廣播策略)特點:在每個slave介面上傳輸每個數據包,此模式提供了容錯能力第五種模式:mod=4,即:(802.3ad) IEEE 802.3ad Dynamic link aggregation(IEEE 802.3ad 動態鏈接聚合)特點:創建一個聚合組,它們共享同樣的速率和雙工設定。根據802.3ad規范將多個slave工作在同一個激活的聚合體下。外出流量的slave選舉是基於傳輸hash策略,該策略可以通過xmit_hash_policy選項從預設的XOR策略改變到其他策略。需要注意的是,並不是所有的傳輸策略都是802.3ad適應的,尤其考慮到在802.3ad標准43.2.4章節提及的包亂序問題。不同的實現可能會有不同的適應性。必要條件:條件1:ethtool支持獲取每個slave的速率和雙工設定條件2:switch(交換機)支持IEEE 802.3ad Dynamic link aggregation條件3:大多數switch(交換機)需要經過特定配置才能支持802.3ad模式第六種模式:mod=5,即:(balance-tlb) Adaptive transmit load balancing(適配器傳輸負載均衡)特點:不需要任何特別的switch(交換機)支持的通道bonding。在每個slave上根據當前的負載(根據速度計算)分配外出流量。如果正在接受數據的slave出故障了,另一個slave接管失敗的slave的MAC地址。該模式的必要條件:ethtool支持獲取每個slave的速率第七種模式:mod=6,即:(balance-alb) Adaptive load balancing(適配器適應性負載均衡)特點:該模式包含了balance-tlb模式,同時加上針對IPV4流量的接收負載均衡(receive load balance, rlb),而且不需要任何switch(交換機)的支持。接收負載均衡是通過ARP協商實現的。bonding驅動截獲本機發送的ARP應答,並把源硬體地址改寫為bond中某個slave的唯一硬體地址,從而使得不同的對端使用不同的硬體地址進行通信。來自伺服器端的接收流量也會被均衡。當本機發送ARP請求時,bonding驅動把對端的IP信息從ARP包中復制並保存下來。當ARP應答從對端到達時,bonding驅動把它的硬體地址提取出來,並發起一個ARP應答給bond中的某個slave。使用ARP協商進行負載均衡的一個問題是:每次廣播 ARP請求時都會使用bond的硬體地址,因此對端學習到這個硬體地址後,接收流量將會全部劉翔當前的slave。這個問題通過給所有的對端發送更新(ARP應答)來解決,應答中包含他們獨一無二的硬體地址,從而導致流量重新分布。當新的slave加入到bond中時,或者某個未激活的slave重新激活時,接收流量也要重新分布。接收的負載被順序地分布(round robin)在bond中最高速的slave上當某個鏈路被重新接上,或者一個新的slave加入到bond中,接收流量在所有當前激活的slave中全部重新分配,通過使用指定的MAC地址給每個 client發起ARP應答。下面介紹的updelay參數必須被設置為某個大於等於switch(交換機)轉發延時的值,從而保證發往對端的ARP應答不會被switch(交換機)阻截。必要條件:條件1:ethtool支持獲取每個slave的速率;條件2:底層驅動支持設置某個設備的硬體地址,從而使得總是有個slave(curr_active_slave)使用bond的硬體地址,同時保證每個bond 中的slave都有一個唯一的硬體地址。如果curr_active_slave出故障,它的硬體地址將會被新選出來的 curr_active_slave接管其實mod=6與mod=0的區別:mod=6,先把eth0流量占滿,再佔eth1,....ethX;而mod=0的話,會發現2個口的流量都很穩定,基本一樣的帶寬。而mod=6,會發現第一個口流量很高,第2個口只佔了小部分流量2、bonding驅動選項Bonding驅動的選項是通過在載入時指定參數來設定的。可以通過insmod或modprobe命令的命令行參數來指定,但通常在/etc/modprobe.conf配置文件中指定,或其他的配置文件中下面列出可用的bonding驅動參數。如果參數沒有指定,驅動會使用預設參數。剛開始配置bond的時候,建議在一個終端窗口中運行"tail -f /var/log/messages"來觀察bonding驅動的錯誤信息【譯註:/var/log/messages一般會列印內核中的調試信息】有些參數必須要正確的設定,比如miimon、arp_interval和arp_ip_target,否則在鏈接故障時會導致嚴重的網路性能退化。很少的設備不支持miimon,因此沒有任何理由不使用它們。有些選項不僅支持文本值的設定,出於兼容性的考慮,也支持數值的設定,比如,"mode=802.3ad"和"mode=4"效果是一樣的具體的參數列表:1)primay指定哪個slave成為主設備(primary device),取值為字元串,如eth0,eth1等。只要指定的設備可用,它將一直是激活的slave。只有在主設備(primary device)斷線時才會切換設備。這在希望某個slave設備優先使用的情形下很有用,比如,某個slave設備有更高的吞吐率注意: primary選項只對active-backup模式有效2)updelay指定當發現一個鏈路恢復時,在激活該鏈路之前的等待時間,以毫秒計算。該選項只對miimon鏈路偵聽有效。updelay應該是miimon值的整數倍,如果不是,它將會被向下取整到最近的整數。預設值為03)arp_interval指定ARP鏈路監控頻率,單位是毫秒(ms)。如果APR監控工作於以太兼容模式(模式0和模式2)下,需要把switch(交換機)配置為在所有鏈路上均勻的分發網路包。如果switch(交換機)被配置為以XOR方式分發網路包,所有來自ARP目標的應答將會被同一個鏈路上的其他設備收到,這將會導致其他設備的失敗。ARP監控不應該和miimon同時使用。設定為0將禁止ARP監控。預設值為04)arp_ip_target指定一組IP地址用於ARP監控的目標,它只在arp_interval > 0時有效。這些IP地址是ARP請求發送的目標,用於判定到目標地址的鏈路是否工作正常。該設定值為ddd.ddd.ddd.ddd格式。多個IP地址通過逗號分隔。至少指定一個IP地址。最多可以指定16個IP地址。預設值是沒有IP地址5)downdelay指定一個時間,用於在發現鏈路故障後,等待一段時間然後禁止一個slave,單位是毫秒(ms)。該選項只對miimon監控有效。downdelay值應該是miimon值的整數倍,否則它將會被取整到最接近的整數倍。預設值為06)lacp_rate指定在802.3ad模式下,我們希望的鏈接對端傳輸LACPDU包的速率。可能的選項:(1)slow 或者 0請求對端每30s傳輸LACPDU(2)fast 或者 1請求對端每1s傳輸LACPDU(3)預設值是slow7)max_bonds為bonding驅動指定創建bonding設備的數量。比如:如果max_bonds為3,而且bonding驅動還沒有載入,那麼bond0,bond1,bond2將會被創建。預設值為16)miimon指定MII鏈路監控頻率,單位是毫秒(ms)。這將決定驅動檢查每個slave鏈路狀態頻率0表示禁止MII鏈路監控。100可以作為一個很好的初始參考值。下面的use_carrier選項將會影響如果檢測鏈路狀態。更多的信息可以參考「高可靠性」章節。預設值為08)mode指定bonding的策略。預設是balance-rr (round robin,循環賽)。可選的mode包括:0,1,2,3,4,5,63、bonding鏈路監測方法官方文檔里說有兩種針對鏈路的監測方法(注意:這兩種監測不能同時使用)第一種:miimon(這種方法是最常見的,此方法使用系統的mii-tool命令進行監測)模塊載入設置(/etc/modprobe.conf):# Start of bonding configurealias bond0 bondingoptions bond0 miimon=100 mode=1注意:使用cat /proc/net/bonding/bond0,可查看Bonding Mode: load balancing (round-robin)狀態options bond0 miimon=100 mode=0注意:使用cat /proc/net/bonding/bond0,可查看Bonding Mode: load balancing ((active-backup))狀態 root@Web:~# mii-tooleth0: negotiated 100baseTx-HD, link oketh1: negotiated 100baseTx-HD, link ok缺點:這種方法,只能監測交換機與該網卡之間的鏈路;如果它們之外的鏈路的地方斷了,而交換機本身沒有問題,也就是說你的網卡和交換機之間還是UP狀態,它是不會認為網路中斷,除非你的網卡是DOWN狀態,它才會把鏈路轉到另一塊網卡上,就像是拔掉網線一樣,或者把交換機埠shutdown一樣第二種:arp(這種方法比較實用,你可以把它看作是arp的ping(二層ping),但是可能會給網關造成一定的壓力)模塊載入:alias bond0 bondingoptions bond0 arp_interval=100 arp_ip_target=192.168.1.1 mode=active-backup primary=eth0解析如下:arp_interval=100,表示arp的檢測時間,等同於miimon=100的作用arp_ip_target=192.168.1.1,表示arp檢測的目標IP,必須是同網段的,最好就是網關注意:如果使用arp來ping網關不通,那麼在/proc/net/bonding/bond0里會一會down,一會up的優點:使用arp這種方法,如果交換機的上出現問題,網路不通,它就會把鏈轉到另一塊網卡上,但是不管是哪種方法,在第一塊網卡出現問題,鏈路轉到第二塊後,如果第一塊恢復正常,鏈路自己不會恢復的

⑶ linux下iptables的nat關於SNAT和DNAT轉發實驗

一、概述 1. 什麼是NAT 在傳統的標準的TCP/IP通信過程中,所有的路由器僅僅是充當一個中間人的角色,也就是通常所說的存儲轉發,路由器並不會對轉發的數據包進行修改,更為確切的說,除了將源MAC學校換成自己的MAC學校以外,路由器不會對轉發的數據包做任何修改。NAT(Network Address Translation中國絡學校翻譯)恰恰是出於某種特殊需要而對數據包的源ip學校、目的ip學校、源埠、目的埠進行改寫的操作。 2. 為什麼要進行NAT 我們來看看再什麼情況下我們需要做NAT。 假設有一家ISP提供園區Internet接入服務,為了方便管理,該ISP分配給園區用戶的IP學校都是偽IP,但是部分用戶要求建立自己的WWW伺服器對外發布信息,這時候我們就可以通過NAT來提供這種服務了。我們可以在防火牆的外部中國卡上綁定多個合法IP學校,然後通過NAT技術使發給其中某一個IP學校的包轉發至內部某一用戶的WWW伺服器上,然後再將該內部WWW伺服器響應包偽裝成該合法IP發出的包。 再比如使用撥號上中國的中國吧,因為只有一個合法的IP學校,必須採用某種手段讓其他機器也可以上中國,通常是採用 中國伺服器的方式,但是中國伺服器,尤其是應用層中國伺服器,只能支持有限的協議,如果過了一段時間後又有新的服務出來,則只能等待中國伺服器支持該新應用的升級版本。如果採用NAT來解決這個問題, 因為是在應用層以下進行處理,NAT不但可以獲得很高的訪問速度,而且可以無縫的支持任何新的服務或應用。 還有一個方面的應用就是重定向,也就是當接收到一個包後,不是轉發這個包,而是將其重定向到系統上的某一個應用程序。最常見的應用就是和squid配合使用成為透明中國,在對http流量進行緩存的同時,可以提供對Internet的無縫訪問。 3. NAT的類型 在linux2.4的NAT-HOWTO中,作者從原理的角度將NAT分成了兩種類型,即源NAT(SNAT)和目的NAT(DNAT),顧名思義,所謂SNAT就是改變轉發數據包的源學校,所謂DNAT就是改變轉發數據包的目的學校。 二、原理 在「用iptales實現包過慮型防火牆」一文中我們說過,netfilter是Linux 核心中一個通用架構,它提供了一系列的"表"(tables),每個表由若干"鏈"(chains)組成,而每條鏈中可以有一條或數條規則(rule)組成。並且系統預設的表是"filter"。但是在使用NAT的時候,我們所使用的表不再是"filter",而是"nat"表,所以我們必須使用"-t nat"選項來顯式地指明這一點。因為系統預設的表是"filter",所以在使用filter功能時,我們沒有必要顯式的指明"-t filter"。 同filter表一樣,nat表也有三條預設的"鏈"(chains),這三條鏈也是規則的容器,它們分別是: PREROUTING:可以在這里定義進行目的NAT的規則,因為路由器進行路由時只檢查數據包的目的ip學校,所以為了使數據包得以正確路由,我們必須在路由之前就進行目的NAT; POSTROUTING:可以在這里定義進行源NAT的規則,系統在決定了數據包的路由以後在執行該鏈中的規則。 OUTPUT:定義對本地產生的數據包的目的NAT規則。 三、操作語法 如前所述,在使用iptables的NAT功能時,我們必須在每一條規則中使用"-t nat"顯示的指明使用nat表。然後使用以下的選項: 1. 對規則的操作 加入(append) 一個新規則到一個鏈 (-A)的最後。 在鏈內某個位置插入(insert) 一個新規則(-I),通常是插在最前面。 在鏈內某個位置替換(replace) 一條規則 (-R)。 在鏈內某個位置刪除(delete) 一條規則 (-D)。 刪除(delete) 鏈內第一條規則 (-D)。 2. 指定源學校和目的學校 通過--source/--src/-s來指定源學校(這里的/表示或者的意思,下同),通過--destination/--dst/-s來指定目的學校。可以使用以下四中方法來指定ip學校: a. 使用完整的域名,如「至美.linuxaid中國中國」; b. 使用ip學校,如「192.168.1.1」; c. 用x.x.x.x/x.x.x.x指定一個中國絡學校,如「192.168.1.0/255.255.255.0」; d. 用x.x.x.x/x指定一個中國絡學校,如「192.168.1.0/24」這里的24表明了子中國掩碼的有效位數,這是 UNIX環境中通常使用的表示方法。 預設的子中國掩碼數是32,也就是說指定192.168.1.1等效於192.168.1.1/32。 3. 指定中國絡介面 可以使用--in-interface/-i或--out-interface/-o來指定中國絡介面。從NAT的原理可以看出,對於PREROUTING鏈,我們只能用-i指定進來的中國絡介面;而對於POSTROUTING和OUTPUT我們只能用-o指定出去的中國絡介面。 4. 指定協議及埠 可以通過--protocol/-p選項來指定協議,如果是udp和tcp協議,還可--source-port/--sport和 --destination-port/--dport來指明埠。 四、准備工作 1. 編譯內核,編譯時選中以下選項,具體可參看「用iptales實現包過慮型防火牆」一文: Full NAT MASQUERADE target support REDIRECT target support 2. 要使用NAT表時,必須首先載入相關模塊: modprobe ip_tables modprobe ip_nat_ftp iptable_nat 模塊會在運行時自動載入。 五、使用實例 1. 源NAT(SNAT) 比如,更改所有來自192.168.1.0/24的數據包的源ip學校為1.2.3.4: iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT --to 1.2.3.4 這里需要注意的是,系統在路由及過慮等處理直到數據包要被送出時才進行SNAT。 有一種SNAT的特殊情況是ip欺騙,也就是所謂的Masquerading,通常建議在使用撥號上中國的時候使用,或者說在合法ip學校不固定的情況下使用。比如 # iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE 可以看出,這時候我們沒有必要顯式的指定源ip學校等信息。 2. 目的SNAT(DNAT) 比如,更改所有來自192.168.1.0/24的數據包的目的ip學校為1.2.3.4: iptables -t nat -A PREROUTING -s 192.168.1.0/24 -i eth1 -j DNAT --to 1.2.3.4 這里需要注意的是,系統是先進行DNAT,然後才進行路由及過慮等操作。 有一種DNAT的特殊情況是重定向,也就是所謂的Redirection,這時候就相當於將符合條件的數據包的目的ip學校改為數據包進入系統時的中國絡介面的ip學校。通常是在與squid配置形成透明中國時使用,假設squid的監聽埠是3128,我們可以通過以下語句來將來自192.168.1.0/24,目的埠為80的數據包重定向到squid監聽 埠: iptables -t nat -A PREROUTING -i eth1 -p tcp -s 192.168.1.0/24 --dport 80 -j REDIRECT --to-port 3128 六、綜合例子 1. 使用撥號帶動局域中國上中國 小型企業、中國吧等多使用撥號中國絡上中國,通常可能使用中國,但是考慮到成本、對協議的支持等因素,建議使用ip欺騙方式帶動區域中國上中國。 成功升級內核後安裝iptables,然後執行以下腳本: #載入相關模塊 modprobe ip_tables modprobe ip_nat_ftp #進行ip偽裝 iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE 2. ip映射 假設有一家ISP提供園區Internet接入服務,為了方便管理,該ISP分配給園區用戶的IP學校都是偽IP,但是部分用戶要求建立自己的WWW伺服器對外發布信息。我們可以再防火牆的外部中國卡上綁定多個合法IP學校,然後通過ip映射使發給其中某一個IP學校的包轉發至內部某一用戶的WWW伺服器上,然後再將該內部WWW伺服器響應包偽裝成該合法IP發出的包。 我們假設以下情景: 該ISP分配給A單位至美伺服器的ip為: 偽ip:192.168.1.100 真實ip:202.110.123.100 該ISP分配給B單位至美伺服器的ip為: 偽ip:192.168.1.200 真實ip:202.110.123.200 linux防火牆的ip學校分別為: 內中國介面eth1:192.168.1.1 外中國介面eth0:202.110.123.1 然後我們將分配給A、B單位的真實ip綁定到防火牆的外中國介面,以root許可權執行以下命令: ifconfig eth0 add 202.110.123.100 netmask 255.255.255.0 ifconfig eth0 add 202.110.123.200 netmask 255.255.255.0 成功升級內核後安裝iptables,然後執行以下腳本: #載入相關模塊 modprobe ip_tables modprobe ip_nat_ftp 首先,對防火牆接收到的目的ip為202.110.123.100和202.110.123.200的所有數據包進行目的NAT(DNAT): iptables -A PREROUTING -i eth0 -d 202.110.123.100 -j DNAT --to 192.168.1.100 iptables -A PREROUTING -i eth0 -d 202.110.123.200 -j DNAT --to 192.168.1.200 其次,對防火牆接收到的源ip學校為192.168.1.100和192.168.1.200的數據包進行源NAT(SNAT): iptables -A POSTROUTING -o eth0 -s 192.168.1.100 -j SNAT --to 202.110.123.100 iptables -A POSTROUTING -o eth0 -s 192.168.1.200 -j SNAT --to 202.110.123.200 這樣,所有目的ip為202.110.123.100和202.110.123.200的數據包都將分別被轉發給192.168.1.100和192.168.1.200;而所有來自192.168.1.100和192.168.1.200的數據包都將分 別被偽裝成由202.110.123.100和202.110.123.200,從而也就實現了ip映

⑷ linux操作系統 課程標准

—、計算機操作系統課程設計方案 課程概況 計算機操作系統是中央電大計算機科學與技術專業(本科)的一門統設必修課。課程教學總學時72,4學分,開設一學期。前修課程為計算機組成原理、面向對象程序設計和數據結構。 計算機操作系統課是計算機專業的重要課程之一,通過學習使學員掌握計算機操作系統的設計基本原理及組成;計算機操作系統的基本概念和相關的新概念、名詞及術語;了解計算機操作系統的發展特點和設計技巧和方法;對常用計算機操作系統(dos、windows和unix或linux)會進行基本的操作使用。 課程主要內容 主要內容包括:計算機操作系統概述、作業管理、文件管理、存儲管理、輸入輸出設備管理、進程及處理機管理、操作系統結構及程序設計。 二、教學內容體系及教學要求 第一章 操作系統概述 教學內容: 操作系統定義及發展;操作系統的形成和五大類型;操作系統的五大功能;表徵操作系統的屬性;操作系統的配置、「生成」概念 教學要求: 熟練掌握:什麼是操作系統;知道操作系統有五大類型和五大功能; 掌握:至少掌握一種實際攬操作系統的安裝、使用和維護; 了解:初步了解如何認識、熟悉和解剖操作系統 第二章 人機交互界面、任務、作業管理 教學內容: 人機交互界面的發展特點;第一、二、三代界面開發特點;基本的鍵盤命令和系統調用操作系統shell語言;作業調度演算法; 教學要求: 熟練掌握:能進行一些人機介面界面的設計; 掌握:掌握操作系統人機介面界面的基本設計思想; 了解:操作系統傳統的介面界面 第三章 文件管理 教學內容: 文件管理的任務與功能;文件的結構與分類;文件的物理結構和邏輯結構;文件的目錄結構;文件的存取控制和安全機制;文件系統與模型結構; 教學要求: 熟練掌握:文件的基本存取控制和系統管理; 掌握:文件系統的目錄分類管理特點; 了解:文件系統的編程設計 第四章 內部存儲管理 教學內容: 內存的分區、分頁、分段管理概念;物理地址與邏輯地址;內存「擴充」技術;頁式存儲管理;段式存儲管理;內存的分配演算法 教學要求: 熟練掌握:內存管理中基本分配和調度方法; 掌握:掌握內存管理中各種分區、分頁和分段方法的特點; 了解:內存空間的有效利用 第五章 輸入輸出設備管理 教學內容: 輸入輸出設備功能與分類;獨享、共享、虛擬設備的管理特點;輸入輸出設備處理程序;輸入輸出設備的管理策略; 教學要求: 熟練掌握:掌握輸入輸出設備的管理特點; 掌握:掌握輸入輸出設備的分類設計方法; 了解:輸入輸出設備處理程序的編程要點 第六章 低級處理機管理 教學內容: 操作系統核心功能;「進程」概念;進程的並發與並行;進程的基本狀態與轉換;進程調度演算法;進程的同步與互斥;進程的p—v操作;「死鎖」概念; 教學要求: 熟練掌握:操作系統核心運行與「進程」的基本概念; 掌握:「進程」的基本轉換狀態與應用特點; 了解:進程調度演算法的程序編制 第七章 操作系統程序結構 教學內容: 操作系統的層次、模塊結構;操作系統的設計與檢測; 教學要求: 本章教學基本要求:了解現代計算機操作系統的基本設計思想與方法 三、課程教學媒體說明 本課程使用的教學媒體主要有:文字教材、錄像教材和網上教學輔導。 1. 文字教材 《計算機操作系統》(第2版)吳企淵著清華大學出版社 註:課程實驗含在主教材中。 文字教材為該課程的主媒體。文字教材的編寫既保持了學科體系的先進性、科學性,又兼顧操作系統的理論、技術、實現三方面的融合,並強調能力的培養。 2. 錄像教材 該課程已經製作16講課程錄像,每講50分鍾,講授課程的重點、難點、課程總結。幫助學生理解,建立操作系統的整體概念和思想,由吳企淵教授主講。 課程錄像與文字教材相對應,注意發揮錄像教材藝術表現力、形象化教學的作用。 3.網上教學輔導 網上教學輔導與上述媒體有機配合,有幾方面作用:(1)發布教學指導性文件、課程公告、問題咨詢、參考資料;(2)按照教學進度,發布輔導文章,刊登練習自測題;(3)在課程論壇上進行實時答疑和日常答疑;(4)開展網上的教師培訓和教學研討等工作。 文字教材是學生學習的基本依據,錄像教材是文字教材的補充,網上輔導則是教與學交互的便捷方式。總之,多種媒體的分工和搭配為學生提供較大的自學空間,便於學生自由選擇、自主學習,提高學生的自學能力。 四、教學安排建議 1. 課程主教材及課程實驗教學安排建議 教學點請根據中央電大的統一要求安排課程的面授輔導,見表1。 表1 課程主教材及課程實驗教學安排建議 周次 教學內容 建議學時 實驗內容 建議學時 一 操作系統課程教學安排概況介紹 2 二 操作系統定義、五大類型和五大功能 4 三 人機交互界面管理 2 linux實踐准備 1 四 作業管理任務調度 4 五 文件管理的任務和功能 2 linux操作命令使用 1 六 文件的邏輯結構和物理結構 4 七 存儲管理的任務和功能 2 命令解釋程序編制 2 八 分區式分配存儲管理 4 九 頁式、段式分配存儲管理 6 作業調度模擬編程 4 十 設備管理的任務和功能 2 十一 設備分配技術和管理 4 存儲管理設計 4 十二 進程的定義和特徵 4 十三 進程調度與通信 6 進程調度模擬編程 4 十四 死鎖的產生和處理 2 十五 操作系統的層次模塊結構 4 十六(總復習) 4 總計56 16 課程錄像內容,見表2。 表2 錄像教材內容 章 教學內容 課內學時 錄像學時分配 一 操作系統概述 8學時 4 二 作業管理 8學時 2 三 文件管理 8學時 2 四 存儲管理 8學時 2 五 設備管理 8學時 2 六 進程管理 10學時 4 七 操作系統程序結構 6學時 0 總計56學時 16 2、網上輔導 網上輔導內容包括課程的教學文件、課程輔導、網路課堂。充分利用網路資源,定期與不定期的在網上提供有關的課程輔導材料,根據教學需要,適當安排網上輔導和考前答疑活動。具體安排如下: 教學文件 包括課程說明、教師介紹、教學大綱、教學設計方案。 課程輔導 包括課程作業及解答、專題輔導、練習和解答、期末自測、考核說明等;網上還提供了教師講課教案,供各教學點教學使用。 網路課堂 包括直播課堂和ip課件。 網上教學活動:中央電大一般將每學期集中安排1次對學生的實時在線輔導,和1次對教師的教研活動。具體的時間安排每學期在電大在線主頁上公布。 論壇:進行課程的日常答疑。 3、直播課堂 課程首開學期,通過教育電視台直播方式,安排4次直播課堂,每次50分。前3講為對教學重點、難點,對教學過程中反映的共性問題和有代表性的問題進行輔導,後1講為復習輔導和有關考試說明。直播課堂的內容掛在課程網頁內。 4、作業 該課程有一份形成性考核冊,即課程作業冊。作業成績計入課程總成績。中央電大將不定期地抽查作業,檢查作業的評審及完成情況。 關於課程考核的具體內容,請參考中央電大「計算機操作系統課程考核說明」。 五、教學方法的建議 教學建議 (1)計算機操作系統是實踐性較強的課程。其特點是概念多、涉及面廣。要求教學輔導要由淺入深對易混淆的概念加以詳細說明,對每章的重點,管理和控制的調度演算法技巧作詳細介紹。 (2)在實驗中著重培養學員熟練使用操作系統,以及在維護操作系統工作中的分析問題和解決問題能力。 學習建議 (1)學習操作系統要從宏觀和微觀兩方面把握。在宏觀上要認識操作系統在計算機系統中的地位,清楚操作系統的整體結構;微觀方面應掌握操作系統是如何管理計算機的各種資源的(進程、處理機、存儲器、文件、設備),理解有關概念、原理及技術。 (2)操作系統是計算機技術與管理技術的結合,學習時可以聯想日常生活中熟悉的管理示例反復體會操作系統的管理方法,以加深對問題的理解。 (3)注意加強對自主學習能力和動手能力的培養,努力實現「學以致用」的目標。

⑸ Linux下DHCP伺服器的配置(求大俠幫忙寫出來就行,還能追加分)

三.具體實驗:
任務一 簡述安裝DHCP伺服器的過程:
yum install -y dhcp.x86_64
或者rpm -ivh dhcp.x86_64

任務二 配置DHCP:
[root@test ~]# rpm -q dhcp
dhcp-4.1.1-30.P1.el6.x86_64
[root@test ~]# rpm -qc dhcp |grep conf
/etc/dhcp/dhcpd.conf
/etc/dhcp/dhcpd6.conf
/etc/sysconfig/dhcpd
/etc/sysconfig/dhcpd6
/etc/sysconfig/dhcrelay
[root@test ~]# vim /etc/dhcp/dhcpd.conf
修改為下面參數:
subnet 192.168.45.0 netmask 255.255.255.0 {
range 192.168.45.101 192.168.45.200;
option domain-name-servers 192.168.0.1;
option domain-name "ncie.org";
option routers 192.168.45.254;
option broadcast-address 192.168.45.255;
default-lease-time 720;
max-lease-time 2160;
}

四.思考題:
1.如果在一個子網內有多餘一台DHCP伺服器提供服務,結果會怎樣?
>> 如果一個子網內有多餘一台DHCP伺服器提供服務,結果有兩種可能:
a) 如果兩台DHCP伺服器的地址池不同,比如甲為192.168.45.101-192.168.45.200,乙為192.168.45.201-192.168.45.220,那麼網路可以正常使用,沒有任何問題.
b) 如果兩台DHCP伺服器的地址池相同,那麼會出現地址沖突的效果,比如PC1從甲獲取了192.168.45.201的地址,這個IP在甲中被保留,但在乙中這個地址還在地址池裡,那麼另一台PC2很有可能從乙獲取192.168.45.201,那麼PC1和PC2的地址沖突,就會影響兩台PC的正常網路通信.

純手工輸入,非復制粘貼...

⑹ linux LVM鏡像卷實驗遇到的問題

情況介紹:一、由於硬碟或者分區的操作方式其實都一樣,所以我這里就以分區為例。二、/home分區2.6G,由如下pv組成:/dev/sda5100M/dev/sda6200M/dev/sda7300M/dev/sda8400M/dev/sda9500M/dev/sda10600M/dev/sda11500M很碎對吧?^_^因為測試。三、隨機寫了一堆文件進去,用量達到了2G,空閑500M四、准備將sda6這個200M的PV卸掉(卸掉的容量必須小於空閑容量)好了開始具體操作了。卸載分區(縮小操作必須卸載才能進行):umount/home縮小分區:e2fsck-f/dev/liuhg_disk/homeresize2fs/dev/liuhg_disk/home2200M首先將分區縮小到2200M這是為了給sda6騰出空間,sda6為200M,而我騰出了400M,因此應該是足夠的。縮小邏輯卷:lvrece-L2200M/dev/liuhg_disk/home分區縮小了用到的邏輯卷也要隨著縮小,並查看PV使用的狀態:pvdisplay-m顯示如下:---Physicalvolume---PVName/dev/sda5VGNameliuhg_diskPVSize103.26MiB/notusable3.26MiBAllocatableyes(butfull)PESize4.-b4jc-OOfZ-f2QA-ttdQ-DZeD-Ce3rb3---PhysicalSegments---Physicalextent0to24:Logicalvolume/dev/liuhg_disk/homeLogicalextents0to24---Physicalvolume---PVName/dev/sda6VGNameliuhg_diskPVSize203.92MiB/notusable3.92MiBAllocatableyes(butfull)PESize4.00MiBTotalPE50FreePE0<-----太悲劇了,sda6里寫滿了數據一點不剩AllocatedPE50<-----這50PE的數據要挪走才行,否則數據就丟了,並且存放的地方也必須是連續的至少50PEPVUUIDS2ane6-nlFG-uSNR-35NP-Yxa6-cXRb-r8E8mK---PhysicalSegments---Physicalextent0to49:Logicalvolume/dev/liuhg_disk/homeLogicalextents25to74---Physicalvolume---PVName/dev/sda7VGNameliuhg_diskPVSize305.89MiB/notusable1.89MiBAllocatableyesPESize4.00MiBTotalPE76FreePE76<---這個分區有76個空餘,因此預計裝那50個是不會有問題的AllocatedPE0PVUUID9CFnlx-CAEw-CSul-Rig9-FiCN-zK0a-oGmTEP---PhysicalSegments---Physicalextent0to75:FREE---Physicalvolume---PVName/dev/sda8VGNameliuhg_diskPVSize407.87MiB/notusable3.87MiBAllocatableyesPESize4.-x2xr-2xLG-QQD4-jbtS-3C4i-xPn4Bl---PhysicalSegments---Physicalextent0to40:Logicalvolume/dev/liuhg_disk/:FREE---Physicalvolume---PVName/dev/sda9VGNameliuhg_diskPVSize509.84MiB/notusable1.84MiBAllocatableyes(butfull)PESize4.-oMKt-NEoJ-ojBK-2Csc-1dca-1mh6Ue---PhysicalSegments---Physicalextent0to126:Logicalvolume/dev/liuhg_disk/homeLogicalextents225to351---Physicalvolume---PVName/dev/sda10VGNameliuhg_diskPVSize603.98MiB/notusable3.98MiBAllocatableyes(butfull)PESize4.-A49n-M6HA-ZLXf-d8nS-pfZr-YeQsKT---PhysicalSegments---Physicalextent0to149:Logicalvolume/dev/liuhg_disk/homeLogicalextents75to224---Physicalvolume---PVName/dev/sda11VGNameliuhg_diskPVSize478.47MiB/notusable2.47MiBAllocatableyes(butfull)PESize4.-tDVx-dryX-KM1x-g96Y-sptI-9iUOcU---PhysicalSegments---Physicalextent0to118:Logicalvolume/dev/liuhg_disk/homeLogicalextents352to470將sda6設置為離線狀態:pvchange-xn/dev/sda6使用pvdisplay-m顯示如下:……---Physicalvolume---PVName/dev/sda6VGNameliuhg_diskPVSize203.92MiB/notusable3.92MiBAllocatableNO<-----表示已經關閉了該PVPESize4.-nlFG-uSNR-35NP-Yxa6-cXRb-r8E8mK……將sda6的數據移走:pvmove-i1/dev/sda6-i1是每1秒鍾報告一次數據遷移的進度。[root@liuhg/]#pvmove-i1/dev/sda6/dev/sda6:Moved:38.0%/dev/sda6:Moved:84.0%/dev/sda6:Moved:100.0%重新用pvdisplay-m顯示如下:……---Physicalvolume---PVName/dev/sda6VGNameliuhg_diskPVSize203.92MiB/notusable3.92MiBAllocatableNOPESize4.00MiBTotalPE50FreePE50<----顯示完全空閑和TotalPE數一致AllocatedPE0PVUUIDS2ane6-nlFG-uSNR-35NP-Yxa6-cXRb-r8E8mK……從卷組里把sda6刪除:[root@liuhg/]#vgreceliuhg_disk/dev/sda6Removed"/dev/sda6"fromvolumegroup"liuhg_disk"pvdisplay-m再看看吧:---NEWPhysicalvolume---<-----還告訴你這是一個新的PV^_^PVName/dev/sda6VGName<-----空了PVSize203.-nlFG-uSNR-35NP-Yxa6-cXRb-r8E8mK到此vgdisplay-v能看到已經沒有了/dev/sda6了。重新掛載/home[root@liuhg/]#mount/dev/liuhg_disk/home/home[root@liuhg/]#df-hFilesystemSizeUsedAvailUse%Mountedon/dev/sda12.0G546M1.3G30%/tmpfs504M0504M0%/dev/shm/dev/mapper/liuhg_disk-home2.2G1.8G42M98%/home進去看看數據,一個都沒丟。

⑺ 新手入門Linux的步驟

很多Linux初學者不知從何處開始學起,怎麼學,感覺很茫然。Linux菜鳥要成為Linux高手,要有一個好的學習計劃和規劃,參加正規培訓班,要不然時間花了很多,卻沒有效果。這里介紹學習Linux的步驟和建議,也可以咨詢老男孩教育,希望對初學者有幫助。
准備階段:(1)了解Linux是什麼,有什麼優缺點,發展歷史和現狀,應用領域;(2)趕快找一部計算機,趕快安裝一個 Linux 發行版本,要自己親手安裝一遍Linux操作系統(包括虛擬機的Linux環境和完整真實的Linux環境);(3)熟悉Linux環境和Linux基本操作
菜鳥階段之選教程:選擇一本好的工具書工具書對於學習者而言是相當重要的。如:跟老男孩學Linux運維,linux就該這樣學等。
菜鳥階段之系統命令:Linux命令是必須好好學習和經常使用,而不要經常去使用菜單操作。一定要養成在命令行下工作的習慣
中級階段之命令行習慣:養成在命令行下工作:一定要養成在命令行下工作的習慣,要不然沒法成為高手
中級階段之Linux系統結構理解、語言編程與英語:C語言、C++,QT,shell,makefile,java,vi編輯器使用。這些至少要精通一兩門編程語言吧
高級階段之網路編程:Linux是網路的代名詞,Linux網路服務功能非常強大,不論是郵件伺服器、Web伺服器、DNS伺服器等都非常完善。要增加自己Linux 的技能,只有通過實踐來實現了。所以學習Linux也一樣,如果你無法經常學習的話,學了後面的,前面的忘了。你對Linux命令熟悉後你可以開始搭建一個小的Linux網路,這是最好的實踐方法。 當然你不需搭建所有服務,可以慢慢來。需要說明的是這個Linux網路對於初學者有兩三台計算機即可。學好了學好學精了Linux的網路編程,可以肯定的告訴你,你已經是一個非常優秀的Linux人才或者「Linux高手」了
高級階段之嵌入式編程、底層驅動編程與內核源碼:成為Linux高手的重要的方向

⑻ linux系統怎麼分區和取卷標

Linux下常用的分區工具:
fdisk/sfdisk:命令行工具,各種版本和環境都能使用,包含在軟體包util-linux中
diskdruid:圖形化分區工具,只能在安裝REDHAT系統時使用。

下面我們開始實驗:
環境/工具:Fedora 14/256M內存卡;fdisk
第一步:fdisk
[root@novice ~]# fdisk -l /dev/sdb
Disk /dev/sdb: 254 MB, 254017536 bytes
8 heads, 61 sectors/track, 1016 cylinders, total 496128 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Device Boot Start End Blocks Id System

[root@novice ~]# fdisk /dev/sdb

Command (m for help): #在輸入上面的命令後會出現左邊的提示,輸入m就會得到一個幫助菜單,如下:
Command (m for help): m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)
#help雖然是英文的,可都很簡單,在這里不再解釋。

#現在,我們正式開始分區的操作:
Command (m for help): n #新建分區
Command action
e extended
p primary partition (1-4)
#e/p分別對應擴展分區 /主分區;我們先分四個主分區,每個50M;然後再來增加主分區或擴展分區,看會出現怎樣的狀況,嘿嘿。
p #分區類型為主分區
Partition number (1-4, default 1): 1 #分區號,在這里我們依次選擇1、2、3、4
First sector (2048-496127, default 2048): #指定分區的起始扇區,一般默認,按enter鍵即可。
Last sector, +sectors or +size{K,M,G} (2048-496127, default 496127): +50M #指定分區的終止扇區,根據前面的提示我們可以做出相應的選擇+sectors 或 +size{K,M,G}
Command (m for help): p #用p列印出已建好的分區列表

Disk /dev/sdb: 254 MB, 254017536 bytes
8 heads, 61 sectors/track, 1016 cylinders, total 496128 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Device Boot Start End Blocks Id System
/dev/sdb1 2048 104447 51200 83 Linux

#剩下的三個分區的建立操作同上
#分好四個主分區後的情況如下
Command (m for help): p

Disk /dev/sdb: 254 MB, 254017536 bytes
8 heads, 61 sectors/track, 1016 cylinders, total 496128 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Device Boot Start End Blocks Id System
/dev/sdb1 2048 104447 51200 83 Linux
/dev/sdb2 104448 206847 51200 83 Linux
/dev/sdb3 206848 309247 51200 83 Linux
/dev/sdb4 309248 309298 25+ 83 Linux
#已經建好四個主分區啦,現在我們來看看如果再建主分區或是擴展分區的話會出現怎樣的情況:
Command (m for help): n
You must delete some partition and add an extended partition first
#看到了吧,不能再建分區啦!要再建分區的話必須刪除some分區,再新建一個擴展分區才行。
#現在,我們刪掉一個主分區,來新建擴展分區
Command (m for help): d #刪除分區
Partition number (1-4): 4 #選擇要刪除分區的分區號,我們選第四個

Command (m for help): p #列印,如下,四個分區變成了三個!

Disk /dev/sdb: 254 MB, 254017536 bytes
8 heads, 61 sectors/track, 1016 cylinders, total 496128 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Device Boot Start End Blocks Id System
/dev/sdb1 2048 104447 51200 83 Linux
/dev/sdb2 104448 206847 51200 83 Linux
/dev/sdb3 206848 309247 51200 83 Linux

#新建一個擴展分區
#如果在沒有建滿三個主分的區的情況下建立擴展分區,相關選項會有些不同。
Command (m for help): n
Command action
e extended
p primary partition (1-4)
e
Selected partition 4
First sector (309248-496127, default 309248): #enter,默認
Using default value 309248
Last sector, +sectors or +size{K,M,G} (309248-496127, default 496127): #enter,默認,使用剩餘空間
Using default value 496127

Command (m for help): p

Disk /dev/sdb: 254 MB, 254017536 bytes
8 heads, 61 sectors/track, 1016 cylinders, total 496128 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Device Boot Start End Blocks Id System
/dev/sdb1 2048 104447 51200 83 Linux
/dev/sdb2 104448 206847 51200 83 Linux
/dev/sdb3 206848 309247 51200 83 Linux
/dev/sdb4 309248 496127 93440 5 Extended

#接下來,我們在新建的擴展分區里再新建兩個邏輯分區,因為已經有了三個主分區,這里不會再顯示是建立邏輯分區還是主分區的提示!
Command (m for help): n
First sector (311296-496127, default 311296): #enter
Using default value 311296
Last sector, +sectors or +size{K,M,G} (311296-496127, default 496127): +50M

Command (m for help): n
First sector (415744-496127, default 415744): #enter
Using default value 415744
Last sector, +sectors or +size{K,M,G} (415744-496127, default 496127): #enter
Using default value 496127

Command (m for help): p

Disk /dev/sdb: 254 MB, 254017536 bytes
8 heads, 61 sectors/track, 1016 cylinders, total 496128 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Device Boot Start End Blocks Id System
/dev/sdb1 2048 104447 51200 83 Linux
/dev/sdb2 104448 206847 51200 83 Linux
/dev/sdb3 206848 309247 51200 83 Linux
/dev/sdb4 309248 496127 93440 5 Extended
/dev/sdb5 311296 413695 51200 83 Linux
/dev/sdb6 415744 496127 40192 83 Linux
#上面的列表,就是我們今天分區的成果啦!接下來保存退出,重啟計算機,就可以進行下一步的mkfs操作啦!如果忘記了相關的操作命令,記得按m!!!
Command (m for help): w #保存
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

另:在建好分區後,我們還可以更改相關分區的文件系統類型
#如,我們要把第二個主分區改成Linux下的交換分區,操作如下
Command (m for help): t #更改文件系統類型
Partition number (1-6): 2 #選擇第二個分區
Hex code (type L to list codes): L #選擇要更改的文件系統編碼,可以按L來查看相關編碼信息。
0 Empty 24 NEC DOS 81 Minix / old Lin bf Solaris
1 FAT12 39 Plan 9 82 Linux swap / So c1 DRDOS/sec (FAT-
2 XENIX root 3c PartitionMagic 83 Linux c4 DRDOS/sec (FAT-
3 XENIX usr 40 Venix 80286 84 OS/2 hidden C: c6 DRDOS/sec (FAT-
............
16 Hidden FAT16 64 Novell Netware af HFS / HFS+ fb VMware VMFS
17 Hidden HPFS/NTF 65 Novell Netware b7 BSDI fs fc VMware VMKCORE
18 AST SmartSleep 70 DiskSecure Mult b8 BSDI swap fd Linux raid auto
1b Hidden W95 FAT3 75 PC/IX bb Boot Wizard hid fe LANstep
1c Hidden W95 FAT3 80 Old Minix be Solaris boot ff BBT
1e Hidden W95 FAT1
Hex code (type L to list codes): 82 #查找到linux swap的編碼為82
Changed system type of partition 2 to 82 (Linux swap / Solaris)
Command (m for help): p
..............
Device Boot Start End Blocks Id System
/dev/sdb1 2048 104447 51200 83 Linux
/dev/sdb2 104448 206847 51200 82 Linux swap / Solaris
/dev/sdb3 206848 309247 51200 83 Linux
/dev/sdb4 309248 496127 93440 5 Extended
/dev/sdb5 311296 413695 51200 83 Linux
/dev/sdb6 415744 496127 40192 83 Linux
#最後別忘了保存!如果你須要的話!
#擴展分區不能直接使用,邏輯分區只能建立在擴展分區上!

查看Linux系統中分區的卷標信息
可以通過e2label命令來實現:
用法: e2label device [新卷標]
示例:
e2label /dev/hdxn where x=a,b,c,d....; n=1,2,3...
[root@localhost ~]# e2label /dev/sda1

閱讀全文

與linux實驗二相關的資料

熱點內容
滴滴金融app被下架如何還款 瀏覽:210
jpg轉換成pdf免費軟體 瀏覽:741
范里安pdf 瀏覽:443
偽造pdf 瀏覽:75
能刪除android文件夾嗎 瀏覽:446
LINUX使用V2ray 瀏覽:797
找人幫忙注冊app推廣是什麼 瀏覽:820
獨立伺服器如何恢復初始化 瀏覽:11
優秀到不能被忽視pdf 瀏覽:316
導遊程序員家政 瀏覽:586
22乘28的快速演算法 瀏覽:338
軟通動力程序員節2021 瀏覽:845
安卓系統如何卸載安裝包 瀏覽:870
簡訊刪除助手文件夾 瀏覽:688
java辦公自動化 瀏覽:342
php中超鏈接 瀏覽:254
linux默認路由設置 瀏覽:36
linux如何掛載iso 瀏覽:432
vs程序換文件夾後不能編譯 瀏覽:558
安卓源碼編譯輸入腳本沒反應 瀏覽:47