Administration Linux

Notes
Administration Linux
Introduction
¨ Pajani & Anthony Chomienne
Nathael
CPE Lyon
2014
¨ Pajani & Anthony Chomienne (CPE Lyon)
Nathael
Administration Linux
2014
1 / 57
A DMINISTRATION L INUX — P LAN
Notes
´
Historique et Definitions
¨ Pajani & Anthony Chomienne (CPE Lyon)
Nathael
Administration Linux
2014
2 / 57
V ERS L’ ORIGINE DES TEMPS
Notes
`
Adoption grandissante des systemes
GNU/Linux
´ 1970
Une origine qui remonte aux annees
¨ Pajani & Anthony Chomienne (CPE Lyon)
Nathael
Administration Linux
2014
5 / 57
P ETIT APERC¸ U
¨ Pajani & Anthony Chomienne (CPE Lyon)
Nathael
Notes
Administration Linux
2014
6 / 57
GNU ET L INUX
Notes
GNU :
GNU’s Not Unix - Clone d’UNIX - Libre
GNU - Richard Stallman - Septembre 1983
Un projet plein de logiciels - Un noyau : Hurd
Vous avez dit libre ? - FSF - octobre 1985
Linux :
Linus Torvalds - Un ”simple” Noyau - Septembre 1991
´
Devient autonome en 3 mois. Licence GPL debut
1992.
13 Mars 1994 : version 1.0 : x86 - 176 250 lignes
2005 : Utilisation de GIT pour remplacer BitKeeper
22 Juillet 2011 : version 3.0
Aujourdhui : version 3.13 : 29 architectures - 18 115 021 lignes
GNU/Linux : POSIX ”compliant”
`
Systemes
stables, modulaires, pour des applications multiples.
¨ Pajani & Anthony Chomienne (CPE Lyon)
Nathael
Administration Linux
2014
8 / 57
L ICENCES LIBRES
Notes
Les licences FSF
Copyleft
´
´ : Execution,
´
FSF : 4 libertes
Etude,
Modification, Redistribution.
La licence GPLv2 :
Commercialisation - Mise a` disposition des sources Recompilation - Transmission des droits
´
La licence GPLv3, evolution
de la GPLv2 - Tivo¨ısation
LGPL, AGPL et FDL
Parmi d’autres :
Licences Creative Commons
Licences BSD
Licences de projets (Mozilla, Apache, . . . )
¨ Pajani & Anthony Chomienne (CPE Lyon)
Nathael
Administration Linux
2014
10 / 57
Q U ’ EST CE QU ’ UNE DISTRIBUTION
Notes
Une distribution c’est :
´
Un ensemble coherent
- Stable
La colle qui tient le tout
´ e´ a` un usage . . . ou pas
Dedi
Quelques exemples : Debian GNU/Linux - Red Hat - SUSE Gentoo - . . .
¨ Pajani & Anthony Chomienne (CPE Lyon)
Nathael
Administration Linux
2014
12 / 57
A DMINISTRATION L INUX — P LAN
Notes
Architecture
¨ Pajani & Anthony Chomienne (CPE Lyon)
Nathael
Administration Linux
2014
13 / 57
E´ L E´ MENTS COMPOSANT UN SYST E` ME GNU/L INUX
¨ Pajani & Anthony Chomienne (CPE Lyon)
Nathael
Administration Linux
2014
Notes
16 / 57
L E CŒUR DU SYST E` ME
Notes
Le Noyau Linux est un noyau
monolithique modulaire
Un package de services
fondamentaux.
Ordonnanceur
´
Gestion de la memoire
IPC (Inter process communication)
VFS (Virtual File System)
ˆ d’acces
` aux ressources
Controle
Gestion des timers, locks et
interruptions.
Des services additionnels a` la carte.
´
Reseau
`
Systemes
de fichiers
Drivers (USB, Son, . . . )
¨ Pajani & Anthony Chomienne (CPE Lyon)
Nathael
Administration Linux
2014
17 / 57
S YSCALLS ET L IB C
Notes
`
Les appels systeme
: interface entre deux mondes
Espace utilisateur et espace noyau
`
Les appels systeme
: 346 dans le noyau 3.8-rc5
Appel par la LibC
Ne pas confondre : L’utilisateur ’root’ est en espace utilisateur !
`
La LibC : La base du systeme
et de l’espace utilisateur
`
Le cœur du systeme
´ au noyau
Liee
´ au compilateur
Liee
´
Differentes
versions
¨ Pajani & Anthony Chomienne (CPE Lyon)
Nathael
Administration Linux
2014
18 / 57
T OUT EST FICHIER
Notes
`
Les droits des fichiers : une des bases des systemes
UNIX
´
Un dossier : un type particulier de fichier qui decrit
son contenu
´
Les inodes : representation
des fichiers pour le noyau
´
´
´
´ nœuds (device
Les periph
eriques
: des fichiers speciaux
appeles
nodes)
Des fichiers virtuels : /proc et /sys
7 types de fichiers :
c b l s d - p
¨ Pajani & Anthony Chomienne (CPE Lyon)
Nathael
Administration Linux
2014
19 / 57
L ES SYST E` MES DE FICHIERS
Notes
´ e´ : FAT, EXT*, REISERFS, UBIFS, NFS, XFS, . . . ,
Grande variet
ZFS
´
Journalises
´
Specifiques
(JFFS2, UBIFS, CRAMFS, . . . )
Non persistants : tmpfs, procfs, sysfs
` par les points de montage
Acces
VFS
¨ Pajani & Anthony Chomienne (CPE Lyon)
Nathael
Administration Linux
2014
20 / 57
A RBORESCENCE
Notes
` la graine, la racine : ’ / ’
L’origine de tout, apres
FHS : Filesystem Hierarchy Standard
´
/bin, /sbin, /usr/bin, /usr/sbin : executables
(binaires ou scripts)
`
/lib, /usr/lib : bibliotheques
/etc : configuration
` aux periph
´
´
/dev : fichiers d’acces
eriques
/proc, /sys : interfaces virtuelles avec le noyau
´
/home/*, /root : repertoires
utilisateurs et administrateur
/mnt, /media : Points de montage
´
/usr/share : fichiers independants
de la plateforme (non binaires)
´
/var : fichiers ”variables” : bases de donnees,
files de messages,
logs, . . .
/tmp : fichiers temporaires
¨ Pajani & Anthony Chomienne (CPE Lyon)
Nathael
Administration Linux
2014
21 / 57
D E´ MARRAGE DU SYST E` ME
Notes
´
Etapes
successives :
Firmware - BIOS - RBL (ROM BootLoader)
BootLoader (Grub, u-boot, ...)
Noyau Linux
Initramfs ?
` de tous les processus - PID = 1
”init” - le pere
´
Scripts de demarrage
et ”runlevels”
¨ Pajani & Anthony Chomienne (CPE Lyon)
Nathael
Administration Linux
2014
22 / 57
S HELL
Notes
`
Interface entre le systeme
et l’utilisateur
Fait partie de la norme POSIX
Texte ou Graphique
Obligatoire ?
Ne pas confondre avec le terminal : un ensemble de
´
´
periph
eriques
qui permet de communiquer avec un ordinateur.
¨ Pajani & Anthony Chomienne (CPE Lyon)
Nathael
Administration Linux
2014
23 / 57
A DMINISTRATION L INUX — P LAN
Notes
´
´ linux embarque´
Specificit
es
¨ Pajani & Anthony Chomienne (CPE Lyon)
Nathael
Administration Linux
2014
24 / 57
D ES ARCHITECTURES VARI E´ ES
Notes
Plus de 20 architectures
Sous Architectures (sub-arch)
Instruction Set / Registres / Fonctionnement (pipeline,
interruptions, . . . )
´ es
´ a` l’embarque´ : SOC
Architectures et processeurs dedi
¨ Pajani & Anthony Chomienne (CPE Lyon)
Nathael
Administration Linux
2014
26 / 57
C OMPILATION CROIS E´ E
Notes
´
Compilation native vs Compilation croisee
´ ements
´
Trois (ou 4) el
:
le compilateur (gcc, g++, . . . )
`
une bibliotheque
C
les ”binutils”
¨ Pajani & Anthony Chomienne (CPE Lyon)
Nathael
Administration Linux
2014
27 / 57
L A L IB C - L A BASE DU SYST E` ME : UN CHOIX
Notes
IMPORTANT
Plusieurs choix: glibc, eglibc, uClibc, klibc, ...
` - Taille
glibC : GNU - Licence LGPL - Performante - Complete
importante: 1.7 Mo
uClibc : Licence LGPL - 400 Ko
klibc : ”Kernel C library” - Non compatible avec Busybox . . .
¨ Pajani & Anthony Chomienne (CPE Lyon)
Nathael
Administration Linux
2014
28 / 57
A DMINISTRATION L INUX — P LAN
Notes
Outils
¨ Pajani & Anthony Chomienne (CPE Lyon)
Nathael
Administration Linux
2014
29 / 57
D ES OUTILS POUR L’ EMBARQU E´
Notes
Chaˆıne de (cross) compilation gcc ((cross-)toolchain)
CrossTools
EmDebian (Pour distribution Debian)
Buildroot et consorts
IDE (Eclipse, . . . ) ou pas.
Frameworks (Scratchbox, OpenEmbeded, . . . )
D’autres outils indispensables
´
Terminal serie
Serveur DHCP (protocole BOOTP)
Serveur TFTP
Serveur NFS
Debug ?
¨ Pajani & Anthony Chomienne (CPE Lyon)
Nathael
Administration Linux
2014
31 / 57
D EBUG EMBARQU E´ : PAS FORC E´ MENT E´ VIDENT
Notes
GDB et GDB Server
´
Demarrage
du serveur gdb sur la cible
ˆ
Utilisation de gdb depuis l’hote.
D’autres alternatives :
Utilisation de gdb de fac¸on native, sur la cible.
Utilisation de sondes JTAG
Linux Trace Toolkit
Emulateurs
Qemu - Fabrice Bellard - x86, x86 64, ppc, arm, sparc, mips, m68k
SkyEye : ARM
¨ Pajani & Anthony Chomienne (CPE Lyon)
Nathael
Administration Linux
2014
32 / 57
A DMINISTRATION L INUX — P LAN
Notes
´
Creation
¨ Pajani & Anthony Chomienne (CPE Lyon)
Nathael
Administration Linux
2014
33 / 57
C R E´ ER UN SYST E` ME */L INUX POUR L’ EMBARQU E´
Notes
Noyau Linux
make oldconfig / myboard defconfig / menuconfig / xconfig
Fichier ”.config”
make ARCH=. . . CROSS COMPILE=. . .
make . . . modules install INSTALL MOD PATH=. . .
Application de patches
Fichier binaire du noyau: arch/.../boot/...
¨ Pajani & Anthony Chomienne (CPE Lyon)
Nathael
Administration Linux
2014
36 / 57
L ES E´ TAPES DE LA CONFIGURATION
Notes
´ eriques
´
Configurations des options gen
Choix d’une plateforme et des attributs correspondants
´
´
Selection
des drivers supportes
´
Configuration du reseau
`
´
Choix des systemes
de fichier supportes
Inclusion de code destine´ au debuggage du Noyau
´
´ virtualisation, . . . )
Autres sections (Securit
e,
Important: le menu d’aide !
¨ Pajani & Anthony Chomienne (CPE Lyon)
Nathael
Administration Linux
2014
37 / 57
C HOIX DU TYPE DE SYST E` ME DE FICHIER
Notes
Initrd : noyau 2.4 - emulation block - filesystem - taille fixe
´
initramfs : tmpfs - config initramfs du noyau : creation
et inclusion
`
´
Systemes
de fichier journalises
UNIONFS : pour un mix de solutions diverses (squashfs, ubifs,
tmpfs, . . . )
`
´
´
Systemes
de fichiers specifiques
memoire
flash : jffs2, ubifs,
cramfs, yaffs2, . . .
Flash : noatime + sync mount options
¨ Pajani & Anthony Chomienne (CPE Lyon)
Nathael
Administration Linux
2014
38 / 57
B USYBOX : L E COUTEAU SUISSE DES SYST E` MES L INUX
´S
EMBARQU E
Notes
´ en un unique
La plupart des commandes UNIX regroupees
´
executable
ˆ
´
Taille pouvant etre
facilement inferieure
a` 1 Mo
`
Systeme
complet en moins de 4 Mo
Menu de configuration
Peu de besoins externes
Quelques limites cependant . . .
Une interface de configuration similaire a` celle du noyau
´
Copie de busybox (executable
et liens) (rsync -a install/
dev busybox/ )
´
´
Creation
des fichiers speciaux
et de la configuration
Copie des librairies (lesquelles, ldd ? qemu ?)
¨ Pajani & Anthony Chomienne (CPE Lyon)
Nathael
Administration Linux
2014
40 / 57
O PTIMISATION DE L’ INIT DU SYST E` ME
Notes
´
Amelioration
temps de boot : Les modules et la taille du noyau
´
`
Selection
d’un systeme
de scripts d’initialisation :
sysvinit: Utilisation de CONCURRENCY=shell
´
initng: fichiers de configuration XML pour dependances
des scripts.
launchd: Remplacement de init, utilise´ entre autre par MacOS.
upstart: Compatible avec sysvinit. Utilise´ par Ubuntu et Fedora.
minit: Taille minimale, mais complet : http://www.fefe.de/minit/
`
Busybox: Busybox utilise son propre systeme
de remplacement de
init.
Une alternative: Tout en un !
¨ Pajani & Anthony Chomienne (CPE Lyon)
Nathael
Administration Linux
2014
41 / 57
C R E´ ATION D ’ UN SYST E` ME AUTONOME
Notes
´
´
`
Suppression de la console : liberation
de memoire,
systeme
plus
´
securis
e´ ?
Connexion a` distance ? (telnet, SSH)
´
´
Demarrage
automatique : inittab, demon,
remplacement de init,
...
´
´ enements.
`
Demarage
sur ev
´
Utilisation de cron (ou equivalent)
¨ Pajani & Anthony Chomienne (CPE Lyon)
Nathael
Administration Linux
2014
42 / 57
M ISE EN ŒUVRE
Notes
Mise en Flash avec u-boot : noyau linux + rootfs
Configuration u-boot : les variables d’environnement
¨ Pajani & Anthony Chomienne (CPE Lyon)
Nathael
Administration Linux
2014
44 / 57
C ONFIGURATION DU NOYAU POUR UN BOOT SUR
Notes
RAMDISK
Le boot a` partir d’un ramdisk implique une prise en charge de celui-ci
par le Noyau Linux.
´ e´ au noyau, mais pas active´ par defaut
´
Ceci est integr
dans le noyau
”vanilla”.
Activation
Taille du ramdisk
`
Les parametres
du noyau
´
`
Limitations: consomme de la memoire
systeme
!!!
¨ Pajani & Anthony Chomienne (CPE Lyon)
Nathael
Administration Linux
2014
45 / 57
B OOT SUR SYST E` ME DE FICHIER EN F LASH
Notes
`
Le boot sur un systeme
de fichier en Flash (JFFS2 par exemple)
permet de s’affranchir d’un certain nombre de limitations, notamment
`
´
`
en taille, puisque le systeme
de fichier ne reside
pas (pas entierement
´
du moins) en memoire.
Ajout des drivers pour le noyau (pas en module !)
`
Parametres
du Noyau
´
Des drivers Flash proprietaires
?
` au systeme
`
Limiter les acces
de fichier
¨ Pajani & Anthony Chomienne (CPE Lyon)
Nathael
Administration Linux
2014
46 / 57
B OOT SUR SYST E` ME DE FICHIER SUR USB
Notes
Le boot sur USB est relativement facile, et relativement peu
contraignant.
Le faible cout
ˆ des cle´ USB le rend attractif et permet de disposer de
´ de stockage.
grandes capacites
´
´
Reste cependant quelques points pas forcement
evidents.
Inclusion des drivers USB
Vu comme un disque SCSI
Plusieurs ports USB? ou est mon disque! (utilisation des labels)
`
Parametres
du Noyau rootdelay=6
` au systeme
`
Limiter les acces
de fihier
Un poil lent.
¨ Pajani & Anthony Chomienne (CPE Lyon)
Nathael
Administration Linux
2014
47 / 57
B OOT SUR NFS : ACTIVATION SUPPORT DANS LE N OYAU
Notes
`
ˆ
L’utilisation de systemes
de fichier NFS est extremement
pratique
´
ˆ
pendant le developpement,
et peut aussi etre
utilise´ en
`
´
fonctionnement, dans le cas ou le systeme
dispose d’un reseau
fiable.
`
Support du systeme
de fichier NFS dans le Noyau
Configuration IP automatique
`
Avantages: Modifications possibles depuis le systeme
de
´
developpement
avec la cible en fonctionnement.
¨ Pajani & Anthony Chomienne (CPE Lyon)
Nathael
Administration Linux
2014
48 / 57
ˆ
B OOT SUR NFS : CONFIGURATION DE L’ H OTE
Notes
ˆ qui met a` disposition le
L’utilisation de NFS requiert une machine hote
`
systeme
de fichier pour la cible.
ˆ
´ correctement pour que le systeme
`
Celle ci doit etre
configuree
fonctionne.
`
Support du systeme
de fichier NFS: Kernel ou User space.
Configuration: fichier /etc/exports
Serveur DHCP/BOOTP
Reconnaissance par l’adresse MAC
¨ Pajani & Anthony Chomienne (CPE Lyon)
Nathael
Administration Linux
2014
49 / 57
R EMPLACEMENT DU SYST E` ME DE FICHIERS
TEMPORAIRE : P IVOTROOT
Notes
`
`
Le passage d’un systeme
de fichier temporaire a` un systeme
de fichier
´
plus complet est utilise´ lorsque certains utilitaires sont necessaires
´
`
´
pour acceder
au systeme
de fichiers definitif,
notamment par exemple
pour le support du RAID.
´
`
Creation
du systeme
temporaire
´
Utilisation de pivot root: les etapes.
`
Montage du nouveau systeme
de fichiers:
mount /dev/? /new-root
´
`
Deplacement
des points de montage vers le nouveau systeme
de
fichiers:
/dev, /sys, /proc, . . .
`
Changement de systeme
de fichier:
cd /new-root && pivot root . old-root
Execution du nouvel init:
exec chroot . sh -c ’umount /old root; exec /sbin/init’ ¡dev/console
¿dev/console 2¿&1
Administration
Linux
`
Un systeme
final parfaitement
standard.
¨ Pajani & Anthony Chomienne (CPE Lyon)
Nathael
2014
50 / 57
U N CHOIS ENCORE UNE FOIS TR E` S VASTE
Notes
Qt (QtEmbedded)
GTK+
Nano-X / Microwindows
MiniGUI
FLTK
SDL
DirectFB
...
¨ Pajani & Anthony Chomienne (CPE Lyon)
Nathael
Administration Linux
2014
52 / 57
E XEMPLES
¨ Pajani & Anthony Chomienne (CPE Lyon)
Nathael
Notes
Administration Linux
2014
53 / 57
A DMINISTRATION L INUX — P LAN
Notes
Conclusion
¨ Pajani & Anthony Chomienne (CPE Lyon)
Nathael
Administration Linux
2014
54 / 57
S OURCES ET B IBLIO
Notes
http://www.gnu.org/gnu/gnu-history.fr.html
http://en.wikipedia.org/wiki/Linux distribution
`
http://fr.wikipedia.org/wiki/Noyau de systeme
d’exploitation
Le Shell Bash (O’Reilly)
Vim cheat sheet :
http://www.viemu.com/a_vi_vim_graphical_cheat_
sheet_tutorial.html
Licence : Creative Commons : CC - BY - SA
¨ Pajani & Anthony Chomienne (CPE Lyon)
Nathael
Administration Linux
2014
57 / 57
Notes