Рубрика: Рабочее

Всякое по-мелочи, текущее…

Попытка удаленно достучаться до CUPS на 631 порт, завершается сообщением ЗАПРЕЩЕНО! (Forbidden!). Связано с запретом рулить CUPS удаленно. Решается командой sudo cupsctl —remote-admin

Подключение принтера этикеток TSC TC200 к Linux, для печати по сети. Сперва расстроило отсутствие поддержки данного принтера в последних драйверах с офсайта. В предпоследних его тоже нет. Однако выяснилось, что TC200 базируется на более старом принтере ТТР245с. Вот от него драйвера и надо юзать. Так же важно правильно подключиться к принтеру: socket://printer_ip_address:9100

Про падучий CUPSd

Постоянно падает сервис cups. Ubuntu server 16.04.1. В логах /var/log/cups/error_log пишет что-то типа этого:

[05/Aug/2016:13:33:22 -0700] Saving subscriptions.conf...
[05/Aug/2016:13:33:22 -0700] cupsdSetBusyState: newbusy="Not busy", busy="Dirty files"
[05/Aug/2016:13:33:22 -0700] Expiring subscriptions...
[05/Aug/2016:13:34:22 -0700] Printer sharing is off and there are no jobs pending, will restart on demand.
[05/Aug/2016:13:34:22 -0700] Scheduler shutting down normally.
[05/Aug/2016:13:34:22 -0700] cupsdMarkDirty(----S)
[05/Aug/2016:13:34:22 -0700] cupsdSetBusyState: newbusy="Dirty files", busy="Not busy"
[05/Aug/2016:13:34:22 -0700] Saving subscriptions.conf...
[05/Aug/2016:13:34:22 -0700] cupsdSetBusyState: newbusy="Not busy", busy="Dirty files"
[05/Aug/2016:13:34:22 -0700] Creating keep-alive file "/var/cache/cups/org.cups.cupsd".
[05/Aug/2016:13:34:22 -0700] Saving job.cache...
[05/Aug/2016:13:34:22 -0700] cupsdStopSelect()

Т.е. сервис даже не падает, а вполне себе корректно завершается. Причем похоже, что одновременно с отвалом web сессии.

Копания привели к вот этому обсуждению. Судя по нему, проблема проявляется на последнем стабильном сервере 16.04 и CUPS из родных репозитариев. При этом у CUPS должен быть включен WEB-интерфейс. Решения:

  • обновиться на 16.10
  • отключить web и не ходить туда
  • либо использовать этот исправленный вариант

Мне был удобнее последний вариант. К сожалению прикрутить это дело в виде репозитария не вышло, потому пришлось качать файлы вручную и начинать установку с dpkg -i ./cups_2.1.3-4ubuntu0.1_amd64.deb отвлекаясь на удовлетворение зависимостей и фикся некоторые из них apt-get -f install. По итогу имеем:

root@crm:/var/log/cups# dpkg -l|grep cups
ii cups 2.1.3-4ubuntu0.1 amd64 Common UNIX Printing System(tm) - PPD/driver support, web interface
ii cups-client 2.1.3-4ubuntu0.1 amd64 Common UNIX Printing System(tm) - client programs (SysV)
ii cups-common 2.1.3-4ubuntu0.1 all Common UNIX Printing System(tm) - common files
ii cups-core-drivers 2.1.3-4ubuntu0.1 amd64 Common UNIX Printing System(tm) - PPD-less printing
ii cups-daemon 2.1.3-4ubuntu0.1 amd64 Common UNIX Printing System(tm) - daemon
ii cups-filters 1.8.3-2ubuntu3.1 amd64 OpenPrinting CUPS Filters - Main Package
ii cups-filters-core-drivers 1.8.3-2ubuntu3.1 amd64 OpenPrinting CUPS Filters - PPD-less printing
ii cups-ppdc 2.1.3-4ubuntu0.1 amd64 Common UNIX Printing System(tm) - PPD manipulation utilities
ii cups-server-common 2.1.3-4ubuntu0.1 all Common UNIX Printing System(tm) - server common files
ii libcups2:amd64 2.1.3-4ubuntu0.1 amd64 Common UNIX Printing System(tm) - Core library
ii libcupscgi1:amd64 2.1.3-4ubuntu0.1 amd64 Common UNIX Printing System(tm) - CGI library
ii libcupsfilters1:amd64 1.8.3-2ubuntu3.1 amd64 OpenPrinting CUPS Filters - Shared library
ii libcupsimage2:amd64 2.1.3-4ubuntu0.1 amd64 Common UNIX Printing System(tm) - Raster image library
ii libcupsmime1:amd64 2.1.3-4ubuntu0.1 amd64 Common UNIX Printing System(tm) - MIME library
ii libcupsppdc1:amd64 2.1.3-4ubuntu0.1 amd64 Common UNIX Printing System(tm) - PPD manipulation library

Все необходимые файлы были заменены исправленными версиями 2.1.3-4ubuntu0.1. При таких раскладах падения прекратились.

Кириллица в именах файлов на флешках в rasbian

Столкнулся с надобностью проброса USB накопителей на сервер через xfreerdp. Однако, помимо того, что автоматически флешки монтироваться не хотят, так еще и все кириллические названия выглядят как знаки вопроса (причем на сервере тоже), и, соответственно, нельзя ни в папку зайти ни файл открыть.

