Greboca  

Suport technique et veille technologique

Aujourd’hui, les grandes entreprises et administrations publiques hésitent entre continuer à utiliser des logiciels propriétaires ou basculer vers les Logiciels Libres. Pourtant, la plupart des logiciels libres sont capables de bien traiter les données issues des logiciels propriétaire, et parfois avec une meilleur compatibilité.

C’est alors la barrière de la prise en main qui fait peur, et pourtant...

Les logiciels libres

L’aspect « Logiciel Libre » permet une évolution rapide et une plus grande participation des utilisateurs. Les aides et tutoriels foisonnent sur Internet ou sont directement inclus dans le logiciel lui-même.

Enfin, les concepteurs sont plus proches des utilisateurs, ce qui rend les logiciels libres plus agréable à utiliser et conviviaux.

Grâce à la disponibilité des logiciels libres, vous trouverez facilement des services de support techniques et la licence n’est plus un frein à l’utilisation de ces logiciels par votre personnel.

Notre support technique concerne essentiellement les logiciels libres, que ce soit sous forme de services ponctuels ou de tutoriels.

DLFP - Dépêches  -  Crux 3.1: une distribution KISS à la saveur BSD

 -  Juillet 2014 - 

Crux est disponible dans sa version 3.1 depuis le 16 juillet dernier. Cette distribution, qui a été la principale source d'inspiration à la création d'Arch Linux, suit le principe KISS (keep it simple), dispose d'un système d'init à la BSD ainsi que d'un système de [ports]. C'est une distribution légère ciblant l'architecture x86-64 et des utilisateurs Linux avancés.

Crux, dont la première version date de décembre 2002, n'est basée sur aucune autre distribution et possède ses propres outils pour, par exemple, la gestion des paquets et ports.

Plus d'informations se trouvent dans la suite de la dépêche.

Sommaire

Scripts d'initialisation

Les utilisateurs de systèmes *BSD ne devraient pas être trop dépaysés par Crux. En effet, point de systemd ici mais un système d'init à la BSD.

Le système comporte plusieurs runlevels, tels que définis dans /etc/inittab:

  • 0: halt
  • 1: mode utilisateur unique
  • 2: mode multi-utilisateur
  • 3-5: non utilisés
  • 6: reboot

Le script de démarrage système est défini dans /etc/rc alors que celui pour l'extinction se trouve dans /etc/rc.shutdown et l'initialisation des modules passe par /etc/rc.modules. Le script pour le mode utilisateur unique dans /etc/rc.single, pour le mode multi-utilisateur dans /etc/rc.multi.

La configuration de base du système se fait via /etc/rc.conf et les scripts des services, par exemple sshd, se trouve dans /etc/rc.d.

Ports et paquets

Le système de paquets utilise des simples tarballs tar.gz, sans métadonnées. Cependant, l'extension .pkg.tar.gz est utilisée afin de permettre de différencier un paquet d'un simple tarball. Les paquets peuvent également être compressés avec bzip2 ou encore xz et dans ce cas là, l'extension est changée en accord (.pkg.tar.bz2 et .pkg.tar.xz).

Les paquets s'installent et se mettent à jour via pkgadd(8), se désinstallent via pkgrm(8) et peuvent se créer via pkgmk(8) tandis que pkginfo(8) permet l'obtention d'informations sur les paquets.

Ce système de paquets simple ne supporte pas, par exemple, la résolution des dépendances. En revanche, un front-end, prt-get(8), est fourni avec le système et permet notamment la résolution des dépendances.

Crux comprend également un système de ports que l'on peut trouver dans /usr/ports. Un port comprend les fichiers Pkgfile, .md5sum et .footprint. Le Pkgfile est en réalité un script shell spécial qui permet la création d'un paquet, un peu à la manière d'un PKGBUILD chez Arch Linux. Un exemple valant mieux que mille mots:
```

Description: Compression utility using the lzma algorithm, successor of lzma-utils

URL: http://tukaani.org/xz/

Maintainer: CRUX System Team, core-ports at crux dot nu

name=xz
version=5.0.5
release=1
source=(http://tukaani.org/xz/$name-$version.tar.bz2)

build() {
cd $name-$version
./configure --prefix=/usr \
--mandir=/usr/man \
--disable-nls
make
make DESTDIR=$PKG install

ln -s liblzma.so.$version $PKG/usr/lib/liblzma.so.0

rm -r $PKG/usr/share

}
``Le fichier.md5sumsert donc à stocker la somme md5 du (des) tarball(s) nécessaire(s) à la création du paquet tandis que le fichier.footprint` contient la liste des fichiers et dossiers créés par le port. Évidemment, si des patches ou fichiers de configuration sont nécessaires, ils prendront également leur place dans le dossier du port en question.

Il faut noter que les paquets sont réduits au strict minimum. Ainsi, les fichiers de traduction ne sont pas installés, de même que les fichiers de documentation tels des README, fichiers *.info ou *.html, etc. Seules les pages de manuels sont conservées comme documentation.

