manala.apt

#######################################################################################################

:exclamation: ABLEGEN :exclamation:

Dieses Repository und die zugehörige Rolle sind abgelehnt zugunsten der Manala Ansible Collection

Informationen zur Nutzung finden Sie im Sammlungs-Repository

#######################################################################################################

Ansible Rolle: Apt Build-Status

:exclamation: Probleme melden und Pull-Requests senden im Haupt-Repository für Ansible-Rollen :exclamation:

Diese Rolle fügt dem Paketmanager Quellen von Drittanbietern hinzu, indem sie:

  • Eine Quell-URL als neues Repository hinzufügt
  • Den angegebenen sicheren Schlüssel hinzufügt
  • Die Präferenzdateien für Pakete verwaltet (auch bekannt als Pinning)
  • Pakete installiert

Sie ist Teil des Manala Ansible-Stacks, kann aber auch als einzelnes Komponenten verwendet werden.

Anforderungen

Keine.

Abhängigkeiten

Keine.

Installation

Ansible 2+

Verwendung des Ansible Galaxy CLI:

ansible-galaxy install manala.apt

Verwendung einer Ansible Galaxy-Anforderungsdatei:

- src: manala.apt

Rollenhandler

Keine

Rollenvariablen

Definition

Name Standard Typ Beschreibung
manala_apt_configs_exclusive false Boolean Exklusivität der Konfigurationen
manala_apt_configs_dir '/etc/apt/apt.conf.d' String Pfad zum Konfigurationsverzeichnis
manala_apt_configs_defaults {} Array Standardkonfigurationen
manala_apt_configs [] Array Konfigurationen
manala_apt_install_packages ~ Array Abhängigkeitspakete, die installiert werden sollen
manala_apt_install_packages_default ['apt-transport-https', 'openssl', 'ca-certificates'] Array Standardabhängigkeitspakete
manala_apt_components ['main'] Array Sammlung von Komponenten
manala_apt_sources_list_file '/etc/apt/sources.list' String Pfad zur Quellenliste
manala_apt_sources_list_template ~ String Pfad zur Quellenlistenvorlage
manala_apt_sources_list ~ String/Array Quellenliste
manala_apt_repositories_exclusive false Boolean Exklusivität der Repositories
manala_apt_repositories [] Array Repositories
manala_apt_preferences_exclusive false Boolean Exklusivität der Präferenzen
manala_apt_preferences_dir '/etc/apt/preferences.d' String Pfad zum Präferenzverzeichnis
manala_apt_preferences_defaults {} Array Standardpräferenzen
manala_apt_preferences [] Array Präferenzen
manala_apt_holds_exclusive false Array Exklusivität der Holds
manala_apt_holds [] Array Sammlung von Holds
manala_apt_packages [] Array Sammlung von Paketen
manala_apt_cache_valid_time 3600 Integer Erlaubtes Alter des apt-Caches, in Sekunden
manala_apt.update false Boolean Pakete aktualisieren

Beispiel

- 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

Konfigurationen

manala_apt_configs erlaubt es Ihnen, apt-Konfigurationsdateien mithilfe von Vorlagen und Konfigurationen oder rohen Inhalten zu definieren.

Ein Zustand (present|absent|ignore) kann angegeben werden.

manala_apt_configs:
  # Vorlagenbasiert (Dateiname basiert auf der Vorlage)
  - template: configs/check_valid_until_false.j2
  # Vorlagenbasiert (Dateinamen erzwingen)
  - file: check
    template: configs/check_valid_until_false.j2
  # Inhaltsbasiert
  - file: foo_content
    config: |
      APT::Install-Recommends "false";
  # Dictionaries-Array konfigurationsbasiert (veraltet)
  - file: foo
    config:
      - Acquire::Check-Valid-Until: true
  # Sicherstellen, dass die Konfiguration absent ist
  - file: absent
    state: absent # "present" ist standardmäßig
  # Konfiguration ignorieren
  - file: ignore
    state: ignore
  # Konfigurationen abflachen
  - "{{ my_custom_configs_array }}"

manala_apt_configs_exclusive ermöglicht es Ihnen, bestehende apt-Konfigurationsdateien in das durch den Schlüssel manala_apt_configs_dir definierte Verzeichnis zu bereinigen. So wird sichergestellt, dass keine alten oder manuell erstellten Dateien die aktuelle Konfiguration beeinträchtigen.

