This commit is contained in:
Jephté Clain 2017-03-02 01:45:26 +04:00
parent 2177e6acc6
commit a43359c760
14 changed files with 260 additions and 90 deletions

View File

@ -7,19 +7,38 @@ USAGE
SVirtualBox [options] vmName
OPTIONS
-n Ne rien faire excepté s'assurer que les modules VirtualBox sont chargés
-l Lister les machines virtuelles
-s Démarrer la machine virtuelle (par défaut)
-n, --nop
Ne rien faire excepté s'assurer que les modules VirtualBox sont chargés
-l, --list
Lister les machines virtuelles
-s, --start
Démarrer la machine virtuelle. C'est l'action par défaut.
Si le nom de la machine virtuelle n'est pas spécifiée, un menu est
affiché
-b Démarrer la VM sans interface graphique. Cette option n'est valide
qu'avec -s
-k Arrêter la machine virtuelle (par ACPI)
-p Mettre en veille la machine virtuelle (par ACPI)
-H Arrêter sauvagement la machine virtuelle
-R Redémarrer sauvagement la machine virtuelle
-S Enregistrer l'état de la machine virtuelle
-g Afficher le gestionnaire de machines virtuelle
-x, --gui
-b, --headless
--separate
Ces options ne sont valides qu'avec -s et permettent de spécifier le
type de démarrage: 'gui' permet d'afficher une fenêtre complète dans
laquelle l'accélération graphique est supportée, headless démarre la
machine en tâche de fond, et separate affiche une fenêtre qui attaque la
machine démarrée en tâche de fond. --separate est l'option par défaut.
-k, -t, --stop
Arrêter la machine virtuelle. Les options -p, -H, -R, -S et -r
permettent de spécifier le type d'arrêt de la machine virtuelle
-p, --sleep
Mettre en veille la machine virtuelle (par ACPI)
-H, --poweroff
Arrêter sauvagement la machine virtuelle
-R, --reset
Redémarrer sauvagement la machine virtuelle
-S, --savestate
Enregistrer l'état de la machine virtuelle
-r, --rrestart
Arrêter la machine, restaurer l'état du dernier snapshot puis la
relancer.
-g, --gui
Afficher le gestionnaire de machines virtuelle
~~~
-*- coding: utf-8 mode: markdown -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8:noeol:binary

29
doc/tools/create-user.md Normal file
View File

@ -0,0 +1,29 @@
# create-user
~~~
create-user: créer un utilisateur sudoer et lui installer une clé publique ssh
USAGE
create-user user [-p pubkey]
OPTIONS
-p, --pkfile PKFILE
Installer la clé publique ssh contenue dans le fichier spécifié. Par
défaut, prendre le fichier ~/.ssh/id_rsa.pub de l'utilisateur courant.
-s, --pkstring PUBKEY
Installer la clé publique ssh spécifiée. Cette option avancée n'est pas
utilisée en temps normal. Elle a la priorité sur l'option --pkfile
-l, --luser
Ne pas donner à l'utilisateur le droit de sudoer.
-h, --host [USER@]HOST
Créer l'utilisateur sur l'hôte distant spécifié. Si l'utilisateur
distant n'est pas root, il doit être sudoer.
-T, --tmproot TMPROOT
Spécifier le répertoire temporaire sur l'hôte distant, comme par exemple
/var/tmp. Cette option est utile pour certains serveurs, qui ont un /tmp
minuscule.
-S, --ssh SSH
Spécifier le programme à utiliser pour la connection par ssh.
~~~
-*- coding: utf-8 mode: markdown -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8:noeol:binary

45
doc/tools/netconfig.md Normal file
View File

