Astra Linux — популярная отечественная операционная система на базе ядра Linux, широко используемая в госсекторе, образовании и коммерческих структурах. При работе с принтерами пользователи часто сталкиваются с необходимостью переустановки или полного удаления драйверов — например, при смене модели устройства, конфликтах ПО или переходе на универсальные драйверы CUPS. В отличие от Windows, где удаление драйверов интуитивно понятно, в Astra Linux процесс требует знания консольных команд и особенностей системы.

Эта статья поможет разобраться, как корректно удалить драйвер принтера в Astra Linux (включая версии Common Edition и Special Edition), избежав типичных ошибок. Мы рассмотрим как графические методы через CUPS, так и ручные способы с использованием терминала. Особое внимание уделено случаям, когда принтер"завис" в системе после физического отключения или драйвер конфликтует с обновлениями ОС.

Прежде чем приступать к удалению, убедитесь, что у вас есть права суперпользователя (sudo) — без них большинство команд не сработает. Также рекомендуем создать точку восстановления системы, если вы работаете с производственной машиной: ошибки при манипуляциях с драйверами могут привести к потере функциональности печати для всех пользователей.

📊 Какой метод удаления драйверов вы предпочитаете?
Через графический интерфейс (CUPS)
Через терминал (команды)
Смешанный подход
Не знаю, никогда не удалял

1. Подготовка системы перед удалением драйвера

Удаление драйвера принтера в Astra Linux — это не просто очистка файлов, а комплексное действие, затрагивающее несколько уровней системы. Прежде чем приступать, выполните обязательные подготовительные шаги:

  • 🔍 Определите точное название драйвера. Используйте команду lpstat -v, чтобы увидеть список установленных принтеров и связанных с ними драйверов. Например, вывод может содержать строку device for PrinterName: hp:/usb/DeskJet_3700?serial=CN12345, где hp — производитель, а DeskJet_3700 — модель.
  • 📋 Проверьте зависимости. Некоторые драйверы (например, для HP или Canon) устанавливают дополнительные пакеты вроде hplip или cnijfilter. Их тоже потребуется удалить, иначе останутся"хвосты" в системе.
  • 🔄 Остановите службу печати. Чтобы избежать конфликтов, временно отключите CUPS:
    sudo systemctl stop cups
  • 🖨️ Физически отключите принтер. Если устройство подключено по USB или сети, лучше его отсоединить на время манипуляций.

Если вы удаляете драйвер для сетевого принтера, убедитесь, что его IP-адрес не закреплён в настройках CUPS как"постоянный". В противном случае система может автоматически восстановить подключение при следующем запуске службы.

⚠️ Внимание: Если принтер используется несколькими пользователями через Samba или IPP, его удаление из CUPS сделает устройство недоступным для всей сети. Предупредите коллег заранее!

Определить название драйвера через lpstat -v|

Остановить службу CUPS|

Отключить принтер физически|

Проверить зависимости пакетов|

Создать резервную копию конфигураций (/etc/cups/)|-->

2. Удаление драйвера через веб-интерфейс CUPS

Самый простой способ удалить драйвер принтера в Astra Linux — использовать встроенный веб-интерфейс CUPS. Этот метод подходит для пользователей, не знакомых с командной строкой, но требует предварительной настройки доступа.

Чтобы открыть интерфейс CUPS:

  1. Откройте браузер и перейдите по адресу http://localhost:631.
  2. В разделе Administration (Администрирование) выберите Manage Printers (Управление принтерами).
  3. Найдите в списке принтер, драйвер которого нужно удалить, и нажмите на него.
  4. В выпадающем меню выберите Delete Printer (Удалить принтер).
  5. Подтвердите действие, введя имя пользователя и пароль суперпользователя.

После удаления принтера из списка CUPS автоматически очистит связанные с ним драйверы и очереди печати. Однако этот метод не удаляет пакеты драйверов, установленные через apt или dpkg. Их придётся удалять отдельно (см. следующий раздел).

