169
Comment:
|
7628
InterWiki.
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
Reducing the size of a Debian Installation | #language en = Reducing the size of the Debian Installation Footprint = |
Line 3: | Line 4: |
* [NonCriticalPackages] Removing non-critical packages * [SmallerReplacements] Replace packages with smaller equivalents |
It may be useful to reduce the size of the installation footprint on Embedded systems, or on older computers or laptops with limited drive space, or in cases where a small installation is preferred. <<TableOfContents(2)>> == Removing non-critical packages == * Except essential packages {{{aptitude search '!?essential'}}}, you can remove what you don't need. The following packages are non-critical and can be removed: * DebianPkg:acpi * DebianPkg:acpid * DebianPkg:aptitude * DebianPkg:at * DebianPkg:aspell * DebianPkg:aspell-en * DebianPkg:avahi-daemon * DebianPkg:base-config * DebianPkg:bash-completion * DebianPkg:bc * DebianPkg:bin86 * DebianPkg:bind9-host * DebianPkg:ca-certificates * DebianPkg:console-common * DebianPkg:console-data * DebianPkg:console-tools * DebianPkg:cupsys-client Not needed by cups * DebianPkg:cupsys-bsd Not needed by cups * DebianPkg:cupsys-driver-gutenprint Not needed by cups * DebianPkg:cupsys-pdf Not needed by cups * DebianPkg:dc * DebianPkg:debian-faq * DebianPkg:debian-faq-de * DebianPkg:debian-faq-fr * DebianPkg:debian-faq-it * DebianPkg:debian-faq-zh-cn * DebianPkg:dhcp DHCP Client * DebianPkg:dhcp3-client DHCP Client * DebianPkg:dhcp3-common DHCP Client * DebianPkg:dictionaries * DebianPkg:dnsutils * DebianPkg:doc-debian Debian Project Documentation * DebianPkg:doc-linux-text Linux How To and FAQ Documents * DebianPkg:eject Eject compact disks * DebianPkg:fdutils Floppy Disk Utilities * DebianPkg:file Determines file type * DebianPkg:finger * DebianPkg:foomatic-filters Not needed by cups * DebianPkg:gcc-3.3 * DebianPkg:gettext-base * DebianPkg:groff Additional files to supplement groff-base * DebianPkg:gnupg * DebianPkg:gnu-efi Extensible Firmware Support * DebianPkg:grub Grand Unified Boot Loader * DebianPkg:hplip Not needed by cups * DebianPkg:iamerican * DebianPkg:ibritish * DebianPkg:info * DebianPkg:ispell * DebianPkg:laptop-detect Tool to detect whether system is being used on a laptop * DebianPkg:libavahi-compat-libdnssd1 This is required by cups * DebianPkg:libc6-amd64 Not recommended for generic 486 machines using generic IA32 architecture * DebianPkg:libc6-i686 Not recommended for generic 486 machines using generic IA32 architecture * DebianPkg:libgpmg1 * DebianPkg:manpages * DebianPkg:mtools * DebianPkg:mtr-tiny Full screen traceroute * DebianPkg:mutt * DebianPkg:nano Free Pico clone * DebianPkg:netcat * DebianPkg:net-tools * DebianPkg:ncurses-term Additional terminal type definitions * DebianPkg:openssh-client * DebianPkg:openssh-server * DebianPkg:openssl * DebianPkg:pidentd * DebianPkg:ppp Point to Point Protocol * DebianPkg:pppconfig A text menu for configuring PPP * DebianPkg:pppoe PPP over ethernet driver * DebianPkg:pppoeconf Configures PPP/ADSL connections * DebianPkg:read-edid Information collection for plug and play monitors * DebianPkg:reportbug Debian Bug Reporting Tool * DebianPkg:smclient Not needed by cups * DebianPkg:ssh * DebianPkg:tasksel An initial installation tool * DebianPkg:tcsh C Shell * DebianPkg:traceroute * DebianPkg:usbutils * DebianPkg:vim-common Alternative vi editor engine * DebianPkg:vim-tiny An alternative vi editor * DebianPkg:wamerican * DebianPkg:w3m Terminal Based World Wide Web Browser * DebianPkg:whois * DebianPkg:zeroinstall-injector The following packages cannot be removed, even though marked as optional: * DebianPkg:busybox (This is currently required by the kernel due to a dependency bug) === Replace packages with smaller equivalents === * Replace packages with smaller equivalents : * DebianPkg:debconf-english (replaces debconf-il8n) * DebianPkg:levee (replaces nvi and vim-tiny) * DebianPkg:lpr replaces lpr-ng or CUPS) * DebianPkg:madplay (replaces mpg123, mpg321 and mp3-decoder) * DebianPkg:mutt (replaces GUI MailUserAgent: Evolution, Thunderbird) * DebianPkg:setmixer (replaces aumix) * DebianPkg:slrn, DebianPkg:tin (replaces GUI Usenet NewsReader) * DebianPkg:irssi (replaces GUI IRC clients) * DebianPkg:jed, DebianPkg:xjed (replaces Emacs) * DebianPkg:w3m, DebianPkg:lynx, DebianPkg:links (replaces GUI WebBrowser) * DebianPkg:dash (replaces bash, this currently breaks) == Remove unnecessary locale files == The introduction of !LanguagePacks (tdebs) may also help in reducing the size of the installation footprint. It is recommended that the number of [[Locale|locale]] configurations installed is kept to a minimum. By limiting the number of locale files built you can save 90% of the space taken up by storing these systems on your system and saves the compilation time for building the locale settings for each package. A side effect or reducing the number of locale options is that the compilation of the glibc library gets a lot faster. ToDo: complete this section == Remove foreign language man files == With appropriate privileges, it is possible to remove the foreign man pages as follows: {{{ rm -rf /usr/share/man/?? rm -rf /usr/share/man/??_* }}} Note: There is also a DebianPkg:localepurge package that will remove the man pages, but that destroys the package management and package building system (see its tastily worded package description text). == Reconfigure apt so that it does not install additional packages == Add the following entries to the /etc/apt/apt.conf configuration file: APT::Install-Recommends "0" ; APT::Install-Suggests "0" ; == Rebuilding packages using the Tiny C Compiler == == Remove unnecessary kernel modules == == Remove unnecessary cups dependencies == During installation of DebianPkg:cupsys, the Debian installer may attempt to drag in unnecessary package dependencies. The cupsys daemon can function without these optional components, and they can be deselected from installation: * DebianPkg:cupsys-client * DebianPkg:cupsys-bsd * DebianPkg:cupsys-driver-gutenprint * DebianPkg:cupsys-pdf * DebianPkg:foomatic-filters * DebianPkg:hplip * DebianPkg:smclient == SBuild a smaller kernel using fewer options == == Reduce the size of the X installation footprint == You can remove the packages xserver-xorg-video-* that you don't use. you should still keep xserver-xorg-video-vesa. == Reduce the size of the initramfs == == Remove unnecessary ipv6 files == If you are using only [ipv4] internally, then the following [ipv6] files can be removed: * /lib/xtables/libip6t_ah.so * /lib/xtables/libip6t_dst.so * /lib/xtables/libip6t_eui64.so * /lib/xtables/libip6t_frag.so * /lib/xtables/libip6t_hbh.so * /lib/xtables/libip6t_hl.so * /lib/xtables/libip6t_HL.so * /lib/xtables/libip6t_icmp6.so * /lib/xtables/libip6t_ipv6header.so * /lib/xtables/libip6t_LOG.so * /lib/xtables/libip6t_mh.so * /lib/xtables/libip6t_REJECT.so * /lib/xtables/libip6t_rt.so == Remove /etc/alternatives == If your applications have been mapped using traditional methods, then it is possible to remove the /etc/alternatives directory. == Replace the getty processes with the ngetty single process daemon == The getty processes can be replaced by the ngetty single process daemon to reduce virtual memory utilization: = See Also = * [[DebianLive/HowTo/SmallSizeImage]] |
Reducing the size of the Debian Installation Footprint
It may be useful to reduce the size of the installation footprint on Embedded systems, or on older computers or laptops with limited drive space, or in cases where a small installation is preferred.
Contents
-
Reducing the size of the Debian Installation Footprint
- Removing non-critical packages
- Remove unnecessary locale files
- Remove foreign language man files
- Reconfigure apt so that it does not install additional packages
- Rebuilding packages using the Tiny C Compiler
- Remove unnecessary kernel modules
- Remove unnecessary cups dependencies
- SBuild a smaller kernel using fewer options
- Reduce the size of the X installation footprint
- Reduce the size of the initramfs
- Remove unnecessary ipv6 files
- Remove /etc/alternatives
- Replace the getty processes with the ngetty single process daemon
- See Also
Removing non-critical packages
Except essential packages aptitude search '!?essential', you can remove what you don't need.
The following packages are non-critical and can be removed:
cupsys-client Not needed by cups
cupsys-bsd Not needed by cups
cupsys-driver-gutenprint Not needed by cups
cupsys-pdf Not needed by cups
dhcp DHCP Client
dhcp3-client DHCP Client
dhcp3-common DHCP Client
doc-debian Debian Project Documentation
doc-linux-text Linux How To and FAQ Documents
eject Eject compact disks
fdutils Floppy Disk Utilities
file Determines file type
foomatic-filters Not needed by cups
gcc-3.3
groff Additional files to supplement groff-base
gnu-efi Extensible Firmware Support
grub Grand Unified Boot Loader
hplip Not needed by cups
laptop-detect Tool to detect whether system is being used on a laptop
libavahi-compat-libdnssd1 This is required by cups
libc6-amd64 Not recommended for generic 486 machines using generic IA32 architecture
libc6-i686 Not recommended for generic 486 machines using generic IA32 architecture
mtr-tiny Full screen traceroute
nano Free Pico clone
ncurses-term Additional terminal type definitions
ppp Point to Point Protocol
pppconfig A text menu for configuring PPP
pppoe PPP over ethernet driver
pppoeconf Configures PPP/ADSL connections
read-edid Information collection for plug and play monitors
reportbug Debian Bug Reporting Tool
smclient Not needed by cups
tasksel An initial installation tool
tcsh C Shell
vim-common Alternative vi editor engine
vim-tiny An alternative vi editor
w3m Terminal Based World Wide Web Browser
The following packages cannot be removed, even though marked as optional:
busybox (This is currently required by the kernel due to a dependency bug)
Replace packages with smaller equivalents
- Replace packages with smaller equivalents :
Remove unnecessary locale files
The introduction of LanguagePacks (tdebs) may also help in reducing the size of the installation footprint.
It is recommended that the number of locale configurations installed is kept to a minimum. By limiting the number of locale files built you can save 90% of the space taken up by storing these systems on your system and saves the compilation time for building the locale settings for each package. A side effect or reducing the number of locale options is that the compilation of the glibc library gets a lot faster.
ToDo: complete this section
Remove foreign language man files
- With appropriate privileges, it is possible to remove the foreign man pages as follows:
rm -rf /usr/share/man/?? rm -rf /usr/share/man/??_*
Note: There is also a localepurge package that will remove the man pages, but that destroys the package management and package building system (see its tastily worded package description text).
Reconfigure apt so that it does not install additional packages
Add the following entries to the /etc/apt/apt.conf configuration file:
APT::Install-Recommends "0" ; APT::Install-Suggests "0" ;
Rebuilding packages using the Tiny C Compiler
Remove unnecessary kernel modules
Remove unnecessary cups dependencies
During installation of cupsys, the Debian installer may attempt to drag in unnecessary package dependencies. The cupsys daemon can function without these optional components, and they can be deselected from installation:
SBuild a smaller kernel using fewer options
Reduce the size of the X installation footprint
- You can remove the packages xserver-xorg-video-* that you don't use. you should still keep xserver-xorg-video-vesa.
Reduce the size of the initramfs
Remove unnecessary ipv6 files
If you are using only [ipv4] internally, then the following [ipv6] files can be removed:
- /lib/xtables/libip6t_ah.so
- /lib/xtables/libip6t_dst.so
- /lib/xtables/libip6t_eui64.so
- /lib/xtables/libip6t_frag.so
- /lib/xtables/libip6t_hbh.so
- /lib/xtables/libip6t_hl.so
- /lib/xtables/libip6t_HL.so
- /lib/xtables/libip6t_icmp6.so
- /lib/xtables/libip6t_ipv6header.so
- /lib/xtables/libip6t_LOG.so
- /lib/xtables/libip6t_mh.so
- /lib/xtables/libip6t_REJECT.so
- /lib/xtables/libip6t_rt.so
Remove /etc/alternatives
If your applications have been mapped using traditional methods, then it is possible to remove the /etc/alternatives directory.
Replace the getty processes with the ngetty single process daemon
The getty processes can be replaced by the ngetty single process daemon to reduce virtual memory utilization:
See Also
?DebianLive/HowTo/SmallSizeImage