O que falta para a que a musl substitua a GilbC no Linux

Logo da biblioteca C musl
Logo da biblioteca C musl
musl é uma biblioteca C que aos poucos irá substituir no Linux a padrão GlibC. E isso já vem acontecendo como através da distribuição Alpine Linux, Void Linux (apesar de possui as suas versões GlibC, seu foco maior é a musl), no Aboriginal linux, no toybox e é sempre comentado na conferencia Container Con. Como descrito no seu site oficial:
musl é uma nova biblioteca padrão para dar poder à uma nova geração de dispositivos baseados em Linux. musl é leve, rápida, simples, livre e se esforça para ser correta no senso de padrões de conformidade e de segurança.

A musl segue o padrão POSIX 2008 base a risca e é possível ver durante o processo de compilação que é adotado fortemente o padrão ISO C99 na biblioteca e um número de interfaces não padronizadas para ter compatibilidade com funcionalidades entre Linux, BSD e a glibc:


musl está sob a licença permissiva MIT e possui suporte as arquiteturas x86 (32/64), ARM (32/64), MIPS (32/64), PowerPC (32/64), S390X, SuperH, Microblaze, OpenRISC.

Veja o vídeo da série Muito além do GNU para saber melhor sobre a Musl



Mas o que falta então para que musl se torna padrão nas distribuições Linux? 

Assim como no LLVM/Clang (e é o que a comunidade LLVM mais reclama), é que faltam algumas extensões GNU extremamente importantes presentes somente no GCC e na GlibC e que não são documentadas pela comunidade GNU. Se vocês quiserem saber algo sobre essas extensões, é necessário entrar em contato com a comunidade GNU e perguntá-los sobre elas (e para eles responderem... aí já é outras história). Isso acaba dificultando que alavanquem e acaba amarrando projetos a ficarem dependendo das ferramentas que o GNU tem a oferecer (chega a ser estranho falar de liberdade...)

Faltam também um monte de localizações, dados, um monte de bloat do GNU (que acontece a mesma coisa), Name Service Switch, (NSS), serviços de rede, biblioteca (libnsl em específico) e 80+ CVEs. Quando esses recursos forem adicionados a musl, podem ter certeza, adeus glibc.

Apesar do que ainda falta para a sua melhor adoção (que estão trabalhando fortemente para ter por completo e que há longa data já é boa o suficiente para colocar em um ambiente de produção), a musl já apresenta suas viabilidades em comparação a glibc. Basta comparar o resultado final das duas:

Comparação de tamanho final de um binário entre musl e glibc.
Comparação de tamanho final de um binário entre musl e glibc.

Analista (bilíngue) de sistemas, redator do blog Diolinuxtradutor da distribuição Funtoo e parte da distribuição IPFire, do manual chamado Caixa de Ferramentas do UNIX e do manual Zsh Lovers. Dono dos canais e blogs Toca do Tux e Resenha Nerd:

Compartilhe isso

Leia outros posts

Próximo post
« Próximo post
Post Anterior
Próximo Post »

Compre na imago brinquedos

Compre na imago brinquedos
Utilize o cupom de desconto TOCADOTUX e ecnomize 5% na sua compra