Если после удаления принтер вновь появляется в списке, проверьте:

  • 🔌 Подключён ли принтер физически (система может автоматически его обнаруживать).
  • 📡 Настроены ли правила udev для автоматического добавления устройств (файлы в /etc/udev/rules.d/).
  • 🔄 Запущена ли служба cups-browsed, которая сканирует сеть на наличие принтеров.
💡

Если веб-интерфейс CUPS недоступен, проверьте, запущена ли служба: sudo systemctl status cups. Если нет — запустите её командой sudo systemctl start cups.

3. Ручное удаление драйверов через терминал

Для полного удаления драйверов принтера в Astra Linux часто требуется работа с командной строкой. Этот метод подходит для опытных пользователей и позволяет очистить систему от всех следов драйвера, включая конфигурационные файлы и зависимости.

Основные команды для удаления:

# 1. Удаление пакетов драйверов (пример для HP)

sudo apt purge hplip hplip-data

2. Удаление принтера из CUPS

sudo lpadmin -x PrinterName

3. Очистка очереди печати

sudo cancel -a -

4. Удаление конфигурационных файлов (опционально)

sudo rm -rf /etc/cups/ppd/PrinterName.ppd

sudo rm -rf /var/spool/cups/tmp/*

Замените PrinterName на фактическое имя вашего принтера (узнать его можно через lpstat -v). Для драйверов других производителей используйте соответствующие названия пакетов:

Производитель Название пакета драйвера Команда удаления
HP hplip, hplip-data sudo apt purge hplip*
Canon cnijfilter*, scangearmp* sudo apt purge cnijfilter*
Epson epson-inkjet-printer-escpr, iscan* sudo apt purge epson*
Brother brother-lpr-drivers*, brscan* sudo apt purge brother*
Универсальные foomatic-db, printer-driver-* sudo apt purge foomatic-db printer-driver-*

После удаления пакетов обязательно очистите кэш и перезапустите службу CUPS:

sudo apt autoremove

sudo systemctl restart cups

⚠️ Внимание: Удаление пакетов вроде foomatic-db может привести к неработоспособности других принтеров в системе, если они используют универсальные драйверы. Перед очисткой проверьте зависимости командой apt-cache rdepends foomatic-db.
Что делать, если пакет не удаляется из-за зависимостей?

Если при удалении драйвера вы видите ошибку вроде E: Unable to correct problems, you have held broken packages, попробуйте:

1. Удалить пакет с флагом --force-all: sudo dpkg --force-all --purge пакет.

2. Исправить зависимости: sudo apt --fix-broken install.

3. В крайнем случае использовать synaptic для ручного разрешения конфликтов.

После этого обязательно выполните sudo apt autoremove и перезагрузите систему.

4. Удаление"зависших" принтеров и очистка очереди печати

Иногда принтер остаётся в системе даже после физического отключения, а в очереди печати висят документы, которые невозможно удалить стандартными методами. Этоная проблема при некорректном удалении драйверов. Вот как её решить:

Способ 1: Очистка очереди через CUPS

  • 🖥️ Откройте веб-интерфейс http://localhost:631.
  • Перейдите в раздел Jobs (Задания).
  • Выделите все задачи и нажмите Cancel Jobs (Отменить задачи).
  • Если задачи не удаляются, используйте команду:
    sudo cancel -a -x

    Флаг -x принудительно сбрасывает все задачи, включая заблокированные.

Способ 2: Ручное удаление файлов очереди

Если очередь зависла на уровне системы, очистите её вручную:

sudo rm -rf /var/spool/cups/*

sudo rm -rf /var/spool/cups/tmp/*

sudo systemctl restart cups

Способ 3: Удаление"призрачных" принтеров

Если принтер отображается в CUPS, но физически отсутствует, выполните:

# Посмотреть список всех принтеров (включая скрытые)

lpstat -v

Удалить принтер по имени

sudo lpadmin -x"Имя_принтера"

Перезапустить службу

sudo systemctl restart cups

Если принтер всё равно появляется после перезагрузки, проверьте правила udev:

ls /etc/udev/rules.d/ | grep -i print

Удалите или отредактируйте файлы, содержащие правила автоматического добавления устройств.

💡

Если принтер"возвращается" после удаления, проблема кроется в автоматическом обнаружении. Отключите службу cups-browsed командой sudo systemctl disable --now cups-browsed.

5. Проверка системы после удаления драйвера

После удаления драйвера важно убедиться, что в системе не осталось следов, которые могут вызвать конфликты при установке нового ПО. Выполните следующие проверки:

  • 🔍 Проверка пакетов: Убедитесь, что все связанные пакеты удалены:
    dpkg -l | grep -i"hp\|canon\|epson\|brother"

    Если вывод пуст — пакеты удалены корректно.

  • 📄 Проверка конфигурационных файлов:
    ls /etc/cups/ppd/

    В этой папке не должно быть файлов с именем удалённого принтера.

  • 🖨️ Проверка списка принтеров:
    lpstat -v

    Удалённый принтер не должен отображаться в выводе.

  • 🔄 Проверка службы CUPS:
    sudo systemctl status cups

    Служба должна быть активна (active (running)) без ошибок.

Если вы планируете установить новый драйвер, перед этим:

  1. Обновите список пакетов:
    sudo apt update
  2. Установите зависимости для печати (если они были удалены):
    sudo apt install cups foomatic-db printer-driver-all
  3. Перезагрузите службу CUPS:
    sudo systemctl restart cups

Если после всех манипуляций принтер всё равно не определяется или возникают ошибки, проверьте логи CUPS:

tail -n 50 /var/log/cups/error_log

Типичные ошибки после некорректного удаления драйверов:

  • Unable to locate printer — принтер не найден в системе.
  • Filter failed — отсутствует фильтр для обработки задач печати.
  • Client-error-not-found — драйвер или PPD-файл отсутствует.

6. Восстановление системы после ошибок

Если в процессе удаления драйвера что-то пошло не так (например, служба CUPS перестала запускаться или все принтеры исчезли из системы), воспользуйтесь инструкциями по восстановлению:

Проблема 1: Служба CUPS не запускается

Ошибка может возникать из-за повреждённых конфигурационных файлов. Восстановите их:

sudo apt --reinstall install cups

sudo systemctl restart cups

Проблема 2: Все принтеры исчезли из списка

Если после удаления одного драйвера пропали все устройства, проверьте целостность базы CUPS:

sudo cupsctl --debug-logging

sudo systemctl restart cups

Затем попробуйте добавить принтер заново через веб-интерфейс http://localhost:631.

Проблема 3: Ошибки зависимостей при установке новых драйверов

Если после удаления старых драйверов новые не устанавливаются из-за конфликтов, очистите кэш и исправьте зависимости:

sudo apt clean

sudo apt update --fix-missing

sudo apt install -f

Проблема 4: Права доступа к /etc/cups

Если при добавлении нового принтера появляется ошибка Forbidden, сбросьте права на папки CUPS:

sudo chown -R root:lpadmin /etc/cups

sudo chmod -R 755 /etc/cups

sudo systemctl restart cups

⚠️ Внимание: Если вы работаете в Astra Linux Special Edition с включёнными политиками безопасности (например, SELinux или AppArmor), после манипуляций с драйверами может потребоваться перезагрузка системы для сброса контекстов безопасности. В противном случае принтер может не определиться даже после корректной установки драйвера.

7. Альтернативные способы управления драйверами

Если стандартные методы не помогли или вы предпочитаете более гибкие инструменты, рассмотрите альтернативные подходы:

  • 🐧 Использование hp-setup для принтеров HP

    Утилита hp-setup (входит в пакет hplip) позволяет не только устанавливать, но и удалять принтеры с очисткой драйверов:

    hp-setup -i

    В графическом интерфейсе утилиты выберите принтер и нажмите Remove.

  • 📦 Удаление через Synaptic

    Если в вашей системе установлен пакетный менеджер synaptic, его графический интерфейс упрощает поиск и удаление связанных с принтером пакетов. Запустите:

    sudo synaptic

    В поисковой строке введите название драйвера (например, hplip) и удалите все найденные пакеты, отметив их для полного удаления (Полное удаление в контекстном меню).

  • 🔧 Ручная правка конфигураций CUPS

    Для опытных пользователей: можно вручную отредактировать файлы конфигурации CUPS, например:

    sudo nano /etc/cups/printers.conf

    Удалите блоки, соответствующие ненужным принтерам, затем перезапустите службу.

  • 🌐 Удаление сетевых принтеров через IPP

    Если принтер подключён по сети и добавлен через IPP, удалите его так:

    sudo ipptool -d /printers/Имя_принтера http://localhost:631/

Для принтеров, использующих проприетарные драйверы (например, некоторые модели Xerox или Kyocera), может потребоваться дополнительная очистка:

# Пример для Xerox

sudo /opt/Xerox/Uninstall

Для Kyocera

sudo /usr/local/Kyocera/uninstall

Путь к деинсталлятору обычно указан в документации к драйверу.

FAQ: Частые вопросы по удалению драйверов принтера в Astra Linux

Можно ли удалить драйвер принтера без прав суперпользователя?

Нет, для удаления драйверов и манипуляций с CUPS требуются права root. Однако обычный пользователь может удалить принтер из своего профиля (не затрагивая системные драйверы) через веб-интерфейс CUPS, если у него есть права на администрирование печати (группа lpadmin). Чтобы добавить пользователя в эту группу, выполните:

sudo usermod -aG lpadmin имя_пользователя
После удаления драйвера принтер всё равно отображается в списке. Что делать?

Это типичная проблема, связанная с кэшированием CUPS или автомаческим обнаружением устройств. Попробуйте:

  1. Остановить службу cups-browsed:
    sudo systemctl stop cups-browsed
  2. Удалить принтер вручную:
    sudo lpadmin -x Имя_принтера
  3. Очистить кэш CUPS:
    sudo rm -rf /var/cache/cups/*
  4. Перезапустить CUPS:
    sudo systemctl restart cups

Если принтер подключён по USB, отключите его физически перед выполнением команд.

Как узнать, какие пакеты драйверов установлены в системе?

Используйте команды для поиска пакетов, связанных с принтерами:

# Поиск по ключевым словам

apt list --installed | grep -i"print\|cups\|hplip\|canon\|epson\|brother"

Просмотр информации о конкретном пакете

apt show hplip

Для более детального анализа зависимостей используйте:

apt-cache rdepends имя_пакета
Можно ли удалить драйвер принтера, не удаляя сам принтер из системы?

Технически да, но это может привести к неработоспособности устройства. Чтобы просто сменить драйвер:

  1. Удалите старый драйвер (пакеты через apt purge).
  2. Обновите информацию о принтере в CUPS:
    sudo lpadmin -p Имя_принтера -m новый_драйвер.ppd
  3. Перезапустите службу:
    sudo systemctl restart cups

Список доступных драйверов можно посмотреть командой:

lpinfo -m
Как полностью сбросить настройки печати в Astra Linux?

Для полного сброса (например, перед передачей компьютера другому пользователю):

  1. Удалите все принтеры:
    sudo lpstat -v | awk'{print $3}' | xargs -I {} sudo lpadmin -x {}
  2. Удалите все пакеты драйверов:
    sudo apt purge hplip* cnijfilter* epson* brother* foomatic-db printer-driver-*
  3. Очистите конфигурационные файлы:
    sudo rm -rf /etc/cups/ppd/*
    

    sudo rm -rf /etc/cups/interfaces/*

    sudo rm -rf /var/spool/cups/*

  4. Переустановите CUPS:
    sudo apt --reinstall install cups
  5. Перезагрузите систему.

После этого система печати будет возвращена к состоянию"по умолчанию".