一、描述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或回车 输入分区起始扇区
       +#{K,M,G,T}或回车 输入创建分区大小,回车表示全部创建
       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