Alpine Linux

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Alpine Linux
Logo

Langues Multilingue
État du projet Actif
Plates-formes x86, x86-64, Architecture ARM
Entreprise /
Développeur
Alpine Linux development team
Licence Opensource
Dernière version stable 3.5.2
Méthode de mise à jour APK
Environnement de bureau BusyBox
Site web https://alpinelinux.org

Alpine Linux est une distribution Linux ultra-légère, orientée sécurité et basée sur Musl et BusyBox, principalement conçue pour "Utilisateur intensif qui apprécie la sécurité, la simplicité et l'efficacité des ressources". Elle utilise les patches PaX et Grsecurity du noyau par défaut et compile tous les binaires de l'espace utilisateur et exécutables indépendants de la position (dits "portables") avec protection de destruction de la pile[1].

Historique[modifier | modifier le code]

À l'origine, Alpine Linux a démarré comme fork du projet LEAF[2]. Les membres de LEAF souhaitaient continuer à faire une distribution Linux qui tiendrait sur une simple disquette, alors que Alpine Linux souhaitait inclure quelques paquets plus lourds tels que Squid et Samba, ainsi que des fonctionnalités additionnelles de sécurité et un noyau plus à jour. Un des buts initiaux était de créer un cadre pour des systèmes plus lourds ; bien qu'utilisable à cette fin, ce n'est plus un objectif primordial.[citation nécessaire]

En 2016 il y a une migration de Docker vers Alpine Linux[3],[4] principalement due à la légèreté de ce dernier.

Fonctionnalités[modifier | modifier le code]

  • Gestion de paquets : Alpine utilise son propre système de management de paquet, apk-tools[5], qui était à l'origine une collection de scripts shell mais a été réécrit ensuite en C. Alpine contient actuellement les paquets utilisés couramment tels que GNOME, XFCE, Firefox, et d'autres.
  • Disque virtuel (exécution depuis la mémoire) : Alpine Linux peut être installé comme distribution à exécuter depuis la mémoire vive. L'outil LBU (Sauvegarde locale d'Alpine) permet en option de sauvegarder tous les fichiers de configuration vers un fichier contenant APK (habituellement abrégés en apkovl), un fichier tar.gz qui contient par défaut une copie de tous les fichiers modifiés dans /etc (avec la possibilité d'ajouter d'autres répertoires).
  • Sécurité : PaX et Grsecurity (grsec) sont inclus dans le noyau par défaut d'Alpine Linux, qui aide à réduire l'impact des exploits de la même manière que l'exploit en root local vmsplice(). Tous les paquets sont aussi compilés avec une protection de la pile d’exécution pour adoucir les effets d'un dépassement de tampon de l'espace utilisateur.
  • Taille : le système de base dans Alpine Linux est conçu pour n'avoir qu'une taille de 4–5 MB (hormis le noyau).[citation needed] Ceci permet des conteneurs Linux très petits, d'une taille d'environ 8 MB[4], alors qu'une installation minimale sur disque nécessiterait environ 130 MB. Le noyau Linux est bien plus grand : le noyau 3.18.16 comprend 121 MB[1] de modules du noyau chargeables (principalement des drivers) en plus des 3.3 MB pour l'image de base du noyau X86-64.[citation needed]
  • Cadre de Configuration Alpine ou Alpine Configuration Framework (ACF) : optionnelle, ACF est une application pour configurer une machine Alpine Linux, avec des buts similaires à debconf de Debian .[citation needed]
  • Bibliothèque standard du C : Alpine Linux utilisait précédemment UClibc au lieu de la traditionnelle GNU C Library (glibc) plus communément utilisée. Bien que plus légère, elle a l'inconvénient significatif d'être incompatible au niveau du code avec glibc. Ainsi, tous les logiciels doivent être compilés pour être utilisés avec uClibc pour fonctionner correctement. Le 9 avril 2014, Alpine Linux est passé à Musl, qui est partiellement compatible avec glibc[6].
  • Init (programme de lancement des tâches au démarrage) : Le système simple et léger OpenRC est le système init actuellement utilisé par Alpine Linux[7]. Au contraire des distributions linux Debian, Ubuntu, Red Hat Enterprise Linux, Arch Linux et CentOS, Alpine n'utilise pas Systemd.

Utilisation du CD-Live[modifier | modifier le code]

Cette distribution se prête particulièrement, en raison de sa légèreté, à la création d'images de containers Docker[8]. La distribution Alpine Linux est particulièrement populaire pour cet usage[9],[10].

Après démarrage, le système demande un login. ... (compléter)

Notes et références[modifier | modifier le code]

  1. a et b (en) « about | Alpine Linux », sur alpinelinux.org (consulté le 30 mars 2017)
  2. (en) « linux.leaf.devel - Re: [leaf-devel] 2.6.x kernel support? - msg#00039 - Programming Mailing Lists », sur osdir.com (consulté le 30 mars 2017)
  3. « Docker Official Images are Moving to Alpine Linux », BrianChristner.io,‎ (lire en ligne)
  4. a et b « Docker : La bascule d'Ubuntu vers Alpine Linux heurte des utilisateurs - Le Monde Informatique », LeMondeInformatique,‎ (lire en ligne)
  5. (en) « Alpine Linux package management - Alpine Linux », sur wiki.alpinelinux.org (consulté le 30 mars 2017)
  6. « musl FAQ », sur www.musl-libc.org (consulté le 30 mars 2017)
  7. (en) « Alpine Linux Init System - Alpine Linux », sur wiki.alpinelinux.org (consulté le 30 mars 2017)
  8. https://developer.atlassian.com/blog/2015/08/minimal-java-docker-containers/
  9. Un grand nombre d'images officielles de Docker Hub proposent une image basée sur Alpine. L'image Docker Registry elle-même est basée sur Alpine Linux.
  10. https://www.brianchristner.io/docker-is-moving-to-alpine-linux/

Articles connexes[modifier | modifier le code]

Liens Externes[modifier | modifier le code]