第5章 Linxu磁碟

2021-10-09 22:17:29 字數 4782 閱讀 1211

5-1 linux中的磁碟
磁碟分割槽:將硬碟劃分成多個邏輯儲存單元。

邏輯儲存單元:分割槽

分割槽的益處:

1、限制應用或使用者的可用空間

2、允許同一塊硬碟安裝不同的作業系統

3、可以給虛擬記憶體乙個單獨的分割槽

4、提高硬碟的使用效能

mbr-main boot record (主引導記錄) :告訴硬碟如何進行分割槽,寫在磁碟的第乙個扇區中

特點:1、支援4個主分割槽

2、使用擴充套件分割槽和邏輯分割槽可以支援15個分割槽

3、允許最大分割槽和磁碟大小為2t

fdisk來進行分割槽

ide介面硬碟:/dev/dh[a-z] scsi介面硬碟:/dev/sd[a-z]

n(新建) >p(建立主分割槽)>分割槽編號》起始扇區》設定分割槽大小》p(檢視)>w(儲存)

d:刪除

先分割槽核心重新讀取新的分割槽表

[root@localhost ~]# partprobe /dev/sdb

建立檔案系統, linux支援很多檔案系統, ext4和xfs

mkfs.ext4 / dev / sdb1

掛載,將檔案系統連線到目錄結構中–將目錄和乙個硬碟進行掛鉤

掛載:手動掛載:重啟後會失效。用於檢測已經格式化的裝置,是否可以和預期一樣的進行工作 mount檔案系統掛載點(目錄)

永久掛載:就要將裝置新增到/etc/fstab中去了

永久掛載-檔案格式

該檔案由六個部分組成

第一部分:要使用的裝置一可以使用uuid,也可以使用裝置檔案

blkid//檢視裝置的uuid號

bikid主要用來對系統的塊裝置(包括交換分割槽)所使用的檔案系統型別、label,uuid等資訊進行查詢。要使用這不命令必須安裝e2fsprogs軟體包。

第二部分:寫掛載點,已經存在直接寫,不存在使用mkdir來建立

第三部分:檔案系統型別

第四部分:掛載時,應用於裝置的自定義選項, defaults是必須的

第五和第六部分:轉存標誌和sck順序轉存標誌;用於至成裝置內容的備份

0:表示不需要備份

1:表示需要備份

fsck:當有多個檔案系統需要檢查時,檢查的順序。

0表示不需要檢查,開機直接掛載

1表示檢查後第乙個掛載

2表示檢查後第二個掛載

使用mount -a命令檢查書寫格式是否有誤–否則開不了機進入,並發出警告。

5-6 swap分割槽1
交換空間-swap

交換空間一虛擬記憶體

物理記憶體 交換分割槽(swap)

1、存放記憶體中不活動的資訊 <=4g 至少4g

2、記憶體寫滿時,使用 4–16g 至少8g

3、如果虛擬記憶體寫滿,那麼linu會非常卡,甚至崩潰 16–64g 至少16g

64–256g 至少32g

建立步驟

1、建立分割槽

2、將分割槽型別設為swap-fdiskt (修改分割槽型別)

3、格式化-mkswap分割槽

4、掛載:臨時和永久(ect/fstab)

臨時:free命令:檢視可用的記憶體和虛擬記憶體空間

swapon命令:啟用記憶體空間

5-8 邏輯卷
邏輯卷-lv

邏輯卷和邏輯分割槽不是同乙個概念
邏4牲的作用:

e富的外區如果寫滿了,我們就可以要把資料匯入到更大的磁碟中,工作量非常大,而且十分危險。

邏輯卷管理器(lvm)可以更加輕鬆的管理磁碟空間,來輕鬆的解決乙個問題。

物理卷(pv) ;用於註冊基礎物理裝置,對映到物理裝置

捲組(vg) :儲存池,由乙個或多個物理卷組成

邏輯卷(lv) :根據卷租中空閒的物理空間進行分配

建立邏輯卷步驟

檢視物理卷資訊–pvdisplay /dev/sdb1

檢視捲組資訊–vgdisplay lewis

檢視邏輯卷資訊–lvdisplay /dev/lewis/lewis-lv

擴充套件和減少邏輯卷大小-ext4檔案系統

·如果捲組還有空間,直接給邏輯卷增加大小

lvextend -l+20m /dev/lewis/lewis-lv //增加20m

2, resize2fs /dev/lewis/lewis-lv //使增加的生效

·如果捲組空間不夠,需要先增加卷租空間,在增加邏輯卷大小

1、準備物理裝置-fdisk, partprobe, mkfs.ext4

2、建立物理卷

3、給原來的捲組增加物理卷-vgextend lewis /dev/sdb2,然後vgdisplay

擴充套件和減少邏輯卷大小-xfs檔案系統

如果捲組還有空間,直接給邏輯卷增加大小

lvextend -l+20m /dev/lewis/lewis-lv //增加20m

xfs_growfs /dev/lewis/lewis-lv//使增加的生效

·如果捲組空間不夠,需要先增加卷租空間,在增加邏輯卷大小

1、準備物理裝置-fdisk, partprobe, mkfs.ext4

2、建立物理卷

3、給原來的捲組增加物理卷-vgextend lewis /dev/sdb2,然後vgdisplay

刪除邏輯卷步驟:

