Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

🐧 Guide : Compilation du Noyau Linux & Administration Système

Linux Ubuntu Bash Debian

Documentation technique et personnelle — Master 1 SRT
École Supérieure Polytechnique · Université Cheikh Anta Diop de Dakar


📖 À propos

Ce dépôt contient un guide pratique complet couvrant les principales tâches d'administration d'un système Linux, avec comme fil conducteur la compilation personnalisée du noyau Linux (version 6.12.22) depuis les sources.

Chaque manipulation est illustrée par des captures d'écran et des blocs de commandes reproductibles.

Auteur : Moussa SOW
Encadrant : M. FALL
Formation : Master 1 – SRT (Systèmes, Réseaux et Télécommunications)
Année : 2025-2026


📋 Table des matières

  1. Journalisation et automatisation
  2. Gestion des privilèges avec sudo
  3. Compilation du noyau Linux
  4. Création d'un dépôt local de paquets
  5. Construction d'un paquet Debian

1. Journalisation et automatisation des tâches

1.1 Enregistrement d'une session terminal

La commande script permet d'enregistrer toute l'activité d'un terminal dans un fichier (typescript).

sudo script -a
# La session est enregistrée jusqu'à la commande exit

1.2 Automatisation des sauvegardes avec cron

Sauvegarde automatique du répertoire /etc chaque nuit à minuit :

sudo mkdir -p /home/backup
sudo tar -czf /home/backup/etc.tar.gz /etc

Entrée crontab correspondante :

0 0 * * *   tar -czf /home/backup/etc.tar.gz /etc

1.3 Journalisation des connexions SSH

Les logs SSH sont envoyés par rsyslog dans /var/log/auth.log :

sudo tail -f /var/log/auth.log

2. Gestion des privilèges avec sudo

2.1 Création d'un utilisateur et délégation

sudo adduser pierre
sudo visudo
# Ajouter : pierre ALL=(ALL) /usr/sbin/adduser, /usr/sbin/useradd

2.2 Création d'un utilisateur par pierre

su - pierre
sudo adduser titeuf

2.3 Vérification de l'identité

id titeuf
# uid=1001(titeuf) gid=1001(titeuf) groups=1001(titeuf)

2.4 Bonne pratique : gestion par groupe

Plutôt que d'ajouter des utilisateurs individuellement dans sudoers :

sudo groupadd admins
sudo usermod -aG admins pierre
# Dans sudoers : %admins ALL=(ALL) ALL

3. Compilation du noyau Linux (6.12.22)

Noyau initial : 6.8.0-111-generic
Noyau cible : 6.12.22

3.1 Téléchargement des sources

wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.12.22.tar.xz
tar -xf linux-6.12.22.tar.xz

Sources disponibles sur kernel.org

3.2 Installation des dépendances

sudo apt update
sudo apt install build-essential libncurses-dev bison flex libssl-dev libelf-dev

3.3 Organisation des sources

sudo mkdir -p /usr/src/kernels
sudo mv linux-6.12.22 /usr/src/kernels/
cd /usr/src/kernels/linux-6.12.22

3.4 Configuration du noyau

# Copier la config du noyau actuel
cp /boot/config-$(uname -r) .config
make olddefconfig

# Désactiver les clés de signature (souvent nécessaire)
scripts/config --disable SYSTEM_REVOCATION_KEYS
scripts/config --disable SYSTEM_TRUSTED_KEYS

Vérification du support NTFS

grep -i NTFS .config
# CONFIG_NTFS3_FS=m
# CONFIG_NTFS_FS=m

3.5 Compilation

make -j$(nproc)

⏱️ Cette étape peut prendre 30 minutes à plusieurs heures selon votre machine.

3.6 Installation des modules et du noyau

sudo make modules_install
sudo make install

3.7 Vérification dans /boot

ls -la /boot/vmlinuz-*
# vmlinuz-6.12.22 et initrd.img-6.12.22 doivent être présents

3.8 Mise à jour de GRUB

sudo update-grub

3.9 Démarrage sur le nouveau noyau

sudo reboot
# Après redémarrage :
uname -r
# 6.12.22

3.10 Manipulation de modules

sudo modprobe dummy
lsmod | grep dummy
sudo rmmod dummy

3.11 Activation temporaire de l'IP forwarding

sudo sysctl -w net.ipv4.ip_forward=1
sysctl net.ipv4.ip_forward
# net.ipv4.ip_forward = 1

4. Création d'un dépôt local de paquets

4.1 Préparation

mkdir ~/mon_depot && cd ~/mon_depot
apt download htop
dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz

4.2 Ajout à APT

echo "deb [trusted=yes] file:///home/$USER/mon_depot ./" | sudo tee /etc/apt/sources.list.d/local.list
sudo apt update

4.3 Installation depuis le dépôt local

sudo apt install htop

5. Construction d'un paquet Debian simple

5.1 Script exemple

cat > ~/mon_paquet/usr/local/bin/bonjour.sh << 'EOF'
#!/bin/bash
echo "Bonjour ESP !"
EOF
chmod +x ~/mon_paquet/usr/local/bin/bonjour.sh

5.2 Structure du paquet

mon_paquet/
├── DEBIAN/
│   └── control
└── usr/
    └── local/
        └── bin/
            └── bonjour.sh

5.3 Fichier DEBIAN/control

Package: bonjour-esp
Version: 1.0
Section: utils
Priority: optional
Architecture: all
Maintainer: Moussasow <moussasow@example.com>
Description: Affiche 'Bonjour ESP !'
 Ce paquet installe un script qui affiche un message de bienvenue.

5.4 Construction et installation

dpkg-deb --build ~/mon_paquet bonjour-esp_1.0_all.deb
sudo dpkg -i bonjour-esp_1.0_all.deb
# Bonjour ESP !

🗂️ Structure du dépôt

.
├── README.md
├── guide_compilation_noyau.pdf     # Document PDF complet avec captures d'écran
└── captures/                       # Captures d'écran des manipulations
    ├── 01_session_script.png
    ├── 02_crontab.png
    ├── 03_auth_log.png
    ├── 04_adduser_pierre.png
    ├── 05_sudoers.png
    ├── 06_noyau_initial.png
    ├── 07_telechargement_sources.png
    ├── 08_dependances.png
    ├── 09_configuration.png
    ├── 10_compilation.png
    ├── 11_installation_modules.png
    ├── 12_boot_verification.png
    ├── 13_grub_update.png
    ├── 14_nouveau_noyau.png
    ├── 15_module_dummy.png
    ├── 16_ip_forwarding.png
    ├── 17_depot_local.png
    └── 18_paquet_debian.png

⚙️ Environnement de test

Élément Valeur
Distribution Ubuntu 22.04 LTS
Noyau initial 6.8.0-111-generic
Noyau compilé 6.12.22
Architecture x86_64
Outil de config make olddefconfig
Bootloader GRUB 2

📚 Ressources utiles


École Supérieure Polytechnique de Dakar — Département Génie Informatique
2025-2026

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors