RINSE(8)

πŸ“¦
version 4.3.1 Β· 4 versions
, in ubuntu resolute, ubuntu stonking

πŸ’– 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-uris entry ends with a lil stray line about default 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 .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. 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

  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

          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 ⭐


πŸ“ 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