1. Describe what GPT that should be how to use?
There are disk partition MBR and GPT ( the GUID of the Table Partition) formats. GPT support 2T or more partitions. If you want to use the GPT partition format to start installing Linux system, you need to type inst.gpt this parameter.
Use GPT partitions, use the tool gdisk
gdisk / dev / sda
Type? Getting Help
Command (? for help): ?
b back up GPT data to a file
c change a partition's name
d delete a partition
i show detailed information on a partition
l list known partition types
n add a new partition
o create a new empty GUID partition table (GPT)
p print the partition table
q quit without saving changes
r recovery and transformation options (experts only)
s sort partitions
t change a partition's type code
v verify disk
w write table to disk and exit
x extra functionality (experts only)
? print this menu
gdisk inside the operational commands and fdisk similar, the only difference is that there is no concept of GPT partition primary and extended partitions directly with n Create a new partition.
2. Create a 10G partition, and format for the ext4 file system. Claim:
(1) block size of 2048, 20% reserve space, the volume label MYDATA,
(2) mounted to / mydata directory, to ban the program to run automatically when the mount, and does not update the access time stamp of the file.
(3) can be switched automatically mounted.
This operation is realized in the GPT partitioning, virtual machine due to lack of space, where instead of using 1G operation
Use the p command to view the disk space remains in the 7G
Use n to create a new partition
Partition number (5-128, default 5): 5 First sector (34-83886046, default = 67123200) or {+-}size{KMGTP}:
Here you can default
Last sector (67123200-83886046, default = 83886046) or {+-}size{KMGTP}: +1G
Space is 1G
Current type is 'Linux filesystem'
The default is Linux filesystem, or use l see which file format to use
Use Save w
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sda.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.
Display has been created
At this time we create a new partition is / dev / sda5
The sda5 set ext4 file system, block size of 2048, 20% reserve space, the volume label MYDATA
# mke2fs -t ext4 -b 2048 -L MYDATA -m 2 /dev/sda5
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=MYDATA
OS type: Linux
Block size=2048 (log=1)
Fragment size=2048 (log=1)
Stride=0 blocks, Stripe width=0 blocks
65536 inodes, 524288 blocks
10485 blocks (2.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=268959744
32 block groups
16384 blocks per group, 16384 fragments per group
2048 inodes per group
Superblock backups stored on blocks:
16384, 49152, 81920, 114688, 147456, 409600, 442368
Allocating group tables: done
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done
Mount to / mydata directory, to ban the program to run automatically when the mount, and does not update the file access time stamps
Creating / mydata directory, then mount
mount -o noexec,noatime /dev/sda5 /MYDATA
Use the mount command to view
/dev/sda5 on /MYDATA type ext4 (rw,noexec,noatime,seclabel,data=ordered) [MYDATA]
It has been mounted display
Set the boot automatically mount:
Edit / etc / fstab
3. Create a swap partition size for the 1G and enable
First, create a swap partition, swap id for the 8200 Linux swap
Partition number (6-128, default 6): 6
First sector (34-83886046, default = 69220352) or {+-}size{KMGTP}:
Last sector (69220352-83886046, default = 83886046) or {+-}size{KMGTP}: +1G
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): 8200
Changed type of partition to 'Linux swap'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Command (? for help): p
Disk /dev/sda: 83886080 sectors, 40.0 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): F9D4B838-0570-45A2-B337-DDB7FF9E49DA
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 83886046
Partitions will be aligned on 2048-sector boundaries
Total free space is 12570557 sectors (6.0 GiB)
新的分区创建完毕
Number Start (sector) End (sector) Size Code Name
1 2048 6143 2.0 MiB EF02
2 6144 2103295 1024.0 MiB 0700
3 2103296 65026047 30.0 GiB 8E00
4 65026048 67123199 1024.0 MiB 8300 Linux filesystem
5 67123200 69220351 1024.0 MiB 8300 Linux filesystem
6 69220352 71317503 1024.0 MiB 8200 Linux swap
创新新的swap文件系统
mkswap /dev/sda6 Setting up swapspace version 1, size = 1048572 KiB no label, UUID=100f6e29-caa2-4f7f-8eab-9e54b5fc9228
启用该swap
-----After creating the swap area, you need the swapon command to start using it.
swapon /dev/sda6
4. 编写脚本计算/etc/passwd文件中第10个用户和第20个用户id号之和
#!/bin/bash # calculate the sum of 10th user's uid and 20th user's uid from /etc/passwd user10_uid=$(head -10 /etc/passwd | tail -1 | cut -d : -f 3) echo "user10 uid: $user10_uid" user20_uid=$(head -20 /etc/passwd | tail -1 | cut -d : -f 3) echo "user20_uid: $user20_uid" sum_uid=$[$user10_uid+$user20_uid] echo "the sum is $sum_uid"
执行这个shell脚本
bash /scripts/sum1020uid.sh
user10 uid: 10
user20_uid: 69
the sum is 79
5. 将当前主机名保存至hostName变量中,主机名如果为空,或者为localhost.localdomain则将设置为www.magedu.com
#!/bin/bash #change the hostname to www.magedu.com if the hostname is null or localhost.localdomain hostName=$(hostname) if [ -z "$hostName" -o "$hostName"=="localhost.localdomain" ];then hostname www.magedu.com fi hostname
执行前
# hostname
localhost.localdomain
执行后的情况
# hostname
6. 编写脚本,通过命令行参数传入一个名户名,判断id号是偶数还是奇数。
#!/bin/bash #input a username from command, get its uid, then judge whether it is even or odd if [ $# -eq 1 ]; then userid=$(id -u $1) if [ $[$userid%2] -eq 1 ];then echo "userid:$userid is odd" else echo "userid:$userid is even" fi else echo "error" fi [donguser@study script]$ bash idorreven.sh testuser2 userid:5007 is odd [donguser@study script]$ bash idorreven.sh testuser1 userid:5006 is even
7 lvm基本应用以及扩展缩减实现
lvm:logical volume manager, 特点是可以弹性的调整文件系统的容量。lVM将几个物理分区通过软件组合成一个独立的大磁盘(volume group), 然后将这块大磁盘划分成可用的分区(LV logical volume),最终挂载使用。几个概念:
PV:physical volume 物理卷 首先需要将分区的system id设置为8e,即LVM的标识符,然后通过pvcreate将其转化为PV
VG:volume group 许多PV组合成VG
现有分区
将sda4 sda5转换为LVM格式
Command (? for help): t
Partition number (1-6): 4
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): 8e00
Changed type of partition to 'Linux LVM'
Command (? for help): t
Partition number (1-6): 5
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): 8e00
Changed type of partition to 'Linux LVM'
转换后的结果
将sda4,sda5创建为pv
# pvcreate /dev/sda[4,5]
查看现在pv分区
下一步创建V
# vgcreate myvg /dev/sda[4,5] Volume group "myvg" successfully created # pvscan PV /dev/sda4 VG myvg lvm2 [1020.00 MiB / 1020.00 MiB free] PV /dev/sda5 VG myvg lvm2 [1020.00 MiB / 1020.00 MiB free] PV /dev/sda3 VG centos lvm2 [30.00 GiB / 14.00 GiB free] Total: 3 [31.99 GiB] / in use: 3 [31.99 GiB] / in no VG: 0 [0 ]
可以看到sda4 sda5已经被划到myvg里面
显示myvg的情况
# vgdisplay myvg --- Volume group --- VG Name myvg System ID Format lvm2 Metadata Areas 2 Metadata Sequence No 1 VG Access read/write VG Status resizable MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 2 Act PV 2 VG Size 1.99 GiB PE Size 4.00 MiB Total PE 510 Alloc PE / Size 0 / 0 Free PE / Size 510 / 1.99 GiB VG UUID OOkTqc-AWUM-tIGq-Huig-7Av0-2pb6-YfEedA
查看myvg的情况,VG size为1.99G
如果想要扩展myvg的容量,例如增加1G
先创建一个新的1G分区
sda7为新创建的1G LVM分区
将sda7加到mygv里面
# vgextend myvg /dev/sda7 Volume group "myvg" successfully extended
可以看到vg的容量增加到了2.99G
如果要在VG内删除一个PV,可以使用vgreduce命令
接下来就可以创建LV,例如在myvg里面创建一个1G的LV
# lvcreate -L 1G -n myfirstLV myvg Logical volume "myfirstLV" created.
# lvscan ACTIVE '/dev/myvg/myfirstLV' [1.00 GiB] inherit ACTIVE '/dev/centos/root' [10.00 GiB] inherit ACTIVE '/dev/centos/home' [5.00 GiB] inherit ACTIVE '/dev/centos/swap' [1.00 GiB] inherit
myfirstLV 已经创建完毕
现在就可以为此LV创建文件系统,例如创建为ext3
# mke2fs -t ext3 /dev/myvg/myfirstLV mke2fs 1.42.9 (28-Dec-2013) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 65536 inodes, 262144 blocks 13107 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=268435456 8 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376
最后将其挂载到某个文件系统上
# mount /dev/myvg/myfirstLV /MYDATA
/dev/mapper/myvg-myfirstLV on /MYDATA type ext3
如果要增加LV的容量,我们先查看VG是否有可用容量
# vgdisplay myvg --- Volume group --- VG Name myvg System ID Format lvm2 Metadata Areas 3 Metadata Sequence No 3 VG Access read/write VG Status resizable MAX LV 0 Cur LV 1 Open LV 1 Max PV 0 Cur PV 3 Act PV 3 VG Size <2.99 GiB PE Size 4.00 MiB Total PE 765 Alloc PE / Size 256 / 1.00 GiB Free PE / Size 509 / <1.99 GiB VG UUID OOkTqc-AWUM-tIGq-Huig-7Av0-2pb6-YfEedA
显示还有约1.99G的空余容量
如果想增加1G,那么
# lvresize -L +1G /dev/myvg/myfirstLV Size of logical volume myvg/myfirstLV changed from 1.00 GiB (256 extents) to 2.00 GiB (512 extents). Logical volume myvg/myfirstLV successfully resized.
现在查看LV的情况
# lvscan ACTIVE '/dev/myvg/myfirstLV' [2.00 GiB] inherit ACTIVE '/dev/centos/root' [10.00 GiB] inherit ACTIVE '/dev/centos/home' [5.00 GiB] inherit ACTIVE '/dev/centos/swap' [1.00 GiB] inherit
其容量已经增加到2G