馬哥linux作業--第五週

Q1:描述GPT是什麼,應該怎麼使用。

GPT:GUID Partition Table(全局唯一標識磁盤分區表),特點如下:

  • 支持2T以的大硬盤,按每個扇區512byte計算,最大支持2^64*512byte的容量。
  • 每個磁盤的分區個數不受限制(但Windows自己限制最多128個分區)。
  • 分區表自帶備份,在磁盤首尾各保存一份分區表,其中一份損壞,可用另一份恢復。
  • 支持唯一的分區ID,每個分區都有一個唯一的名字。
  • 在磁盤的第一個數據塊中有類似MBR的標記,叫PMBR,作用是保戶分區表。
  • Legacy BIOS搭配GPT使用時,因BIOS無法識別GPT分區,所以只能用於存儲數據,不能裝載操作系統。
  • UEFI搭配GPT使用時,可裝載操作系統。

Q2:創建一個10G的分區,並格式化爲ext4文件系統。要求:

1. block大小爲2048,預留空間20%,卷標爲MYDATA

2. 掛載至/mydata目錄,要求掛載時禁止程序自動運行,且不更新文件的訪問時間戳

3. 可開機自動掛載。

[~]# fdisk /dev/sdb 

    Command (m for help): n

    Select (default p): p

    Partition number (1-4, default 1): 1

    First sector (2048-41943039, default 2048):

    Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): +10G

    Command (m for help): w

[~]# partprobe
[~]# mke2fs -t ext4 -b 2048 -m 20 -L MYDATA /dev/sdb1
[~]# mkdir /mydata
[~]# mount -o noatime,noexec /dev/sdb1 /mydata

在/etc/fstab中追加如下內容:
/dev/sdb1   /mydata ext4    defaults,noatime,noexec  0   0

Q3:創建一個大小爲1Gswap分區,並啓用。

[~]# fdisk /dev/sdb
    Command (m for help): n
    Select (default p): p
    Partition number (2-4, default 2): 2
    First sector (20973568-41943039, default 20973568):
    Last sector, +sectors or +size{K,M,G} (20973568-41943039, default 41943039): +1G
    Command (m for help): t
    Partition number (1,2, default 2): 2
    Hex code (type L to list all codes): 82
    Command (m for help): w
[~]# partprobe
[~]# mkswap /dev/sdb2
[~]# swapon /dev/sdb2

Q4:編寫腳本計算/etc/passwd/文件中第10個用戶和第20個用戶id號之和。

#! /usr/bin/env bash

uid1=`head -10 /etc/passwd | tail -1 | cut -d ':' -f 3`
uid2=`head -20 /etc/passwd | tail -1 | cut -d ':' -f 3`

sum=$[$uid1+$uid2]
echo "sum = $sum"

Q5:將當前主機名保存至hostName變量中,主機名如果爲,或者爲localhost.localdomain,則將設置爲www.magedu.com

[ -z "$hostName" -o "$hostName" == "localhost.localdomain" ] && hostname www.magedu.com

Q6:編寫腳本,通過命令行參數傳入一個用戶名,判斷id號是偶數還是奇數。

#! /usr/bin/env bash

if [ $# -ne 1 ]; then
    echo "Usage: $0 USERNAME"
    exit -1
fi

uid=`id -u $1 2>/dev/null`

if [ $? -ne 0 ]; then
    echo "user $0 is not exists"
    exit -2
fi

[ $[$uid % 2] -eq 0 ] && echo "the uid of $1 is even" || echo"the uid of $1 is odd"

Q7:lvm基本應用及擴展縮減實現。

  1. 準備工作:先創建兩個分區/dev/sdb[12],大小分別爲3G,10G。
  2. 創建一個2G大小的lvm,並格式化爲ext4文件系統。
    [~]# pvcreate /dev/sdb1
    [~]# vgcreate myvg /dev/sdb1
    [~]# lvcreate -n mylv -L 2G myvg
    [~]# mke2fs -t ext4 /dev/myvg/mylv
  3. 將該lvm擴容到5G
    [~]# pvcreate /dev/sdb2
    [~]# vgextend myvg /dev/sdb2 
    [~]# lvextend -L +3G /dev/myvg/mylv
    [~]# resize2fs /dev/myvg/mylv
  4. 將該lvm縮容到1G
    [~]# resize2fs /dev/myvg/mylv 1G
    [~]# e2fsck -f /dev/myvg/mylv
    [~]# lvreduce -L 1G /dev/myvg/mylv
  5. 卸載lvm
    [~]# lvremove /dev/myvg/mylv
    [~]# vgremove myvg
    [~]# pvremove /dev/sdb1
    [~]# pvremove /dev/sdb2
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章