manala_apt_configs_exclusive: true

Komponenten

Spezifizieren Sie apt-Komponenten

manala_apt_components:
  - main
  - contrib
  - non-free
  # Komponenten abflachen
  - "{{ my_custom_components_array }}"

Quellenliste

Verwendung einer Vorlage:

manala_apt_sources_list_template: my/sources.list.j2
manala_apt_sources_list:
  foo: bar

Verwendung rohen Inhalts:

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

Verwendung eines Dictionaries-Arrays (veraltet):

manala_apt_sources_list:
  - deb: http://deb.debian.org/debian {{ ansible_distribution_release }} main
  - deb http://deb.debian.org/debian {{ ansible_distribution_release }} contrib

Repositories

Kurz und prägnant, musterbasiert

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

Ausführlicher, musterbasiert

manala_apt_repositories:
  - pattern: backports
    state: absent

Ausführlich

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
  # Repository ignorieren
  - source: deb https://example.com foo
    state: ignore
  # Repositories abflachen
  - "{{ my_custom_repositories_array }}"

Exklusivität (alle nicht durch die Rolle definierten Repositories werden gelöscht)

manala_apt_repositories_exclusive: true

Präferenzen

Kurz und prägnant, musterbasiert

Format: [Präferenzmuster]@[Repositorymuster]:[Pin-Priorität]

Beachten Sie, dass referenzierte Repositories automatisch über den Prozess "manala_apt_repositories" als vorhanden behandelt werden.

manala_apt_preferences:
  - git@backports         # "git*" aus dem debian backports Repository, hohe Priorität
  - dotdeb:100            # "*" aus dem dotdeb Repository, niedrige Priorität
  - php@dotdeb            # "php*" aus dem dotdeb Repository, hohe Priorität
  - redis@dotdeb          # "redis*" aus dem dotdeb Repository, hohe Priorität
  - libssl1.0.0@backports # "libssl1.0.0" aus dem debian backports Repository, hohe Priorität 
  # Mustersyntax
  - preference: ansible@ansible
    file: foo

Ausführlich

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
  # Präferenz ignorieren
  - file: foo
    state: ignore
  # Präferenzen abflachen
  - "{{ my_custom_preferences_array }}"

Holds

Verwalten Sie Ihre festgelegten Pakete (die, die Sie nicht aktualisieren möchten) wie folgt:

manala_apt_holds:
  - foo # Sicherstellen, dass das Paket "foo" nicht aktualisiert wird
  - package: bar # Das gleiche für das Paket "bar", unter Verwendung der ausführlichen Syntax
    state: present
  - package: baz # Sicherstellen, dass das Paket "baz" *aktualisiert* wird
    state: absent
  # Hold ignorieren
  - package: qux
    state: ignore
  # Veraltet
  - package: quux
    hold: true # oder false :)
  # Holds abflachen
  - "{{ my_custom_holds_array }}"

Ein Exklusivitätsmodus ist ebenfalls verfügbar, um sicherzustellen, dass alle Pakete außer den gesetzten aktualisierbar sind.

manala_apt_holds_exclusive: true

Pakete

Kurz

manala_apt_packages:
  - vim # Paketname

Ausführlich

manala_apt_packages:
  - package:  bzip2  # Paketname, erforderlich
    state: absent # Zustand des Pakets, optional, standardmäßig "present"
    force: true   # Installation erzwingen, optional
  # Paket ignorieren
  - package: foo
    state: ignore # Zustand des Pakets, optional, standardmäßig 'present'
  # Pakete abflachen
  - "{{ my_custom_packages_array }}"

Flags

Pakete aktualisieren

manala_apt:
  update: true

# Kann auch über Manala-Rollen gesetzt werden
manala:
  update: true

Lizenz

MIT

Autoreninformation

Manala (http://www.manala.io/)

Über das Projekt

Handle apt

Installieren
ansible-galaxy install manala.apt
GitHub Repository
Lizenz
Unknown
Downloads
73k
Besitzer
Manala is an open source project supported by the french web agency ELAO providing advanced ansible roles for website's infrastructures and far more.