DEBI(1)
π DEBI(1) π
okay bestie, welcome to the General Commands Manual section, this is debi and she's literally the moment. no cap. π
β¨ NAME β¨
debi β install current version of generated Debian package. that's it, that's the whole vibe. π¦
πΈ SYNOPSIS πΈ
debi [options] [changes file] [package ...]
π DESCRIPTION π
okay so here's the tea: debi figures out the current version of a package and installs it. main character energy fr fr. π
if you hand her a .changes file on the command line, the filename has to end with .changes, because that's literally how she tells it apart from a package name. no exceptions, she's not psychic. π
if you don't give her one, then debi has to be called from inside the source code directory tree. in that case she'll go looking for the .changes file that matches the current package version β and she does that by determining the name and version number from the changelog, plus the architecture, in the same way that dpkg-buildpackage(1) does. icon behaviour honestly. β¨
then she runs dpkg -i on every .deb archive listed in the .changes file to install them, assuming all the .deb archives live in the same directory as the .changes file. π«Ά
β οΈ not me warning you but β you probably don't want to run this program on a .changes file relating to a different architecture after cross-compiling the package! π
if you give her a list of packages on the command line, then only those debs with names in this list of packages will be installed. picky queen, we love her. π
and since installing a package requires root privileges, debi will only be useful if it's either being run as root, or if dpkg can be run as root. π₯
π§ Directory name checking π§
in common with several other scripts in the devscripts package, debi will climb the directory tree until she finds a debian/changelog file. she's a little explorer. π
as a safeguard against stray files causing potential problems, once she finds that debian/changelog file she'll examine the name of the parent directory and check that the directory name corresponds to the package name. precisely how she does this is controlled by two configuration file variables, DEVSCRIPTS_CHECK_DIRNAME_LEVEL and DEVSCRIPTS_CHECK_DIRNAME_REGEX, and their corresponding command-line options --check-dirname-level and --check-dirname-regex. π
DEVSCRIPTS_CHECK_DIRNAME_LEVEL can take the following values:
0β never check the directory name. live your truth.1β only check the directory name if we've had to change directory in our search fordebian/changelog. this is the default behaviour. β2β always check the directory name. every single time. no chill.
the directory name is checked by testing whether the current directory name (as determined by pwd(1)) matches the regex given by the configuration file option DEVSCRIPTS_CHECK_DIRNAME_REGEX or by the command line option --check-dirname-regex regex. π¦
here regex is a Perl regex (see perlre(3perl)), which will be anchored at the beginning and the end. so it's matching the whole thing, bestie, not just vibing somewhere in the middle.
- if
regexcontains a/, then it must match the full directory path. - if not, then it must match the full directory name.
if regex contains the string 'PACKAGE', this will be replaced by the source package name, as determined from the changelog. cute lil substitution moment. π
the default value for the regex is: 'PACKAGE(-.+)?' β thus matching directory names such as PACKAGE and PACKAGE-version. iconic. periodt. π
π₯ OPTIONS π₯
-adebian-architecture,-tGNU-system-typeβ seedpkg-architecture(1)for a description of these options. they affect the search for the.changesfile, and they're provided to mimic the behaviour ofdpkg-buildpackagewhen determining the name of the.changesfile. matching energy, slay. β¨--debs-dir directoryβ look for the.changesand.debfiles indirectoryinstead of the parent of the source directory. this should either be an absolute path or relative to the top of the source directory. π-m,--multiβ search for a multiarch.changesfile, as created bydpkg-cross. π-u,--upgradeβ only upgrade packages already installed on the system, rather than installing all packages listed in the.changesfile. useful for multi-binary packages when you don't want to have all the binaries installed at once. lowkey so real of her. π«Ά--check-dirname-level Nβ see the above section Directory name checking for an explanation of this option. π--check-dirname-regex regexβ see the above section Directory name checking for an explanation of this option. π¦--with-dependsβ attempt to satisfy theDependsof a package when installing it. she's got your back fr fr. π--tool toolβ use the specifiedtoolfor installing the dependencies of the package(s) to be installed. by default,apt-getis used. β--no-conf,--noconfβ do not read any configuration files. β οΈ this can only be used as the first option given on the command-line. no sneaking it in later, bestie.--help,--versionβ show help message and version information respectively. the classics. π
π CONFIGURATION VARIABLES π
the two configuration files /etc/devscripts.conf and ~/.devscripts are sourced in that order to set configuration variables. command line options can be used to override configuration file settings. environment variable settings are ignored for this purpose. π
the currently recognised variables are:
DEBRELEASE_DEBS_DIRβ this specifies the directory in which to look for the.changesand.debfiles, and is either an absolute path or relative to the top of the source tree. this corresponds to the--debs-dircommand line option. this directive could be used, for example, if you always usepbuilderorsvn-buildpackageto build your packages. note that it also affectsdebrelease(1)in the same way β hence the strange name of the option. iykyk. πDEVSCRIPTS_CHECK_DIRNAME_LEVEL,DEVSCRIPTS_CHECK_DIRNAME_REGEXβ see the above section Directory name checking for an explanation of these variables. note that these are package-wide configuration variables, and will therefore affect alldevscriptsscripts which check their value, as described in their respective manpages and indevscripts.conf(5). so like, they get around. π
π¦ SEE ALSO π¦
π AUTHOR π
debi was originally written by Christoph Lameter <clameter@debian.org>. the now-defunct script debit was originally written by James R. Van Zandt <jrv@vanzandt.mv.com>. they have been moulded into one script together with debc(1) and parts extensively modified by Julian Gilbey <jdg@debian.org>. glow-up of the century honestly. π
and that's the whole page bestie!! this one shipped out under DEBIAN, in the Debian Utilities corner of the world, and it's dated to that Debian era we all know and love. mwah. π β¨π
π¦ where this page comes from
- fedora 43: devscripts 2.25.33-1.fc43 Β· GPL-2.0-or-later
- fedora 44: devscripts 2.26.5-1.fc44 Β· GPL-2.0-or-later
- ubuntu resolute: devscripts 2.26.7 Β· GPL-2.0-or-later
- ubuntu stonking: devscripts 2.26.11ubuntu1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms