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
© Copyright 2025 ExpyDoc