Помогло следующее:

    1. Через raspi-config устанавливаем локаль ru_RU.UTF-8
    2. Оно ругнется, что какие-то значения поменять не может, т.к. нет соответствующего файла (locale: Невозможно установить LC_ALL в локаль по умолчанию.: Нет такого файла или каталога), потому будем генерировать локаль принудительно:
      @localhost:/# localedef --no-archive -c -i ru_RU -f UTF-8 ru
      @localhost:/# locale-gen
      @localhost:/# grep ru_RU /usr/share/i18n/SUPPORTED
      @localhost:/# locale-gen ru_RU.UTF-8

      (последние строчки скорее для перестраховки. Думаю без них тоже заработает)
    3. Монтируем (пока вручную!) командой mount -o iocharset=utf8 /dev/sda1 /mnt  (у меня флешка в FAT, возможно для NTFS понадобится явно указать файловую систему)

ps: за решение спасибо iamsan.ru

CUPS на Raspbian

Внедряем потихоньку Raspberry PI 2 в качестве RDP-клиентов. Пришло время подключать рабочие места с принтерами.

При установке CUPS, доступ к web извне закрыт. Как решить. В файле /etc/cups/cupsd.conf делаем следующие исправления:
1. Строчку Listen localhost:631 меняем на 0.0.0.0:631 (или *:631), это позволит принимать соединения не только с локалхоста, но и с остальных устройств в сети
2. Далее добавляем строчку Allow all в следующие места:

 <Location />
  # Allow remote administration...
  Order allow,deny
  Allow all
</Location>
<Location /admin>
  # Allow remote administration...
  Order allow,deny
  Allow all
</Location>
<Location /admin/conf>
  AuthType Default
  Require user @SYSTEM
  # Allow remote access to the configuration files...
  Order allow,deny
  Allow all
</Location>


Это снимет запрет на изменение параметров сервера через web
3. Ну и надо добавить текущего пользователя (кто собирается рулить CUPS через WEB) в группу lpadmin
sudo adduser pi lpadmin

Снова про Zalman VE300

После очередного обновления, стала понятна причина отказа работы некоторых образов. Хотя образы были целыми и монтировались (появлялся соответствующий значок), при попытке обращения к диску выдавалась ошибка. Новая прошивка 1288 вместо монтирования таких образов стала писать DEFRAG. Выяснилось, что в моем случае, файл образа скачивался прямо в папку образов, и, возможно из-за этого, был разделен на over 2000 фрагментов. Такие сильно фрагметированные образы коробка монтировать не хочет о чем и сообщила.

Решение: ну первое, очевидное — провести дефрагментацию диску. Но это долго. Решение нашлось быстро — WinContig. Freeware. Умеет дефрагментировать отдельные папки и файлы. За несколько минут справилась с образом в 2,5 гига по USB2.0

Про антивирусы

Да, всё больше убеждаюсь в том, что платный антивирус — не панацея, и особо сильного преимущества над популярными бесплатными антивирусами не дает. За несколько дней по почте пришли новые штаммы всяких вирусняков которые не определялись. Сразу полез проверять их на virustotal.com. Приведу пока что результаты по одному вирусу. Пришло в архиве, с темой типа «мои фотки» от Джесси. Смотрим: Continue reading «Про антивирусы»

Монтирование образов в формате RAW в виде раздела

Случилась у меня раз необходимость заиметь доступ к файловой системе виртуалки KVM без включения самой гостевой системы. Было бы устройство блочным — не было бы проблем. А тут образ диска был в файле. Повезло, что формат был RAW. На  просторах инета удалось накопать следующий скрипт:

 

#!/bin/sh
# Mount partitions within a disk image file
# 29 Jun 2005: Initial release
# 01 Dec 2005: Handle bootable (DOS) parititons
if [ "$#" -ne "3" ]; then
 echo "Usage: `basename $0` <image_filename> <partition # (1,2,...)> <mount point>" >&2
 exit 1
fi
if ! fdisk -v > /dev/null 2>&1; then
 echo "Can't find the fdisk util. Are you root?" >&2
 exit 1
fi
FILE=$1
PART=$2
DEST=$3
UNITS=`fdisk -lu $FILE 2>/dev/null | grep $FILE$PART | tr -d '*' | tr -s ' ' | cut -f2 -d' '`
OFFSET=`expr 512 '*' $UNITS`
mount -o ro,loop,offset=$OFFSET $FILE $DEST

Юзать типа так:
mymnt /home/virt/image.img 2 /mnt

Где:

mymnt — имя скрипта

image.img — образ диска в формате RAW

2 — номер партиции на диске

/mnt куда монтировать

Хотя более универсальным вариантом является использование libguestfs.

Установка Centos 6/Oracle Linux 6/RHEL 6 и иже с ними…

Памятка по установке RHEL — подобных дистрибутивов: CentOS, Calculate Linux, Oracle Linux. В данном случае — Oracle Linux 6.3

ps: ох и долго же я искал, почему у меня иксы не пробрасываются 🙂

Continue reading «Установка Centos 6/Oracle Linux 6/RHEL 6 и иже с ними…»