CBL-Mariner 2.0.20220617 lançado com suporte a Kernel Live Patching e PXE Boot

E foi lançado o CBL-Mariner 2.0.20220617 com suporte a Kernel Live Patching e PXE Boot, e mais. Confira as novidades e descubra como criar sua própria compilação dela.

CBL-Mariner não é uma distribuição de propósito geral como qualquer outra que teríamos em mente (como Ubuntu ou Fedora), embora seja de código aberto e já esteja sendo usado por sistemas como o Windows Subsystem for Linux (WSL), Azure Sphere OS, SONiC e outros esforços baseados em Linux.

CBL-Mariner é uma distribuição caracterizada por fornecer um pequeno conjunto padrão de pacotes principais que servem como base universal para a criação de contêineres, ambientes de hospedagem e serviços executados em infraestruturas de nuvem e dispositivos de borda.

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 a preparação para atualizações.

Por exemplo, o CBL-Mariner é usado como base para a minidistribuição WSLg, que fornece componentes de pilha de gráficos para iniciar aplicativos Linux GUI em ambientes baseados no subsistema WSL2 (Windows Subsystem for Linux).

A funcionalidade estendida no WSLg é feita incluindo pacotes adicionais com Weston Composite Server, XWayland, PulseAudio e FreeRDP.

O sistema de compilação CBL-Mariner permite gerar pacotes RPM autônomos baseados em arquivos fonte e SPEC, bem como imagens de sistema monolíticas geradas com o kit de ferramentas rpm-ostree e atualizadas atomicamente sem dividir em pacotes separados.

Consequentemente, dois modelos de entrega de atualização são suportados: atualizando pacotes individuais e reconstruindo e atualizando toda a imagem do sistema.

Um repositório está disponível com cerca de 3000 RPMs já construídos que você pode usar para construir suas próprias imagens com base no 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, bem como altas velocidades de download. A distribuição também se destaca por incluir vários mecanismos de segurança adicionais.

O projeto usa uma abordagem de “segurança máxima por padrão”. Fornece a capacidade de filtrar chamadas de sistema usando o mecanismo seccomp, criptografar partições de disco e verificar pacotes usando assinaturas digitais.

Os modos de randomização de espaço de endereçamento suportados no kernel Linux são ativados, assim como os mecanismos de proteção contra ataques relacionados a links simbólicos, mmap, /dev/mem e /dev/kmem.

Para áreas de memória que contêm segmentos com dados do kernel e do módulo, o modo é definido como somente leitura e a execução de código é proibida.

A capacidade de desabilitar o carregamento de módulos do kernel após a inicialização do sistema está disponível opcionalmente. O kit de ferramentas iptables é usado para filtrar pacotes de rede. Por padrão, a etapa de compilação habilita os modos de proteção contra estouros de pilha, estouros de buffer e problemas de formatação de string (_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.

Agora, a Microsoft lançou recentemente a nova atualização de sua distribuição Linux “CBL-Mariner 2.0.20220617” (Common Base Linux Mariner), que está sendo desenvolvida como uma plataforma de base universal para ambientes Linux usados ​​em infraestrutura em nuvem e vários serviços da Microsoft.

Novidades do CBL-Mariner 2.0.20220617

CBL-Mariner 2.0.20220617 lançado com suporte a Kernel Live Patching e PXE Boot
CBL-Mariner 2.0.20220617 lançado com suporte a Kernel Live Patching e PXE Boot

No mês passado, a Microsoft lançou a primeira versão de produção do CBL-Mariner 2.0, sua distribuição Linux interna usada para fornecer serviços de Microsoft Azure para casos de uso de WSL e muito mais.

O CBL-Mariner 2.0 neste fim de semana teve uma atualização mensal bastante grande com várias correções, atualizações de pacotes e novas adições a esta plataforma “Common Base Linux”.

CBL-Mariner 2.0.20220617 é a nova versão que foi lançada.

O Microsoft CBL-Mariner 2.0 atualizado adiciona novos pacotes como o Kpatch para suporte a patches de kernel, além de habilitar patches ao vivo para sua configuração de kernel, o suporte de inicialização PXE é adicionado ao instalador do Mariner e várias outras alterações.

Existem atualizações de pacotes como a mudança para Golang 1.18.3, Linux 5.15.45.1 como uma versão mais recente do kernel Linux LTS, Ncurses 6.3, Redis 6.2.7 e muitas outras atualizações de pacotes conduzidas principalmente em nome de correções de segurança.

Além disso, há uma variedade de correções gerais de bugs para esta versão do CBL-Mariner.

Por fim, se você tiver interesse em saber mais sobre o assunto e obter Downloads, consulte os detalhes no seguinte endereço.

Como criar sua própria compilação CBL-Mariner?

Para aqueles que estão interessados ​​em aprender mais sobre o CBL-Mariner, eles devem saber que podem construir sua própria imagem a partir do Ubuntu ou de qualquer distribuição Linux, somente neste caso seguiremos as instruções para gerar a imagem no Ubuntu.

Para fazer isso primeiro, devemos estabelecer alguns pré-requisitos que precisaremos para construir a imagem ISO:
sudo apt install make tar wget curl rpm qemu-utils golang-go genisoimage python2-minimal bison gawk

Agora procedemos para obter o código da CBL-Mariner:
git clone https://github.com/microsoft/CBL-Mariner.git

E agora teremos que entrar no diretório CBL-Mariner/toolkit e criar a imagem ISO de instalação.
cd CBL-Mariner/toolkit
sudo make iso REBUILD_TOOLS=y REBUILD_PACKAGES=n CONFIG_FILE=./imageconfigs/full.json

Quando terminar, podemos encontrar o arquivo ISO no diretório ../out/images/full/. Com a imagem do sistema criada, podemos testar o sistema em uma máquina virtual, seja com VirtualBox, VMWare, Boxes ou qualquer outro de sua preferência.

A única coisa que você precisa configurar na máquina virtual é que ela tenha pelo menos 2 GB de RAM, um núcleo e 16 GB de armazenamento.

Por fim, caso tenha interesse em saber mais sobre o assunto, consulte os detalhes no seguinte endereço.

Sobre o Edivaldo Brito

Edivaldo Brito é analista de sistemas, gestor de TI, blogueiro e também um grande fã de sistemas operacionais, banco de dados, software livre, redes, programação, dispositivos móveis e tudo mais que envolve tecnologia.

Deixe um comentário

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.