L'arbre des ports se synchronise via l'utilitaire ports(8). Ainsi, une mise à jour de son système peut être réalisée simplement via un ports -u && prt-get sysup.

Le noyau Linux est une exception. En effet, il n'existe pas de port pour le noyau Linux. Les sources du noyau se trouvent par défaut dans /usr/src. Par exemple, la version 3.1 de Crux fournit les sources du noyau Linux 3.12 dans /usr/src/linux-3.12.24. L'installation du noyau passe donc par un procédé standard:

$ cd /usr/src/linux-3.12.24
$ make menuconfig
$ make all
$ make modules_install
$ cp arch/x86/boot/bzImage /boot/vmlinuz
$ cp System.map /boot

Pour une mise à jour du noyau, il suffit donc de télécharger les sources depuis kernel.org, de copier le fichier de configuration du noyau et de lancer un make oldconfig suivi d'un make all && make modules_install && make install.

Étant donné que le noyau n'est pas géré par pkgadd(8), il est tout à fait possible de télécharger et installer le noyau de son choix sans rendre la base de données des paquets inconsistante. Par ailleurs, cela n'affecte pas non plus les headers kernel qui se trouvent dans /usr/include/linux et /usr/include/asm étant donné que ceux-ci ne sont pas des liens symboliques vers les sources du kernel mais contiennent une copie des headers.

Installation

Concernant l'installation, point de GUI ou de superflu. Le média d'installation est une image ISO hybride pouvant autant être gravée sur un CD-ROM qu'utilisée pour créer une clé USB amorçable. Une fois démarré sur le média d'installation, l'utilisateur se trouve connecté en tant que root et peut donc procéder à l'installation du système.

Le partitionnement se fait généralement via fdisk(8) suivit d'un mkfs(8). Une fois cela fait, il faut monter la (ou les) partition(s) nouvellement créée(s), par exemple dans /mnt et lancer la commande setup. Cette dernière permet d'installer les paquets nécessaires au système, notamment les paquets de core. Une fois cela effectué, il faut créer un chroot pour finir la configuration de son système. Cela peut se faire de manière traditionnelle mais la commande setup-chroot permet d'automatiser le processus. Une fois dans le chroot, l'utilisateur doit donc définir un mot de passe pour le super-utilisateur, éditer /etc/fstab afin de configurer les systèmes de fichiers, éditer /etc/rc.conf pour configurer le système de base tel que la timezone, le layout du clavier ou encore le hostname et les services à lancer au démarrage. La configuration du réseau passe par l'édition des fichiers /etc/rc.d/net, /etc/hosts et /etc/resolv.conf.
Une fois ceci fait, il est nécessaire de configurer et installer son kernel, tels que décrit dans la section précédente. À noter qu'un fichier .config générique est fourni de base pour simplifier le processus.
Le gestionnaire de démarrage de base par défaut est lilo. Pour autant que l'utilisateur le choisisse, il doit passer par l'édition de /etc/lilo.conf afin de rendre son système démarrable.

Changements dans la version 3.1

La toolchain utilise glibc 2.19.0, gcc 4.8.3 et binutils 2.24.

Le kernel par défaut est le kernel à support à long terme 3.12.24. À noter que depuis la disponibilité de Crux 3.1, la version 3.12.25 est disponible et une mise-à-jour du noyau est donc conseillée.

À noter également que udev a disparu au profit de eudev.

Les détails peuvent se trouver dans les notes de mise à jour ainsi que dans le changelog.

Lire les commentaires

par Rolinh, palm123, Xavier Teyssier, Christophe Guilloux

DLFP - Dépêches

LinuxFr.org

Entretien avec GValiente à propos de Butano

 -  16 avril - 

GValiente développe un SDK pour créer des jeux pour la console Game Boy Advance : Butano.Cet entretien revient sur son parcours et les raisons (...)


Nouveautés d'avril 2024 de la communauté Scenari

 -  11 avril - 

Scenari est un ensemble de logiciels open source dédiés à la production collaborative, publication et diffusion de documents multi-support. Vous (...)


Annuaire de projets libres (mais pas de logiciels)

 -  9 avril - 

Les communs sont une source énorme de partage !S’il est plutôt facile dans le monde francophone de trouver des ressources logicielles (Merci (...)


Les enchères en temps réel, un danger pour la vie privée mais aussi pour la sécurité européenne

 -  7 avril - 

Les enchères en temps réel, ou Real-Time Bidding (RTB), sont une technologie publicitaire omniprésente sur les sites web et applications mobiles (...)


XZ et liblzma: Faille de sécurité volontairement introduite depuis au moins deux mois

 -  31 mars - 

Andres Freund, un développeur Postgres, s’est rendu compte dans les derniers jours que xz et liblzma ont été corrompus par l’un des mainteneurs du (...)