180 lines
6.2 KiB
Markdown
180 lines
6.2 KiB
Markdown
# -*- coding: utf-8 mode: markdown -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
|
|
##@creator: jclain
|
|
##@created: 27/04/2016 03:19
|
|
##@modifier: jclain
|
|
##@changecount: 1
|
|
##@tags:
|
|
##@title: ulib/debian
|
|
|
|
!! {{{pkg_check}}}
|
|
{{{
|
|
Vérifier que les packages sont installés sur le système
|
|
}}}
|
|
!! {{{pkg_update}}}
|
|
{{{
|
|
Mettre à jour la liste des packages silencieusement sans confirmation
|
|
}}}
|
|
!! {{{pkg_upgrade}}}
|
|
{{{
|
|
Mettre à jour la liste des packages silencieusement sans confirmation
|
|
}}}
|
|
!! {{{pkg_install}}}
|
|
{{{
|
|
Installer les packages silencieusement et sans confirmation
|
|
}}}
|
|
!! {{{pkg_installm}}}
|
|
{{{
|
|
Installer les packages silencieusement et sans confirmation
|
|
Retourner 0 si au moins un des packages a été installé. Sinon, les
|
|
packages n'ont pas été installés, soit parce qu'ils sont déjà installé,
|
|
soit parce qu'il y a eu une erreur.
|
|
}}}
|
|
!! {{{pkg_check_install}}}
|
|
{{{
|
|
Si le programme $1 n'existe pas, alors installer les packages $2..$@
|
|
S'il n'y a pas d'arguments $2..$@ utiliser $1 comme nom de package
|
|
Retourner 0 si au moins un des packages a été installé
|
|
}}}
|
|
!! {{{service_disable}}}
|
|
{{{
|
|
Désactiver le service $1 pour qu'il ne se lance pas automatiquement au
|
|
démarrage
|
|
}}}
|
|
!! {{{service_enable}}}
|
|
{{{
|
|
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
|
|
interfaces du tableau $2(=ifaces) est faite dans le fichier
|
|
$3(=/etc/network/interfaces)
|
|
}}}
|
|
!! {{{network_interfaces_check_confip}}}
|
|
{{{
|
|
Vérifier que la configuration de l'interface $1, avec la passerelle $2,
|
|
avec les adresses IP du tabbleau $3(=ipsuffixes) est faite dans le fichier
|
|
$4(=/etc/network/interfaces)
|
|
}}}
|
|
!! {{{network_interfaces_remove_iface}}}
|
|
{{{
|
|
Supprimer dans le fichier $2(=/etc/network/interfaces) toute la
|
|
configuration qui concerne l'interface $1
|
|
}}}
|
|
!! {{{network_interfaces_remove_ifaces}}}
|
|
{{{
|
|
Supprimer dans le fichier $2(=/etc/network/interfaces) toute la
|
|
configuration qui concerne les interfaces du tableau $1=(ifaces)
|
|
}}}
|
|
!! {{{network_interfaces_remove_confbr}}}
|
|
{{{
|
|
Supprimer dans le fichier $3(=/etc/network/interfaces) toute la
|
|
configuration qui concerne le bridge $1, et dont les interfaces sont
|
|
listées dans le tableau $2(=ifaces)
|
|
}}}
|
|
!! {{{network_interfaces_add_confip}}}
|
|
{{{
|
|
ajouter dans le fichier $4(=/etc/network/interfaces) la configuration pour
|
|
l'interface $1, avec éventuellement la passerelle $2, et les adresses ips
|
|
telles qu'elles sont définies dans le table $3(=ipsuffixes)
|
|
}}}
|
|
!! {{{network_interfaces_add_confbr}}}
|
|
{{{
|
|
ajouter dans le fichier $4(=/etc/network/interfaces) la configuration pour
|
|
le bridge $1, avec la liste des interfaces dans le tableau $2(=ifaces) et
|
|
la liste des configurations des adresses des interfaces dans le tableau
|
|
$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.
|
|
$1 (host) est le nom d'hôte.
|
|
$2 (confips) est le nom d'un tableau contenant la configuration des
|
|
adresses ips pour les interfaces.
|
|
$3 (confbrs) est le nom d'un tableau contenant la configuration des
|
|
bridges à créer/mettre à jour.
|
|
$4 (mainiface) est le nom de l'interface principale, c'est à dire
|
|
l'interface qui est sélectionnée si une adresse ip n'est pas préfixée de
|
|
son interface. En principe, l'interface principale est le premier bridge
|
|
défini ou la première interface définie.
|
|
$5 (reset_interfaces) spécifie de ne pas chercher à mettre à jour le
|
|
fichier /etc/network/interfaces, mais de le recréer depuis zéro.
|
|
$6 (oldhost) est le nom d'hôte actuel, avant la modification
|
|
Si un des arguments n'est pas spécifié, il est ignoré.
|
|
Le tableau confips doit contenir des définitions d'une des formes
|
|
suivantes:
|
|
[[iface][//gateway]:]address[/suffix],...
|
|
[iface:]dhcp
|
|
La deuxième forme est pour spécifier qu'une interface est configurée par
|
|
DHCP. iface vaut par défaut eth0, sauf si une définition de bridge
|
|
existe, auquel cas il s'agit du premier bridge défini. Pour chaque
|
|
interface, seule la première spécification d'adresse IP tient compte de
|
|
l'argument gateway. Les autres spécifications définissent des adresses IP
|
|
supplémentaires pour l'interface.
|
|
Le tableau brs doit contenir des définitions de la forme suivante:
|
|
br:ifaces,...
|
|
br est le nom du bridge, e.g. br0. ifaces est une liste d'interfaces
|
|
séparées par une virgule. e.g. br0:eth0,eth1
|
|
Bien que ce soit techniquement possible, ce script interdit que l'on
|
|
définisse une adresse IP pour une interface faisant partie d'un bridge.
|
|
}}}
|