Comparison: Package vs Daemon

Comparing Package vs Daemon is a deeper look at how Linux organizes software. These are two very different concepts, but often related to each other in system operation.

βœ… Comparison Table: Package vs Daemon

Criteria Package (Software package) Daemon (Background)
πŸ’‘ Definition A package containing software or libraries, installed into the system A program that runs in the background, continuously running to provide a service
πŸ”§ Function Provides code, libraries, configuration files... Provides services (web, printing, networking, synchronization...)
🧩 Relationship May contain daemons (if it is a service package) Installed through a specific package
πŸ” Runs continuously? ❌ No β€” just data or programs βœ… Yes β€” runs continuously in the background, usually starts with the system
πŸš€ Started by? Not automatically, must be called or used Automatically by systemd, init, rc.d,...
πŸ“¦ Example packages nginx, cups, mesa-2404, libc6, firefox, ssh (if contains daemons: nginx, sshd, cupsd, NetworkManager)
πŸ”₯ Daemon example No separate daemon, but can contain daemon configuration files nginx, sshd, cupsd, snapd, bluetoothd, systemd-resolved
πŸ” Check status No status when installed Can be checked with systemctl status <name>
πŸ“ Where is the file run? Install to /usr/bin, /usr/lib, /snap/... Usually /usr/sbin/<daemon> or /lib/systemd/system/<name>.service

πŸ” Further explanation

πŸ”Έ What is Package?

  • Software installation unit.

  • Can be an application, library, or service.

  • For example, nginx is an installation package, which when installed will contain configuration files, binaries, service scripts, etc.

πŸ”Έ What is Daemon?

  • Is a background program that does not interact directly with the user.

  • Usually serves a specific system function (web server, Bluetooth, printing, etc.).

  • Can start with the system, or when needed by the user/connection.


🧠 Actual relationship

Some packages contain daemons, for example:

Package Contain daemon Daemon name when running
nginx βœ… Yes nginx
openssh-server βœ… Yes sshd
snapd βœ… Yes snapd
mesa-2404 ❌ No β€” (just a library)

πŸ“Œ Check which daemon is running:

systemctl list-units --type=service

Or look up a specific daemon:

systemctl status sshd

βœ… Summary:

Comparison Package Daemon
Is it an installation package βœ… ❌
Is it a background process ❌ βœ…
Can it contain daemons? βœ… No, the daemon itself does not contain anything
Installed via APT, Snap, Flatpak... Installed from package
Specific examples nginx, mesa-2404, libc6 nginx, sshd, cupsd, snapd

If you want to check which daemon comes from which package, you can use:

dpkg -S $(which nginx)

Or:

systemctl status snapd