vicigeeksimple guides
Browse
All guides

Running your system · Start here · foundations

Linux packages: apt, zypper and safe updates

Detect which package manager a host actually has, then inspect Debian/Ubuntu and openSUSE packages safely before installing telephony software.

Reader setup

Before you start

Run each step in order and move only when the outcome is confirmed.

  1. Terminal basics
  2. A disposable VM
  3. Know whether it is Debian/Ubuntu or openSUSE
What you will prove
You can detect which package manager a host actually has, then inspect package information on that tool without starting a system-wide upgrade.
Safety boundary
Do not mix repositories or run a distribution upgrade on a VICIdial/ViciBox host as a learning exercise.

Reader path

How to use this article

  • Use it when: You need a fixed sequence to make a deployment or configuration change now.
  • Expected result: Follow each step and verify the outcome before changing the next layer.
  • Start here: Start at the first section and complete every checkpoint before moving to the next.

Beginner curriculum

Stage 1 of 7: Linux and network basics

Lesson 4 of 7 · Step 4 of 34

01 / 05

A package manager tracks software

A package bundles software together with metadata and a list of dependencies, so installing one thing correctly pulls in everything it needs. A repository is a configured, trusted source of packages. Let the package manager resolve dependencies for you instead of downloading an RPM or DEB file from a search result and installing it by hand — that shortcut is exactly how conflicting library versions and half-broken systems get created.

Two package managers matter for this curriculum: apt, used by Debian and Ubuntu, and zypper, used by openSUSE — the family ViciBox is built on. openSUSE also offers a graphical front end called YaST, which calls the same underlying tools. Stock ViciBox is its own maintained appliance, not a generic openSUSE install, so a package change that is safe on a plain openSUSE lab is not automatically a supported ViciBox modification; treat the two as related but separate skills.

Trace path · read left to right
01Repository02Package manager03Installed software

Visual walkthrough

Follow three real demo screens

Captured on an isolated VICIdial demo: Administration screens on September 24, 2026, and the idle Agent screen on August 11, 2026. Each caption states its own capture time, and every sanitized image helps you recognize a related screen; none proves that this article's call, command, or result occurred.
Step 1 · Find the main areas

Start at Administration home

Sanitized VICIdial Administration home page with navigation and aggregate system counts
Captured September 24, 2026 at 21:54:37 UTC on the authorized isolated demo. This is an orientation page with aggregate counts only; it is not a report and does not prove production activity or a completed call.
Step 2 · Map system administration

Use the Administration menu as a map

Sanitized VICIdial Administration menu showing phones, carriers, servers, system settings, and system statuses
Captured September 24, 2026 at 21:34:11 UTC on the authorized isolated demo. This menu is a navigation map only; it does not show that any system-wide setting was changed or verified.
Step 3 · Read platform identity

Confirm version and system-wide context

Sanitized VICIdial Modify System Settings page showing revision, schema, interface, SIP-stack, and API-related controls
Captured August 11, 2026 at 16:22:08 UTC on the authorized isolated demo. This is a read-only view of system-wide settings with no credentials or addresses; it does not prove that a setting was changed or that an API request succeeded.

02 / 05

Detect before you assume

