第四周作業 N36006 12954530

2022-09-23 06:42:09 字數 3600 閱讀 9594

一、描述gpt是什麼,應該怎麼使用gpt也是一種磁碟分割槽表,是用來替代儲存空間有侷限性的mbr分割槽表的一種更先進的磁碟分割槽表。

guid磁碟分割槽表(guid partition table,縮寫:gpt)其含義為「全域性唯一標識磁碟分割槽表」,是乙個實體硬碟的分割槽表的結構布局的標準。它是可擴充套件韌體介面(efi)標準(被intel用於替代個人計算機的bios)的一部分,被用於替代bios系統中的一64bits來儲存邏輯塊位址和大小資訊的主開機紀錄(mbr)分割槽表。

mbr支援最大2tb磁碟,它無法處理大於2tb容量的磁碟。mbr還只支援最多4個主分割槽。如果要更多分割槽,要新建「擴充套件分割槽」,並在其中建立邏輯分割槽。而gpt則沒有mbr的那些限制。磁碟驅動器容量可以大得多。它同時還支援幾乎無限個分割槽數量,限制只在於作業系統,windows支援最多128個gpt分割槽。通過uefi,所有64位的系統都能從gpt啟動。

gpt會為每乙個分割槽分配乙個全域性唯一的識別符號,在每乙個分割槽上,這個識別符號是乙個隨機生成的字串,可以保證為地球上的每乙個gpt分割槽都分配完全唯一的識別符號。

在安全性方面,gpt分割槽表也進行了全方位改進。gpt在整個磁碟上儲存多個這部分資訊的副本,因此它更為健壯,並可以恢復被破壞的這部分資訊。gpt還為這些資訊儲存了迴圈冗餘校驗碼(crc)以保證其完整和正確——如果資料被破壞,gpt會發覺這些破壞,並從磁碟上的其他地方進行恢復。

總結下來就是:

1、支援2tb以上的大硬碟。

2、每個磁碟的分割槽個數幾乎沒有限制(windows系統最多隻允許劃分128個分割槽)。

3、分割槽大小幾乎沒有限制,因為它用64位的整數表示扇區號。

4、分割槽表自帶備份,在磁碟的首尾部分分別儲存了乙份相同的分割槽表,其中乙份被破壞後,可以通過另乙份恢復。

5、每個分割槽可以有乙個名稱(不同於卷標)。

gpt的在linux上的使用方式:

1、首先新增一塊空硬碟到linux中,並重啟

2、使用parted建立gpt分割槽表,建立乙個新分割槽,使用所有空間。

[root@centos ~]# parted /dev/sdb

gnu parted 3.1

using /dev/sdb

welcome to gnu parted! type 'help' to view a list of commands.

(parted) mklabel gpt 切換為gpt分割槽模式,

yes(parted) print 檢視是否切換成功,partition table:gpt 表示 成功

(parted) mkpart test 0 100% 建立的分割槽名稱(test)和分 區大小(0-100%)

ignore

(parted) quit

即可建立乙個為gpt格式的分割槽,使用fdisk -l /dev/sdb 查 看type為gpt。

3、將新分割槽格式化,即可掛載使用。二、建立乙個10g的分割槽,並格式化為ext4檔案系統。要求1、block大小為2048,預留空間20%,卷標為mydata

2、掛載至/mydata目錄,要求掛載時禁止程式自動執行,且不更新檔案的訪問時間戳

3、可開機自動掛載

首先往linux系統中新增一塊至少10g的硬碟,

fdisk /dev/sdb

n 建立分割槽

p或e 輸入分割槽型別,p為主分割槽,e為邏輯分割槽

1 輸入分割槽號

2048或回車 輸入分割槽起始扇區

+#或回車 輸入建立分割槽大小,回車表示全部建立

w 儲存分割槽資訊並退出

使用partx -a /dev/sdb 執行兩次此命令,讓核心識別新建分割槽

cat /proc/partitions 檢視核心是否已識別了新分割槽

mke2fs -t ext4 -b 2048 -l mydata -m 20 /dev/sdb 分割槽格式化建立ext4檔案系統,塊大小為2048,卷標名為mydata,預留空間為20%。

