[Решено] Не получается добавить сетевой принтер

При добавлении сетевого принтера по SMB с Windows машины на последнем шаге выдает обшибку: “Client-error-not-possible”. На Росе проблем нет. Добавляется и печатает.
В диалоге добавления нового принтера на Росе присутствует пункт: “Принтер Windows через SAMBA”. В МагОС его нет, тем не менее поиском он принтер находит, но добавить не удается. Может быть в МагОС пакета какого-то не хватает. Я сравнивал пакеты, но ни к чему не пришел.

Решилось переустановкой пакета samba-client.
urpmi samba-client --replacepkgs

Судя по всему samba-client входит в список пакетов устанавливаемых с опцией --noscripts во время сборки МагОС.

странно, в пакете samba-client нет скриптов. Ошибка у вас в чистом режиме без доп. модулей?

Да, в самом чистом режиме проверял.

Загрузился из ISO образа MagOS. При добавлении нового принтера пункта “Принтер Windows через SAMBA” нет. Делаю urpmi samba-client --replacepkgs - появляется.
Если post-install скриптов нет в этом пакете, то что интересно может влиять. Может последовательность установки пакетов относящихся к samba?

Можно попробовать переустанавливать пакет с запущенным syschanges, может что-то в папке new появится.

Забавно, но все появляется именно в new.

Нашел. В new дополнительно появляется ссылка usr/lib/cups/backend/smb указывающая на ../../../bin/smbspool. В МагОС этой ссылки нет. Если ее скопировать в МагОС, то все встает на свои места. Может быть ещё что-то новое появляется. Времени не было для глубокого анализа.
rpm -ql samba-client принадлежность этой ссылки пакету не показывает, значит всё-таки какой-то скрипт её создаёт.

1 лайк

Интересно почему все в new, syschanges сломался?

Похоже на то.

Начинает работать нормально даже если переустановить пакет с опцией --noscripts.

может пакет менялся за время после сбоки?

Имел ввиду появляется пункт “Принтер Windows через SAMBA” и принтер добавляется без ошибок. Но вот печатать никак не хочет. На Росе печатает, а в МагОС нет. Делаю все одинаково, но результат разный. В обоих случаях дрова из репозитория.

Все, печатает. Для МагОС нужно было в URI принтера явно прописать рабочую группу. В Росе она по умолчанию WORKGROUP, видимо поэтому без явного указания работает.

1 лайк

Да ты гуру :slight_smile:

Да, но вопрос почему samba-client криво устанавливается во время сборки МагОС остаётся открытым :slight_smile: А пока через ини ссылку создаю и принтер тоже через него добавляю с помощью lpadmin.

Проблема как в октябрьской сборке, так и в ноябрьской. В репозитории версия новее чем в октябрьской, какая в ноябрьской не смотрел. Но при переустановке в октябрьской версии переустанавливается установленная версия, потому что списки пакетов ещё старые и пакет видимо ещё с релиза платформы и присутствует в репах, и это проблему решает. Так что не думаю что с пакетом что-то не так.

Ага с syschanges что-то не то. Проявляется когда файлы одинаковые. Почему то записывает в new. Надо разбираться.

Посмотрел код. Короче проверка идет только в changes, а так как этих файлов не было в changes до переустановки то они все и попадают в new. Можно конечно логику переписать, но это будет ооччеенньь долго работать. Можно просто прогнать new циклом с pfsfind, тоже не быстро, но найдет файлы которых не было в системе до переустановки.

/usr/lib64/cups/backend/smb находится в пакете samba-client, но но не создаётся при сборке т.к. такого пути нет, он должен быть в /usr/lib/cups/backend/smb. При переустановке ссылка создаётся т.к. уже существует ссылка /usr/lib64/cups -> …/lib/cups из пакета cups. При сборке пакеты без скриптов ставятся раньше, чем пакеты со скриптами, отсюда и появляется эта путаница со ссылками.
Менять алгоритм сборки я не хотел бы, т.к. могут возникнуть проблемы со скриптовыми пакетами. Добавлю создание ссылки в скрипты rootfs-patches

1 лайк

В следующей сборке проверим, ссылка должна быть на месте.
Спасибо что сообщили о проблеме и разобрались в ней! :+1: