Installing Debian packages

What does software management do?

qbee offers a simple way to install Debian packages. This is located in Configuration. Go to "Software->Software Management". When using this qbee will both handle the process of getting the packages to the remote target and installing them. In addition the service will be started.

What is the difference between software management and package management?

Software management plays out a package once when it is not on the device. It will not update it automatically. If the file comes from a repository it will stay on its current version. If the file comes from the file manager it will only be updated when the checksum of the file in file manager changes. For general package updates please check out the package management functionality.

There are two different ways of installing packages in software management:

  1. The first way is to just specify the debian service name in the "Software package" box. In order to install Node-RED to an edge device it is possible to specify "nodered".

    Repository Install

    Only specifying a debian package name will fetch the package from the repository that is defined on the remote device. Then it is installed and started. This only works if the repository contains the correct package.

  2. If a package is defined with a debian compatible file name and a .deb package ending it will be played out from qbee's internal file manager. If you want to use your own packages please upload those to the file manager and remember to use the correct path..

    Installation of your own packages from file manager

    Packages that do have a debian compatible naming convention and a ".deb" ending will be provided by qbee's file manager from the specified source path.

    Deviating service name

    Now it is possible to specify a different service name if that is deviating from the package name.

    qbee works with strict naming conventions

    It is important to adhere to the debian naming convention for this to work.
    A typical example is the chromium_83.0.4103.116-3.1_arm64.deb Chromium package. Or, in a more general notation: package_version_architecture.deb
    Sometimes packages have a wrong name. They use for example name-0.0.3-all.deb. These need to be renamed or you will get an error. A very useful check for correct file name is to run dpkg -I package.deb. This will show the meta information for the package and this is how the file should be called. In the example below we run dpkg -I chromium_83.0.4103.116-3.1_arm64.deb and get the following output. Relevant name parts are highlighted in red: !finding-dpkg-meta-information

In general both ways will generate a log entry when the package is installed and any time the package is restarted. This is one of the simplest ways to play out software to a Raspberry Pi or industrial controller infrastructure. Use qbee for OTA software updates to large fleets of devices.

qbee automatically monitors the process and restarts it if it is not running

qbee monitors the processes with its internal run interval. If the qbee-agent gets active and a software that is supposed to be installed is not running it will be automatically restarted. This will create a warning entry in the log files.