guowenxue
2024-09-26 2b179f80693db10cb5a93ee649917ae6988feaf2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/bin/bash
 
set -e
set -u
 
# find the root partition information
ROOT_PART="$(mount | sed -n 's|^/dev/\(.*\) on / .*|\1|p')"
ROOT_DEV="/dev/$(lsblk -no pkname /dev/${ROOT_PART})"
PART_NUM="$(echo $ROOT_PART | grep -o "[[:digit:]]*$")"
 
# Get the starting offset of the root partition
PART_START=$(fdisk -l $ROOT_DEV | grep $ROOT_PART | awk '{print $2}')
[ "$PART_START" ] || return 1 ;
 
fdisk "$ROOT_DEV" > /dev/null 2>&1 <<EOF
p
d
$PART_NUM
n
p
$PART_NUM
$PART_START
 
p
w
EOF
 
resize2fs /dev/$ROOT_PART > /dev/null 2>&1 
 
echo "Expand rootfs size successfully, it will be enlarged upon the next reboot."