Never guess which package manager a host runs from its hostname, its purpose, or a habit from your last job. `/etc/os-release` names the distribution in a few standard, machine-readable lines, and `command -v` reports whether a given program exists on the current PATH (the list of directories your shell searches, in order, whenever you type a program's name without a full path to it) without running it — both are read-only checks you can run on any unfamiliar host in seconds, before you type a single package command.

Recording the release name and version is the first fact worth writing in any change ticket, because it determines which manual you should be reading and which package names are even valid; a package called openssh on one distribution can be called openssh-server or openssh-clients on another, and guessing wrong wastes time on both sides of a support conversation.

This matters more, not less, once VICIdial is involved. A forum post or an old blog written for a Debian-based install can name packages, paths and commands that simply do not exist under those names on the openSUSE-based ViciBox this curriculum's lab stage uses, and running its apt commands there will only teach you that apt itself is missing.

03 / 05

Guided sample: identify the platform

This sample answers two questions at once: what distribution is this, and which package manager does it actually have installed? `command -v apt` and `command -v zypper` each print a path if the tool exists, and print nothing and exit with a non-zero status if it does not — on almost every real host, exactly one of the two will report a path.

Running both lookups instead of assuming from the first one costs nothing and catches the rare host that genuinely has neither, or that has both because someone installed compatibility tooling — a case worth a question to the host's owner rather than a guess about which one actually manages the system's real packages.

Identify your distribution
cat /etc/os-releasecommand -v aptcommand -v zypper
Evidence · ViciBox 12 demo capture

Captured demo response · 2026-09-23 21:34 UTC. The displayed command is the command that ran; a safe subset label means it was filtered, redacted, or fixture-scoped. Replays only after you select Replay transcript.

Command output line: cat /etc/os-release
NAME="openSUSE Leap"
VERSION="15.6"
ID="opensuse-leap"
ID_LIKE="suse opensuse"
VERSION_ID="15.6"
PRETTY_NAME="openSUSE Leap 15.6"
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:opensuse:leap:15.6"
BUG_REPORT_URL="https://bugs.opensuse.org"
HOME_URL="https://www.opensuse.org/"
DOCUMENTATION_URL="https://en.opensuse.org/Portal:Leap"
LOGO="distributor-logo-Leap"
Command output line: command -v apt
(no output)
Command output line: command -v zypper
/usr/bin/zypper
Before you run it
All three commands only read; nothing here changes the system.
Success looks like
You see distribution details from /etc/os-release, and a path from whichever of apt or zypper is actually installed.
Stop if
Stop if the host reports a distribution you do not recognize, or if neither command -v line prints anything — ask the host's owner before choosing a package manager to use next.

04 / 05

Guided sample: branch on what you detected, then inspect only

Now use what the previous sample told you, rather than running a command that only works on one family and prints a confusing "not found" error on the other. The script below checks for zypper first, since ViciBox and every other openSUSE-family host in this curriculum reports it, and falls back to apt-cache only if zypper is absent. Either branch only inspects; neither installs, removes nor upgrades anything.

`zypper info` and `apt-cache policy` both report a package's available and installed versions without asking for confirmation. If either tool ever does prompt you to confirm a transaction, stop — that means you typed an installation command by mistake, not an inspection one.

Inspect, do not install
if command -v zypper >/dev/null 2>&1; then  zypper --no-refresh info opensshelif command -v apt-cache >/dev/null 2>&1; then  apt-cache policy openssh-serverfi
Evidence · ViciBox 12 demo capture

Captured demo response · 2026-09-24 21:56 UTC. The displayed command is the command that ran; a safe subset label means it was filtered, redacted, or fixture-scoped. Replays only after you select Replay transcript.

Command output line: if command -v zypper >/dev/null 2>&1; then zypper --no-refresh info openssh elif command -v apt-cache >/dev/null 2>&1; then apt-cache policy openssh-server fi
Loading repository data...
Warning: Repository 'openSUSE-SLE-15.6-Backports' metadata expired since 2026-03-11 13:53:14 EDT.
Warning: Repository 'Update repository of openSUSE Backports' metadata expired since 2026-03-11 13:53:14 EDT.
Warning: Repository metadata expired: Check if 'autorefresh' is turned on (zypper lr), otherwise
manually refresh the repository (zypper ref). If this does not solve the issue, it could be that
you are using a broken mirror or the server has actually discontinued to support the repository.
Reading installed packages...
Information for package openssh:
--------------------------------
Repository : openSUSE-SLE-15.6-Update
Name : openssh
Version : 9.6p1-150600.6.34.1
Arch : x86_64
Vendor : SUSE LLC <https://www.suse.com/>
Installed Size : 0 B
Installed : Yes
Status : up-to-date
Source package : openssh-9.6p1-150600.6.34.1.src
Upstream URL : https://www.openssh.com/
Summary : Secure Shell Client and Server (Remote Login Program)
Description :
SSH (Secure Shell) is a program for logging into and executing commands
on a remote machine. It replaces rsh (rlogin and rsh) and
provides secure encrypted communication between two untrusted
hosts over an insecure network.
xorg-x11 (X Window System) connections and arbitrary TCP/IP ports can
also be forwarded over the secure channel.
Before you run it
This runs exactly one branch, matching the tool the previous sample found; it only inspects.
Success looks like
You see one package's version and repository metadata, from whichever branch matched your host.
Stop if
Stop if the tool proposes a transaction or asks for confirmation; an inspection command should never do that.

05 / 05

Update plans need a change window

Everything above is inspection. Actually installing or upgrading a package is a different act entirely, and on a host running Asterisk, a database or a web server, it deserves a compatibility check, a rollback plan and a maintenance window — not a habit carried over from a personal laptop where an unplanned reboot costs nothing.

Treat any upgrade on a ViciBox host as a planned change. The ViciBox kernel-upgrade guide in this library's reference docs (written for the ViciBox 7 era) walks through repository checks, free space in /boot and a reboot — exactly the preparation an ad hoc `zypper update` skips. That belongs in a change window, never on a host others depend on.

  • I can name my host's distribution and its package manager without guessing.
  • I ran only the branch that matched what I detected.
  • I know that any prompt asking me to confirm a transaction means I have left inspection and entered installation.

Evidence ledger

Verification basis

  • Both samples in this lesson only read package metadata: `cat`, `command -v`, `zypper info` and `apt-cache policy` never install, remove or upgrade a package.

Primary references

Sources

  1. APT user guideDebian Project · accessed September 23, 2026
  2. Managing software with command line toolsopenSUSE · accessed September 23, 2026

Follow without guesswork

Get the next article

RSS is live now. Email delivery below is an explicit local preview and sends nothing.Open the RSS feed
Email preview only. The address stays in this browser and is never transmitted.