1、取消掛載, umount /mnt/lewis-lv/,同時要刪除/etc/stable檔案中的內容

2、刪除邏輯卷, lvremove/dev/lewis/abc

3、刪除捲組; vgremove lewis

4、刪除物理卷, pvremove/dev/sdb1

5-14 linux的開機過程
開機過程

1、載入bios

系統韌體載入bios基本輸入輸出系統),然後進行開機自檢(post),並開始初始化部分硬體;

bios:basic input output system,它是一套程式,寫死到主機板上的乙個記憶體晶元中,這個記憶體晶元在沒有通電的情況下也能將資料記錄下來(rom,非揮發性)

2、讀取mbr

系統韌體搜尋磁碟上的主啟動記錄(mbr)

由於我們的系統軟體太多放置在硬碟中,所以bois會指定啟動的裝置:好讓我們可以讀取磁碟中的作業系統核心檔案,這時候就需夏乙個引導裝載程式來處理核心檔案加裁(load)的問題,這不引等裝載程式就被稱為bootloader.

那這個bootloader放在**呢?

就放在我們系統上第乙個硬碟上的第乙個扇區裡面.也就是我們說的mbr:masterbootrecord.

3、啟動載入器(grub2)

系統韌體從磁碟中讀取啟動載入器(boot loader),然後將系統控制權交給啟動載入器。

在7中,我們的bootloader是通過乙個 grub程式來實現的.

現在是grub2.0,前一版本是grub0.97.

grub2的主要功能:

1、提供選單:選擇不同的啟動選項;

2、載入核心檔案:直接指向可啟動的程式區段來開始os;

3、轉交其他loader(多系統時)。

4、顯示選單

啟動載入器從我們的磁碟中載入其配置,然後向使用者顯示用於啟動的可能配置的選單,這就是我們在開機的時候會看到的讓你上下選擇什麼什麼版本啊,什麼什麼東西的那個介面。

艾爾我們可通過以下方式進行配置:

k的/etc/grub.d/

/etc/default/grub

/boot/grub2/grub.cfg(非手動)

5、載入核心

在使用者做出選擇(超時)後,啟動載入器會從磁碟中載入配置的核心及initramfs,並將其置於記憶體中;

然5initramfs是乙個歸檔檔案,裡面包含了啟動時所需要的必要硬體的核心莫塊、初始化指令碼等等。在rhel7中, initramfs得到了加強,包含自身苛角的整個系統。

所6、系統內部傳遞資訊

克羅這時候我們的啟動載入器又將系統控制權交給核心,從而傳遞啟動載入器的核心命令列中指定的任何選項,以及initramfs在核心中的位置。

7、初始化

核心這時候會在initramfs中找到驅動程式的所有硬體,並且初始化它,然後作為pid1從initramfs中執行/sbin/init.

pid1就是systemd,代表的是系統啟動的第乙個使用者級程序,是所有其他程序的父程序。

8、執行單元

初始化完成後,我們的systemd會執行initrd.target目標的所有檔案,這些所有的東西都包括在/sysroot上掛載實際的root檔案系統中。

9、系統回歸

接下來核心root檔案系統會回到之前掛載於/sysroot上的系統root檔案系統,然後就是我們systemd的事情了,它會使用系統中安裝的systemd副本來自行重新執行。

10,開機介面

我們們熟悉的輸入賬號密碼的介面了

55-15 root密碼破解

root密碼破解-基於紅帽7

1、開機按e進入編輯模式

2、選擇linux16那一行,然後游標移到這一行末尾,新增乙個引數rd.break.

3、然後按ctrltx執行。執行之後會進入乙個shell介面

4、設定root密碼。設定密碼一共5步:

1、重新掛載根目錄為讀寫模式mount -o remount,rw /sysroot

2、切換到系統真正的根chroot /sysroot

3、修改密碼passwd root

4、 selinux給所有資料夾標籤,必須要有autorelabel檔案。touch / .autorelabel

5、退出編輯模式(兩次),系統會自動重啟exit兩次

Linxu核心設計與實現 第5章 系統呼叫

使用者程序與核心互動的介面,使應用程式受限的訪問硬體裝置,提供了建立新程序並與已有程序通訊的機制,也提供了申請作業系統其它資源的能力。應用程式發出請求,核心來滿足這些請求,或者返回乙個錯誤。1 系統呼叫在使用者空間和硬體裝置之間新增了乙個中間層 為使用者空間提供抽象的介面 保證了系統的穩定與安全 2...

5 第 5 章 迴圈

1.可以用迴圈來驗證輸入。在迴圈前的第一次讀取操作,稱為啟動讀取,如果後續還需要繼續讀取,則語句應該在迴圈中。2.在實際程式設計應用中,不建議在 cout 語句中放置遞增或遞減運算子 因為容易出錯 3.需要計數時使用計數器,需要累計彙總時使用累加器。4.標記符號是乙個特殊值,指示著值列表的結尾。一般...

第5章 方法

方法的結構 方法是一塊具有名稱的 可以使用方法的名稱從別的地方執行 也可以把資料傳入方法並接受資料輸出。方法是類的函式成員。方法有兩個主要部分,方法頭和方法體。方法頭指定方法的特徵,包括 方法是否返回資料,如果返回,返回什麼型別 方法的名稱 哪種型別的資料可以傳遞給方法或從方法返回,以及應如何處理這...