manala.apt

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

:exclamation: DEPRECJA :exclamation:

To repozytorium i związana z nim rola są przestarzałe na rzecz Manala Ansible Collection

Informacje o jego użyciu znajdziesz w repozytorium kolekcji

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

Rola Ansible: Apt Status budowy

:exclamation: Zgłaszaj problemy i wysyłaj Pull Requesty w głównym repozytorium ról Ansible :exclamation:

Ta rola doda zewnętrzne źródła do menedżera pakietów poprzez:

  • Dodawanie URL źródła jako nowe repozytorium
  • Dodawanie określonego klucza zabezpieczeń
  • Zarządzanie plikami preferencji pakietów (znane jako pinning)
  • Instalowanie pakietów

Jest częścią stosu Ansible Manala, ale może być używana jako samodzielny komponent.

Wymagania

Brak.

Zależności

Brak.

Instalacja

Ansible 2+

Używając CLI ansible galaxy:

ansible-galaxy install manala.apt

Używając pliku wymagań ansible galaxy:

- src: manala.apt

Wykonawcy Roli

Brak

Zmienne Roli

Definicja

Nazwa Domyślna Typ Opis
manala_apt_configs_exclusive false Boolean Ekskluzywność konfiguracji
manala_apt_configs_dir '/etc/apt/apt.conf.d' String Ścieżka do katalogu konfiguracji
manala_apt_configs_defaults {} Array Domyślne ustawienia konfiguracji
manala_apt_configs [] Array Konfiguracje
manala_apt_install_packages ~ Array Pakiety zależne do zainstalowania
manala_apt_install_packages_default ['apt-transport-https', 'openssl', 'ca-certificates'] Array Domyślne pakiety zależne do instalacji
manala_apt_components ['main'] Array Zbiór komponentów
manala_apt_sources_list_file '/etc/apt/sources.list' String Ścieżka do pliku listy źródeł
manala_apt_sources_list_template ~ String Ścieżka do szablonu listy źródeł
manala_apt_sources_list ~ String/Array Lista źródeł
manala_apt_repositories_exclusive false Boolean Ekskluzywność repozytoriów
manala_apt_repositories [] Array Repozytoria
manala_apt_preferences_exclusive false Boolean Ekskluzywność preferencji
manala_apt_preferences_dir '/etc/apt/preferences.d' String Ścieżka do katalogu preferencji
manala_apt_preferences_defaults {} Array Domyślne preferencje
manala_apt_preferences [] Array Preferencje
manala_apt_holds_exclusive false Array Ekskluzywność holdów
manala_apt_holds [] Array Zbiór holdów
manala_apt_packages [] Array Zbiór pakietów
manala_apt_cache_valid_time 3600 Integer Dozwolony czas przechowywania cache, w sekundach
manala_apt.update false Boolean Aktualizuj pakiety

Przykład

- 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

Ustawienia

manala_apt_configs pozwala na definiowanie plików konfiguracyjnych apt za pomocą szablonów i konfiguracji lub surowej treści.

Można podać stan (present|absent|ignore).

manala_apt_configs:
  # Oparte na szablonie (nazwa pliku oparta na szablonie)
  - template: configs/check_valid_until_false.j2
  # Oparte na szablonie (wymuszenie nazwy pliku)
  - file: check
    template: configs/check_valid_until_false.j2
  # Oparte na treści
  - file: foo_content
    config: |
      APT::Install-Recommends "false";
  # Tablica słowników oparta na konfiguracji (przestarzałe)
  - file: foo
    config:
      - Acquire::Check-Valid-Until: true
  # Upewnij się, że konfiguracja jest nieobecna
  - file: absent
    state: absent # "present" domyślnie
  # Ignoruj konfigurację
  - file: ignore
    state: ignore
  # Spłaszczone konfiguracje
  - "{{ my_custom_configs_array }}"

