99-reduce.sh
78 lines
| 2.5 KiB
| application/x-sh
|
BashLexer
/ bootstrap.d / 99-reduce.sh
Jan Wagner
|
r76 | # | ||
# Reduce system disk usage | ||||
# | ||||
# Load utility functions | ||||
. ./functions.sh | ||||
# Reduce the image size by various operations | ||||
if [ "$ENABLE_REDUCE" = true ] ; then | ||||
if [ "$REDUCE_APT" = true ] ; then | ||||
# Install dpkg configuration file | ||||
if [ "$REDUCE_DOC" = true ] || [ "$REDUCE_MAN" = true ] ; then | ||||
install_readonly files/dpkg/01nodoc "$R/etc/dpkg/dpkg.cfg.d/01nodoc" | ||||
fi | ||||
# Install APT configuration files | ||||
install_readonly files/apt/02nocache "$R/etc/apt/apt.conf.d/02nocache" | ||||
install_readonly files/apt/03compress "$R/etc/apt/apt.conf.d/03compress" | ||||
install_readonly files/apt/04norecommends "$R/etc/apt/apt.conf.d/04norecommends" | ||||
# Remove APT cache files | ||||
rm -fr "$R/var/cache/apt/pkgcache.bin" | ||||
rm -fr "$R/var/cache/apt/srcpkgcache.bin" | ||||
fi | ||||
# Remove all doc files | ||||
if [ "$REDUCE_DOC" = true ] ; then | ||||
find "$R/usr/share/doc" -depth -type f ! -name copyright | xargs rm || true | ||||
find "$R/usr/share/doc" -empty | xargs rmdir || true | ||||
fi | ||||
# Remove all man pages and info files | ||||
if [ "$REDUCE_MAN" = true ] ; then | ||||
rm -rf "$R/usr/share/man" "$R/usr/share/groff" "$R/usr/share/info" "$R/usr/share/lintian" "$R/usr/share/linda" "$R/var/cache/man" | ||||
fi | ||||
# Remove all locale translation files | ||||
if [ "$REDUCE_LOCALE" = true ] ; then | ||||
find "$R/usr/share/locale" -mindepth 1 -maxdepth 1 ! -name 'en' | xargs rm -r | ||||
fi | ||||
# Remove hwdb PCI device classes (experimental) | ||||
if [ "$REDUCE_HWDB" = true ] ; then | ||||
rm -fr "/lib/udev/hwdb.d/20-pci-*" | ||||
fi | ||||
# Replace bash shell by dash shell (experimental) | ||||
if [ "$REDUCE_BASH" = true ] ; then | ||||
echo "Yes, do as I say!" | chroot_exec apt-get purge -qq -y --force-yes bash | ||||
chroot_exec update-alternatives --install /bin/bash bash /bin/dash 100 | ||||
fi | ||||
# Remove sound utils and libraries | ||||
if [ "$ENABLE_SOUND" = false ] ; then | ||||
chroot_exec apt-get -qq -y --force-yes purge alsa-utils libsamplerate0 libasound2 libasound2-data | ||||
fi | ||||
# Re-install tools for managing kernel moduless | ||||
chroot_exec apt-get -qq -y --force-yes install module-init-tools | ||||
# Remove GPU kernels | ||||
if [ "$ENABLE_MINGPU" = true ] ; then | ||||
rm -f "$R/boot/firmware/start.elf" | ||||
rm -f "$R/boot/firmware/fixup.dat" | ||||
rm -f "$R/boot/firmware/start_x.elf" | ||||
rm -f "$R/boot/firmware/fixup_x.dat" | ||||
fi | ||||
Jan Wagner
|
r77 | # Remove kernel and initrd from /boot (already in /boot/firmware) | ||
if [ "$BUILD_KERNEL" = false ] ; then | ||||
rm -r "$R/boot/vmlinuz--*" | ||||
rm -r "$R/boot/initrd.img-*" | ||||
fi | ||||
Jan Wagner
|
r76 | # Clean APT list of repositories | ||
rm -fr "$R/var/lib/apt/lists/*" | ||||
chroot_exec apt-get -qq -y update | ||||
fi | ||||