feat(iso): add slim hook to strip locales/man pages/apt cache from squashfs
Removes ~100-300MB from the squashfs: man pages, non-en locales, python cache, apt lists and package cache, temp files and logs. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
32
iso/builder/config/hooks/normal/9999-slim.hook.chroot
Executable file
32
iso/builder/config/hooks/normal/9999-slim.hook.chroot
Executable file
@@ -0,0 +1,32 @@
|
||||
#!/bin/sh
|
||||
# 9999-slim.hook.chroot — strip non-essential files to reduce squashfs size.
|
||||
set -e
|
||||
|
||||
# ── Man pages and documentation ───────────────────────────────────────────────
|
||||
find /usr/share/man -mindepth 1 -delete 2>/dev/null || true
|
||||
find /usr/share/doc -mindepth 1 ! -name 'copyright' -delete 2>/dev/null || true
|
||||
find /usr/share/info -mindepth 1 -delete 2>/dev/null || true
|
||||
find /usr/share/groff -mindepth 1 -delete 2>/dev/null || true
|
||||
find /usr/share/lintian -mindepth 1 -delete 2>/dev/null || true
|
||||
|
||||
# ── Locales — keep only C and en_US ──────────────────────────────────────────
|
||||
find /usr/share/locale -mindepth 1 -maxdepth 1 \
|
||||
! -name 'en' ! -name 'en_US' ! -name 'locale.alias' \
|
||||
-exec rm -rf {} + 2>/dev/null || true
|
||||
find /usr/share/i18n/locales -mindepth 1 \
|
||||
! -name 'en_US' ! -name 'i18n' ! -name 'iso14651_t1' ! -name 'iso14651_t1_common' \
|
||||
-delete 2>/dev/null || true
|
||||
|
||||
# ── Python cache ──────────────────────────────────────────────────────────────
|
||||
find /usr /opt -name '__pycache__' -type d -exec rm -rf {} + 2>/dev/null || true
|
||||
find /usr /opt -name '*.pyc' -delete 2>/dev/null || true
|
||||
|
||||
# ── APT cache and lists ───────────────────────────────────────────────────────
|
||||
apt-get clean
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# ── Misc ──────────────────────────────────────────────────────────────────────
|
||||
rm -rf /tmp/* /var/tmp/* 2>/dev/null || true
|
||||
find /var/log -type f -delete 2>/dev/null || true
|
||||
|
||||
echo "=== slim: done ==="
|
||||
Reference in New Issue
Block a user