From 330a3d99be45d36524b9e73d08c6437d2812a07f Mon Sep 17 00:00:00 2001 From: bnolge Date: Tue, 17 Mar 2026 17:00:10 +0300 Subject: [PATCH] Modify print server role - drivers --- roles/cups_server/tasks/main.yml | 63 ++++++++++++++++++-------------- 1 file changed, 36 insertions(+), 27 deletions(-) diff --git a/roles/cups_server/tasks/main.yml b/roles/cups_server/tasks/main.yml index 5a1c6e0..ebf2174 100644 --- a/roles/cups_server/tasks/main.yml +++ b/roles/cups_server/tasks/main.yml @@ -1,41 +1,34 @@ --- -- name: Установка необходимых пакетов печати +- name: 1. Установка пакетов (включая фильтры и dbus для HP) apt: name: - cups - - hplip + - cups-filters - printer-driver-hpcups + - hplip + - dbus state: present update_cache: yes -- name: Добавление пользователя ladmin в группу администраторов CUPS +- name: 2. Добавление ladmin в группу администраторов CUPS user: name: ladmin groups: lpadmin append: yes -- name: Остановка сервиса CUPS перед обновлением конфига +- name: 3. Обеспечение работы D-Bus (нужен для драйверов HP) service: - name: cups - state: stopped + name: dbus + state: started + enabled: yes -- name: Развертывание конфигурации принтеров из шаблона - template: - src: printers.conf.j2 - dest: /etc/cups/printers.conf - owner: root - group: lp - mode: '0600' +- name: 4. Отключение Colord в cups-files.conf (убирает таймауты) + lineinfile: + path: /etc/cups/cups-files.conf + line: "CreateSelfSignedCerts No" + insertafter: EOF -- name: Копирование PPD файла (настройки дуплекса и драйвера) - copy: - src: HP_P2015d.ppd - dest: /etc/cups/ppd/HP_P2015d.ppd - owner: root - group: root - mode: '0644' - -- name: Развертывание основного конфигурационного файла CUPS +- name: 5. Развертывание основного конфига cupsd.conf template: src: cupsd.conf.j2 dest: /etc/cups/cupsd.conf @@ -44,8 +37,24 @@ mode: '0644' notify: restart_cups -- name: Запуск и включение сервиса CUPS - service: - name: cups - state: started - enabled: yes +- name: 6. Настройка принтера через системную команду lpadmin (перезаписываем всегда) + ansible.builtin.shell: > + lpadmin -p "HP" + -v "socket://192.168.20.249:9100" + -m "drv:///hp/hpcups.drv/hp-laserjet_p2015d_series.ppd" + -D "HP" + -E + become: true + register: printer_setup # Переименовал здесь, чтобы соответствовало вашим планам + changed_when: printer_setup.rc == 0 + +- name: 7. Установка принтера по умолчанию + ansible.builtin.command: "lpadmin -d {{ printer_name | default('HP') }}" + when: printer_setup.changed + become: true + register: default_res + changed_when: default_res.rc == 0 + +- name: 8. Очистка старых зависших заданий (кракозябр) + command: cancel -a + when: printer_setup.changed