Keine Pakete, die mit ** übereinstimmen, sind in Ansible verfügbar

Keine Pakete, die mit ** übereinstimmen, sind in Ansible verfügbar

Ich versuche, eine Liste von Paketen mit Ansible zu installieren, und kann anscheinend nicht verstehen, wo das Problem liegt.

- name: Add PHP 7.2 repo
  apt_repository:
         repo: ppa:ondrej/php
         state: present
  register: ppastable

- name: install php7.2-fpm and all necessary modules
  apt: name={{ item }} state=present
  with_items:
     - php7.2-fpm
     - php7.2-gd
     - php7.2-curl
     - php7.2-mysql
     - php7.2-mcrypt
     - php7.2-mbstring
     - php7.2-xml
  update_cache: true
  when: ppastable is success

Beim Ausführen des Playbooks wird jedoch die folgende Fehlermeldung angezeigt:

failed: [172.31.110.103] (item=[u'php7.2-fpm', u'php7.2-gd', u'php7.2-curl', u'php7.2-mysql', u'php7.2-mcrypt', u'php7.2-mbstring', u'php7.2-xml']) => {"changed": false, "item": ["php7.2-fpm", "php7.2-gd", "php7.2-curl", "php7.2-mysql", "php7.2-mcrypt", "php7.2-mbstring", "php7.2-xml"], "msg": "No package matching 'php7.2-mcrypt' is available"}

Auf dem Server, auf dem ich das teste, können alle Pakete installiert werden. Das ist kein Problem. Irgendwelche Ideen, was los ist? Ich verwende Ansible 2.6.3 auf Ubuntu 16.04 und versuche, die Pakete auch auf einem anderen System mit demselben Betriebssystem zu installieren.

Antwort1

Der Fehler, den Sie erhalten haben, lautet im relevanten Teil:

No package matching 'php7.2-mcrypt' is available

Dies liegt daran, dass diese Funktion in 7.2 aus PHP entfernt wurde, sodass es kein entsprechendes Ubuntu/Debian-Paket mehr gibt.

DerDokumenteZustand:

This feature was DEPRECATED in PHP 7.1.0, and REMOVED in PHP 7.2.0.

Die Funktion ist weiterhin als externes PECL-Paket verfügbar. Aber anders als bei Red Hat/Fedora, das ein Paket für PECL mcrypt für PHP 7.2 hat, haben sich die Paketentwickler von Ubuntu/Debian entschieden, es nicht zu verpacken. Sie können es möglicherweise immer noch manuell von PECL installieren, wenn Sie alten PHP-Code haben, der es benötigt.

verwandte Informationen