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