4 points par GN⁺ 2024-01-27 | 1 commentaires | Partager sur WhatsApp

Oasis est un petit système Linux

  • Oasis est assez différent des autres systèmes d’exploitation basés sur Linux et se rapproche davantage de BSD.
  • Tous les logiciels sont liés statiquement, ce qui résout les problèmes de mise à niveau des bibliothèques et fournit des binaires totalement autonomes, faciles à copier vers d’autres systèmes.
  • Il offre des builds rapides et 100 % reproductibles, avec des temps de build optimaux, des builds prévisibles et reproductibles, une réduction des dépendances de build en temps, et la possibilité de faire des builds incrémentaux au-delà des frontières des paquets.
  • Il a des dépendances de bootstrap minimales, ce qui permet de le cross-compiler facilement même depuis des systèmes non Linux comme macOS ou OpenBSD.

Principes

  • La complexité logicielle doit être mesurée en incluant toutes les dépendances transitives.
  • Les exécutables doivent être liés statiquement.
  • Les composants logiciels doivent permettre une personnalisation et des modifications faciles.
  • Les sources des paquets doivent être référencées via des URL ou des sous-modules git, et ne doivent pas être incluses directement.
  • /etc doit être suffisamment simple pour pouvoir être entièrement compris.
  • Les patchs doivent être bien organisés, bien décrits et toujours s’appliquer proprement.

Installation

  • Oasis est un projet ambitieux et il reste encore beaucoup de travail à faire.
  • Les utilisateurs doivent être à l’aise avec la compilation de leur propre noyau et la résolution des problèmes système.
  • En cas de problème, l’équipe est toujours heureuse d’apporter de l’aide.

QEMU

  • Si vous voulez essayer Oasis sans l’installer directement, vous pouvez utiliser une image QEMU.
  • L’archive inclut un système de fichiers racine, un noyau Linux et un script pour lancer QEMU.
  • Vous pouvez l’exécuter en mode graphique avec ./run ou en mode série avec ./run -s.

Logiciels

  • Oasis utilise des implémentations de bibliothèques et d’outils aussi simples et petites que possible.
  • musl, sbase, ubase, pigz, mandoc, bearssl, oksh, sdhcp, vis, byacc, perp et sinit, netsurf, samurai, velox, netbsd-curses, etc. sont utilisés en remplacement de glibc, coreutils, util-linux, gzip, man-db, openssl, bash, dhclient/dhcpcd, vim/emacs, bison, sysvinit/systemd, chromium/firefox, ninja, Xorg et ncurses.
  • Les paquets sont regroupés en ensembles logiques, et la liste complète peut être consultée dans le répertoire pkg.
  • Si votre logiciel préféré est absent, vous pouvez toujours l’installer via pkgsrc ou nix.

Contact

  • Pour les questions, les patchs et les discussions générales, vous pouvez utiliser la mailing list (~mcf/oasis@lists.sr.ht) et le canal IRC (#oasis sur libera.chat).

L’avis de GN⁺

  • Oasis propose une approche différente des systèmes Linux traditionnels, avec des caractéristiques comme le lien statique, des builds rapides et des dépendances de bootstrap minimales, offrant ainsi une nouvelle option aux développeurs.
  • Ce système repose sur une philosophie qui vise à réduire la complexité du développement logiciel et à privilégier la facilité de personnalisation et de modification, apportant un regard neuf sur les principes de l’ingénierie logicielle.
  • Oasis est encore en cours de développement, mais il peut constituer une alternative séduisante pour les utilisateurs qui aiment les défis techniques et souhaitent une compréhension approfondie de leur système.

1 commentaires

 
GN⁺ 2024-01-27
Avis Hacker News
  • Il ne peut pas trop en dire sur le système, mais la communauté a été très aimable lorsqu’il a interagi avec elle via IRC. Il prévoyait de construire une image d’OS immuable pour l’exécuter comme nœud Kubernetes, et il a réussi avec un peu d’aide.

  • L’édition de liens statique laisse entendre que l’image de base et la mémoire d’exécution peuvent être plus volumineuses à cause de multiples copies des bibliothèques. La simplicité du lien statique est appréciable, mais cela semble aller à l’encontre de l’idée de « réduire l’encombrement ».

  • Fournit un lien vers une discussion précédente d’août 2022.

  • Il se demande si quelqu’un connaît la taille de l’installation de base. Il n’a trouvé la réponse nulle part, et le lien vers l’image QEMU est actuellement cassé. Il se demande par exemple comment cela se compare à Alpine avec un ensemble de paquets similaire.

  • Il se demande quels sont les cas d’usage et quels sont les avantages d’utiliser le compilateur C croc. Quels sont les bénéfices de croc par rapport à TCC ? Il trouve aussi intéressant d’avoir découvert le navigateur Netsurf. Cependant, comme il utilise le moteur JS Duktape, il pourrait y avoir des problèmes de performance.

  • Il y avait un commentaire (supprimé) se plaignant qu’on ne peut pas accéder à Github avec JavaScript désactivé. Le dépôt Oasis est aussi mis en miroir sur sourcehut, ce qui peut être plus acceptable.

  • michaelforney a aussi réalisé un port wayland de st. Le prédécesseur d’Oasis est sta.li.

  • Il se demande quelle est la taille des bibliothèques statiques. Les bibliothèques dynamiques peuvent partager l’espace d’adressage, mais avec les bibliothèques statiques, l’éditeur de liens peut supprimer les routines inutilisées, ce qui peut apporter une efficacité inattendue. Cela peut aussi être plus rapide.

  • Il se demande comment se compare musl au glibc traditionnel, et s’il existe des différences de performance entre les deux bibliothèques. L’usage de musl est récemment de plus en plus répandu dans les écosystèmes Rust et Zig.

  • Apprécie ces choix intéressants, et le fait qu’il ne s’agisse pas simplement d’une distribution Linux de plus.