manala.apt
#######################################################################################################
:exclamation: DÉPRÉCIATION :exclamation:
Ce dépôt et le rôle associé sont dépréciés au profit de la Collection Ansible Manala
Vous trouverez des informations sur son utilisation dans le dépôt de la collection
#######################################################################################################
Rôle Ansible : Apt 
:exclamation: Signalez des problèmes et envoyez des Pull Requests dans le dépôt principal des rôles Ansible :exclamation:
Ce rôle ajoutera des sources tierces au gestionnaire de paquets en :
- Ajoutant une URL source comme nouveau dépôt
- Ajoutant la clé sécurisée spécifiée
- Gérant les fichiers de préférences des paquets (appelé pinning)
- Installant des paquets
Il fait partie de la pile Ansible Manala mais peut être utilisé comme un composant autonome.
Exigences
Aucune.
Dépendances
Aucune.
Installation
Ansible 2+
En utilisant l'interface en ligne de commande ansible galaxy :
ansible-galaxy install manala.apt
En utilisant un fichier de requêtes ansible galaxy :
- src: manala.apt
Gestionnaires de rôle
Aucun
Variables de rôle
Définition
Nom | Par défaut | Type | Description |
---|---|---|---|
manala_apt_configs_exclusive |
false | Boolean | Exclusivité des configurations |
manala_apt_configs_dir |
'/etc/apt/apt.conf.d' | String | Chemin du répertoire de configurations |
manala_apt_configs_defaults |
{} | Array | Configurations par défaut |
manala_apt_configs |
[] | Array | Configurations |
manala_apt_install_packages |
~ | Array | Paquets de dépendance à installer |
manala_apt_install_packages_default |
['apt-transport-https', 'openssl', 'ca-certificates'] | Array | Paquets de dépendance par défaut |
manala_apt_components |
['main'] | Array | Collection de composants |
manala_apt_sources_list_file |
'/etc/apt/sources.list' | String | Chemin du fichier de la liste des sources |
manala_apt_sources_list_template |
~ | String | Chemin du modèle de liste des sources |
manala_apt_sources_list |
~ | String/Array | Liste des sources |
manala_apt_repositories_exclusive |
false | Boolean | Exclusivité des dépôts |
manala_apt_repositories |
[] | Array | Dépôts |
manala_apt_preferences_exclusive |
false | Boolean | Exclusivité des préférences |
manala_apt_preferences_dir |
'/etc/apt/preferences.d' | String | Chemin du répertoire de préférences |
manala_apt_preferences_defaults |
{} | Array | Préférences par défaut |
manala_apt_preferences |
[] | Array | Préférences |
manala_apt_holds_exclusive |
false | Array | Exclusivité des packages retenus |
manala_apt_holds |
[] | Array | Collection de packages retenus |
manala_apt_packages |
[] | Array | Collection de paquets |
manala_apt_cache_valid_time |
3600 | Integer | Durée autorisée du cache apt, en secondes |
manala_apt.update |
false | Boolean | Mettre à jour les paquets |
Exemple
- hosts: all
vars:
manala_apt_repositories:
- contrib
manala_apt_preferences:
- git@backports
- dotdeb:100
- php@dotdeb_php56:300
- nginx@nginx
manala_apt_packages:
- xfonts-75dpi
- http://download.gna.org/wkhtmltopdf/0.12/0.12.2.1/wkhtmltox-0.12.2.1_linux-{{ ansible_distribution_release }}-amd64.deb
roles:
- role: manala.apt
Configurations
manala_apt_configs
vous permet de définir des fichiers de configuration apt en utilisant un modèle et une configuration, ou un contenu brut.
Un état (present|absent|ignore) peut être fourni.
manala_apt_configs:
# Basé sur un modèle (nom de fichier basé sur le modèle)
- template: configs/check_valid_until_false.j2
# Basé sur un modèle (forcer le nom du fichier)
- file: check
template: configs/check_valid_until_false.j2
# Basé sur le contenu
- file: foo_content
config: |
APT::Install-Recommends "false";
# Configurations basées sur des dictionnaires (déprécié)
- file: foo
config:
- Acquire::Check-Valid-Until: true
# Assurez-vous que la configuration est absente
- file: absent
state: absent # "present" par défaut
# Ignorer la configuration
- file: ignore
state: ignore
# Aplatir les configurations
- "{{ my_custom_configs_array }}"
manala_apt_configs_exclusive
permet de nettoyer les fichiers de configuration apt existants dans le répertoire défini par la clé manala_apt_configs_dir
. Destiné à s'assurer qu'aucun ancien fichier ou fichier créé manuellement n'altère la configuration actuelle.
manala_apt_configs_exclusive: true
Composants
Spécifiez les composants apt
manala_apt_components:
- main
- contrib
- non-free
# Aplatir les composants
- "{{ my_custom_components_array }}"
Liste des sources
Utiliser un modèle :
manala_apt_sources_list_template: my/sources.list.j2
manala_apt_sources_list:
foo: bar
Utiliser du contenu brut :
manala_apt_sources_list: |
deb http://deb.debian.org/debian {{ ansible_distribution_release }} main
deb http://security.debian.org/debian-security {{ ansible_distribution_release }}/updates main
deb http://deb.debian.org/debian {{ ansible_distribution_release }}-updates main
Utiliser un tableau de dictionnaires (déprécié) :
manala_apt_sources_list:
- deb: http://deb.debian.org/debian {{ ansible_distribution_release }} main
- deb http://deb.debian.org/debian {{ ansible_distribution_release }} contrib
Dépôts
Concise, basé sur des motifs
manala_apt_repositories:
- security
- updates
- partner
- backports
- backports_sloppy
- dotdeb
- nginx
- bearstech
- nodesource_0_10
- nodesource_0_12
- nodesource_4
- nodesource_5
- nodesource_6
- nodesource_7
- nodesource_8
- nodesource_10
- nodesource_12
- nodesource_14
- nodesource_16
- postgresql
- maxscale_2_2
- mongodb_3_0
- mongodb_3_2
- mongodb_3_4
- mongodb_3_6
- mongodb_4_0
- mongodb_4_2
- varnish_4_0
- jenkins
- sensu
- rabbitmq
- proxmox
- proxmox_enterprise
- logentries
- galera_3
- grafana
- elasticsearch_1_7
- elasticsearch_2
- elasticsearch_5
- elasticsearch_6
- elasticsearch_7
- ppa_ansible
- blackfire
- sury_php
Verbeux, basé sur des motifs
manala_apt_repositories:
- pattern: backports
state: absent
Verbeux
manala_apt_repositories:
- source: deb http://pkg.jenkins-ci.org/debian binary/
key:
url: http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key
id: D50582E6
- source: deb https://enterprise.proxmox.com/debian {{ ansible_distribution_release }} pve-enterprise
state: absent
# Ignorer le dépôt
- source: deb https://example.com foo
state: ignore
# Aplatir les dépôts
- "{{ my_custom_repositories_array }}"
Exclusivité (tous les dépôts non définis par le rôle seront supprimés)
manala_apt_repositories_exclusive: true
Préférences
Concise, basé sur des motifs
Format : [motif de préférence]@[motif de dépôt]:[priorité de pin]
Notez que les dépôts référencés seront automatiquement inclus comme présents en utilisant le processus "manala_apt_repositories".
manala_apt_preferences:
- git@backports # "git*" du dépôt debian backports, haute priorité
- dotdeb:100 # "*" du dépôt dotdeb, basse priorité
- php@dotdeb # "php*" du dépôt dotdeb, haute priorité
- redis@dotdeb # "redis*" du dépôt dotdeb, haute priorité
- libssl1.0.0@backports # "libssl1.0.0" du dépôt debian backports, haute priorité
# Syntaxe des motifs
- preference: ansible@ansible
file: foo
Verbeux
manala_apt_preferences:
- package: '*'
pin: release o=Debian,a=stable
priority: 600
file: dotdeb
- package: 'php-*'
pin: release o=Debian,a=stable
priority: 900
file: php
state: absent
# Ignorer la préférence
- file: foo
state: ignore
# Aplatir les préférences
- "{{ my_custom_preferences_array }}"
Retrains
Gérez vos paquets retenus (ceux que vous ne souhaitez pas mettre à jour) en utilisant :
manala_apt_holds:
- foo # Assurez-vous que le paquet "foo" ne sera pas mis à jour
- package: bar # La même chose avec le paquet "bar", en utilisant la syntaxe verbeuse
state: present
- package: baz # Assurez-vous que le paquet "baz" *sera* mis à jour
state: absent
# Ignorer la retenue
- package: qux
state: ignore
# Déprécié
- package: quux
hold: true # ou false :)
# Aplatir les retenues
- "{{ my_custom_holds_array }}"
Un mode exclusivité est également fourni, pour s'assurer que tous les paquets mais ceux que vous avez définis seront mis à niveau.
manala_apt_holds_exclusive: true
Paquets
Concise
manala_apt_packages:
- vim # Nom du paquet
Verbeux
manala_apt_packages:
- package: bzip2 # Nom du paquet, requis
state: absent # État du paquet, optionnel, par défaut "present"
force: true # Installer de force, optionnel
# Ignorer le paquet
- package: foo
state: ignore # État du paquet, optionnel, par défaut 'present'
# Aplatir les paquets
- "{{ my_custom_packages_array }}"
Flags
Mettre à jour les paquets
manala_apt:
update: true
# Peut également être défini dans les rôles manala
manala:
update: true
Licence
MIT
Informations sur l'auteur
Manala (http://www.manala.io/)
ansible-galaxy install manala.apt