A Microsoft publicou a distribuição Linux CBL-Mariner 2.0

A Microsoft publicou a primeira atualização estável do novo ramo de distribuição CBL-Mariner 2.0 (Common Base Linux Mariner), que está sendo desenvolvido como uma plataforma base universal para ambientes Linux usados ​​em infraestrutura em nuvem, sistemas de borda e diversos serviços Microsoft. O projeto visa unificar soluções Microsoft Linux e simplificar a manutenção de sistemas Linux para diversas finalidades atualizadas. Os desenvolvimentos do projeto são distribuídos sob licença do MIT. As compilações de pacotes são geradas para arquiteturas aarch64 e x86_64.

A nova versão se destaca pela atualização significativa das versões do programa. Incluindo versões atualizadas do kernel Linux 5.15 (no ramo 1.0 foi usado o kernel 5.4), systemd 250, glibc 2.35, GCC 11.2, clang 12, Python 3.9, ruby ​​​​3.1.2, rpm 4.17, qemu 6.1, perl 5.34 , ostree 2022.1. O repositório principal inclui componentes GUI como Wayland 1.20, Mesa 21.0, GTK 3.24 e X.Org Server 1.20.10, que foram enviados anteriormente em um repositório coreui separado. Adicionadas compilações de kernel com patches PREEMPT_RT para uso em sistemas de tempo real.

A distribuição CBL-Mariner fornece um pequeno conjunto padrão de pacotes básicos que servem como base universal para a criação de conteúdos de contêineres, ambientes de host e serviços executados em infraestruturas de nuvem e em dispositivos de ponta. Soluções mais complexas e especializadas podem ser criadas adicionando pacotes adicionais ao CBL-Mariner, mas a base para todos esses sistemas permanece a mesma, facilitando a manutenção e as atualizações. Por exemplo, CBL-Mariner é usado como base para a minidistribuição WSLg, que fornece componentes de pilha gráfica para executar aplicativos Linux GUI em ambientes baseados no subsistema WSL2 (Windows Subsystem for Linux). A funcionalidade estendida no WSLg é obtida através da inclusão de pacotes adicionais com Weston Composite Server, XWayland, PulseAudio e FreeRDP.

O sistema de construção CBL-Mariner permite gerar pacotes RPM individuais baseados em arquivos SPEC e código-fonte, bem como imagens de sistema monolíticas geradas usando o kit de ferramentas rpm-ostree e atualizadas atomicamente sem dividir em pacotes separados. Conseqüentemente, dois modelos de entrega de atualização são suportados: através da atualização de pacotes individuais e através da reconstrução e atualização de toda a imagem do sistema. Está disponível um repositório de aproximadamente 3000 pacotes RPM pré-construídos que você pode usar para construir suas próprias imagens com base em um arquivo de configuração.

A distribuição inclui apenas os componentes mais necessários e é otimizada para consumo mínimo de memória e espaço em disco, além de alta velocidade de carregamento. A distribuição também se destaca pela inclusão de vários mecanismos adicionais para aumentar a segurança. O projeto adota uma abordagem de “segurança máxima por padrão”. É possível filtrar chamadas do sistema usando o mecanismo seccomp, criptografar partições de disco e verificar pacotes usando assinatura digital.

Os modos de randomização do espaço de endereço suportados no kernel Linux são ativados, bem como mecanismos de proteção contra ataques de links simbólicos, mmap, /dev/mem e /dev/kmem. As áreas de memória que contêm segmentos com dados do kernel e do módulo são configuradas para modo somente leitura e a execução de código é proibida. Uma opção opcional é desabilitar o carregamento de módulos do kernel após a inicialização do sistema. O kit de ferramentas iptables é usado para filtrar pacotes de rede. No estágio de construção, a proteção contra estouros de pilha, estouros de buffer e problemas de formatação de string é habilitada por padrão (_FORTIFY_SOURCE, -fstack-protector, -Wformat-security, relro).

O gerenciador de sistema systemd é usado para gerenciar serviços e inicialização. Os gerenciadores de pacotes RPM e DNF são fornecidos para gerenciamento de pacotes. O servidor SSH não está habilitado por padrão. Para instalar a distribuição, é fornecido um instalador que pode funcionar tanto em modo texto quanto gráfico. O instalador oferece a opção de instalação com um conjunto completo ou básico de pacotes e oferece uma interface para selecionar uma partição de disco, selecionar um nome de host e criar usuários.

Fonte: opennet.ru

Adicionar um comentário