mkdir /mydata 建立掛載目錄

mount -o noexec,noatime /dev/sdb1 /mydata 掛載裝置sdb1至/mydata,掛載時不更新檔案訪問時間戳和不自動執行

vim /etc/fstab 編輯開機自動掛載檔案,把sdb1按照檔案格式新增進去,實現開機自動掛載。

/dev/sdb1 /mydata ext4 defaults,noatime,noexec 0 0

mount -a 自動掛載fstab檔案中的裝置。三、建立乙個大小為10g的swap分割槽,並啟用1、給系統新增乙個塊10g的硬碟或是建立乙個10g的分割槽

2、使用free -m命令檢視當前系統的swap分割槽大小

3、使用fdisk -l 檢視新新增的硬碟塊裝置名稱,按照系統上硬碟順序,第2塊為/dev/sdb 第3塊/dev/sdc,依次類推;

例:如果新增的硬碟為/dev/sdb

首先建立swap分割槽

fdisk /dev/sdb 進入磁碟分割槽管理介面

n 建立新分割槽

p 建立主分割槽

1或直接"**回車**"選擇預設 選擇建立的分割槽號

直接「**回車**」選擇預設 起始扇區的位置

+10g 扇區的大小可以使用+m,g,t或直接「**回車**」選擇預設所 有的空間或輸入扇區號。

t 更改分割槽型別

82 更改給linux swap 分割槽型別

p 檢視分割槽型別是否為linux swap,如果不是重新使用 t 來更 改分割槽型別

w 儲存退出

使用partx -a /dev/sdb1 讓核心讀取分割槽表,執行兩次此命令,然後使用cat /proc/partitions 確認核心已經識別到sdb1分割槽

4、使用mkswap /dev/sdb1 建立交換分割槽檔案系統

5、使用swapon /dev/sdb1 啟用swap分割槽

使用free -m 檢視現在的分割槽大小,與之前的分割槽做對比,增加了說明新增成功了

使用swapoff /dev/sdb1 禁用增加的swap分割槽。四、編寫乙個指令碼計算/etc/passwd檔案中第10個使用者和第20個使用者id之和使用vim編輯器編輯指令碼,指令碼命令格式為*.sh,指令碼格式第一行頂格寫#!/bin/bash

vim passwdsum.sh

#!/bin/bash

#the is passwd line 10 and line 20 userid summary.

user10=$(head -10 /etc/passwd | tail -1 | cut -d: -f3)

echo "passwd line 10 userid:$user10"

user20=$(head -20 /etc/passwd | tail -1 | cut -d: -f3)

echo "passwd line 20 userid:$user20"

passwdsum=$[$user10+$user20]

echo "the passwd line id summary:$passwdsum"五、將當前主機名儲存至hostname變數中,主機名如果為空,或者為localhost.localdomain則將設定為www.magedu.com

第四周作業

第四周實驗作業 1.完成課本每乙個程式設計題。要求先畫出流程演算法圖或n s圖,然後程式設計實現,有可能的話使用兩種以上方法 1.1求自然對數e的近似值 include using namespace std int main cout 1.2求圓周率 的近似值 include using name...

第四周作業

實驗作業1.完成課本每乙個程式設計題。要求先畫出流程演算法圖或n s圖,然後程式設計實現,有可能的話使用兩種以上方法 2.程式設計求 百錢百雞 問題。雞翁一值錢五,雞母 一值錢三,雞雛三值錢一。百錢買百雞,問雞翁 雞母 雞雛各幾何?3.程式設計輸入乙個整數,計算它是幾位數字,分別輸出每一位數字,並輸...

第四周作業

實驗作業1.完成課本每乙個程式設計題。要求先畫出流程演算法圖或n s圖,然後程式設計實現,有可能的話使用兩種以上方法 2.程式設計求 百錢百雞 問題。雞翁一值錢五,雞母 一值錢三,雞雛三值錢一。百錢買百雞,問雞翁 雞母 雞雛各幾何?3.程式設計輸入乙個整數,計算它是幾位數字,分別輸出每一位數字,並輸...