(tgz complets qui produisent un répertoire comme à l'examen, mais avec un fichier solution)
sysx09a_solution.tgz matin
sysx09c_solution.tgz après midi
cs.test1 solution correspondant à l'énoncé 'enonce.cs.test'
cs.test4 solution correspondant à la partie 1 de l'énoncé 'enonce.cs.s'
cs.test6 une 2° solution, plus élégante pour la partie 1 de l'énoncé 'enonce.cs.s' (mais qui ne convient malheureusement pas pour la partie 2 de la question)
Remarque : pour ceux qui les auraient vues : les versions "cs.test2" et "cs.test3" n'étaient pas correctes
cs.test7 solution complète de l'énoncé 'enonce.cs.s'
cs.test8 solution complète de l'énoncé 'enonce.cs.s' (version correspondant à cs47-8)
testtime10 solution correspondant à l'énoncé 'enonce.testtime'
links.tgz tgz contenant un répertoire contenant des fichiers (vides) avec numéros de version, et des liens symboliques (sans numéros de version) qui pointent dessus.
Pour tester un 'cs non-root' avec la nouvelle option 's', tel que spécifié par enonce.cs.s
exa.eval Texte reprenant les criètes que j'utilise pour corriger les examens, et quelques conseils pour corriger les erreurs de syntaxe
enonce.cs.test énoncé de l'exercice à effectuer en partant du fichier 'cs'
enonce.testtime énoncé de l'exercice à effectuer en partant du fichier 'testtime7+'
testtime7 script comparant le temps de 'syncronisation de fichier' par 'wget' et par 'rsync' : 'rsync' prend en fait plus de temps
testtime7+ version comportant quelque corrections
enonce.csv.test énoncé de l'exercice a effectuer en partant du fichier
indication complémentaire : j'ai utilisé la commande 'curl' dans le script 'nv' (version 7) , à la ligne 204
csv.test1 qui est un 'csv' sipmlifié et adapté pour qu'il ne soit exécutable que si on n'est PAS 'root', et qui écrit dans le répertoire courant
csv.test2 qui fait appel à un 'udpget' modifié :
udpget6 version simplifiée, qui ne donne que la réponse
csv.test3 Solution
udpget2 script transférant le contenu d'un (petit) fichier à partir d'un serveur par un datagramme 'udp'
testtime3 script mesurant le temps d'exécution d'un autre script
udpget script transférant le contenu d'un (petit) fichier à partir d'un serveur par un datagramme 'udp'
testtime script mesurant le temps d'exécution d'un autre script
udped script créant un serveur 'udp', (pour pouvoir utiliser les scripts en dehors du local 30)
Pour les utiliser, les mettre dans ~/bin, et les rendre exécutables,
D'abord lancer le serveur 'udp' local, par 'udped'
L'exécution de la nouvelle version peut alors se faire par 'testtime l' , (un 'L' minuscule, pas un '1')
ou bien avec un argument comportant un timeout en virgule flottante, par ex. : 'testtime l0.05'
(le 'l' dans l'argument fait que la demande se fait au serveur 'udp' sur votre ordinateur,
au lieu du serveur 'udp' du local 30)
page 'man' pour le fichier de configuration d'un serveur 'rsync'
créer un fichier /etc/rsyncd.conf contenant 3 lignes :
['titre'] path = /home/'vous'/'répertoire' comment = 'description de ce qui correspond au titre'remplacer ce que j'ai mis entre "'" par des valeurs, sans "'"
créer le répertoire /home/'vous'/'répertoire'
mettre un ou plusieurs fichiers dans ce répertoire
démarrer le serveur par la commande (en étant 'root') :
rsync --daemon
Pour tester, en tant que client :
sur le même ordinateur :
créer un autre répertoire 'répertoire2'
exécuter la commande (en N'étant PAS 'root') :
rsync -a localhost::'titre'/ 'répertoire2'
cela copiera le contenu de /home/'vous'/'répertoire' dans 'répertoire2'
Ensuite, si vous modifiez ou ajoutez des fichiers dans /home/'vous'/'répertoire'
et que vous réexécutez la même commande,
'répertoire2' contiendra la même chose que /home/'vous'/'répertoire' :
ils seront 'synchronisés'
si on ajoute l'option '--delete' :
rsync -a --delete localhost::'titre'/ 'répertoire2'la suppression de fichiers sera également répercutée
remplacez localhost par l'adresse du serveur
rsync -a --delete 'adresse du serveur'::'titre'/ 'répertoire2'
transfert d'un seul fichier ( 'cs47-4' dans ce cas-ci ) dans le répertyoire courant ('.')
(le premier 'cs' "::cs/" désigne le 'titre')
rsync 192.168.30.130::cs/cs47-4 .
httpdtest : script de test (Serkan) : serveur http actif ?
Introduction historique aux Systèmes d'Opérations (version provisoire)
http://neosmart.net/wiki/display/EBCD/Linux Mode d'emploi de EasyBCD pour Linux :
Vous n'avez besoin que du début Vista before Linux qui est très simple.
La suite est pour le cas (bizarre) ou vous installez Linux avant Vista
Pour des explications générales (anciennes) sur le "loader" NTLDR de Windows, voir dans les notes "Guide d'installation ... de Linux" pages 53 et 54
http://www.tldp.org/LDP/abs/html/ Advanced Bash-Scripting Guide
An in-depth exploration of the art of shell scripting
adal script (en BASH) ajoutant un alias (au fichier de configuration /etc/profile.d/alias.sh)
rab4 script (en BASH) créant un autre script (en BASH) évitant de devoir ajouter un '&' après une commande pour ne pas perdre l'usage d'un terminal
redhcp script en bash relançant la configuration de la carte réseau
introduction aux expressions régulières en perl
alpha+1 string alpabétique + 1
alpha+2 string alpabétique + 2
regex Illustration des expressions régulières et de l'opérateur s///;
split petit script illustrant l'utilisation de 'split'
split+ petit script illustrant l'utilisation de 'split'
(version montrant la raison de l'utilisation de "$_ = $string;" à la ligne 22 de "split")
sortie_erreur3 script expliquant le pourquoi et comment de "2>&1" et "2>/dev/null"
pppp petit script illustrant l'utilisation de de la syntaxe "$var = << LABEL;"
alphanum1 "nombres en ordre alphabétique"
alphanum4 "nombres en ordre alphabétique"
alias_liste liste d'alias 'standard' à utiliser avec adaf
adaf.test script ajoutant des alias (version permettant un mode 'test' sans être 'root', et sans danger)
alias_liste2 liste d'alias 'standard' à utiliser avec adaf avec 'commentaires'
(à utiliser pour tester votre "adaf.test" modifié pour en tenir compte)
raf script créant des scripts (en BASH) évitant de devoir ajouter un '&' après une commande pour ne pas perdre l'usage d'un terminal, utilisant une liste (dans un fichier)
raf_liste liste à utiliser avec raf
cs script global de configuration standard
ethxyz script mettant une même adresse réseau IP fixe (dernier byte donné en paramètre) pour les interfaces de eth0 à eth19
occurences2 script affichant les nombres d'occurences des mots d'un fichier texte, corrigé pour les Majuscules et les parenthèses
allais.utf8 texte littéraire (à utiliser comme argument pour les scripts occurences1 et occurences2)
variables1 script affichant les nombres d'occurences des variables d'un fichier perl
variables2c script affichant les nombres d'occurences des variables d'un fichier perl, version avec structure 'vide' pour l'affichage en 3 catégories
: script incomplet qui est un fichier de départ pour un exercice, dont la solution est
variables4cscript affichant les nombres d'occurences des variables d'un fichier perl, affichage en 3 catégories et mots des commentaires
g2c41 script qui détecte les modifications de fichiers de configuration
induits par l'utilisation d'un outil de configuration GUI
version avec installation automatique de fileschanged si nécessaire
filelength explicitation du fonctionnement de la fonction 'filelength' des scrits g2c
lsr3 script pour détecter création/suppression de fichier : récupération du numéro de ligne et du nom de fichier
lsr4 script pour détecter création/suppression de fichier : récupération du numéro de ligne et du nom de fichier
et le chemin absolu du fichier créé/supprimé
lsr7 script pour détecter création/suppression de fichier : idem, mais avec vérification de l'argument et commentaires (et corrigé par rapport au lsr6)
lsr8 script pour détecter création/suppression de fichier : idem, mais avec prise en compte de fichiers multiples dans un répertoire
lsr9+ script pour détecter création/suppression de fichier : idem, mais avec prise en compte de fichiers multiples dans un répertoire
et début de prise en compte de répertoires multiples (version corrigée)
lsr10 script pour détecter création/suppression de fichier : idem, mais avec prise en compte de fichiers multiples dans un répertoire
et prise en compte de répertoires multiples, version complète et corrigée
(mais ne prenant pas en compte la création de répertoires)
lsr11 script pour détecter création/suppression de fichier :
version plus simple, avec prise en compte de fichiers multiples dans un répertoire
et prise en compte la création de répertoires
kickerrc le kickerrc modifié
cs41 cs avec kickerrc modifié remplçant Kmail par Konsole pour nouvel utilisateur,
idem mais par kickerrc.diff
kickerrc.diff le kickerrc.diff
cs42 comme cs40, avec en plus la modification de la page par défaut de firefox,
avec la détection automatique de la version dans le nom d'un répertoire.
(solution générique, avec utilisation de '*' pour indiquer la partie variable du nom du répertoire)
(mais limitée à un répertoire, le premier trouvé)
(la partie modifiée est aux lignes 95 et de 229 à 263)
browserconfig.properties le fichier modifié
(de manière à ce que http://192.168.30.130/index.html soit la page par défaut)
atpasswdch script (partiel) qui réagit à une création d'utilisateur
new_user Explication des modifications introduites par cs40.4
new_user2 Explication des modifications introduites par cs40.4/cs40.6
atfirstlogins2 version modifiée de atfirstlogins
(qui supprime son appel dans '~/.bash_profile' après le 1° login graphique)
Schéma du script :
terminer l'exécution de 'Firefox' (si il est en cours d'exécution)
trouver le répertoire contenant les fichiers de configuration de 'Firefox'
décompresser 'addmodff.2.tgz' (par 'tar xzvf' , car les alias n'existent pas pour l'exécution d'un script)
ajouter le contenu des 'diffs' (sans les '<' ou '>') à leurs fichiers respectifs (extensions.rdf et extensions.cache)
décompresser 'tmp.xpi' (contenu dans 'addmodff.2.tgz') dans le répertoire 'extensions'
lancer l'exécution de 'Firefox'
(l'option '-d' est nécessaire, car sinon 'ls' affiche le contenu du répertoire, au lieu de son nom)
On the State of Linux File Systems
(version provisoire)
env_fj.32.tgz fichier compressé contenant un script installant un environnement du même type que celui installé par 'cs'
http://www.winimage.com/bootpart.htm site pour le programme bootpart, qui automatise l'incorporation d'une nouvelle rubrique dans le "loader" NTLDR de Windows, expliquée dans les notes "Guide d'installation ... de Linux" pages 53 et 54