RINSTALL(1)

πŸ“¦
version 3.3 Β· 2 versions
, in alpine 3.24

πŸ’… RINSTALL(1) β€” like, the manual page for rinstall, bestie

okay so real talk, this is the rinstall page from the General Commands Manual, and honestly? it's giving "small tool, big job" energy. let's get into it 🫢


✨ NAME ✨

rinstall β€” fetch and install scripts from local or http source 🌈

✨ SYNOPSIS ✨

rinstall [-a URL] [-m mode] [-o owner:group] source [target]

✨ DESCRIPTION ✨

so rinstall literally gets shipped out to remote machines by rset(1) to be the standard way of installing files that are made available over HTTP, or from the current working directory for files that are already staged. iconic delegation honestly πŸ‘‘

the target has to be an absolute path, and it gets created if it doesn't already exist. and if the target exists but it's not the same as source, then diff(1) is used to show you the difference before it gets updated β€” like a little vibe check before the glow-up πŸ¦‹. and if target is omitted entirely? then source goes into the staging directory defined by the SD environment variable. slay.

if source is defined as an absolute path, it must exist on a file system on the remote host. periodt. but if source is defined with a relative path, then rinstall first checks if the source already exists in the SD, and then tries to fetch it from the HTTP resource defined by INSTALL_URL or the -a option.

and like, rinstall always checks for a local copy of the source before attempting to fetch a file from the location defined by the environment variable INSTALL_URL. always always. no cap πŸ’…

the arguments are as follows:

  • -a β€” URL to an alternative file location ✨
  • -m β€” mode to set when a file is updated. this argument gets passed to chmod(1).
  • -o β€” owner and/or group to set. this argument gets passed to chown(8).

✨ ENVIRONMENT ✨

🌸 RINSTALL_DIFF_ARGS

arguments for the diff(1) tool. the default is "-U 2". that's it, that's the whole vibe.

✨ EXIT STATUS ✨

the rinstall utility exits with one of these values, and ngl you should lowkey memorize them:

  • 0 β€” target file was installed or updated βœ…
  • 1 β€” no changes were made 😐
  • 2 β€” unknown operating system πŸ’€
  • 3 β€” unable to fetch requested file 😭

✨ EXAMPLES ✨

πŸŽ€ install configuration file and set permissions

$SD/rinstall -m 644 -o www:www resolv.conf /var/www/etc/

πŸŽ€ fetch latest copy of sources and extract

$SD/rinstall wodpress.tar.gz
tar -xzf $SD/wordpress.tar.gz -C /var/www

πŸŽ€ fetch a file from an alternative location and store it in the staging directory under tools/sys/ if it's not already there and it's not available at $INSTALL_URL/tools/sys/sometool.tgz

$SD/rinstall -a https://example.org/files/tool.tar.gz
tools/sys/sometool.tgz

ok bestie quick heads up: that first example really does say wodpress.tar.gz and the second line really does say wordpress.tar.gz β€” that's exactly how it's written in the original, so don't come for me πŸ™ˆ. also <italic>mode</italic> and <italic>owner:group</italic> go straight into chmod(1) and chown(8), so, y'know, be normal about it.

and that's the whole page 🧚 this one's from Debian, dated January 17, 2026 β€” love that for us, see you in the next man page, mwah πŸ’–πŸ’œ

πŸ“¦ where this page comes from
  • alpine 3.24: rset-doc 3.3-r1 Β· ISC
  • πŸ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms