Administration Linux - Introduction - nathael.org · Administration Linux ... Adoption grandissante...
Transcript of Administration Linux - Introduction - nathael.org · Administration Linux ... Adoption grandissante...
Administration LinuxIntroduction
Nathaël Pajani & David Odin
CPE Lyon
cbea - 2017
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 1 / 97
ADMINISTRATION LINUX — PLAN
Historique et Définitions
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 2 / 97
VERS L’ORIGINE DES TEMPS
Adoption grandissante des systèmes GNU/LinuxUne origine qui remonte aux années 1970
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 5 / 97
Notes
Notes
Notes
PETIT APERÇU
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 6 / 97
GNU
GNU :https://commons.wikimedia.org/wiki/GNU
GNU’s Not Unix - Clone d’UNIX - LibreGNU - Richard Stallman - Septembre 1983Un projet plein de logicielsUn noyau : HurdVous avez dit libre ? - FSF - octobre 1985
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 8 / 97
LINUX
Linux :
Linus Torvalds - Un "simple" Noyau - Septembre 1991Devient autonome en 3 mois. Licence GPL début 1992.13 Mars 1994 : version 1.0 : x86 - 176 250 lignes2005 : Utilisation de GIT pour remplacer BitKeeper22 Juillet 2011 : version 3.0"Hier" : version 3.13 : 29 architectures - 18 115 021 lignes12 Avril 2015 : version 4.0Aujourdhui : version 4.4 : 31 architectures - 27 965 437 lignes
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 10 / 97
Notes
Notes
Notes
GNU/LINUX
GNU/Linux :POSIX "compliant"Systèmes stables, modulaires, pour des applications multiples.
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 12 / 97
LICENCES LIBRES
Les licences FSFCopyleftFSF : 4 libertés : Exécution, Étude, Modification, Redistribution.La licence GPLv2 :Commercialisation - Mise à disposition des sources -Recompilation - Transmission des droitsLa licence GPLv3, évolution de la GPLv2 - TivoïsationLGPL, AGPL et FDL
Parmi d’autres :Licences Creative CommonsLicences BSDLicences de projets (Mozilla, Apache, . . . )
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 14 / 97
QU’EST CE QU’UNE DISTRIBUTION
Une distribution c’est :Un ensemble cohérent - StableLa colle qui tient le toutDédié à un usage . . . ou pasQuelques exemples : Debian GNU/Linux - Red Hat - SUSE -Gentoo - . . .https://en.wikipedia.org/wiki/List_of_Linux_distributions
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 16 / 97
Notes
Notes
Notes
ADMINISTRATION LINUX — PLAN
Architecture
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 17 / 97
ÉLÉMENTS COMPOSANT UN SYSTÈME GNU/LINUX
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 20 / 97
LE CŒUR DU SYSTÈME
Le Noyau Linux est un noyau monolithique modulaireUn package de services fondamentaux.
OrdonnanceurGestion de la mémoireIPC (Inter process communication)VFS (Virtual File System)Contrôle d’accès aux ressourcesGestion des timers, locks et interruptions.
Des services additionnels à la carte.RéseauSystèmes de fichiersDrivers (USB, Son, . . . )
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 21 / 97
Notes
Notes
Notes
SYSCALLS ET LIBC
Les appels système : interface entre deux mondesEspace utilisateur et espace noyauLes appels système : 346 dans le noyau 3.8-rc5Appel par la LibCNe pas confondre : L’utilisateur ’root’ est en espace utilisateur !
La LibC : La base du système et de l’espace utilisateurLe cœur du systèmeLiée au noyauLiée au compilateurDifférentes versions
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 22 / 97
TOUT EST FICHIER
Les droits des fichiers : une des bases des systèmes UNIXUn dossier : un type particulier de fichier qui décrit son contenuLes inodes : représentation des fichiers pour le noyauLes périphériques : des fichiers spéciaux appelés nœuds (devicenodes)Des fichiers virtuels : /proc et /sys7 types de fichiers :
c b l s d - p
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 23 / 97
LES SYSTÈMES DE FICHIERS
Grande variété : FAT, EXT*, REISERFS, UBIFS, NFS, XFS, . . . ,ZFSJournalisésSpécifiques (JFFS2, UBIFS, CRAMFS, . . . )Non persistants : tmpfs, procfs, sysfsAccès par les points de montageVFS
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 24 / 97
Notes
Notes
Notes
ARBORESCENCE
L’origine de tout, après la graine, la racine : ’ / ’FHS : Filesystem Hierarchy Standard
/bin, /sbin, /usr/bin, /usr/sbin : exécutables (binaires ou scripts)/lib, /usr/lib : bibliothèques/etc : configuration/dev : fichiers d’accès aux périphériques/proc, /sys : interfaces virtuelles avec le noyau/home/*, /root : répertoires utilisateurs et administrateur/mnt, /media : Points de montage/usr/share : fichiers indépendants de la plateforme (non binaires)/var : fichiers "variables" : bases de données, files de messages,logs, . . ./tmp : fichiers temporaires
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 25 / 97
DÉMARRAGE DU SYSTÈME
Étapes successives :Firmware - BIOSBootLoaderNoyau LinuxInitramfs ?"init" - le père de tous les processus - PID = 1Scripts de démarrage et "runlevels"
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 26 / 97
SHELL
Interface entre le système et l’utilisateurFait partie de la norme POSIXTexte ou GraphiqueObligatoire ?Ne pas confondre le shell avec le terminal :
Terminal : un ensemble de périphériques qui permet decommuniquer avec un ordinateur.Shell : interpréteur de commandes.
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 27 / 97
Notes
Notes
Notes
ADMINISTRATION LINUX — PLAN
Le shell bash
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 28 / 97
BASH
Bourne Again SHell.Entièrement compatible avec sh (le bourne shell).Implémentation GNU d’un shell POSIX.Nombreuses extensions.Astuces d’édition :
<Tab> permet de compléter plein de choses,<Ctrl-r> rappelle une ancienne commande,etc.
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 31 / 97
CHANGER DE RÉPERTOIRE COURANT
cd (Change Directory)cd nom_du_rep
cd (revient au répertoire personnel)cd - (revient au répertoire précédent)
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 33 / 97
Notes
Notes
Notes
COMMANDES LIÉES AUX RÉPERTOIRES
pwd (Print Working Directory) permet d’afficher le répertoirecourant.ls (LiSte) permet de lister les fichiers du répertoire courant.
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 34 / 97
? ET *
Uniquement pour sélectionner des fichiers du répertoire courant? permet de remplacer n’importe quel caractère (un seul)
* permet de remplacer n’importe suite de caractères(éventuellement vide)exemples :
fr* tout fichier commençant par fr*r* tout fichier comportant au moins un r* tout fichierd*e tout fichier commençant par un d et se terminant par un e?d* tout fichier dont la deuxième lettre est un d
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 36 / 97
[] ET [!]
Sélection plus fine qu’avec ?
Permet de choisir quels caractères sont possibles ou pas.exemples :
[abc]* les fichiers commençant par a, b, ou c.[!abc]* les fichiers ne commençant pas par a, b, ou c.[A-Z]* les fichiers commençant par une majuscule.fonctions.[ch] les fichiers fonctions.c et fonctions.h
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 37 / 97
Notes
Notes
Notes
EXPANSION DES ACCOLADES
Pas uniquement réservé aux fichiers,Permet de sélectionner des morceaux de mots plutôt que descaractères isolés.exemples :
fichier.{cpp,h} les fichiers fichier.cpp et fichier.hb{ar{re,rage},ruit}s les mots barres, barrages etbruitsc{hat,hien,ourge} les mots chat, chien et courge
Toutes les combinaisons sont explorées, que les fichierscorrespondants existent out pas.
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 38 / 97
ALIAS
Permet de créer un autre nom pour une commandeou pour une commande complexeou de rédéfinir une commande existante !alias ls=’ls --color=auto’
alias l=’ls -lA’
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 40 / 97
VARIABLES D’ENVIRONNEMENT
contiennent du texteaffectation : VAR=valeur
Attention ! Pas d’espace !!!
utilisation : $VAR, par exemple : echo $VAR
locales à un processus, sauf exportées.export VAR
extension bash : export VAR=valeur
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 41 / 97
Notes
Notes
Notes
QUELQUES VARIABLES PARTICULIÈRES
$USER le nom de l’utilisateur.$HOME le répertoire personnel de l’utilisateur.$SHELL le nom du shell en cours d’utilisation (/bin/bash)$PWD le nom du répertoire courant$OLDPWD le nom du répertoire précédent (cd -)$PATH la liste des chemins contenants des programmes$? le résultat du dernier programme appelé.
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 42 / 97
PROMPT
Nommé « Invite de commande » en françaisVariable particulière affichée quand le shell attend une commandePS1
certaines séquences ont un sens particulier :\d sera remplacé par la date\t sera remplacé par l’heure courante\h sera remplacé par le nom de la machine\u sera remplacé par le nom de l’utilisateur\w sera remplacé par le répertoire courant
Exemple : PS1=’\d-\t:\h|\w $ ’
mon. febr. 04-10:25:09:tpi12.cpe.fr|~ $
Peut contenir des séquences de changement de couleur
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 43 / 97
˜/.bashrc
permet de sauvegarder sa configurationrelu à chaque ouverture de terminalbon endroit pour mettre ses alias, un $PATH personnalisé, unprompt, etc.
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 44 / 97
Notes
Notes
Notes
COMMANDES
Plusieurs niveaux de complexité :
commande simple : lscommande avec paramètres : ls -l
deux commandes à la suite : ls -l;echo "coucou"
deux commandes en parallèle : ls -l&echo "coucou"
deux commandes, la deuxième n’étant exécutée que si lapremière réussit : ls fichier&&echo "fichier existe"
deux commandes, la deuxième n’étant exécutée que si lapremière échoue :ls fichier||echo "fichier n’existe pas"
Variable valide juste le temps d’une commande :VAR=value commande
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 46 / 97
REDIRECTIONS
Rediriger les affichages d’une commande dans un fichier :ls 1> fichier ou ls > fichier
Rediriger les affichages d’une commande à la fin d’un fichier :ls 1>> fichier ou ls >> fichier
Rediriger les erreurs d’une commande dans un fichier :ls 2> /dev/null
Rediriger les erreurs d’une commande à la fin d’un fichier :gcc main.c 2>> erreurs
Rediriger l’entrée (le clavier) d’une commande depuis un fichier :wc < entree
Rediriger les affichages de la commande1 vers l’entrée de lacommande2 : commande1 | commande2
du -a | sort -n
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 47 / 97
PROTECTION, SUBSTITUTION
Les " permettent de protéger leur contenu contre lesremplacements de globbing ou d’espace, mais pas de variable :export VAR=value;ls "* $VAR" essaie vraiment d’accéder àun fichier nommé "* value"
Les ’ font pareil, mais empêchent également le remplacement devariable : ls ’$VAR’ essaie d’accéder à un fichier nommé "$VAR"
‘‘ exécute ce qu’il y a entre les ‘ et le remplace par le résultat(l’affichage) de la commande : rm ‘ls *c‘
$() même chose$(()) permet de réaliser des calculs simple : echo $((3 + 4))
affichera 7
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 48 / 97
Notes
Notes
Notes
JOBS
Notion parallèle à celle de processusbash gère une liste de jobs mis en attentecommande & crée un jobArrêter un processus avec Ctrl-Z aussifg place le job courant (arrêté ou mis en arrière plan) en avantplanbg place le job courant (arrêté) en arrière planNotes :
Ctrl-C permet d’interrompre définitivement un processus / jobCtrl-D permet de terminer une entrée au claviernohup commande permet de créer un processus qui ne disparaitrapas.
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 50 / 97
TESTS
TOUTES les commandes renvoient un état./bin/true renvoie toujours vrai./bin/false renvoie toujours faux.La commande /usr/bin/[ permet de tester des états sur unfichier :
[ -e fichier ] renvoie vrai si fichier existe[ -d fichier ] renvoie vrai si fichier est un répertoire[ fichier1 -nt fichier2 ] renvoie vrai si fichier1 est plusrécent que fichier2[ chaine1 == chaine2 ] renvoie vrai si les deux chaînes sontégales
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 52 / 97
IF
S’utilise avec un testif commande1 ; then commande2 ; fi n’exécute commande2que si commande1 a renvoyé vrai.if commande1 ; then commande2 ; else commande3 ; fi
if [ -e coucou ]thenecho "le fichier coucou existe."
fi
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 53 / 97
Notes
Notes
Notes
CASE
Proche d’un switch du CCommence par case $variable in
Se termine par le mot-clef esacChaque « cas » commence par un mot suivi d’une parenthèseChaque « cas » se termine par un double point-virgule : ;;default: est remplacé par *)
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 54 / 97
CASE : EXEMPLE D’UTILISATION
case "$1" inyes)
echo "Ok, you said yes";;
no)echo "Why you said no?";;
*)echo "yes or no are the only valid answer!";;
esac
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 55 / 97
WHILE
Même genre de construction que le if
while condition ; do commande ; done
La partie entre do et done est exécutée tant que la condition estvraie.
i=0while [ $i -lt 10 ]doecho $ii=$((i + 1))
done
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 56 / 97
Notes
Notes
Notes
FOR
Plus proche d’unforeachN’utilise pas de condition, mais une liste.for i in 1 2 3; do echo $i; done
for i in $(seq 1 100); do echo $i; done
for i in *doecho "fichier $i"
done
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 57 / 97
ADMINISTRATION LINUX — PLAN
Commandes de base
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 58 / 97
LE MANUEL D’UNIX
LA commande la plus importante d’Unix
man commande
man man
man ls
man bash (commande)man 2 fork (appel système)man 3 scanf (fonction C)man 7 operator (concept)
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 61 / 97
Notes
Notes
Notes
MAN’S ACOLYTES
which donne le chemin complet d’une commande
$ which ls/bin/ls
apropos affiche toutes les pages man liées à un mot, avec unpetit résumé
$ apropos iceweaseliceweasel (1) - a Web browser for X11 derived from the Mozilla browser
file affiche des informations à propos d’un fichier
$ file bla.pngbla.png: PNG image data, 130 x 138, 8-bit/color RGB, non-interlaced$ file bla.cbla.c: ASCII text
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 62 / 97
CRÉATION / DESTRUCTION
touch crée un fichier vide ou le met à l’heure
touch bla.c
rm supprime un fichier
rm fichierrm -R repertoire
ln crée un deuxième nom pour un fichier ou un répertoire
ln ancien_nom nouveau_nomln -s ancien_nom nouveau_nom
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 64 / 97
RÉPERTOIRE
mkdir crée un répertoire ou une hiérarchie
mkdir un_repertoiremkdir -p une/suite/de/repertoire
rmdir supprime un répertoire vide
rmdir un_repertoire
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 65 / 97
Notes
Notes
Notes
LISTE
ls liste des fichiersQuelques options :
-l affiche plus de détails-a affiche les fichiers cachés (qui commencent par un point)
find trouve tous les fichiers correspondants à un critère.Exemples d’utilisations :
find -name "machin.txt"find -mtime -1find . -mtime +10 -size +50000c -exec rm {} \;find . -name "*~"-print | xargs rm -f
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 66 / 97
COPIE ET DÉPLACEMENT
cp copie un ou plusieurs fichiers
cp fichier1 fichier2cp fichier1 fichier2 repertoirecp -r repertoire1 repertoire2
mv deplace un ou plusieurs fichiers
mv fichier1 fichier2mv fichier1 fichier2 repertoire
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 67 / 97
UTILISATION DES DISQUES
du indique la taille disque utilisée par le répertoire courant
dudu -hdu -a | sort -n
df indique le taux d’utilisation des disques$ dfSys . de f i c h i e r s 1K−blocs U t i l i s e Dispon ib le U t i% Monte surr o o t f s 48060296 45318084 2253940 96% /udev 10240 0 10240 0% / devtmpfs 404924 512 404412 1% / run/ dev / sda1 48060296 45318084 2253940 96% /tmpfs 5120 0 5120 0% / run / locktmpfs 1591140 228 1590912 1% / run / shm/ dev / sda3 428814472 404863392 2168552 100% / home
quota indique l’utilisation disque de l’utilisateur courant, avec seslimites.
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 68 / 97
Notes
Notes
Notes
DROITS ET PROPRIÉTÉ
chmod permet de changer les droits d’accès d’un fichier/répertoire
chmod +x script.shchmod 664 fichierchmod -R o-rw *
chown permet de changer le propriétaire d’un fichier/répertoire(réservé à root)
chown david:david fichier
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 69 / 97
PS
ps affiche les processus en cours d’exécutionExemples d’utilisation :
ps aux
ps fax
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 71 / 97
TOP
top affiche les processus en cours d’exécution en live.
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 72 / 97
Notes
Notes
Notes
KILL
Envoie un signal à un processus.Quelques signaux :
kill -INT 312 interruption (envoie le signal INT au procéssus312)kill -USR1 2093
killall -TERM exercice1
kill -l (liste les signaux utilisables, voir man 7 signal et man kill)
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 73 / 97
AFFICHAGE DE TOUT UN FICHIER
cat Affiche le contenu d’un ou plusieurs fichiersless Affiche le contenu d’un fichier, en permettant de le parcourir,faire des recherches, etc.tac Affiche le contenu d’un ou plusieurs fichiers, à l’enverssort Trie les lignes d’un fichier.
-n tri numérique-r tri à l’envers
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 75 / 97
UNE PARTIE DU FICHIER
tail Affiche la fin d’un fichiertail -n 20 fichier affiche les 20 dernières lignes de fichiertail -f fichier affiche fichier indéfiniment
head Affiche le début d’un fichierhead -n 20 fichier affiche les 20 premières lignes de fichier
grep Affichier uniquement les lignes comportant un motif donné.grep coucou fichier affiche toutes les lignes de fichier quicomportent coucougrep -i "^bon"fichier affiche toutes les lignes de fichier quicommencent par Bon ou bongrep -v coucou fichier affiche toutes les lignes de fichier quine comportent pas coucou
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 76 / 97
Notes
Notes
Notes
TRANSFORMATIONS
cut récupère des colonnes ou des champs d’un fichiercut -d: -f 5 /etc/passwd
tr change certains caractères par d’autres dans un fichiertr "[A-Z]""[a-z]"< /etc/passwd
diff affiche les différences entre deux fichiers.diff -u fichier.c fichier.c~
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 77 / 97
SED – PRÉSENTATION
Stream EDitorÉditeur de fichier non interactifMême famille que ed, ex, viExemples
sed ’s/coucou/hello/g’ fichier remplacementsed 10q fichier émulation de headsed ’/coucou/d’ fichier supprime les lignes contenantcoucoused ’1,10d’ fichier supprime les lignes 1 à 10
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 79 / 97
AWK – PRESENTATION
Alfred Aho, Peter Weinberger et Brian KernighanComplément de sed
Filtre de texte, ligne par ligneSélection de lignes très pousséeVéritable langage de programmation
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 81 / 97
Notes
Notes
Notes
AWK – STRUCTURE GÉNÉRALE
Suite de paires test{commandes}
Les commandes seront exécutées pour toutes les lignes pourlesquelles test est vrai.Utilisable en ligne de commande :awk ’/coucou/{print $2, $1}’ fichier
Via un fichier :awk -f commandes fichier
Par un script (#!/usr/bin/awk -f) :./script.awk < fichier
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 82 / 97
AWK – LES TESTS
1 (ou rien) vrai pour toutes les lignesa==1 vrai si la variable a vaut 1/bonjour/ vrai pour les lignes qui contiennent bonjoura~/bonjour/ vrai si la variable a contient bonjour/foo/,/bar/ vrai entre la ligne qui contient foo et celle quicontient barBEGIN vrai une fois avant la première ligneEND vrai une fois après la dernière ligne
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 83 / 97
AWK – VARIABLES
Non typées : chaine, entier, flottantCréées à la voléea=1, t[1]=a, ta[$0]++
$0 contient la ligne courante$1, $2, $4 contiennent les colonnes 1, 2 et 4 de la lignecourante
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 84 / 97
Notes
Notes
Notes
AWK – VARIABLES PRÉDÉFINIES
FS : séparateur de colonneNF : nombre de colonnesNR : nombre de lignes luesOFS : séparateurs de colonnes lors de l’affichageORS : séparateurs de lignes lors de l’affichage
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 85 / 97
AWK – EXEMPLES
awk ’END{print NR}’ < fichier affiche le nombre de lignesde fichierawk ’/coucou/ {print "$2"}’ < fichieraffiche le deuxièmechamp des lignes qui comportent "coucou"awk ’NR < 11’ < fichier n’affiche que les 10 premières lignesawk ’!a[$0]++’ < fichiern’affiche que les lignes uniques d’unfichier.
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 86 / 97
ADMINISTRATION LINUX — PLAN
Travail collaboratif
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 87 / 97
Notes
Notes
Notes
LE TRAVAIL COLLABORATIF
Presque inhérent au développement logiciel.Implique de pouvoir partager des informations (notemment ducode) facilement.Besoin de suivi des modificationsNecessite de pouvoir identifier les modifications -> diff
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 90 / 97
SVN : PRÉSENTATION
Subvertion (SVN) - licence ApacheRemplaçant de CVS, en reprenant les mêmes principesProjet débuté en février 2000Dépôt centralisé et uniqueComble les lacunes de CVS : renommage des fichiers, gestiondes propriétés des fichiers/dossiers, numéros de révision globaux,...Web : avec suivi des bugs et wiki : Trac ou Redmine.
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 92 / 97
SVN : UTILISATION - SERVEUR
Création d’un dépôt : sur le serveur.
svnadmin create /path/to/projet/mon_projet
Éditer le fichier/path/to/projet/mon_projet/conf/svnserve.conf
Éventuellement créer le fichier de mots de passe.
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 93 / 97
Notes
Notes
Notes
SVN : UTILISATION - CLIENT
svn cmd options
checkout (co) Récupère en local une version ainsi que sesméta-données depuis le dépôt.add et delete Ajoute ou supprime un fichier ou une arborescenceen local.status, info, log, diff Infos sur la copie local ou son historiqueprop* (prop[del, edit, get, list]) : Modification des propriétésmove Déclare le déplacement d’une ressource.commit (ci) Enregistre les modifications locales dans le dépôtcréant ainsi une nouvelle version.update (up) Met à jour la copie locale existante depuis la dernièreversion disponible sur le dépôt.... (tags, branch and merge, ...)
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 94 / 97
GIT : PRÉSENTATION
GIT - the stupid content tracker - Licence GPLv2Créé par Linus Torvalds et quelques autres développeurs dunoyau Linux en 2005.Rapide, et décentralisé (distribué)À l’opposé de CVS (take CVS as an example of what not to do; ifin doubt, make the exact opposite decision)Web : dépôt seul : cgit ou gitweb - avec outils : Pagure, Github,GitLab, ...
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 96 / 97
GIT : UTILISATION
git cmd options
init Crée un nouveau dépôt (voir –bare pour un dépôt "distant")clone Clone un dépôt distantadd Prépare l’ajout de nouveaux objets (fichiers ou morceaux defichiers)status, log, diff Infos sur la copie local ou son historiquecommit Intègre les nouveaux objets au dépôt local.fetch et pull Récupère les modifications d’un dépôt distant.push Pousse des modifications sur un dépôt distant.... (tags, branch and merge, ...)
Nathaël Pajani & David Odin (CPE Lyon) Administration Linux cbea - 2017 97 / 97
Notes
Notes
Notes