@ -0,0 +1,45 @@
# netconfig
~~~
netconfig: gérer la configuration du réseau
USAGE
netconfig -c network.conf
netconfig [iface:]ip[/suffix]...
OPTIONS
-P, --partial
Activer le mode de configuration partielle. C'est la valeur par défaut.
Dans ce mode, la configuration courante n'est pas modifiée. Seules de
nouvelles adresses ips sont configurées le cas échéant.
-F, --full
Activer le mode de configuration complète. Dans ce mode, le nom d'hôte
ainsi que toutes les interfaces, pont et adresses sont configurés.
-z, --reset
En mode full, recréer le fichier /etc/network/interfaces au lieu
d'essayer de le mettre à jour.
-l, --inline
Prendre la configuration depuis la ligne de commande. C'est la valeur
par défaut, sauf si un fichier network.conf existe dans le répertoire
courant.
Dans ce mode, chaque argument est une spécification d'adresse IP à
configurer. Les autres paramètres i.e les ponts, le nom d'hôte et le
contenu du fichier /etc/networks sont spécifiés avec les options -b,
-h et -e
-c, --config CONFIG
Spécifier le fichier de configuration à utiliser pour la configuration
du réseau. Cette option est automatiquement activée si le répertoire
courant contient un fichier network.conf
-w, --write
Ecrire la configuration actuelle dans le fichier network.conf
Note: comme ce script demande les droits de root, le fichier sera écrit
avec le propriétaire root.
-b, --bridge BR:IFACES
En mode inline, spécifier une liste de ponts à configurer.
-h, --host HOST
En mode inline, spécifier le nom d'hôte pleinement qualifié
-e, --etc-networks CONTENT
Spécifier un contenu pour remplacer le fichier /etc/networks
~~~
-*- coding: utf-8 mode: markdown -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8:noeol:binary

View File

@ -6,13 +6,24 @@ umountr: démonter un système de fichier récursivement
USAGE
umountr mountpoint
Démonter tous les systèmes de fichiers qui sont montés en-dessous de mountpoint
puis démonter mountpoint. Démonter aussi tous les systèmes de fichiers
bind-montés à partir d'un sous-répertoire de mountpoint.
OPTION
-c, --continuous
Continuer même en cas d'erreur
-r, --recursive
-1, --no-recursive
Spécifier le type de démontage:
Avec -1, un démontage simple est effectué, comme avec umount. Ce type de
démontage est automatiquement sélectionné pour les systèmes de fichier
montés sous le répertoire /media
Avec -r, le démontage est récursif: tous les systèmes de fichiers qui
sont montés en-dessous de mountpoint sont démontés puis mountpoint est
démonté. Tous les systèmes de fichiers bind-montés à partir d'un sous-
répertoire de mountpoint sont démontés aussi.
-o, --poweroff
-k, --no-poweroff
Après avoir démonté le système de fichier mountpoint, éteindre le
périphérique qui y correspond. --poweroff est automatiquement activé
pour les systèmes de fichier montés sous le répertoire /media
~~~
-*- coding: utf-8 mode: markdown -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8:noeol:binary

View File

@ -56,11 +56,13 @@ COMMANDS
-R Afficher les modifications effectuées depuis la dernière release.
clone git@host:path/to/repo [destdir]
clone http://host/gituser/path/to/repo [destdir]
Cloner un dépôt distant. Basculer sur la branche develop si elle existe.
Initialiser git annex si le dépôt contient des fichiers annexés.
Récupérer aussi ces fichiers avec 'git annex get'
crone git@host:path/to/repo [destdir]
crone http://host/gituser/path/to/repo [destdir]
Créer un dépôt distant sur gitolite, puis le cloner
develop

View File

@ -283,6 +283,12 @@ OPTIONS AVANCEES
référence. Il faut respecter le format, sinon les résultats ne sont pas
garantis. Le mieux est de reprendre le résultat de l'option --show-ctnow
en le modifiant un peu si nécessaire.
-G, --any-ctnow
Pour le développement ou des tests, lancer toutes les commandes dans
l'ordre sans tenir compte de l'heure de référence. Cette commande ne
devrait pas être utilisée en temps normal, mais elle existe pour
simplifier les tests avec --show-ctnow + --force-ctnow dans les cas
simples.
~~~
-*- coding: utf-8 mode: markdown -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8:noeol:binary

View File

