| 
					
				 | 
			
			
				@@ -0,0 +1,95 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# Eigentlich lässt sich ein EXT4 Dateisystem nicht online verkleinern. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# Auf serverfault.com ist unter https://serverfault.com/a/888830/329677 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# jedoch ein eleganten Weg über die initramfs beschrieben: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# resize using initramfs 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# --- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+disk="/dev/sda1" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+disk-size="25G" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+### Prepare /etc/initramfs-tools/hooks/resizefs 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+touch /etc/initramfs-tools/hooks/resizefs 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+chmod +x /etc/initramfs-tools/hooks/resizefs 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+cat >/etc/initramfs-tools/hooks/resizefs<<'EOF' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#!/bin/sh 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+set -e 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+PREREQS="" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+prereqs() { echo "$PREREQS"; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+case $1 in 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    prereqs) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        prereqs 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        exit 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ;; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+esac 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+. /usr/share/initramfs-tools/hook-functions 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+copy_exec /sbin/e2fsck 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+copy_exec /sbin/resize2fs 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+exit 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+EOF 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+### Prepare /etc/initramfs-tools/scripts/local-premount/resizefs 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+touch /etc/initramfs-tools/scripts/local-premount/resizefs 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+chmod +x /etc/initramfs-tools/scripts/local-premount/resizefs 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+cat >/etc/initramfs-tools/scripts/local-premount/resizefs<<'EOF' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#!/bin/sh 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+set -e 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+PREREQS="" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+prereqs() { echo "$PREREQS"; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+case "$1" in 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    prereqs) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        prereqs 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        exit 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ;; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+esac 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/sbin/e2fsck -yf $disk 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/sbin/resize2fs $disk $disk-size 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/sbin/e2fsck -yf $disk 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+EOF 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+### Prepare initramfs and reboot 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+update-initramfs -u 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+reboot 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+### Cleanup 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+rm /etc/initramfs-tools/hooks/resizefs 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+rm /etc/initramfs-tools/scripts/local-premount/resizefs 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+update-initramfs -u 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# Change parition size 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# --- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+tune2fs -l /dev/sda1 | grep "Block " 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# Block count:	6553600 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# Block size:	4096 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# This equals 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 6553600 blocks * 4096 bytes / block = 26843545600 bytes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 26843545600 / (1024^3) = 25 GB 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fdisk -l /dev/sda 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# Sector size 512 bytes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# Start 2048 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# Calculating last sector 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 26843545600 bytes / 512 bytes/sector = 52428800 sectors 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 52428800 sectors + 2048 to start from = 52430848 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fdisk /dev/sda 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# - Delete partition 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# - Create new starting with 2048 and end with 52430848 
			 |