RINSE(8)
π NAME π
rinse β RPM Installation Entity π«Ά (yes that's the whole name, it's giving minimal, it's giving mysterious). It's a section 8 page bestie, so we're in sysadmin territory, put your crown on π
πΈ SYNOPSIS πΈ
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.
ok so real talk, the synopsis groups things into Mandatory, Customization and Misc and that's the whole vibe of the tool. Also note the--print-urisentry ends with a lil stray line aboutdefault files in /usr/lib/rinse/$distroβ that's literally what the page says, we don't edit, we report π«‘
β¨ OPTIONS β¨
--archβ Specify the architecture to install. Valid choices are'amd64','i386'or'arm64'only. Like, that's the whole guest list, don't show up with anything else π--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.rpmfiles. π§Ήβ¨--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. Dry run, no commitment, very demure π--verboseβ Enable verbose output.--versionβ Show the version number and exit.
π¦ DESCRIPTION π¦
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. Same energy, different ecosystem, no cap.
π USAGE π
To use this script you will need to be root. This is required to mount /proc, run chroot, and more. So yes bestie, sudo up or go home π₯
Basic usage is as simple as:
rinse --distribution alma-9 --arch amd64 --directory /tmp/test
This will download the required RPM files and unpack them into a minimal installation of Fedora Core 6. (Yes, the page says Fedora Core 6 right there while the example above it says alma-9 β iconic behavior, we're not touching it π«Ά)
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
π TODO π
Short of supporting more distributions or architectures there aren't really any outstanding issues. Likeβ¦ she's done, she's thriving, the to-do list is a vibe check that passed π
π§ ADDING NEW DISTRIBUTIONS π§
To add a new distribution you need to
- Add a new package list to
"etc/DISTRIBUTION.packages" - Add a script to
"scripts/DISTRIBUTION/post-install.sh"Many of these are identical across releases, so symlinks work here. - 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
dnf repoquery --requires --resolve --recursive --installed dnf | \
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. π (real ones know)
β AUTHOR β
- Thomas Lange https://visva.cs.uni-koeln.de/team/lange
- Steve Kemp http://www.steve.org.uk/
π LICENSE π
Copyright (c) 2011-2025 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.
and that's the whole page bestie π this was RINSE(8) from the Perl Programmers Reference Guide, version 4.3.1, dated 2025-10-17. go install a distro, you've got this, periodt β¨ππ¦
π¦ where this page comes from
- ubuntu resolute: rinse 4.3.1
- ubuntu stonking: rinse 4.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms