Recognized Distros, OS, and Images

Archives Formats

ScanCode.io recognizes and can extract most archive formats; however, it offers special support for VM and container image formats:

  • Docker image tarbal archives using a Docker image layout

  • Virtual machine images using QCOW and VHDI image format

Operating Systems Detection

When scanning for Docker or virtual machine (VM) images, one of the first tasks of a pipeline after extracting an archive is to detect the operating system. For Linux, this also includes detecting the installed Linux distribution, which checks for certain files such as /etc/os-release on Linux. The detected OS—distro—is then used to determine which system packages are likely installed, such as RPM or Debian packages.

For each recognized OS, a pipeline collects the following information:

  • OS and image details

  • Installed system packages metadata, license and their files

  • Installed application packages metadata, license and their files

  • Details for files not part of a package

Installed System Packages

ScanCode.io recognizes the following OS technology combinations; some of which may be only used for certain pipelines:

  • Debian-based Linux distros: Debian, Ubuntu and Debian-derivative

  • RPM-based Linux distros: RHEL, Fedora, openSUSE/SUSE

  • Alpine Linux distros

For the above three flavors, the analyze_docker_image and analyze_root_filesystem_or_vm_image pipelines support comprehensive detection of installed system packages, their provenance, their license metadata, and their installed files.

  • For Windows, the analyze_windows_docker_image pipeline supports Windows Docker images with extensive detection of installed Windows packages, programs, and the majority of installed files.

  • Distroless Docker images system packages are detected with the analyze_docker_image pipeline; package and license metadata are also detected. However, some work needs to be done to achieve comprehensive support and fix the issue of system packages ot tracking their installed files. Check this open GitHub issue for more details.

  • Yocto and OpenWRT Linux VM images are partially supported; adding more support is currently in progress.

  • Other distros and OS will be scanned; however, we might not be able to detect system installed packages and may return a larger volume of file-level detections.