Package Management

The Package Management feature allows you to view, install, update, and remove software packages on devices remotely.

Package List

The Package Information section in the device details page displays all installed packages with their key information:

  • Name: The name of the package

  • Version: The current version of the package

  • Source: The package source (e.g., apt, npm, pip)

  • Description: A brief description of the package

  • Installed At: When the package was installed

Viewing Device Packages

To view the packages installed on a device:

  1. Navigate to the Device Management page

  2. Click on a device in the list to view its details

  3. Click the Packages tab

The system will display a list of all packages installed on the device, along with their versions and other details.

Refreshing Package Information

To refresh the package information:

  1. Navigate to the device details page

  2. Click the Packages tab

  3. Click the Refresh button

The system will send a command to the device to retrieve the latest package information.

Installing Packages

To install a new package on a device:

  1. Navigate to the device details page

  2. Click the Packages tab

  3. Click the Install Package button

  4. Fill in the required information:

    • Package Name: The name of the package to install

    • Version (optional): The specific version to install

  5. Click Install

The system will send a command to the device to install the specified package. You can monitor the installation progress in the command history.

Updating Packages

To update an existing package on a device:

  1. Navigate to the device details page

  2. Click the Packages tab

  3. Find the package you want to update

  4. Click the Update button

  5. Optionally, specify a version to update to

  6. Click Update

The system will send a command to the device to update the specified package. You can monitor the update progress in the command history.

Removing Packages

To remove a package from a device:

  1. Navigate to the device details page

  2. Click the Packages tab

  3. Find the package you want to remove

  4. Click the Remove button

  5. Confirm the removal

The system will send a command to the device to remove the specified package. You can monitor the removal progress in the command history.

Package Management Commands

Package management operations are implemented as commands that are sent to the device. The commands include:

  • install-package: Install a new package

  • update-package: Update an existing package

  • remove-package: Remove a package

These commands are executed by the device’s package manager, which is automatically detected based on the device’s operating system.

Supported Package Managers

Currently, the system supports:

  • APT: For Debian-based systems (Ubuntu, Debian)

Support for additional package managers will be added in future releases.

Package Management Security

Package management operations require elevated privileges on the device. The device client is configured to use passwordless sudo for specific package management commands to enable automated package operations.

Package Management Logs

All package management operations are logged in the system for audit purposes. The logs include:

  • Who initiated the operation

  • When the operation was initiated

  • Which devices were affected

  • The operation status and result

Package Management Best Practices

  • Test Updates: Test package updates on non-critical devices before deploying to production

  • Schedule Updates: Schedule updates during maintenance windows to minimize disruption

  • Version Pinning: Pin package versions to ensure consistency across devices

  • Dependency Management: Be aware of package dependencies when installing or removing packages

  • Rollback Plan: Have a rollback plan in case a package update causes issues