第四周作业


1、描述GPT是什么,应该怎么使用。
2、创建一个10G的分区,并格式化为ext4文件系统。要求:
(1)block大小为2048,预留空间20%,卷标为MYDATA,
(2) 挂载至/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳。
(3)可开机自动挂载。
3、创建一个大小为1G的swap分区,并启用。
4、编写脚本计算/etc/passwd文件中第10个用户和第20个用户id号之和。
5、将当前主机名保存至hostName变量中,主机名如果为空,或者为localhost.localdomain则将设置为www.magedu.com
6、编写脚本,通过命令行参数传入一个用户名,判断id号是偶数还是奇数。
7、lvm基本应用以及扩展缩减实现。

壹、描述GPT是什么,应该怎么使用。

GUID磁盘分区表(GUID Partition Table,缩写:GPT)其含义为“全局唯一标识磁盘分区表”,是一个实体硬盘的分区表的结构布局的标准。它是可扩展固件接口(EFI)标准(被Intel用于替代个人计算机的BIOS)的一部分,被用于替代BIOS系统中的一64bits来存储逻辑块地址和大小信息的主开机纪录(MBR)分区表。MBR分区表不支持容量大于2TB的分区,GPT分区表支持最多128PB的硬盘和分区。GPT 磁盘能够实现巨大的容量。GPT 磁盘上的分区数量不受临时方案(比如 MBR Extended Boot Record (EBR) 定义的容器分区)的限制。GPT 磁盘分区定义明确并能够完全自动识别。平台操作的关键数据被放置在分区中而不是未分区或“隐藏”扇区中。GPT 磁盘使用原始的、备份的分区表存储冗余和 CRC32 字段,以提高分区数据结构的完整性。GPT 分区格式使用版本号和容量字段支持进一步的扩展。每个 GPT 分区都有独特的标识 GUID 和分区内容类型,所以不需要协调即可防止分区标识符冲突。每个 GPT 分区都有一个 36 字符的 Unicode 名称,这意味着任何软件都能够呈现一个人工可读的分区名称,而无需了解分区的其他内容。

对于总容量大于2TB的硬盘,必须选择GPT分区表,才能识别所有的硬盘容量。分区表必须是UEFI BIOS环境。


贰、创建一个10G的分区,并格式化为ext4文件系统。要求:

(1)block大小为2048,预留空间20%,卷标为MYDATA,
(2) 挂载至/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳。
(3)可开机自动挂载。

步骤如下: 先分区,后格式化

------分区------

新增一个硬盘 并查看新增硬盘信息:

~]# fdisk -l sdb为新添加的硬盘:

fdisk /dev/sdb对新加硬盘分区
输入m可以查看帮助
新建10G磁盘空间 ,再输入 w 保存配置

------格式化------

mkfs 用于在设备上(通常为硬盘)创建Linux文件系统。mkfs本身并不执行建立文件系统的工作,而是去调用相关的程序来执行。

【语法】

mkfs(选项)(参数)

【选项】

fs:指定建立文件系统时的参数;
-t<文件系统类型>:指定要建立何种文件系统,文件系统是要指定的,比如 ext3 ;reiserfs ;ext2 ;fat32 ;msdos 等;
-v:显示版本信息与详细的使用方法;
-V:显示简要的使用方法;
-c:在制做档案系统前,检查该partition是否有坏轨。

mkfs.ext4(选项)(参数)

【选项】
-c 坏块测试
-L 设置volume 标签,最长为16个byte
-m 指定保留空间百分比,为root用户
-M 设置最后挂载目录
-n 不真正创建文件系统,只是显示创建的信息
-S 只写超级块和块组描述符。(当超级块和备份超级块错误后,可以用来恢复数据。因为它不会touching inode表和bitmap)

挂载至/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳。
可开机自动挂载

ls -l /dev/disk/by-uuid 查询新增硬盘uuid
/etc/fstab 中添加以下内容

UUID=bd6e7c18-1071-4962-a071-febddabc4d49 /mydata                 ext4    defaults,noatime,noexec   0 0  


叁、创建一个大小为1G的swap分区,并启用。

采用分区创建

此时/dev/下没有新增的分区,运行 partprobe 即可. partprobe-----用于重读分区表,当出现删除文件后,出现仍然占用空间。可以partprobe在不重启的情况下重读分区。

=====================================

采用文件创建

肆、编写脚本计算/etc/passwd文件中第10个用户和第20个用户id号之和。

#!/bin/bash
users1=$(cat /etc/passwd|wc -l)
[ $users1 -lt 20 ] && echo "less than 20users" && exit 2
userid10=$(head -n 10 /etc/passwd | tail -n 1 | cut -f 3 -d ":")
userid20=$(head -n 20 /etc/passwd | tail -n 1 | cut -f 3 -d ":")
usersum=$[$userid10+$userid20]

echo "the 10th user id is $userid10"
echo "the 20th user id is $userid20"
echo "the sum is $usersum"

运行结果如下



伍、将当前主机名保存至hostName变量中,主机名如果为空,或者为localhost.localdomain则将设置为www.magedu.com

#!/bin/bash
hostName=$(hostname)
[ "$hostName" == "localhost.localdomain" -o -z "hostName" -o -n "hostname" ] && hostnamectl set-hostname www.magedu.com;echo 'hostName='$hostName || echo "nothing to be change"

陆、编写脚本,通过命令行参数传入一个用户名,判断id号是偶数还是奇数。

#!/bin/bash  
#第四周陆、编写脚本,通过命令行参数传入一个用户名,判断id号是偶数还是奇数。
read -p "Enter a username: " usename
id=$(cat /etc/passwd |grep $username |cut -f3 -d:)
echo "The user \"$username\" id is $id"
[ `expr $id % 2` -eq 0 ] && echo "this id is even number" || echo "this id is odd number"   

柒、lvm基本应用以及扩展缩减实现。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章