XBPS-INSTALL(1)

πŸ“¦ version 0.60.6, in alpine 3.24, nixos 26.05, nixpkgs unstable

πŸŽ€ xbps-install πŸŽ€

okay bestie, so this is a page from the General Commands Manual β€” it's xbps-install(1), and honestly it's the main character of the whole XBPS saga. Sit down, grab a lil drink, we're learning this together πŸ’–


✨ NAME ✨

xbps-install β€” the XBPS utility that (re)installs and updates packages. like, that's her whole job. no cap.


🌸 SYNOPSIS 🌸

xbps-install [OPTIONS] [PKG...]

πŸ¦‹ DESCRIPTION πŸ¦‹

So xbps-install installs, reinstalls, downgrades and updates packages inside the target root directory. multitasking icon behavior πŸ’…

The PKG argument is a package expression, and yes we get a whole section about that below, don't worry.

If the package is already installed, it gets updated to the version available in the repositories that matches the PACKAGE EXPRESSION. If it's not installed, it gets installed β€” or reinstalled/downgraded if the -f, --force option is set. periodt.


🧚 PACKAGE EXPRESSION 🧚

A package expression is basically a way to match a pattern, and rn xbps supports 3 ways to write them:

  • by package name, i.e: "foo".
  • by exact package name and version, i.e: "foo-1.0_1".
  • by specifying a package name and version separated by any of these version comparators:
    • < less than
    • > greater than
    • <= less or equal than
    • >= greater or equal than

Example: "foo>=2.0".

And here's the rule: the first repository matching the package expression wins πŸ‘‘


πŸ’œ PACKAGE MODES πŸ’œ

An installed package can have some specific modes of operation, and currently these are the ones available:

hold

The package is on hold mode. Packages in this mode won't be updated unless it's explicitely declared to be updated. The only way to update packages in this mode is by using the -f, --force option. To list packages in this mode use xbps-query -H.

manual

The package is in manual mode of installation and won't be considered for removal when running xbps-remove -o. To list packages in this mode use xbps-query -m.

repolock

A package in repolock mode will only accept updates that are available in the same repository that was used for installing. To list packages in this mode use xbps-query --list-repolock-pkgs.


πŸ”₯ OPTIONS πŸ”₯

  • -A, --automatic β€” Enables automatic installation mode, i.e. package will be treated as orphan if no package is depending on it directly. See --mode auto in xbps-pkgdb(1).
  • -C, --config dir β€” Specifies a path to the XBPS configuration directory. If the first character is not / then it's a relative path of rootdir.
  • -c, --cachedir dir β€” Specifies a path to the cache directory, where binary packages are stored. If the first character is not / then it's a relative path of rootdir.
  • -d, --debug β€” Enables extra debugging shown to stderr.
  • -D, --download-only β€” Only download packages to the cache, do not do any other installation steps. This may be useful for doing system upgrades while offline, or automatically downloading updates while leaving you with the option of still manually running the update.
  • -f, --force β€” Force installation (downgrade if package version in repos is less than installed version), or reinstallation (if package version in repos is the same) to the target PKG, overwriting regular package files and symlinks (if they have been modified) but preserving configuration files. The only way to update packages on hold mode is by using this flag. If -f is specified twice all files will be unpacked, even configuration files.
  • -h, --help β€” Show the help message.
  • -I, --ignore-file-conflicts β€” Ignore detected file conflicts in a transaction.
  • -i, --ignore-conf-repos β€” Ignore repositories defined in configuration files. Only repositories specified in the command line via --repository will be used.
  • -M, --memory-sync β€” For remote repositories, the data is fetched and stored in memory for the current operation. Cached on-disk repository indexes of remote repositories will be ignored.
  • -n, --dry-run β€” Dry-run mode. Show what actions would be done but don't change any state of the system. To use a fresh repository indexes use -M for in memory sync.

The output will be a line for each action in the following format:

<pkgver> <action> <arch> <repository> <installedsize> <downloadsize>
  • -R, --repository url β€” Appends the specified repository to the top of the list. The url argument expects a URL to the repository for remote repositories or a path for local repositories. Note that remote repositories must be signed using xbps-rindex(1). This option can be specified multiple times.
  • --reproducible β€” Enables reproducible mode in pkgdb. The install-date and repository package objects are not stored in pkgdb.
  • --staging β€” Enables the use of staged packages from remote repositories.
  • -r, --rootdir dir β€” Specifies a full path for the target root directory.
  • -S, --sync β€” Synchronize remote repository index files.
  • -U, --unpack-only β€” If set, packages to be installed or upgraded in the transaction won't be configured, just unpacked. That means that those packages should be reconfigured via xbps-reconfigure(1).
  • -u, --update β€” Performs a full system upgrade: all installed packages (except those on hold, see --mode hold in xbps-pkgdb(1)) will be updated to the greatest versions that were found in repositories.
  • -v, --verbose β€” Enables verbose messages.
  • -y, --yes β€” Assume yes to most questions and avoid interactive questions. A prompt will still be shown if the transaction requires trusting a new signing key for packages. If you need to automate new installations, it is necessary to add these keys to the system before installation, see "FILES".
  • -V, --version β€” Show the version information.

