Chapitre 10.3 - Compilation et Paquets Alternatifs
Objectifs d'Apprentissage
À la fin de ce chapitre, vous serez capable de:
- Compiler des logiciels depuis les sources
- Utiliser Snap pour paquets universels
- Utiliser Flatpak pour applications
- Comprendre les avantages/inconvénients
- Choisir le bon outil selon le cas
Compilation depuis Sources
Prérequis
# Outils de compilation
sudo apt install build-essential # Ubuntu/Debian
sudo yum groupinstall "Development Tools" # Red Hat/CentOS
# Outils nécessaires
# - gcc/g++ (compilateur)
# - make (build system)
# - autoconf, automake
# - libtool
Processus Standard
# 1. Télécharger sources
wget http://example.com/software-1.0.tar.gz
tar -xzf software-1.0.tar.gz
cd software-1.0
# 2. Configuration
./configure --prefix=/usr/local
# Options communes
./configure --prefix=/usr/local \
--enable-feature \
--disable-other \
--with-library=/usr/lib
# 3. Compilation
make
# 4. Installation
sudo make install
# 5. Nettoyage (optionnel)
make clean
Exemple Complet
#!/bin/bash
# Compilation exemple
VERSION="1.0"
SOFTWARE="mon-software"
PREFIX="/usr/local"
# Télécharger
wget "http://example.com/${SOFTWARE}-${VERSION}.tar.gz"
tar -xzf "${SOFTWARE}-${VERSION}.tar.gz"
cd "${SOFTWARE}-${VERSION}"
# Configurer
./configure --prefix="$PREFIX"
# Compiler
make -j$(nproc) # Utilise tous les CPUs
# Installer
sudo make install
# Vérifier
which mon-software
mon-software --version
Snap
Qu'est-ce que Snap?
Snap est un système de paquets universel développé par Canonical.
Avantages:
- Universel (toutes distributions)
- Auto-mise à jour
- Isolation (sandbox)
- Dépendances incluses
Installation
# Ubuntu (déjà installé)
# Autres distributions
sudo apt install snapd # Debian
sudo yum install snapd # Red Hat/CentOS
Utilisation
# Rechercher
snap find nom-paquet
# Installer
sudo snap install nom-paquet
# Liste installés
snap list
# Mettre à jour
sudo snap refresh nom-paquet
sudo snap refresh # Tous
# Supprimer
sudo snap remove nom-paquet
# Informations
snap info nom-paquet
Exemples
# Applications populaires
sudo snap install code # VS Code
sudo snap install docker # Docker
sudo snap install node --classic # Node.js
sudo snap install chromium # Chromium
Flatpak
Qu'est-ce que Flatpak?
Flatpak est un système de distribution d'applications universel.
Avantages:
- Universel
- Isolation
- Applications desktop
- Repositories (Flathub)
Installation
# Ubuntu/Debian
sudo apt install flatpak
# Red Hat/CentOS/Fedora
sudo yum install flatpak
# ou
sudo dnf install flatpak
Configuration
# Ajouter Flathub (repository principal)
flatpak remote-add --if-not-exists flathub \
https://flathub.org/repo/flathub.flatpakrepo
# Voir repositories
flatpak remotes
Utilisation
# Rechercher
flatpak search nom-app
# Installer
flatpak install flathub nom-app
# Liste installés
flatpak list
# Mettre à jour
flatpak update nom-app
flatpak update # Tous
# Supprimer
flatpak uninstall nom-app
# Informations
flatpak info nom-app
Exemples
# Applications populaires
flatpak install flathub org.gimp.GIMP
flatpak install flathub org.videolan.VLC
flatpak install flathub com.spotify.Client
Comparaison
| Caractéristique | apt/yum | Snap | Flatpak | Compilation |
|---|---|---|---|---|
| Universel | Non | Oui | Oui | Oui |
| Isolation | Non | Oui | Oui | Non |
| Taille | Petite | Grande | Grande | Variable |
| Performance | Excellente | Bonne | Bonne | Excellente |
| Mises à jour | Manuel | Auto | Auto | Manuel |
| Usage | Système | Applications | Desktop | Développement |
Choix du Bon Outil
apt/yum
Quand utiliser:
- Paquets système
- Services serveur
- Performance critique
- Contrôle total
Snap
Quand utiliser:
- Applications universelles
- Mises à jour automatiques
- Isolation nécessaire
- Développement
Flatpak
Quand utiliser:
- Applications desktop
- Isolation nécessaire
- Multi-distributions
- Applications graphiques
Compilation
Quand utiliser:
- Version spécifique nécessaire
- Options de compilation personnalisées
- Pas de paquet disponible
- Développement
Bonnes Pratiques
Compilation
# 1. Lire README/INSTALL
# 2. Vérifier dépendances
# 3. Utiliser --prefix approprié
# 4. Tester avant installation
# 5. Documenter options utilisées
Snap/Flatpak
# 1. Vérifier source (officielle)
# 2. Comprendre permissions
# 3. Surveiller espace disque
# 4. Mettre à jour régulièrement
Résumé
Dans ce chapitre, vous avez appris:
Compilation: configure, make, make install
Snap: Paquets universels, auto-update, isolation
Flatpak: Applications desktop, Flathub, isolation
Comparaison: Choisir selon besoins
Pratique: Compiler, installer Snap/Flatpak
Prochaines Étapes
Module 11: Monitoring et Logs (avec monitoring crons)
Module 12: Administration Avancée
Chapitre créé le: Décembre 2024