FEBOOTSTRAP-MINIMIZE(8)
NAME
febootstrap-minimize - Minimize an febootstrap image
SYNOPSIS
febootstrap-minimize [--options] DIR
DESCRIPTION
febootstrap-minimize minimizes an febootstrap(8)-created filesystem.
This means that unneeded files and cruft are removed from the image.
If no options are given, the default is to minimize the image as much
as possible. This means, for example, that locales are removed so the
image will only be usable in US-English, there will be no documentation
or manual pages, and the image will only work in a UTC timezone.
Note that image minimization involves deleting files that have been
installed by RPM. Thus after minimization, it is no longer guaranteed
that RPM will function correctly on the image. You should only do this
as a final step for "throwaway" appliances that do not need to be
modified or upgraded in future.
OPTIONS
- --all
- Perform all minimization operations, to produce the smallest
possible image. Note in particular that locales are discarded. - You can perform all minimization operations except X, Y and Z by
doing:
febootstrap-minimize --all --keep-X --keep-Y --keep-Z ... - ("--all" can be omitted since it is the default).
- --none
- Start with no minimization operations. You can specify only
minimization operations X, Y and Z like this:
febootstrap-minimize --none --drop-X --drop-Y --drop-Z ... - --keep-locales
--drop-localesKeep or drop locale support. - --keep-docs
--drop-docsKeep or drop documentation, man pages and info files. - --keep-cracklib
--drop-cracklibKeep or drop cracklib libraries. - --keep-i18n
--drop-i18nKeep or drop "/usr/share/i18n". - --keep-zoneinfo
--drop-zoneinfoKeep or drop all timezones (except UTC which is never deleted). - --keep-rpmdb
--drop-rpmdbKeep or drop the RPM and YUM package databases. Obviously RPM and YUM will be completely non-functional if you drop these. - --keep-yum-cache
--drop-yum-cacheKeep or drop the yum cache. Note that febootstrap(8) has already deleted this directory unless you ran it with the "--no-clean"
option. - --keep-services
--drop-servicesKeep or drop the "/etc/services" file. If dropped, this file is
replaced with a very minimal one which just lists the most common
services. For less common services you will have to refer to them by port number instead of name. - --keep-sln
--drop-slnKeep or drop "/sbin/sln" (statically linked "ln"). This is not
really required in minimal appliances. - --keep-ldconfig
--drop-ldconfigKeep or drop "/sbin/ldconfig", "/etc/ld.so.cache" and
"/var/cache/ldconfig" (the dynamic linking cache). This is not
needed. Dynamic linking during program execution will be
marginally slower. - --pack-executables
This option has been removed in febootstrap 2.5. In previous
versions it was used to pack executables using the external "upx"
program. However it was not enabled by default and never worked
very effectively.
TODO
- o Deduplicate files with the same content (by hardlinking them). See
- the program hardlink(1).
- o Remove unused binaries.
- o Remove unused libraries.
SEE ALSO
AUTHORS
Richard W.M. Jones <rjones @ redhat . com>
COPYRIGHT
(C) Copyright 2009 Red Hat Inc.,
<http://people.redhat.com/~rjones/febootstrap>.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
- You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
675 Mass Ave, Cambridge, MA 02139, USA.