@ -77,8 +77,9 @@ syntaxe 'setx -a array=cmd args...' est supportée aussi
~~~
Implémenter une syntaxe lisible et naturelle permettant d'enchainer des
traitements sur une valeur. Par exemple, la commande
evalx cmd1... // cmd2... // cmd3...
affiche le résultat de la commande "$(cmd3 $(cmd2 $(cmd1)))"
evalx cmd1 [args1...] // cmd2 [args2...] // cmd3 [args3...]
est équivalente à la commande
cmd3 args3 "$(cmd2 args2 "$(cmd1 args1)")"
Retourner le dernier code d'erreur non nul, ou 0 si toutes les commandes se
sont exécutées sans erreur.
~~~
@ -92,7 +93,7 @@ Implémenter une syntaxe alternative permettant d'enchainer des traitements sur
un flux de données. Par exemple, la commande
evalp cmd1... // cmd2... // cmd3...
affiche le résultat de la commande "$(cmd1 | cmd2 | cmd3)"
Typiquement, cette fonction permet de faciliter la construction d'un
Typiquement, cette fonction permet de faciliter la *construction* d'un
enchainement de commandes par programme, ou de faciliter l'utilisation de la
fonction setx() pour récupérer le résultat d'un enchainement. Dans les autres
cas, il est plus simple et naturel d'écrire les enchainements avec la syntaxe

View File

@ -13,5 +13,9 @@ retourner vrai si $1 est une valeur numérique entière positive
retourner vrai si $1 est une valeur numérique réelle (positive ou négative)
le séparateur décimal peut être . ou ,
~~~
## `evali`
~~~
Evaluer une expression numérique
~~~
-*- coding: utf-8 mode: markdown -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8:noeol:binary

View File

@ -2,27 +2,27 @@
## `straddp`
~~~
ajouter le préfixe $1 à $2*
ajouter le préfixe $1 à $2..*
~~~
## `strdelp`
~~~
enlever le préfixe $1 à $2*
enlever le préfixe $1 à $2..*
~~~
## `strdelp2`
~~~
enlever le préfixe $1 le plus long à $2*
enlever le préfixe $1 le plus long à $2..*
~~~
## `stradds`
~~~
ajouter le suffixe $1 à $2*
ajouter le suffixe $1 à $2..*
~~~
## `strdels`
~~~
enlever le suffixe $1 à $2*
enlever le suffixe $1 à $2..*
~~~
## `strdels2`
~~~
enlever le suffixe le plus long $1 à $2*
enlever le suffixe le plus long $1 à $2..*
~~~
## `strlower`
~~~
@ -52,14 +52,14 @@ majuscule
~~~
## `strmid`
~~~
Afficher la plage $1 de la valeur $2*. La plage peut être d'une des formes
Afficher la plage $1 de la valeur $2..*. La plage peut être d'une des formes
'start', '[start]:length'. Si start est négatif, le compte est effectué à
partir de la fin de la chaine. Si length est négatif, il est rajouté à la
longueur de la chaine à partir de start
~~~
## `strrepl`
~~~
Remplacer dans la valeur $3* le motif $1 par la chaine $2. $1 peut commencer
Remplacer dans la valeur $3..* le motif $1 par la chaine $2. $1 peut commencer
par l'un des caractères /, #, % pour indiquer le type de recherche
~~~
## `strops`
@ -122,5 +122,46 @@ Tester si la chaine $1 commence par le wildcard $2
~~~
Tester si la chaine $1 se termine par le wildcard $2
~~~
## `strsplitf`
~~~
Cette fonction doit être appelée avec N arguments (avec N>1). Elle analyse et
découpe l'argument $N comme avec une ligne de commande du shell. Ensuite, elle
appelle la fonction $1 avec les arguments de $2 à ${N-1}, suivi des arguments
obtenus lors de l'analyse de l'argument $N. Par exemple, la commande suivante:
strsplitf cmd arg1 "long arg2" "arg3 'long arg4'"
est équivalente à:
cmd arg1 "long arg2" arg3 "long arg4"
Retourner le code 127 si la fonction à appeler n'est pas spécifiée. Retourner
le code 126 si une erreur s'est produite lors de l'analyse de l'argument $N
~~~
## `strecho`
## `strqvals`
~~~
Afficher chaque argument à part avec des quotes. A chainer avec strsplitf()
~~~
## `strqlines`
~~~
Afficher chaque ligne des fichiers spécifiés comme un argument. A chainer avec
strsplitf()
~~~
## `strqarray`
~~~
Afficher chaque valeur des tableaux $@ comme un argument. A chainer avec
strsplitf()
~~~
## `evals`
~~~
Enchainer des traitements sur des chaines de caractères, comme pour la fonction
evalx(). Il y a cependant quelques différences:
- Seules certains fonctions spécifiques peuvent être utilisées: elles sont
reconnaissables à leur préfixe 'str'. En effet, lors de l'utilisation d'une
commande par evals(), le préfixe 'str' est systématiquement ajouté.
- La fonction strsplitf() est traitée de façon particulière pour lancer une
commande avec le préfixe 'str'
Ainsi, la commande suivante:
evals cmd1 // splitf cmd2
est équivalente à la commande:
strplitf strcmd2 "$(strcmd1)"
~~~
-*- coding: utf-8 mode: markdown -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8:noeol:binary

