您的位置:首页 > 运维架构 > Linux

马哥linux作业--第五周

2018-12-10 17:35 344 查看

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:创建一个大小为
1G
swap
分区,并启用。

[~]# 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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  马哥 第五周