Skip to content

microsoft/azurelinux

Azure Linux logo Azure Linux 4

An open-source Linux distribution built and optimized for Azure, with sources derived from Fedora Linux. Azure Linux provides a secured, reliable operating system for virtual machines, containers, and bare-metal platforms.

Azure Linux is built on a robust open-source foundation from the Fedora ecosystem and enhanced with Azure-specific innovations. This provides the familiarity of the RPM package ecosystem, while adding Azure-native security, compliance, and operational capabilities.

Key features of Azure Linux include: hardened security posture, an Azure-optimized kernel, supply chain security, native Azure integration, and a predictable lifecycle.

This branch holds the in-development sources for Azure Linux 4. For Azure Linux 3, see the 3.0 branch.

Getting started

The links below will help you get started with Azure Linux:

Product documentation https://aka.ms/azurelinux
Release information GitHub Releases
File a bug / feedback GitHub Issues
Ask a question / get help SUPPORT.md
Get started as a distro developer DEVELOPING.md
Contribution guidelines CONTRIBUTING.md
Report a security issue SECURITY.md

Using Azure Linux

Azure Linux 4 is still in development; downloads will be linked here when available. To deploy Azure Linux today, see Azure Linux 3.

What's in this branch?

Azure Linux 4 is an RPM-based distribution optimized for Azure and modern cloud workloads. It is defined by a set of TOML configuration files and targeted overlays applied to Fedora Linux, its upstream base.

Deviations from upstream are declaratively defined and scoped to avoid unnecessary divergence or forking. This repository contains a mechanically rendered set of RPM package spec files derived from applying this layer to Fedora's upstream packaging sources.

How Azure Linux is defined

The distro is described almost entirely in TOML-based configuration files. Our open-source development tool, azldev, is used to apply this configuration to upstream Fedora spec files and packaging sources.

azldev.toml        # Top-level entry point
├── distro/        # Distro-wide configs (e.g., sources, mock configs)
└── base/          # The "base" project: components, images, tests
    └── comps/     # Component definitions (one per source package)
    └── images/    # Base image definitions

Concepts/terms

  • Components (also known as source packages) are the unit of packaging. Most are imported in source form from Fedora's upstream dist-git repositories; each component produces one or more RPMs. Azure Linux builds all components from sources to produce a full set of installable RPM packages.
  • Overlays are declarative modifications to upstream specs and sources (e.g., patches, additions/removals, build parameters). They live alongside the component definition and always carry a description explaining why the change is needed. Overlays let us avoid forking upstream specs and are more flexible than plain textual patches.
  • Rendered specs are the final .spec files produced by applying overlays to upstream sources. They are mechanically generated by azldev, checked in for visibility and auditability, and live under specs/. Treat them as derived output and not sources for editing. We use them as the input to standard RPM building services/tools (mock + rpmbuild, koji).

For a deeper tour of the tooling, the overlay system, and how to get started developing within this distro, please see DEVELOPING.md.

Repository layout

Path What's there
azldev.toml Top-level config — includes distro/ and base/.
distro/ Distro definitions (Azure Linux + upstream Fedora), shared mock configs.
base/ The base project: components, images, tests.
base/comps/ Component definitions — the heart of the distro.
base/images/ Image definitions (VM, container, etc.) built from the component set using KIWI NG.
specs/ Rendered specs — generated .spec files after overlays are applied. Checked in for visibility; do not hand-edit.
locks/ Per-component lock files pinning upstream commits + input fingerprints; do not hand-edit.
external/schemas/ Cached copy of the JSON Schema for TOML config files; mirrored from azldev.
.github/ CI workflows, plus Copilot prompts, skills, and agent instructions used by AI-assisted development.

Getting started as a distro developer

If you want to build or develop within the distro, start with DEVELOPING.md. Don't worry about this if you're primarily looking to use the distro.

Engagement & support

  • Bugs and feature requests: file a GitHub issue. Please search existing issues first to avoid duplicates. Share as much as you can with us regarding what you tried and what you're seeing.
  • Support: see SUPPORT.md for the full set of channels.
  • Security vulnerabilities: do not open a public issue. Follow the process in SECURITY.md to report privately to the Microsoft Security Response Center.
  • Pull requests: see CONTRIBUTING.md for the patch-series workflow, commit-message conventions, and review expectations.

This project has adopted the Microsoft Open Source Code of Conduct. For more information, see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

Trademarks

This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos is subject to those third parties' policies.

Acknowledgments

Any Linux distribution, including Azure Linux, benefits from contributions by the open-source software community. We gratefully acknowledge all contributions made from the broader community.

We specifically want to thank the Fedora Project for providing us with a strong foundation across components, spec files, tools, services, and community. We are proud to participate and contribute to this community.

License

Unless otherwise specified, the content of the Azure Linux distribution and this repository are distributed under an MIT license.

Individual packages within the distribution are distributed under licenses specified in their package spec files and sources.

This repository contains files derived from Fedora Linux. For details on the licensing terms for the Fedora Project, please consult fedoraproject.org.

About

General purpose Linux OS for Azure

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors