CentOS 5/6/7

RedHat -> Version Avec support
Cent-OS -> Version gratuite
Fedora -> Version avant-gardiste, bêta testeur

Installation :

  • Préalable
    • Hardware -> Verification pré requis materiel, HCL = Hardware Compatibility List
    • CPU, Memoire (min 1Go)
    • Disque dur (min 10Go)
      • Créer des partitions dédiées (préconise plusieurs partitions)
        • / : partition racine
        • Swap
  • ISO
    • everything : plusieurs fichier ISO (distribution intégrale)
    • DVD Live : tester la distribution avant install
    • netinstall : installation nécessitant un lien internet (joindre serveur dépôt)
  • toute la configuration de l’installe se fait en une seul page de conf
  • Installation automatisé
    • Fichier « kickstart » (exemple ; /root/anaconda-ks.cfg)
    • directive :
      • réponse aux différentes instruction
      • %pre : script à exécuté avant installation
      • %post : script à exécuté après installation
      • %package : nom du package à installer
        • une ligne par package

Démarrage :

  • BIOS (Basic Input/Output System)
    • 1er programme charger en memoire
    • Initialisation de l’affichage, détecter les périphériques
    • Définir l’ordre des périphériques d’amorcage
    • Rechercher et charger sur le disque dur « maitre » un chargeur d’amorcage (GRUB)
  • GRUB
    • Stage 1 : MBR/GPT
    • Stage 1.5 : situé avant la toute premiere partition
    • Stage 2 : contient entre autre la conf de GRUB (/boot/grub)

Grub 1
legacy grub version < 0.99
(RHEL 5/6) 1 seul fichier de conf -> modification via éditeur de texte (/boot/grub/grub.conf ou /etc/grub.conf)

Grub 2
Grub version < 1.99
(RHEL 7) fichier de conf => /boot/grub2/grub.cfg

ATTENTION : ne pas édité se fichier directement (grub.cfg)

Fichier à éditer :

/etc/default/grub <- parametre et option globales de grub
/etc/grub.d/XX-... <- parametre spécifique (ex : multiboot)

apres modification, regénération du fichier de conf (grub.cfg)

# grub2-mkconfig -o /boot/grub2/grub.cfg ou sur certain os (update-grub)

Par défaut, il y a 2 ligne dans le menu du GRUB :

  1. Chargement normal du noyau installer
  2. Chargement en mode rescue du système
    sinon démarrer à partir du DVD en mode rescue

Édition possible des lignes du menu de démarrage : sélection de la ligne à modifier puis appuyez sur la touche E

Noyau Linux + disque d’initialisation :

-> Situé dans /boot

noyau : vmlinuz-X.X.X

disque initialisation : initramfs-X.X.X

-> Détection du materiel

-> Monte la partition racine du système

-> Exécution du 1er processus du système (processus père de tout le système)

le 1er processus  : PID = 1

-> init (systemV) (ancien système)

-> systemd (nouveau système)

-> Initialisation de l’environement (variable, system, environnement graphique, processus, quotas, …)

Conportement / Configuration :

init : /etc/inittab

systemd : /usr/lib/systemd et /etc/systemd

Pour les manipuler : édition des fichiers ou les commandes

Systeme Linux :

Plusieurs états :

engagé de façon manuel -> niveau exécution manuel (systemV)

engagé de façon automatique -> niveau cible (systemd)

SystemV :

0 : arrêt
1 : mode mono utilisateur / maintenance (que root peut se connecter)
2 : mode mono utilisateur sans le service nfs de charger et sans interface graphique
3 : mode mono utilisateur sans interface graphique
4 :
5 : mode multi utilisateur avec interface graphique
6 : redémarrage

Pour changer de niveau :

# init X <- niveau de 0 à 6

SystemD :

0 : halt.target ou shutdown.target
1 : rescue.target
2 : multi-user.target
3 : multi-user.target
4 : multi-user.target
5 : graphical.target
6 : reboot.target

Pour changer de niveau :

# systemctl isolate rescue.target ou runlevel 1.target

Démarrage automatique des services /deamon :

SystemV :

  • scripts individuels
  • exécution séquentiel
    • script initialisation pour chaque package /etc/init.d/*
    • automatisation du processus  (niveau exécution) /etc/rcX.d se sont les fichiers liens symbolique

Exemple : /etc/rc5.d/SXX.nomservice <- démarrage service  (S16.sshd)
                   /etc/rc5.d/KXX.nomservice <- arrêt service

  • Démarrage auto / arrêt démarrage auto
    1. Modifier le nom des liens symboliques (déconseiller)
    2. Commande : chkconfig
# chkconfig --level 34J ssh off/on (ssh : demarrage auto > niveau 3)

Lister les services + les niveau exécutions

# chkconfig --list

SystemD :

  • Lancement en parallèle des services
    • /etc/systemd (user)
    • /usr/lib/systemd (système)
  • contrôle des unités
    • services (x.services)
    • cibles (x.target)
    • montages (x.mount)
  • la commande de gestion principal
# systemctl
  • Affichage de la cible par défaut lors du démarrage
# systelctl get-default
  • Modification de la cible par default
# systemctl set-default nomcible.target
  • Agir interactivement sur un service
# systemctl start/stop/status/restart nomservice(.service <- pas obligatoire)
  • Lister les unités chargés et activés
# systemctl ou systemctl list-unit
  • Lister toutes les unités chargés et leur états
# systemctl list-unit-files
  • Activé/désactivé une unitée au démarrage en auto
# systemctl enable nomservice
# systemctl desable nomservice
  • Changer de cible
# systemctl isolate nomdelacible
  • Analyse le temps de démarrage du système
# systemd-analyze
  • Arrêt du système
# shutdown -h (-t 60)(22:30) now
# init 0
# systemctl isolate shutdown.target
# poweroff
# halt
  • Redémarrage du système
# shutdown -r now
# init 6
# systemctl isolate reboot.target
# reboot