Linux Labs

Packages, services, and logs / Stage 1 of 13

Packages, dependencies and repositories

Not running Starting usually ~20 s
Leave the lesson

Step 4 of 8 · theory · 5 min

Version, architecture, dependency

Three fields of the description decide whether a package suits this machine.

Version: 1.0-1 is the program's version and, after the last hyphen, the package build number. The tree version is longer, 2.1.1-2ubuntu3.24.04.2: the program is 2.1.1, the rest is the Ubuntu build. Versions are compared as a whole string.

The architecture says which processor the package is built for. all goes on any: inside there are only scripts and text. tree and nginx are amd64 — they contain machine code, and the architecture shows in the archive name tree_…_amd64.deb too. dpkg --print-architecture prints the machine's architecture, here amd64.

A dependency in the Depends field names packages that must be installed. The sign in brackets sets the version:

Entry What fits
lab-pkg-data (= 1.0-1) exactly version 1.0-1
libc6 (>= 2.38) version 2.38 or newer
iproute2 any version

dpkg checks a dependency against the package database. A dependency archive in the next file does not meet the requirement until it is installed.

Check yourself 1 question

lab-pkg-data 2.0-1 is installed. You install a lab-pkg-report archive with Depends: lab-pkg-data (= 1.0-1). Is the requirement met?

  • dpkg checks the dependency against the package database. An archive in the next file does not get into the database until it is installed.

  • The = sign requires exactly that version. "This one or newer" is written as >=.

(= 1.0-1) requires lab-pkg-data at exactly this version to be installed. With 2.0-1 dpkg leaves lab-pkg-report unconfigured and says which dependency is not met.

Key points

  • Read the package version from the Version field as a whole string.
  • all suits any processor, amd64 only machines of that architecture.
  • Depends is checked against the package database: an installed package of a suitable version is needed.
Ubuntu 24.04
Loading…