Блог "Дети ОИТа"
/поиск

CUPS. Немного теории

CUPS (Common UNIX Printing System) — это стандартная подсистема печати для Linux и других UNIX-подобных систем. Обычно, CUPS подразумевает использование его "сигнатурных драйверов", одним из которых я

CUPS (Common UNIX Printing System) — это стандартная подсистема печати для Linux и других UNIX-подобных систем.

Обычно, CUPS подразумевает использование его «сигнатурных драйверов», одним из которых является Generic IPP Everywhere. Этот драйвер позволяет проводить печать даже в условиях различных моделей оборудования на одном сервере. Но как обычно имеется одно большое НО...

В нашей инфраструктуре используется схема: клиентский ПК с CUPS → сервер CUPS → принтер. Парк оборудования гетерогенный — от старых HP и Kyocera до современных МФУ с IPP Everywhere.

Главный риск такой архитектуры — двойная обработка драйвером: если на клиенте и сервере установлены PPD-драйверы для одного принтера, документ конвертируется дважды (например, PostScript → PostScript), и принтер получает мусор. Отсюда мы и можем получать бесконечную печать «кракозябр» на выходе.

Решение: разделение ролей

Уровень Задача Конфигурация
Клиент Передача задания без обработки everywhere или raw
Сервер Единственная точка применения драйвера PPD/HPLIP/KPDL по модели

Вывод

Драйвер устанавливается только на сервере. Клиент работает как «тонкий» IPP-клиент. Это устраняет двойную обработку и централизует управление драйверами.

Осталось только придумать как сделать это безболезненно. 22.02.2026 $rolincero