View File

@ -13,9 +13,9 @@ Retourner 0 si une modification a été faite dans le fichier, 1 sinon
~~~
## `conf_enableq`
~~~
Comme conf_enable(), mais s'assure que les valeurs sont quotées dans le
fichier. Ceci permet de stocker des valeurs avec des espaces ou des
caractères spéciaux.
Comme conf_enable(), mais s'assure que les valeurs sont quotées si
nécessaire dans le fichier. Ceci permet de stocker des valeurs avec des
espaces ou des caractères spéciaux.
~~~
## `conf_disable`
~~~

View File

@ -38,60 +38,6 @@ démarrage
~~~
Activer le service $1 pour qu'il se lance automatiquement au démarrage
~~~
## `network_parse_confbr`
~~~
network_parse_confbr "$confbr" br ifaces
~~~
## `network_format_confbr`
~~~
network_format_confbr "$br" ifaces --> "br:ifaces"
~~~
## `network_parse_confip`
~~~
network_parse_confip "$confip" iface gateway ipsuffixes
~~~
## `network_parse_ipsuffix`
~~~
network_parse_ipsuffix "$ipsuffix" ip suffix
~~~
## `network_format_confip`
~~~
network_format_confip "$iface" "$gateway" ipsuffixes --> "iface//gateway:ipsuffixes"
~~~
## `network_format_ipsuffix`
~~~
network_format_ipsuffix "$ip" "$suffix" --> "ip/suffix"
~~~
## `network_fix_confbrs`
~~~
normaliser le tableau $1(=confbrs): fusionner les doublons
~~~
## `network_fix_confips`
~~~
normaliser le tableau $1(=confips): fusionner les doublons, spécifier le
suffixe /24 par défaut, etc. $2 est le cas échéant l'interface associée
aux adresses ip non qualifiées
~~~
## `network_fix_mainiface`
~~~
A partir des valeurs des tableaux $1(=confbrs) et $2(=confips), et de
l'interface principale $3, déterminer l'interface principale. Si $3 est
spécifié, c'est la valeur sélectionnée. Sinon, si un bridge existe, c'est
le premier bridge qui est sélectionné. Sinon, la première interface est
sélectionnée. Sinon, on prend eth0.
Ensuite, réorganiser les tableaux de façon que confips[0] devienne la
configuration ip de l'interface principale.
~~~
## `network_fix_confs`
## `network_set_confbrs`
~~~
initialiser $1(=confbrs) avec l'état des bridges sur le système courant
~~~
## `network_set_confips`
~~~
initialiser le tableau $1(=confips) avec l'état des interfaces sur le
système courant
~~~
## `network_interfaces_check_confbr`
~~~
Vérifier que la configuration du bridge $1, dont les membres sont les
@ -135,9 +81,6 @@ $3(=confips)
~~~
## `network_fix_hostname`
## `network_fix_mailname`
## `network_fix_exim4`
## `network_fix_postfix`
## `network_fix_hosts`
## `network_config`
~~~
(Re)configurer le réseau sur l'hôte courant. Des efforts sont faits pour