manala_apt_configs_exclusive pozwala na usunięcie istniejących plików konfiguracyjnych apt w katalogu określonym przez klucz manala_apt_configs_dir. Zrobione, aby upewnić się, że żadne stare lub ręcznie utworzone pliki nie zmienią aktualnej konfiguracji.

manala_apt_configs_exclusive: true

Komponenty

Określ komponenty apt

manala_apt_components:
  - main
  - contrib
  - non-free
  # Spłaszcz komponenty
  - "{{ my_custom_components_array }}"

Lista źródeł

Użyj szablonu:

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

Użyj surowej treści:

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

Użyj tablicy słowników (przestarzałe):

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

Repozytoria

Zwięzłe, oparte na wzorcu

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

Szczegółowe, oparte na wzorcu

manala_apt_repositories:
  - pattern: backports
    state: absent

Szczegółowe

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
  # Ignoruj repozytorium
  - source: deb https://example.com foo
    state: ignore
  # Spłaszczone repozytoria
  - "{{ my_custom_repositories_array }}"

Ekskluzywność (wszystkie repozytoria nieokreślone przez rolę zostaną usunięte)

manala_apt_repositories_exclusive: true

Preferencje

Zwięzłe, oparte na wzorcu

Format: [wzorzec preferencji]@[wzorzec repozytorium]:[priorytet pinowania]

Należy zauważyć, że wskazane repozytoria będą automatycznie traktowane jako obecne dzięki procesowi "manala_apt_repositories".

manala_apt_preferences:
  - git@backports         # "git*"" z repozytorium debian backports, wysoki priorytet
  - dotdeb:100            # "*" z repozytorium dotdeb, niski priorytet
  - php@dotdeb            # "php*" z repozytorium dotdeb, wysoki priorytet
  - redis@dotdeb          # "redis*" z repozytorium dotdeb, wysoki priorytet
  - libssl1.0.0@backports # "libssl1.0.0" z repozytorium debian backports, wysoki priorytet
  # Składnia wzoru
  - preference: ansible@ansible
    file: foo

Szczegółowe

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
  # Ignoruj preferencję
  - file: foo
    state: ignore
  # Spłaszczone preferencje
  - "{{ my_custom_preferences_array }}"

Holdy

Zarządzaj swoimi "holdowanymi" pakietami (tymi, które chcesz pominąć w aktualizacji) używając:

manala_apt_holds:
  - foo # Upewnij się, że pakiet "foo" nie zostanie zaktualizowany
  - package: bar # To samo dla pakietu "bar", używając składni szczegółowej
    state: present
  - package: baz # Upewnij się, że pakiet "baz" *zostanie* zaktualizowany
    state: absent
  # Ignoruj hold
  - package: qux
    state: ignore
  # Przestarzałe
  - package: quux
    hold: true # lub false :)
  # Spłaszczone holdy
  - "{{ my_custom_holds_array }}"

Tryb ekskluzywności jest również dostępny, aby upewnić się, że WSZYSTKIE pakiety oprócz tych, które ustawisz, będą podlegały aktualizacji.

manala_apt_holds_exclusive: true

Pakiety

Zwięzłe

manala_apt_packages:
  - vim # Nazwa pakietu

Szczegółowe

manala_apt_packages:
  - package:  bzip2  # Nazwa pakietu, wymagana
    state: absent # Stan pakietu, opcjonalny, domyślnie "present"
    force: true   # Wymuś instalację, opcjonalne
  # Ignoruj pakiet
  - package: foo
    state: ignore # Stan pakietu, opcjonalny, domyślnie 'present'
  # Spłaszczone pakiety
  - "{{ my_custom_packages_array }}"

Flagi

Aktualizuj pakiety

manala_apt:
  update: true

# Można również ustawić w rolach manala
manala:
  update: true

Licencja

MIT

Informacje o autorze

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

O projekcie

Handle apt

Zainstaluj
ansible-galaxy install manala.apt
Licencja
Unknown
Pobrania
73k
Właściciel
Manala is an open source project supported by the french web agency ELAO providing advanced ansible roles for website's infrastructures and far more.