Menadżer pakietów XBPS
X Binary Package System (XBPS) to szybki menadżer pakietów zaprojektowany i wykonany od podstaw. XBPS utrzymuje zespół Void Linuksa. Strona internetowa: https://github.com/void-linux/xbps.
Most general package management is done with the following commands:
- xbps-query(1) searches for and
displays information about packages installed locally, or, if used with the
-R
flag, packages contained in repositories. - xbps-install(1) installs and updates packages, and syncs repository indexes.
- xbps-remove(1) removes installed packages, and can also remove orphaned packages and cached package files.
- xbps-reconfigure(1) runs the
configuration steps for installed packages, and can be used to reconfigure
certain packages after changes in their configuration files. The latter
usually requires the
--force
flag. - xbps-alternatives(1) lists or sets the alternatives provided by installed packages. Alternatives is a system which allows multiple packages to provide common functionality through otherwise conflicting files, by creating symlinks from the common paths to package-specific versions that are selected by the user.
- xbps-pkgdb(1) can report and fix issues in the package database, as well as modify it.
- xbps-rindex(1) manages local binary package repositories.
Most questions can be answered by consulting the man pages for these tools, together with the xbps.d(5) man page.
Instrukcję budowania pakietów z kodu źródłowego możesz znaleźć w README repozytorium void-packages (ang.).
Aktualizowanie
Jak każdy system operacyjny, Void powiniem być regularnie aktualizowany. Do aktualizacji służy polecenie xbps-install(1):
# xbps-install -Su
XBPS must use a separate transaction to update itself. If your update
includes the xbps
package, you will need to run the above command a second
time to apply the rest of the updates.
Restarting Services
XBPS does not restart services when they are updated. This task is left to the administrator, so they can orchestrate maintenance windows, ensure reasonable backup capacity, and generally be present for service upgrades.
To find processes running different versions than are present on disk, use
the xcheckrestart
tool provided by the xtools
package:
(google-chrome) ```
`xcheckrestart` will print out the PID, path to the executable, status of
the path that was launched (almost always `deleted`) and the process name.
`xcheckrestart` can and should be run as an unprivileged user.
### Kernel Panic After Update
If you get a kernel panic after an update, it is likely your system ran out
of space in `/boot`. Refer to "[Removing old
kernels](../config/kernel.md#removing-old-kernels)" for further information.
## Finding Files and Packages
To search available repositories for packages, use
[xbps-query(1)](https://man.voidlinux.org/xbps-query.1):
``` $ xbps-query -Rs <search_pattern> ```
The `-R` flag specifies that repositories should be searched. Without it,
`-s` searches for locally-installed packages.
If you can't find a file or program you expected to find after installing a
package, you can use [xbps-query(1)](https://man.voidlinux.org/xbps-query.1)
to list the files provided by that package:
``` $ xbps-query -f <package_name> ```
The `xtools` package contains the
[xlocate(1)](https://man.voidlinux.org/xlocate.1) utility. `xlocate` works
like [locate(1)](https://man.voidlinux.org/locate.1), but for files in the
Void package repositories:
$ xlocate -S Fetching objects: 11688, done. From https://alpha.de.repo.voidlinux.org/xlocate/xlocate + e122c3634...a2659176f master -> master (forced update) $ xlocate xlocate xtools-0.59_1 /usr/bin/xlocate xtools-0.59_1 /usr/share/man/man1/xlocate.1 -> /usr/share/man/man1/xtools.1
It is also possible to use
[xbps-query(1)](https://man.voidlinux.org/xbps-query.1) to find files,
though this is strongly discouraged:
``` $ xbps-query -Ro /usr/bin/xlocate xtools-0.46_1: /usr/bin/xlocate
(regular file) ```
This requires `xbps-query` to download parts of every package to find the
file. `xlocate`, however, queries a locally cached index of all files, so
no network access is required.
To get a list of all installed packages, without their version:
``` $ xbps-query -l | awk '{ print $2 }' | xargs -n1 xbps-uhelper getpkgname