Alpine Linux
![]() | As referências deste artigo necessitam de formatação. (Julho de 2022) |
Alpine Linux | |
---|---|
![]() | |
Arquiteturas | arm x86 x86-64 |
Modelo do desenvolvimento | Código_aberto |
Versão estável | 3.20.0 / 22 de maio de 2024[1] |
Versão em teste | edge / Corrente (Rolling release) |
Mercado-alvo | Usuários Avançados |
Família | LEAF |
Núcleo | Monolithic (Linux) |
Gerenciamento de pacotes | apk |
Website | alpinelinux |
Origem comum | |
Portal do Software Livre |
Alpine Linux é uma distribuição Linux baseada em musl e BusyBox, originalmente projetada para usuários avançados que apreciam segurança, simplicidade e eficiência no uso de recursos. Usa os patches PaX e grsecurity no kernel padrão e compila todos os binários do Userland como executável de posição independente com proteção contra stack-smashing.[2]
História
[editar | editar código-fonte]Originalmente, Alpine Linux começou como um fork do Projeto LEAF[3] Os membros do LEAF gostariam de continuar construindo uma distribuição Linux que funcionasse em um único disquete, enquanto que a equipe do Alpine Linux desejava incluir alguns pacotes mais pesados como Squid e Samba, assim como recursos adicionais de segurança e um novo kernel. Uma das metas originais foi criar um framework para sistemas maiores.
Características
[editar | editar código-fonte]- Gestor de pacotes: Alpine usa seu próprio sistema gestor de pacote, apk-tools,[4] que originalmente foi uma coleção de shell scripts e mais tarde foi rescrito[ligação inativa] em C. Alpine atualmente contém os pacotes mais comuns como GNOME, Xfce, Firefox, e outros.
- Executar sobre RAM: Alpine Linux pode ser instalado como uma distribuição executável pela RAM. O LBU (Alpine Local Backup)[5] é uma ferramenta que opcionalmente permite que todos os arquivos de configurações serem copiados para um arquivo APK de sobreposição (normalmente chamado apkovl), um arquivo tar.gz que por padrão armazena uma cópia de todos os arquivos alterados.
- Segurança: Por padrão, PaX e grsecurity (grsec) são incluídos no kernel do Alpine Linux e permitem reduzir o impacto de falhas exploráveis como vmsplice() local root exploit. Todos os pacotes são também compilados com uma proteção stack-smashing para ajudar a mitigar os efeitos de buffer overflow.
- Tamanho: O Alpine Linux é projetado para que sua estrutura base apenas tenha entre 4-5 MBs (excluindo-se o kernel). Isto permite containers muito pequenos, por volta de 8 MB , enquanto uma instalação mínima no disco possui por volta de 130 MB.
- Alpine Configuration Framework (ACF): Embora opcional, o ACF é uma aplicação para configurar uma máquina com Linux Alpine, com objetivos similares ao debconf do Debian.
- C standard library: O Linux Alpine anteriormente usava uClibc em vez do tradicional GNU C Library (glibc), que é mais comumente usado. Embora isto seja leve, possui significantes incompatibilidades com o glibc. O que obrigava que todos os softwares fossem compilados com o uClibc. Em abril de 2014 os desenvolvedores trocaram para o musl, que possui uma compatibilidade parcial com glibc.[6]
- Sistema de iniciação: O OpenRC é o sistema de iniciação corrente do Linux Alpine.[7]
Referências
- ↑ «Alpine 3.20.0 released». Alpine Linux. Alpine Linux Development Team. 22 de maio de 2024. Consultado em 24 de maio de 2024
- ↑ alpinelinux
.org /about - ↑ «linux.leaf.devel - Re: [leaf-devel] 2.6.x kernel support? - msg#00039 - Recent Discussion OSDir.com». Consultado em 3 de maio de 2017. Arquivado do original em 14 de maio de 2016
- ↑ «Alpine Linux package management»
- ↑ «Alpine local backup»
- ↑ «musl FAQ»
- ↑ «Alpine Linux Init System»