# 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.
~~~

-*- coding: utf-8 mode: markdown -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8:noeol:binary