Differences between revisions 31 and 32
Revision 31 as of 2013-11-25 00:54:24
Size: 7572
Editor: ?JoshuaCarlsonPurcell
Comment: removed typo
Revision 32 as of 2013-12-21 15:17:49
Size: 7669
Editor: JensKorte
Comment: tcc is not reducing size
Deletions are marked like this. Additions are marked like this.
Line 14: Line 14:
 * 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: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
Line 34: Line 34:
 * DebianPkg:dc  
 * DebianPkg:debian-faq  
 * DebianPkg:debian-faq-de  
 * DebianPkg:debian-faq-fr  
 * DebianPkg:debian-faq-it  
 * DebianPkg:debian-faq-zh-cn  
 * DebianPkg:dc
 * DebianPkg:debian-faq
 * DebianPkg:debian-faq-de
 * DebianPkg:debian-faq-fr
 * DebianPkg:debian-faq-it
 * DebianPkg:debian-faq-zh-cn
Line 44: Line 44:
 * DebianPkg:dnsutils    * DebianPkg:dnsutils
Line 50: Line 50:
 * DebianPkg:finger    * DebianPkg:finger
Line 52: Line 52:
 * DebianPkg:gcc-3.3  
 * DebianPkg:gettext-base  
 * DebianPkg:gcc-3.3
 * DebianPkg:gettext-base
Line 55: Line 55:
 * DebianPkg:gnupg    * DebianPkg:gnupg
Line 59: Line 59:
 * DebianPkg:iamerican  
 * DebianPkg:ibritish  
 * DebianPkg:info  
 * DebianPkg:ispell  
 * DebianPkg:iamerican
 * DebianPkg:ibritish
 * DebianPkg:info
 * DebianPkg:ispell
Line 67: Line 67:
 * DebianPkg:libgpmg1  
 * DebianPkg:manpages  
 * DebianPkg:mtools  
 * DebianPkg:libgpmg1
 * DebianPkg:manpages
 * DebianPkg:mtools
Line 71: Line 71:
 * DebianPkg:mutt    * DebianPkg:mutt
Line 73: Line 73:
 * DebianPkg:netcat  
 * DebianPkg:net-tools  
 * DebianPkg:netcat
 * DebianPkg:net-tools
Line 76: Line 76:
 * DebianPkg:openssh-client  
 * DebianPkg:openssh-server  
 * DebianPkg:openssl  
 * DebianPkg:pidentd  
 * DebianPkg:openssh-client
 * DebianPkg:openssh-server
 * DebianPkg:openssl
 * DebianPkg:pidentd
Line 90: Line 90:
 * DebianPkg:traceroute  
 * DebianPkg:usbutils  
 * DebianPkg:traceroute
 * DebianPkg:usbutils
Line 94: Line 94:
 * DebianPkg:wamerican    * DebianPkg:wamerican
Line 96: Line 96:
 * DebianPkg:whois  
 * DebianPkg:zeroinstall-injector  
 * DebianPkg:whois
 * DebianPkg:zeroinstall-injector
Line 105: Line 105:
 * Replace packages with smaller equivalents :    * Replace packages with smaller equivalents :
Line 142: Line 142:


== Rebuilding packages using the Tiny C Compiler ==
Line 192: Line 189:

== Rebuilding packages using the Tiny C Compiler ==
Rebuilding packages using the Tiny C Compiler does not reduce size of packages. [[http://www.landley.net/hg/tinycc/raw-file/bf5b2827a4a4/www/differences.html|Differences between tcc and gcc]]

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.

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:

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 :
    • debconf-english (replaces debconf-il8n)

    • levee (replaces nvi and vim-tiny)

    • lpr replaces lpr-ng or CUPS)

    • madplay (replaces mpg123, mpg321 and mp3-decoder)

    • mutt (replaces GUI MailUserAgent: Evolution, Thunderbird)

    • setmixer (replaces aumix)

    • slrn, tin (replaces GUI Usenet NewsReader)

    • irssi (replaces GUI IRC clients)

    • jed, xjed (replaces Emacs)

    • w3m, lynx, links (replaces GUI WebBrowser)

    • 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 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" ;

Remove unnecessary kernel modules

Remove unnecessary cups dependencies

Build 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:

Rebuilding packages using the Tiny C Compiler

Rebuilding packages using the Tiny C Compiler does not reduce size of packages. Differences between tcc and gcc