CHAP 5 Administration des systèmes Flashcards
Administration système
L’administrateur système est
la personne responsable
* des serveurs et postes informatique
* au niveau logiciel
Tâches habituelles de l’administrateur?
- Installation et désinstallation des logiciels
- Configuration des logiciels
- Mise-à-jour des logiciels
- Supervision des services logiciels
Autres tâches habituelles
* Configuration des disques, organisation des partions, etc.
* Gestion des sauvegardes et des restaurations (backups)
* Configuration des périphériques (écrans, claviers, souris, etc.)
* Ajout et suppression des utilisateurs
* Configuration des comptes utilisateurs
* Configuration du réseau
* Responsable de la sécurité des services administrés
Programmation?
* Pas nécessairement expert en programmation
* Capable de programmer et de comprendre les scripts shell
* Sait compiler et installer des programmes
Processus UNIX =
Un programme en cours d’exécution =
Un processus est un concept important du système d’exploitation
- Le programme exécuté (fichier exécutable)
- De l’état et des ressources (mémoire, CPU, etc)
- Un utilisateur (et un groupe)
- Un identifiant = numéro de processus (pid)
- Un processus parent dont il hérite ses caractéristiques
- Un début… et une fin
- D’autres informations utiles à sa bonne gestion
Isolation des processus ⋆
Les processus sont isolés les uns des autres
- Un processus est autonome et cohérent
- Plein de processus existent en même temps (multitâche)
- Un processus ne peut pas corrompre un autre processus
(du moins sans respecter les règles) - Un processus peut collaborer avec d’autres processus
Exemple de collaboration: tubes
$ grep lol /usr/share/dict/french | lolcat
2 processus: grep et lolcat
Lister les processus ⋆
Commande ps: instantané des processus
$ ps
PID TTY TIME CMD
4517 pts/3 00:00:00 bash
24535 pts/3 00:00:00 ps
Par défaut ps affiche la liste des processus
* De l’utilisateur courant
* Dans le terminal en cours
* Avec peu d’information
$ ps | head -n 50 | sort -n | grep ‘ ‘
Arborescence des processus
Un nouveau processus est créé par un autre processus
- Un créateur est appelé processus parent
- Le premier processus (dit racine) n’a pas de parent
C’est init (ou systemd) de PID=1 - Sous UNIX la relation de parenté est préservée
→ On a une arborescence de processus
Commande pstree vue arborescente des processus (extra)
$ pstree -phT
Options de ps
Trois familles, plein d’options
- Traditionelle (POSIX), avec un tiret « - »
- BSD, sans tiret
- Extensions extra, avec un ou deux tirets « – »
→ Beaucoup de confusion
$ ps -eF
$ ps aux - -e, -A afficher tous les processus
- -f afficher plus de colonnes
- -F afficher encore plus de colonnes (extra)
- a tous les processus (avec un terminal)
- ax tous les processus (même sans terminal)
- u afficher des colonnes orientées utilisateur
Information des processus
$ ps -F
UID PID PPID C SZ RSS PSR STIME TTY TIME CMD
jean 1435 356 0 3832 2960 7 15:24 pts/0 0:00 ps -F
$ ps u
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
jean 252 0.0 0.0 384 353 tty1 R+ 10:08 0:00 ps u
- UID (et USER): utilisateur du processus
- PID: identifiant du processus
- PPID: identifiant du processus parent
- STIME (et START): date et heure de démarrage
- CMD (et COMMAND): ligne de commande
→ Les autres colonnes une autre fois
Autres options pratiques de ps
Filtrer
* -p par PIDs
* -C par noms de commande (extra)
* -u par utilisateurs
* -x par l’utilisateur courant (extra)
Afficher
* -o indiquer les colonnes voulues
* L lister les colonnes possibles (BSD)
* –forest affiche l’arborescence (extra)
* –sort trie les lignes (extra)
Suivre en temps réel les processus
Commande top: processus en temps réel (extra)
- Liste les processus par utilisation processeur
- Interface interactive
- Plein de commandes pour filtrer et trier
Quelques commandes
* q (ou Ctrl+C) quitter
* h affiche l’aide
* P trier par consommation CPU (défaut)
* M trier par consommation mémoire
* N trier par PID
* T trier par temps CPU total
* k terminer un processus
Services et démons (daemon)
En général / souvent
- Application qui attend et répond à un événement
- Répond à des requêtes réseau et/ou locales
- Pas invoqué explicitement, ne dépend pas d’un terminal
- Processus démarré automatiquement par init ou systemd
- Isolé dans des utilisateurs dédiés (dit système)
- Nom terminé par d (pour daemon)
Exemples
* init ou systemd: premier processus du système
* crond: planifie des tâches
* dhcpd: configuration TCP/IP automatique des clients
* httpd: sert les ressources HTTP
* sshd: accepte les connexions SSH entrantes
* lpd ou cups: gère les impressions
* gdm: gestionnaire de connexion graphique (Gnome display
manager)
* mpd: démon pour jouer de la musique
Exemple: serveur web
- Logiciel qui répond aux requêtes du World Wide Web
- Utilise principalement le protocole HTTP
- Voir chapitre 8 pour les détails
Apache
* Serveur web (HTTP) le plus utilisé 43% en octobre 2019
* Première version en 1995
* Site officiel: https://httpd.apache.org/
* Licence Apache 2.0
Nginx
* Une alternative à Apache, 2e plus utilisé, en croissance (30%)
* Première version en 2004
* Site officiel: https://nginx.org/
* Licence BSD
Installation d’Apache
Sur Debian et ses dérivées (Ubuntu, Mint, etc.)
$ sudo apt update
$ sudo apt install apache2
apt est une interface du système de gestion de paquets (extra)
- update télécharger les informations sur les paquets à partir des
sources configurées. - install pour installer un paquet
- upgrade (et full-upgrade) pour mettre à jour les paquets
- remove (et purge) supprime un paquet
- search, show, list cherche et affiche des paquets
Paquet (ou paquetage) ⋆
Archive incluant
- des fichiers binaires et textes
- des informations et
- des procédures
nécessaires à l’installation et à la désinstallation d’un logiciel sur un
système d’exploitation.
Contenu d’un paquet
- fichiers exécutables ou sources
- fichiers de configuration
- documentation
- dépendances logicielles
- scripts d’installation
- scripts de désinstallation