# 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. Des efforts sont faits pour ne mettre à jour les fichiers que si c'est nécessaire. Si un des arguments $1..$6 n'est pas spécifié, il est ignoré. $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. la valeur 'force' spécifie de recréer le fichier même si ce n'est pas nécessaire à priori. $6 (oldhost) est le nom d'hôte actuel, avant la modification $7(=/etc/network/interfaces) est le fichier à mettre à jour 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. ~~~ ## `network_config_partial` ~~~ une version allégée de network_config() qui ne permet que de rajouter des adresses IPs en plus de celles qui sont déjà configurées. $1(=confips) est le nom d'un tableau contenant la configuration des adresses ips pour les interfaces. $2(=/etc/network/interfaces) est le fichier à mettre à jour ~~~ ## `network_update_etc_networks` ~~~ écraser le contenu du fichier /etc/networks avec la chaine $1 si $1 est vide, initialiser le fichier avec un contenu par défaut. ~~~ -*- coding: utf-8 mode: markdown -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8:noeol:binary