View File

@ -73,5 +73,62 @@ Si $1 *semble* déjà être un nom d'hôte pleinement qualifié, l'afficher tel
quel. Sinon utiliser ipcalc_fqdn() pour afficher le nom d'hôte pleinement
qualifié correspondant.
~~~
## `network_parse_confbr`
~~~
network_parse_confbr "$confbr" br ifaces
~~~
## `network_format_confbr`
~~~
network_format_confbr "$br" ifaces --> "br:ifaces"
~~~
## `network_parse_confip`
~~~
network_parse_confip "$confip" iface gateway ipsuffixes
~~~
## `network_parse_ipsuffix`
~~~
network_parse_ipsuffix "$ipsuffix" ip suffix
~~~
## `network_format_confip`
~~~
network_format_confip "$iface" "$gateway" ipsuffixes --> "iface//gateway:ipsuffixes"
~~~
## `network_format_ipsuffix`
~~~
network_format_ipsuffix "$ip" "$suffix" --> "ip/suffix"
~~~
## `network_fix_confbrs`
~~~
normaliser le tableau $1(=confbrs): fusionner les doublons
~~~
## `network_fix_confips`
~~~
normaliser le tableau $1(=confips): fusionner les doublons, spécifier le
suffixe /24 par défaut, etc. $2 est le cas échéant l'interface associée
aux adresses ip non qualifiées
~~~
## `network_fix_mainiface`
~~~
A partir des valeurs des tableaux $1(=confbrs) et $2(=confips), et de
l'interface principale $3, déterminer l'interface principale. Si $3 est
spécifié, c'est la valeur sélectionnée. Sinon, si un bridge existe, c'est
le premier bridge qui est sélectionné. Sinon, la première interface est
sélectionnée. Sinon, on prend eth0.
Ensuite, réorganiser les tableaux de façon que confips[0] devienne la
configuration ip de l'interface principale.
~~~
## `network_fix_confs`
## `network_set_confbrs`
~~~
initialiser $1(=confbrs) avec l'état des bridges sur le système courant
~~~
## `network_set_confips`
~~~
initialiser le tableau $1(=confips) avec l'état des interfaces sur le
système courant
~~~
## `network_fix_exim4`
## `network_fix_postfix`
## `network_fix_hosts`
-*- coding: utf-8 mode: markdown -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8:noeol:binary

View File

@ -32,9 +32,6 @@ démarrage
~~~
Activer le service $1 pour qu'il se lance automatiquement au démarrage
~~~
## `create_bridge`
~~~
Créer un nouveau pont nommé $1 avec les paramètres $2
~~~
## `network_fix_hostname`
-*- coding: utf-8 mode: markdown -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8:noeol:binary

View File

@ -11,6 +11,11 @@ et $3(=SYSVER) en fonction des valeurs des autres. Cette fonction est à
utiliser quand on récupère cette information de la part de l'utilisateur,
et qu'il faut compléter
~~~
## `dump_sysinfos`
~~~
Afficher les valeurs de SYSNAME, SYSDIST, SYSVER qui décrivent le système
actuel
~~~
## `get_sysinfos_desc`
~~~
Afficher une chaine de la forme SYSNAME/SYSDIST/SYSVER qui décrit le
@ -46,6 +51,16 @@ cela n'a actuellement de sens qu'avec les version de MacOS X. Il faut
aussi impérativement filtrer sur le système, e.g:
check_sysinfos -s macosx -d 10.5+
~~~
## `unsupported_system`
~~~
Afficher un message d'erreur indiquant que le système actuel n'est pas
supporté, et quitter le script
~~~
## `require_sysinfos`
~~~
Vérifier le système actuel avec check_sysinfos(), et afficher un message
d'erreur avec unsupported_system() s'il ne correspond pas à la requête
~~~
## `on_debian`
~~~
Tester si on est sur debian. charger le module debian si c'est le cas.