Provided by: rinse_3.3_all
rinse - RPM Installation Entity.
rinse [options] Help Options: --help Show help information. --manual Read the manual for this script. --version Show the version information and exit. Mandatory Options: --arch Specify the architecture to install. --directory The directory to install the distribution within. --distribution The distribution to install. Customization Options: --add-pkg-list Additional packages to download and install --after-post-install Additionally run the specified script after the post install script. --before-post-install Additionally run the specified script before the post install script. --post-install Run the given post-install script instead of the default files in /usr/lib/rinse/$distro Misc Options: --cache Should we use a local cache? (Default is 1) --cache-dir Specify the directory we should use for the cache. --clean-cache Clean our cache of .rpm files, then exit. --config Specify a different configuration file. (Default is /etc/rinse/rinse.conf) --pkgs-dir Specify a different directory containing <distribution>.packages files. --mirror Specify the URL of the mirror. (Default is to read it from /etc/rinse/rinse.conf) --list-distributions Show installable distributions. --print-uris Only show the RPMs which should be downloaded. default files in /usr/lib/rinse/$distro --verbose Enable verbose output.
--arch Specify the architecture to install. Valid choices are 'amd64' and 'i386' only. --add-pkg-list Add a list of additional packages. --cache Specify whether to cache packages (1) or not (0). --cache-dir Specify the directory we should use for the cache. --clean-cache Remove all cached .rpm files. --directory Specify the directory into which the distribution should be installed. --distribution Specify the distribution to be installed. --help Show help information. --mirror Specify the URL of the mirror. Normally this is read from /etc/rinse/rinse.conf. --list-distributions Show the distributions which are installable. --manual Read the manual for this script. --print-uris Only show the files we would download, don't actually do so. --verbose Enable verbose output. --version Show the version number and exit.
rinse is a simple script which is designed to be able to install a minimal working installation of an RPM-based distribution into a directory. The tool is analogous to the standard Debian GNU/Linux debootstrap utility.
To use this script you will need to be root. This is required to mount /proc, run chroot, and more. Basic usage is as simple as: rinse --distribution fedora-core-6 --directory /tmp/test This will download the required RPM files and unpack them into a minimal installation of Fedora Core 6. To see which RPM files would be downloaded, without actually performing an installation or downloading anything, then you may run the following: rinse --distribution fedora-core-6 --print-uris
Short of supporting more distributions or architectures there aren't really any outstanding issues.
ADDING NEW DISTRIBUTIONS
To add a new distribution you need to 1. Add a new package list to "etc/DISTRIBUTION.packages" 2. Add a script to "scripts/DISTRIBUTION/post-install.sh" Many of these are identical across releases, so symlinks work here. 3. Add download mirrors to "etc/rinse.conf" Package lists tend to be very similar across different releases in a distro, but not identical. A way to make these lists is to obtain an existing install of a distro, and follow the dependency tree of the packaging utilities. A "DISTRIBUTION.packages" file can be the output of repoquery --requires --resolve --recursive dnf yum rpm | perl -pe 's/(.*)-.*?-.*?$/$1/g' | sort -u \ egrep -v 'glibc-all-langpacks|glibc-langpack-' This is more a developers attempt to generate a package list.
Thomas Lange http://www.informatik.uni-koeln.de/~lange/ Steve Kemp http://www.steve.org.uk/
Copyright (c) 2011-2014 by Thomas Lange. All rights reserved. Copyright (c) 2007-2010 by Steve Kemp. All rights reserved. This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. The LICENSE file contains the full text of the license.