# -*- 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. }}}