🌈 ENVIRONMENT 🌈

  • FORCE_IPV4 β€” Only use IPv4.
  • FORCE_IPV6 β€” Only use IPv6.
  • FTP_PASSIVE_MODE β€” If set to anything else than no passive mode will be set for the ftp connection.
  • FTP_LOGIN β€” User name to be set for ftp authentication.
  • FTP_PASSWORD β€” Password to be set for ftp authentication.
  • FTP_PROXY β€” Proxy URL that will be used to establish a ftp connection.
  • HTTP_PROXY β€” Proxy URL that will be used to establish a http connection.
  • HTTP_PROXY_AUTH β€” Sets the credentials to authenticate a user agent to a proxy server, in the form user:pass.
  • HTTP_AUTH β€” Sets the credentials to authenticate to a http server, in the form user:pass.
  • HTTP_REFERER β€” Overrides the default Referer http header.
  • HTTP_USER_AGENT β€” Override the default User-Agent http header.
  • NO_PROXY β€” Specifies a set of domains for which the proxy should not be consulted. The contents is a comma-, or space-separated list of domain names. A single asterisk will override all proxy variables and no transactions will be proxied.
  • SOCKS_PROXY β€” Proxy URL that will be used to establish a socks connection.
  • SSL_NO_VERIFY_HOSTNAME β€” Disables SSL/TLS hostname verification.
  • SSL_NO_VERIFY_PEER β€” Disables SSL/TLS peer verification.
  • SSL_CA_CERT_FILE β€” Overrides the default CA certificates file, by default set to /etc/ssl/certs/ca-certificates.crt.
  • SSL_CA_CERT_PATH β€” Overrides the default CA certificates path, by default set to /etc/ssl/certs.
  • SSL_CLIENT_CERT_FILE β€” Sets the SSL/TLS client verification certificate file.
  • SSL_CLIENT_KEY_FILE β€” Sets the SSL/TLS client verification key file.
  • CONNECTION_TIMEOUT β€” Sets connection timeout in milliseconds instead of default value of 5 minutes. When -1, waits indefinitely.
  • XBPS_ARCH β€” Overrides uname(2) machine result with this value. Useful to install packages with a fake architecture.
  • XBPS_TARGET_ARCH β€” Sets the target architecture to this value. This variable differs from XBPS_ARCH in that it allows you to install packages partially, because configuration phase is skipped (the target binaries might not be compatible with the native architecture).
  • XBPS_SYSLOG β€” Overrides the xbps.d(5) syslog=true|false configuration option.

πŸŽ€ FILES πŸŽ€

  • /etc/xbps.d β€” Default configuration directory.
  • /usr/share/xbps.d β€” Default system configuration directory.
  • /var/db/xbps/.<pkgname>-files.plist β€” Package files metadata.
  • /var/db/xbps/pkgdb-0.38.plist β€” Default package database (0.38 format). Keeps track of installed packages and properties.
  • /var/db/xbps/keys β€” Default trusted keys directory.
  • /var/cache/xbps β€” Default cache directory to store downloaded binary packages.

πŸ’… SEE ALSO πŸ’…

xbps-alternatives(1), xbps-checkvers(1), xbps-create(1), xbps-dgraph(1), xbps-digest(1), xbps-fbulk(1), xbps-fetch(1), xbps-pkgdb(1), xbps-query(1), xbps-reconfigure(1), xbps-remove(1), xbps-rindex(1), xbps-uchroot(1), xbps-uunshare(1), xbps.d(5) β€” go read those too, they're all part of the friend group 🫢


⭐ AUTHORS ⭐

Juan Romero Pardines <xtraeme@gmail.com> β€” the legend himself πŸ‘‘


πŸ’€ BUGS πŸ’€

Probably, but I try to make this not happen. Use it under your own responsibility and enjoy your life.

Report bugs at https://github.com/void-linux/xbps/issues

ok that's the whole page bestie, you're officially an xbps-install girlie now 🌸 iykyk

kiss kiss, this was the Debian build from Feb 9, 2023 β€” XBPS-INSTALL(1), that's a wrap πŸ’–βœ¨πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from