Introduction to configuring package repository

This article describes how to configure or modify the source package repository used with Package updates.

Such as:

  • You need to deliver over-the-air updates to your devices from a private package repository with approved versions of libraries and components
  • You need devices to get packages from a specific vendor's repository

Following this document, learn how to configure a package repository using OSConfig for IoT and deploy packages based updates from that repository to your device fleet using Device Update for IoT Hub. Package-based updates are targeted updates that alter only a specific component or application on the device. They lead to lower consumption of bandwidth and help reduce the time to download and install the update. Package-based updates also typically allow for less downtime of devices when you apply an update and avoid the overhead of creating images.


You need an Azure account with an IoT Hub and Microsoft Azure Portal or Azure CLI to interact with devices via your IoT Hub. Follow the next steps to get started:

  • Create a Device Update account and instance in your IoT Hub. See how to create it.
  • Install the IoT Hub Identity Service (or skip if IoT Edge 1.2 or higher is already installed on the device).
  • Install the Device Update agent on the device. See how to.
  • Install the OSConfig agent on the device. See how to.
  • Now that both the agent and IoT Hub Identity Service are present on the device, the next step is to configure the device with an identity so it can connect to Azure. See example here

How to configure package repository for package updates

Follow the below steps to update Azure IoT Edge on Ubuntu Server 18.04 x64 by configuring a source repository. The tools and concepts in this tutorial still apply even if you plan to use a different OS platform configuration.

  1. Configure the package repository of your choice with the OSConfig’s configure package repo module. See how to. This repository should be the location where you wish to store packages to be downloaded to the device.
  2. Upload your packages to the above configured repository.
  3. Create an APT manifest to provide the Device Update agent with the information it needs to download and install the packages (and their dependencies) from the repository.
  4. Follow steps from here to do a package update with Device Update. Device Update is used to deploy package updates to a large number of devices and at scale.
  5. Monitor results of the package update by following these steps.