f8af828a80
rpm returns a header that is a string, no need to call decode() on it. Also added documentation and a manpage for image-minimizer
100 lines
2.7 KiB
ReStructuredText
100 lines
2.7 KiB
ReStructuredText
image-minimizer
|
|
===============
|
|
|
|
:Authors:
|
|
Brian C. Lane <bcl@redhat.com>
|
|
|
|
`image-minimizer` is a script used as an interpreter for kickstart `%post`
|
|
sections. It is used to remove rpm packages and individual files from the
|
|
system that Anaconda has just installed.
|
|
|
|
It processes a list of commands that tell it which files or rpms to remove, and
|
|
which to keep.
|
|
|
|
|
|
image-minimizer cmdline arguments
|
|
---------------------------------
|
|
|
|
`usage: image-minimizer [-h] [-i STRING] [--dryrun] [-v] STRING`
|
|
|
|
Optional arguments
|
|
^^^^^^^^^^^^^^^^^^
|
|
|
|
-h, --help show this help message and exit
|
|
-i STRING, --installroot STRING
|
|
Root path to prepend to all file patterns and
|
|
installation root for RPM operations. Defaults to
|
|
INSTALL_ROOT or /mnt/sysimage/
|
|
--dryrun If set, no filesystem changes are made.
|
|
-v, --verbose Display every action as it is performed.
|
|
|
|
Positional arguments
|
|
^^^^^^^^^^^^^^^^^^^^
|
|
|
|
:STRING: Filename to process
|
|
|
|
|
|
NOTES
|
|
-----
|
|
|
|
You cannot pass any arguments to `image-minimizer` when using it from the
|
|
kickstart `%post`.
|
|
|
|
When using this from a kickstart the image-minimizer package needs to be available.
|
|
It is not included on the standard boot.iso, so you will need to include `lorax` in
|
|
the `%package` section. You can use `image-minimizer` to remove lorax from the install.
|
|
|
|
If you are using this with `livemedia-creator` it can be installed on the host
|
|
system so that `lorax` isn't needed in the `%package` list, and it doesn't need
|
|
to be removed.
|
|
|
|
|
|
commands
|
|
--------
|
|
|
|
Commands are listed one per line, followed by a space, and then by the
|
|
package, file, or glob. The globs used are Unix style pathname patterns using
|
|
`*`, `?`, and `[]` character ranges. globbing is implemented using the python
|
|
glob module.
|
|
|
|
|
|
* drop <PATTERN>
|
|
This will remove files from the installation.
|
|
|
|
* keep <PATTERN>
|
|
This will keep files, and should follow any `drop` commands including globs.
|
|
|
|
* droprpm <PATTERN>
|
|
Remove matching rpm packages. Dependencies are not remove, just individual
|
|
packages matching the glob.
|
|
|
|
* keeprpm <PATTERN>
|
|
Do not remove matching rpm packages, it should follow any `droprpm` commands
|
|
that include globs.
|
|
|
|
|
|
example
|
|
-------
|
|
|
|
Example Anaconda `%post` usage::
|
|
|
|
%post --interpreter=image-minimizer --nochroot
|
|
|
|
drop /lib/modules/*/kernel/fs
|
|
keep /lib/modules/*/kernel/fs/ext*
|
|
keep /lib/modules/*/kernel/fs/mbcache*
|
|
keep /lib/modules/*/kernel/fs/squashfs
|
|
|
|
droprpm make
|
|
droprpm mtools
|
|
droprpm mysql-libs
|
|
droprpm perl
|
|
droprpm perl-Pod-*
|
|
droprpm syslinux
|
|
keeprpm perl-Pod-Simple
|
|
|
|
# Not needed after image-minimizer is done
|
|
droprpm lorax
|
|
|
|
%end
|