The release of the Linux distribution Photon OS 5.0 has been announced, aimed at providing a minimalist hosting environment for running applications in isolated containers. The project is developed by VMware and is claimed to be suitable for deploying industrial applications, including additional elements to enhance security and offering advanced optimizations for VMware vSphere, Microsoft Azure, Amazon Elastic Compute, and Google Compute Engine environments. The source code for the components developed for Photon OS is provided under the GPLv2 license (except for the libtdnf library, which is open under the LGPLv2.1 license). Ready-made ISO and OVA images are available for x86_64, ARM64, Raspberry Pi, and various cloud platforms under a separate End User License Agreement (EULA).
The system allows running most container formats, including Docker, Rocket, and Garden formats, and supports container orchestration platforms such as Mesos and Kubernetes. A background process called pmd (Photon Management Daemon) is used for software management and updates, along with the proprietary tdnf tool, which is compatible with the YUM package manager and offers a package-based lifecycle management model for the distribution. The system also provides tools for easily migrating application containers from developer environments (such as those using VMware Fusion and VMware Workstation) to production cloud environments.
System services are managed by systemd. The kernel is built with optimizations for the VMware hypervisor and includes security-enhancing settings recommended by the KSPP (Kernel Self-Protection Project). Security-boosting compiler options are employed during package building. The distribution is offered in three editions: minimal (538MB, includes only basic system packages and runtime for running containers), a developer edition (4.3GB, includes additional packages for software development and testing delivered in containers), and a real-time edition (683MB, contains a kernel with PREEMPT_RT patches for running real-time applications).
Key improvements in the Photon OS 5.0 release:
- Support for XFS and BTRFS file systems has been added.
- The Network Configuration Manager process now includes support for configuration VPN of WireGuard, multiple routes, SR-IOV (Single Root Input/Output Virtualization), creating and configuring virtual devices, creating NetDev interfaces, VLAN, VXLAN, Bridge, Bond, VETH (Virtual Ethernet), MacVLAN/MacVTap, IPvlan/IPvtap, and tunnels (IPIP, SIT, GRE, VTI). The range of network device parameters available for configuration and viewing has been expanded.
- Support for configuring the hostname, TLS, SR-IOV, Tap and Tun interfaces has been added to the PMD-Nextgen (Photon Management Daemon) process.
- The Network-event-broker now allows for the substitution of network data in JSON format.
- The cntrctl utility now includes the ability to build lightweight containers.
- Support for cgroups v2 has been added, which can be used, for example, to limit memory consumption, CPU resources, and input/output. The key difference between cgroups v2 and v1 is the use of a common cgroups hierarchy for all types of resources, instead of separate hierarchies for CPU resource distribution, memory consumption regulation, and input/output.
- The ability to apply patches to the Linux kernel without stopping operation and without rebooting (Kernel Live Patching) has been added.
- Support for container security through SELinux policies has been added.
- The ability to create containers without the root user has been added.
- For the linux-esx kernel, support for the ARM64 architecture has been added.
- Support for PostgreSQL databases has been added. Versions 13, 14, and 15 are supported.
- The tdnf package manager now supports commands for managing change history (list, rollback, undo, and redo), and the mark command has been implemented.
- Support for scripts triggered before the installation begins has been added to the installer. A utility for generating custom initrd images has also been added.
- Support for the A/B partition splitting mode has been added, where two identical root partitions—active and passive—are created on the drive. The new update is installed in the passive partition, without affecting the operation of the active one. The partitions are then swapped— the partition with the new update becomes active while the previously active one is switched to passive mode, awaiting the installation of the next update. If something goes wrong after the update, a rollback to the previous version can be performed.
- Package versions have been updated, including Linux kernel 6.1.10, GCC 12.2, Glibc 2.36, Systemd 253, Python3 3.11, Openjdk 17, Openssl 3.0.8, Cloud-init 23.1.1, Ruby 3.1.2, Perl 5.36, Kubernetes 1.26.1, Go 1.20.2.
Source: opennet.ru
