четверг, 6 июня 2013 г.

1C 8.3 на Linux.

Краткий отчет о внедрении 1с 8.3 на предприятии.
Из-за описанных ранее проблем с использованием клиента 8.2 под wine, сразу же после релиза я приступил к тестированию. Несколько дней проверки не выявили каких либо багов, поэтому внедрение платформы последовало незамедлительно.
В целом система полностью работоспособна, но дьявол, как известно, кроется в деталях.
Интерфейс клиента НЕВЕРОЯТНО медлителен! Отрисовка списков видима глазом, практически построчная. Перемещение окон оставляет оставляет серый след на заднем плане. Нажатие кнопок в модальных окнах настолько неторопливо, что иногда можно успеть кликнуть "Да" 3-4 раза, прежде чем окно закроется. Порльзователи работают над одним документом минут по 30.
Из серьезных проблем выявлена только одна - не работает перемещение в списках при наборе первых букв искомого значения. Окно 1С странным образом мигает, как будто бы фокус ввода предается другому, и ничего не происходит.
В результате работать невозможно. Все описанные симптомы проявляются на самых разных компьютерах, от Atlon XP 1.7Ггц и Atom N2600 до Core 2 Quad 2.4 и Core i3 3.0. Использовались дистрибутивы Xubuntu 12.04 (XFCE 4.8) и openSUSE 12.1 (KDE 4.5, 4.10). Версия для Windows работает нормально.
Принято решение вернуться на платформу 8.2.
Скриншоты напоследок:



среда, 29 мая 2013 г.

Потеря кворума в Proxmox

Proxmox - достаточно гибкая система виртуализации. С его помощью можно построить как многонодовые кластеры с High Availability, так и запустить пару виртуалок на отдельном серваке. В моем случае используется 2 сервера с общим хранилищем бекапов на nfs.
Не буду вдаваться в теорию настройки (можно почитать в wiki), упомяну только, что для управления кластером необходим непрерывный доступ к общему хранилищу, даже если оно используется раз в несколько дней. Однако бывают ситуации, когда этот самый доступ неожиданно пропадает. Сетевое оборудование, например, заглючило, или nfs понадобилось перезагрузить.И вот тогда начинаются проблемы. Нет, с виртуалками все нормально - работают, доступны, настраиваются. А вот с бекапом, миграцией, созданием и удалением все не так радужно. Дело в том, что ноды кластера теряют кворум.
При входе в веб интерфейс Proxmox это заметно по состоянию нод:


Та, на которую залогинились, зеленая, вторая - красная.
При попытке выполнить задание получаем результат:


Упс... Что делать?
Пробуем дергать сервисы:
/etc/init.d/cman restart - не помогает
/etc/init.d/rgmanager restart - мимо
/etc/init.d/pve-manager restart - не то
/etc/init.d/pve-cluster restart - 8(
/etc/init.d/pve-daemon restart - все, демоны кончились.

Да что такое! Я ведь помню, что реанимировал кластер в прошлый раз именно таким образом. Собственно, я не помню последовательность перезапуска, поэтому и начал писать заметку на память.
Лезу в историю команд, выявлять закономерность. Ага, в прошлый раз были cman, rgmanager и pve-cluster, а сейчас pve-manager еще затесался. Делаю как раньше - кворум!


Судя по выводу в консоль при выполнении команд, к нашей проблеме имеют отношение только cman и pve-cluster, остальное можно не дергать. Так это или нет - проверю в следующий раз.

среда, 15 мая 2013 г.

Openfire в Elastix

Как выразился коллега с форума elastix.org - facking elastix!
Иногда по необъяснимым причинам перестают работать сервисы, запущенные на этой замечательной системе. Asterisk, там, или, как сегодня - openfire. С зависанием астера пока не разобрался, лечусь ребутом раз в пару месяцев, а вот сервер сообщений победить удалось.
Симптомы следующие: отваливаются клиенты, нет соединения на порт 9090, при этом сервис openfire запущен и его рестарт ничего не дает.
В логах на - пусто, единственное сообщение про avahi. На всякий случай перезагружаем и его - ничего.
В веб-интерфейсе после перезагрузок состояние openfire переходит в service not activated. Гугл предлагает уже проведенные манипуляции с /etc/init.d/openfire.
И тут меня осенило!

ps aux|grep open

daemon    7342  158  2.6 673520 54144 ?        Sl   15:50   0:09 /opt/openfire/jre/bin/java -server -DopenfireHome=/opt/openfire -Dopenfire.lib.dir=/opt/open.jar

/etc/init.d/openfire stop
ps aux|grep open

А картина та же! После остановки сервиса его процесс остается запущенным. Естественно, новый процесс не может подключиться к занятым портам, клиенты и браузер соответственно тоже.
Убить!

kill -9 7342
 /etc/init.d/openfire start
Теперь все в порядке.

понедельник, 6 мая 2013 г.

Миграция между локальными хранилищами в Proxmox.

Обнаружил что я необычайно туп.
Около года занимаюсь администрированием класьера из 2 нод на базе Proxmox. Сначала система была организована с использованием drbd, однако производительность дисковой подсистемы оставляла желать лучшего. Нагруженные виртуальные машины (например сервер 1С, терминальный сервер или сервер баз данных) нельзя было разместить в таком хранилище, а оставшиеся несколько (ldap, DC, мониторинг) имели очень маленький объем, и в случае чего восстанавливались из бэкапа буквально за пару минут. После очередного split brain я заменил HDD в серверах на SAS и переконфигурировал кластер с использованием только локальных хранилищ. Честно говоря, проблем с его обслуживанием стало намного меньше (когда я словил первый split brain прошлым летом, мне даже пришлось пропустить корпоратив на Алтае - автобус с коллегами устал ждать пока я все починю 8( ). Единственным минусом для меня была невозможность миграции межу серверами. Для переноса виртуальной машины я сначала архивировал ее, потом восстанавливал на другой ноде, гасил на первой и включал на второй. Согласитесь, весьма времязатратное мероприятие. Если же все-таки провести миграцию, то виртуальная машина с конфигами переместится на другую ноду, но образ диска останется на первой:



 После этого можно с помощь scp скопировать фай образа, однако это же не комильфо...
Я даже писал на официальном форуме, но ответа не получил.
Но сегодня мои мучения подошли к концу! Когда я бороздил просторы Хабра. то натолкнулся на цикл статей по использованию кластера Proxmox: статья1, статья2. статья3. Потребности у нас с автором разные, соответственно настройки тоже. Однако некоторые рассуждения натолкнули меня на мысль поэкспериментировать.
Итак...
В настройках хранилища Proxmox есть одна любопытная опция "Общедоступно". По примеру доставшегося мне в наследство хранилища на drbd,я всегда ставил там галку. Но подумайте, что она означает? Эта галочка означает, что все сервера в кластере имеют прямой доступ к данному хранилищу, то есть могут туда свободно писать и читать. Ведь для локального хранилища это не так! Убираем галочку:


Миграция тут же проходит успешно:

К сожалению, между хранилищами одной ноды так мигрировать нельзя, но будем надеяться для этого появятся свои инструменты.
Или я опять не догоняю?

среда, 1 мая 2013 г.

openSUSE 12.3, ldap, sssd и crash thunderbird

Сразу после релиза openSUSE 12.3 сделал обновление на рабочем компе. Тут же вылезли косяки - не проходила аутентификация пользователя через ldap сервер, не запускался X при перезагрузке (приходилось стартовать руками) и т.д. Обычно я не использую новые версии ОС, предпочитаю подождать несколько месяцев пка накопится достаточное количество обновлений и исправлений. Вот и в этот раз откатился на 12.2.
Однако на днях прикупил новый SSD и, помня о неудачном обновлении "сюзи", решил поставить на него систему с нуля. Установка, первоначальная настройка - а проблемы все те же. Итак, приступим.
По умолчанию настройка клиента ldap в openSUSE 12.3 произходит с использованием демона sssd. Что это такое и с чем его едят рассказывать не буду, хотя в теории штука весьма "вкусная". Скажу только, что для "сюзи" (пробовал и 12.2 и 12.3) нормально его приготовить у меня не получилось. Технология достаточно новая, нормальная документация есть только у РедХат, howto в Интернете мало, а на русском тем более. Поэтому освоение ее я отложил на потом. Однако работать с ldap надо уже сейчас! Меня уже не испугать настройкой ldap из командной строки (ссылка, ссылка), поэтому сразу же удаляю sssd и устанавливаю pam_ldap и nss_ldap:

zypper rm sssd
zypper in pam_ldap nssd_ldap

После этого редактирую /etc/ldap.conf согласно моим настройкам сервера:

base dc=mydomain,dc=local
uri ldap://mydomain.local

Тут же начинают работать команды id user и getent passwd. Казалось бы можно работать, но не тут-то было - аутентификация по прежнему не работает. Логи малоинформативны, но однозначно говорят, что ldap работает. Что еще может влиять на  логин пользователя? Конечно же pam! Сравнение файлов конфигурации из каталога /etc/pam.d/ на openSUSE 12.1 и 12.3 ничего не дает, там все идентично. В дело вступает google.ru
Я уже не помню что и как искал, но в конце концов наткнулся на ресурс, с которого и следовало начать - openSUSE 12.3: Security Guide Во второй главе Authentication with PAM черным по белому написано как настраивать pam для тех или иных случаев. Меня интересует всего лишь одна команда:


pam-config --add --ldap

Все. После этого система работает также как и 12.2, и 12.1, и 11.4 до нее. Я расслабляюсь и получаю удовольствие от нового KDE 4.10
Но это еще не все. При настройке почты сталкиваюсь с крэшем thunderbird сразу при запуске. Вспоминаю о подобном в Xubuntu 12.04 и проверяю nscd. В openSUSE 12.3 он установлен и работает по умолчанию. В логах пусто. Пробую strace. Я не программист, поэтому ничего не понимаю в выводе, но замечаю перед записью дампа обращение к либам ldap. Выясняю, что действительно крах thunderbird происходит только для пользователя с авторизацией в ldap. В поиске находится масса аналгичных ситуаций для freebsd, ubuntu, fedora и opensuse, но решения с переименованием библиотек, наложением патчей и прочей серьезной правкой системы я стараюсь не применять. В конце концов на каком-то opensuse-форуме встречаю любопытное предложение - nss-pam-ldapd. Ну чтож, проверим:

zypper in nss-pam-ldapd

Установка требует удаления nss_ldap и pam_ldap. Несколько минут чтения документации на новое ПО и правка файла /etc/nslcd.conf

base dc=mydomain,dc=local
uri ldap://mydomain.local

Теперь точно все. Аутентификация в ldap через nss-pam-ldapd и thunderbird работает!

вторник, 23 апреля 2013 г.

Консультант+ в Linux.

При переводе бухгалтерии на Xubuntu 12.04 возникла проблема с Консультантом. Предыдущий админ его и 1С настраивал через подключение к терминальному серверу, но это не наш метод!
Итак, вводная. Имеем честно купленную сетевую верси Консультант+, установленную на терминальном сервере с размещением данных на Samba-шаре. Виндовые клиенты спокойно регистрируются и работают. Для регистрации станций создан ярлык вида \\files\cons\CONS.exe /adm /inet. Запускаем программу с этими ключами, а потом выполняем запуск на клиентской машине (это если кто не в курсе как Консультант работает).
Первым делом решаю пойти по проторенному пути. Подключаюсь с машины под openSUSE 12.1 r samba серверу и с помощью wine запускаю экзешник. Вываливается куча ошибок, регистрация не проходит, ничего не работает. Увы... 8((
Чтож - google, google, google. Странно, но самая свежая найденная информация, которая мне встречается, датирована 2011 годом. Работающего рецепта, кстати, я так и не нашел. Но надо же проверить на практике.
На этот раз использую тестовую машину с рабочим конфигом сотрудников -  Xubuntu 12.04 и wine 1.5.28. Пробую все способы сразу.
Монтирую шару с Консультантом по nfs (можно и по smb, без разницы)

vim /etc/fstab
files:/cons     /mnt/cons       nfs     defaults 0 0
mkdir /mnt/cons
mount -a

Указываем в wine полученный каталог как отдельный диск

Потом я пробовал не указывать отдельный диск - вроде тоже работает.
Открываем в файловом менеджере каталог Консультанта и запускаем его в wine

Тут вываливается ошибка

К сожалению, я не смог найти ресурс, на котором нашел способ ее убрать. Вроде бы это был форум Консультанта, ссылку привести не могу. Чтобы это сообщение не появлялось, нужно выполнять запуск приложения с ключом /yes. Еще где-то видел информацию про ключ /LINUX. Позднее я выяснил, что он используется на машине администратора при регистрации станций (если она тоже на linux), но субъективно с этим ключом программа становится несколько отзывчивей, поэтому я его использую везде. Таким образом строка запуска принимает вид

 wine /mnt/cons/cons.exe /LINUX /yes
или
 wine Y:\\cons.exe /LINUX /yes
если вы диск подключили.

На радостях, что все работает, тут же устанавливаю приложение всей бухгалтерии. Ярлык на подключение к терминалу удаляю. И тут начинается...
При сворачивании окна Консультанта иногда его размер уменьшается до стандартного при использовании кнопки "Восстановить положение окна". При этом содержимое окна остается прежним, то есть видно только верхний угол без элементов управления. Лечится щелчком правой кнопки на заголовке и нажатием "Восстановить", а затем разворачиванием окна.
 
Вторая проблема гораздо серьезней. Консультант в wine не может взаимодействовать с установленным в основной системе офисным пакетом. В результате нет возможности просматривать формы, представленные в .doc и .xls (rtf и прочие открывает вайновский notpade).

Сохранение тоже не работает - файлы просто не создаются. Гугл советует заняться правкой реестра в wine, чтобы сделать ассоциации с бинарниками офиса в /usr, но у меня это не получилось. В конце концов плюнул и установил в wine виндовый libreoffice. Маразм, конечно, но тем не менее все сразу заработало.

Скорость работы libreoffice в wine никакая, поэтому бухгалтерам рекомендовано не использовать функции просмотра форм в Консультанте, а вначале просто сохранить их на рабочий стол, а уже оттуда открыть.

Вот и все. Бухгалтерия работает, а я доволен, что еще одно препятствие в переходе на linux устранено.

вторник, 19 марта 2013 г.

Xubuntu 12.04. Ligtdm и список пользователей при входе.

Все-таки приходится внедрять xubuntu 12.04 на предприятии, несмотря на мое нежелание.
Просто неожиданно много оказалось старых компов, на которых любимая opensuse даже с XFCE работать категорически не желает.
Сегодня разобрался с одной проблемкой. В отличии от "сюзи", в "ксубунте" по умолчанию не отображается список пользователей ldap на экране входа. Раньше уже сталкивался с подобными проблемами (то список не отображается, то отображается ВЕСЬ), но обычно все решалось само собой, то ли обновлением, то ли парой перезагрузок. Однако на этот раз пришлось попотеть. Сначала я не придал значения такой мелочи, тем более сходу проблему решить не удалось. Несколько человек просто дополнительно набирают логин перед паролем и все хорошо. Однако сегодня вместо обычного разворачивания из образ решил настроить систему с нуля. Неожиданно заметил, что последний залогиненный пользователь сохранился в списке доступных! Начал вспоминать. Раньше я сначала настраивал систему, потом обновлял, а сегодня наоборот. И, что гораздо значительнее, при произведенном входе пользователя обновлял настройки соединения с сервером ldap:

root# /etc/init.d/nscd restart
root# pam-auth-update
root# auth-client-config -t nss -p lac_ldap

После этого пользователь навсегда оставался на экране входа.
Но, как говорится, дурная голова ногам покоя не дает. Как теперь удалить лишних пользователей? Курение гугла подсказывает пару вариантов. Во-первых, файл /etc/lightdm/users.conf  в котором можно указать, каких пользователей скрывать. Эксперимент показал, что для ldap это не работает. Во-вторых, очистка содержимого /var/cache/lightdm , где хранится кэщ логинившихся пользователей.Также не работает. Опция greeter-hide-users в файле /etc/lightdm/lightdm.conf отключает список полностью.

Увы, решение мной так и не было найдено. Кто-нибудь подскажет?

суббота, 2 марта 2013 г.

WP8 - must die?

На днях занесли из соседнего кабинета свежекупленную Lumia на Windows Phone. Попросили настроить Skype. Я минут 10 втыкал, не мог никак разобраться с интерфейсом. Так как как раз запарка по работе был, вернул телефон владельцу - потом приходи, ага. Через мои руки прошли десятки андроидофонов и огрызков, а также куча китайцев с закосом под Эппл, никогда таких проблем не было - сходу въезжал в интерфейс. Я вот понять не могу, для чего люди покупают телефон, которым пользоваться не могут? Неужели есть такие, кому WP8 удобна?

среда, 27 февраля 2013 г.

X11vnc - аналог Radmin для linux.

Когда работаешь в техподдежрке в компании со штатом более ста человек, очень быстро отвыкаешь от индивидуального подхода (в прямом смысле 8)) к каждому пользователю. Основными рабочими инструментами становятся Radmin, vnc и службы удаленного рабочего стола windows.
Именно после такой работы я начал плотно заниматься переводом пользователей на linux, и первым делом встал вопрос о системах удаленного управления рабочим столом в этой операционной системе.
Я не буду рассказывать о том, каким тернистым путем я шел, ведя борьбу с различными программами на счет автозапуска, подключения к текущей сессии пользователя и тд и тп.
Расскажу только о конечном результате.
Сейчас я использую x11vnc. Основным дистрибутивом является openSUSE 12.1. Сначала устанавливаем сервер:

zypper in x11vnc

После установки можно настроить сервер из графической оболочки, но мне это сделать не удалось.


Поиски в гугле и чтение манов дали ответ:

x11vnc -display :0 -shared -forever -auth guess&

Так выглядит строка запуска сервера vnc для того, чтобы подключаться  к запущенному графическому серверу. Особо отмечу параметры запуска : -auth guess разрешает подключение без какой-либо аутентификации, то есть не требуется ни подтверждение пользователя, ни указание пароля, любой может получить полный доступ к сессии пользователя просто обратившись к компьютеру по IP адресу или имени используя vnc.
В моей компании подобная ситуация допустима и искать более подходящие параметры я не стал. Добавил команду в автозагрузку создав скрипт /etc/init.d/x11vnc

 #!/bin/bash
x11vnc -display :0 -shared -forever -auth guess&


сделал его исполняемым (chmod +x /etc/init.d/x11vnc) и добавив в запуск на 5 уровне исполнения (ln -s /etc/init.d/x11vnc /etc/init.d/rc5.d/S12x11vnc).
Все прекрасно работает, казалось бы можно просто работать, но...
В наличии имеется довольно много старых компьютеров, которые openSUSE с KDE просто не вывезут. На них я обычно устанавливаю XFCE, хотя в последнее время стал склоняться к использованию Xubuntu 12.04. С XFCE используется диспетчер lightwm.
Так вот, при выполнении указанной выше команды получаем следующую картину:

27/02/2013 17:38:53 x11vnc version: 0.9.12 lastmod: 2010-09-09  pid: 2149
xauth:  file /root/.Xauthority does not exist
/tmp/fd.0RDwcb: 305: [: -a: unexpected operator
/tmp/fd.0RDwcb: 305: [: -a: unexpected operator
27/02/2013 17:38:53 -auth guess: failed for display=':0'
27/02/2013 17:38:53 -auth guess: since we are root, retrying with FD_XDM=1
/tmp/fd.7U6gp4: 305: [: -a: unexpected operator
/tmp/fd.7U6gp4: 305: [: -a: unexpected operator
27/02/2013 17:38:54 -auth guess: failed for display=':0'


Вывод ошибок и Гугл многое говорят о возможности исправления ошибок, но я выбрал наиболее простой, как мне кажется, способ.

x11vnc -storepasswd /home/.vncpasswd
Enter VNC password:


Создаем файл с шифрованным паролем для доступа. Затем меняем наш скрипт /etc/init.d/x11vnc:

#!/bin/bash
x11vnc -dontdisconnect -display :0 -auth /var/run/lightdm/root/:0 -notruecolor -noxfixes -shared -forever -rfbport 5900 -bg -o /var/log/x11vnc.log -rfbauth /home/.vncpasswd


Дальше добавляем его в автозапуск как описано выше. Параметр -rfbauth /home/.vncpasswd указывает серверу x11vnc использовать созданный ранее файл с паролем. Указание запущенного экземпляра дисплейного менеджера -auth /var/run/lightdm/root/:0 необходимо, без него сервер x11vnc в XFCE просто не стартует. Остальные опции желательны, так как при работе без их указания наблюдаются многочисленные проблемы - не срабатывает запуск, сервер отваливается после отключения клиента, и др.
Все действия описаны для openSUSE, отличие от Xubuntu только в добавлении скрипта в автозагрузку. Там это делается командой update-rc.d x11vnc defaults 99 после создания файла x11vnc в директории /etc/init.d/.
После всех процедур получаем компьютер, к которому в любой момент можно подключиться по vnc и оказать помощь пользователю.



пятница, 22 февраля 2013 г.

1C под Linux.

Сегодня тестировал клиент 1С 8.3.2.172 для Linux. При установке в openSUSE 12.2 при помощи  zypper вываливается ошибка:

zypper in *.rpm
2 проблемы:
Проблема: ничто не предоставляет core83.so, необходимый для 1C_Enterprise83-client-8.3.2-172.i386
Проблема: ничто не предоставляет core83.so, необходимый для 1C_Enterprise83-client-8.3.2-172.i386


Используя rpm видим более подробную информацию:

rpm -ivh *.rpm
ошибка: Неудовлетворенные зависимости:
        1C_Enterprise83-common = 8.3.2-172 нужен для 1C_Enterprise83-client-8.3.2-172.i386
        1C_Enterprise83-server = 8.3.2-172 нужен для 1C_Enterprise83-client-8.3.2-172.i386
        core83.so нужен для 1C_Enterprise83-client-8.3.2-172.i386
        libicudata.so.46 нужен для 1C_Enterprise83-client-8.3.2-172.i386
        libicui18n.so.46 нужен для 1C_Enterprise83-client-8.3.2-172.i386
        libicuuc.so.46 нужен для 1C_Enterprise83-client-8.3.2-172.i386
        stl83.so нужен для 1C_Enterprise83-client-8.3.2-172.i386


Ясно, что нужно вместе с клиентом ставить сервер. Еще версия icu отличается от нужной для 1С.
Пока скачиваются установочные файлы сервера пробую запустить под wine используемую в компании 8.2.16.363. Результат радует:
























Без каких либо ошибок программа устанавливается, настраивается подключение к базе (сервер 1с работает на centos 5.8, сервер баз данных - Postgreql 9.1.2) и работает.
Пока настроил работу под wine одному бухгалтеру, пусть потестирует.
Ставлю сервер 1с 8.3 вместе с клиентом, установка завершается без ошибок.
Запускаю клиента:
  
/opt/1C/v8.3/i386/1cv8
Error with load - libWand.so: невозможно открыть разделяемый объектный файл: Нет такого файла или каталога
Error with load - libfreetype.so: невозможно открыть разделяемый объектный файл: Нет такого файла или каталога
Ошибка сегментирования


Гугл выдает массу вопросов по данным ошибкам. Судя по всему проблема с библиотеками ImageMagic и ttf2pt1. Видимо версии, нужные для 1с и установленные у меня не совпадают. Калечить рабочую систему никакого желания нет, да и день сегодня короткий перед праздником. Всех поздравляю!

Rdesktop и проброс принтеров.

Сегодня менял рабочую станцию очередному пользователю. Как обычно установил opensuse 12.1 pxe-загрузкой по сети, настроил клиента ldap и отнес в нужный кабинет. После того как сотрудник залогинился, пришло время пользовательских настроек. Аська, почта, чат, туда-сюда. Подключил сетевой принтер через веб интерфейс cups. При установке указал имя HP_LaserJet_P2015. Начал настраивать подключение к серверу терминалов с помощью rdesktop. Создал ярлык с указанием строки запуска rdesktop -u login -p pass -d domen -s "C:\\Program Files\\1cv82\\common\\1cestart.exe" -g 1436x840 -k ru -r printer:HP_LaserJet_2015="HP LaserJet P2015 Series PS" termВсе отлично, 1с запустилась, принтер проброшен, ОК.
И тут -ах!- не печатает с сервера. Как так? Все процедуры уже проделывал десяток раз, на соседнем столе точно такой же комп стоит, печатает. Полез перенастраивать принтер. Драйвера pcl5, pcl6, cups, lj. Удаление всех пакетов драйверов, кроме hplip. Обновление hplip. На все движения - ноль эмоций. Уже 4 часа с компом вожусь, другая работа колом встала!
Наконец заметил: в имени принтера пропущена одна буква "Р". Исправляю и чудо происходит. Рабочая строка запуска rdesktop -u login -p pass -d domen -s "C:\\Program Files\\1cv82\\common\\1cestart.exe" -g 1436x840 -k ru -r printer:HP_LaserJet_P2015="HP LaserJet P2015 Series PS" term

Мораль: здоровый полноценный сон - залог хорошей работы 8) Просто за последние трое суток спал 5, 4 и 6 часов соответственно.
P.S.: Типовые операции лучше автоматизировать. Хотя бы на уровне копирования ярлыков, а не создавания каждый раз с нуля. И имена принтерам на пользовательских машинах давать одинаковые. Например, printer. Но все равно драйверы будут отличаться, и их нужно будет вручную указывать.
P.P.S: Почему не работает печать с HP Universal Printing?

понедельник, 18 февраля 2013 г.

Корпоративный чат на openfire.

На новом месте работы использовалась специализированная программа для общения между сотрудниками - чат Commfort. Элементарные настройки, работа под wine, удобное администрирование и интерфейс клиента. Все хорошо, но нужна лицензия на сервер, цена вопроса - 24000р. Не много конечно, но учитывая скрип, с которым начальство дает денег - увы и ах. Гугл по запросу "корпоративный чат linux" выдал практически единственное решение - jabber-сервер Openfire. Берем, тем более что у меня используется в качестве АТС платформа Elastix, в которую openfire уже всторен.
Собственно, сама настройка openfire довольно тривиальна, да к тому же разжевана десятки раз :
http://alphone.ru/doc/im/openfire-in-elastix/
http://adminsk.ru/Administratoru/Lokaljnyi-IM-server-OpenFire.html
http://sgww.livejournal.com/9763.html
http://doc.3dn.ru/publ/15-1-0-27

Остановлюсь на основных для меня моментах.
1. Имя сервера (оно же - имя jabber-домена).
Рекомендую сразу же ставить то, которое потом будет прописываться на клиентах. Хотя в статьях упоминается возможность изменения имени впоследствии, у меня любое его редактирование приводило не только к невозможности подключения клиентов, но и к недоступности веб-интерфеса (кажется администраторские права привязываются к домену и после его изменения пользователи старого не могут подключиться к новому). Разбираться не стал, перенастраивать было лень, поэтому просто вернул старое имя сервера редактированием конфигурационных файлов.
2. Настройка общего чата или комнаты(конференции), как это называется в openfire.
Совместные чаты здесь реализованы на манер irc каналов. Долгое время не мог разобраться с совместным доступом к комнате по умолчанию - то повторная авторизация требуется, то клиент с правами гостя заходит и еще всякое разное. А мне нужно чтобы у клиента при входе в программу автоматически окно конференции открывалось, а собственно сам джаббер пока им постольку-поскольку (привыкли к старому чату). В итоге заработало с такими настройками:

 
Но и это еще не все. Не знаю почему, но у меня общий чат нормально заработал только после дублирования этих настроек следующим способом.
Переходим по ссылке Групповой чат - Комната администратора (настраивал в русском интерфейсе, поэтому немного корявые названия, к тому же некоторые объекты  имеют два и более названия). В списке выбираем нужную комнату:

 Далее переходим по ссылке в названии комнаты для ее редактирования:
Здесь дублируются свойства комнаты. У меня выставлено так:

3. База пользователей в ldap
У меня все учетные записи пользователей хранятся на сервере ldap под управлением opensuse 12.2. Вести отдельную базу для чата не вижу смысла, да и неудобно это, хлопотно. Идем Сервер - Настройки сервера - Настройки профиля и указываем там данные сервера ldap.





Далее идем Пользовтели/Группы - Группы и выбираем там группу ldap, членами которой являются все пользователи jabber (можно создать на сервере ldap специальную, но мне было лень):



Дальше выставляем настройки таким образом, чтобы все пользователи данной группы отображались в контакт-листе jabber-клиента:

4. Настройки клиента.
Так как я заядлый "кедераст" в качестве клиента выбрал psi В качестве логина и пароля вводим данные пользователя ldap, в домене указываем имя сервера, прописанное в openfire:
Получаем общий контакт лист:


Для автоматического подключения общего чата нужно правой кнопкой щелкнутьна названии нашего сервера в родстере и выбрать  Управление - Закладки и добавить там данные нашей комнаты:
С указанными на сервере настройками (см. выше) в комнату может входить любой авторизованный на сервере пользователь. При этом в поле Ник вовсе не обязательно указывать логин пользователя, гораздо удобнее написать там реальное имя. Также можно указать опцию Автологин. Она нужна для автоматического входа в конференцию при запуске программы:
Вот и все. Чат работает.



пятница, 15 февраля 2013 г.

Ubuntu в офисе

Планомерно перевожу рабочие станции пользователей на linux. В большинстве своем используется openSUSE 12.1 (еще старый админ начинал на нее и 11.4 переводить, да и я сам дома 3 года "сюзю" использовал), есть несколько 11.4, 12.2 и ubuntu.
Устав биться с некоторыми проблемами (SSSD, тормоза на старых машинах, уходящие при повторных инсталяциях, и тд, и тп) решил попробовать ubuntu. Так как предстоит работа с ну ооочень древними машинами - xubuntu 12.04.
Итак, начнем.
Первое разочарование - инсталятор по умолчанию не поддерживает lvm:


Дальше - неплохо. Установка длится менее получаса (прим. 20 мин, точно не засекал):


Симпатично, шустренько, все работает!
Идем дальше. Странно отсутствует привычный офисный софт (в opensuse он ставится при любой стандартной установке). Ставим самостоятельно apt-get install libreoffice.
Приятно удивляет количество софта в стандартных репах - куча разных vnc, rdp, раньше приходилось подключать дополнительные репозитории. Устанавливаю xrdp и - о, чудо! - он работает без каких-либо дополнительных телодвижений! Подключаюсь и с винды и с рабочей opensuse 12.2 - все нормально (проблемы с пробросом принтеров и тд - не считаются, они у xrdp в принципе не решены нигде).
С vnc загвоздка - не могу найти в графическом окружении никаких настроек. Приходится использовать привычный x11vnc. Также как в opensuse с XFCE не заводится простым запуском, колдую с созданием файла пароля и скриптом автозапуска - работает.
Подключение к серверу ldap. Читаю мануалы - становится грустно.
В opensuse давным-давно и сервер и клиент настраиваются в графическом окружении YAST.
http://doc.opensuse.org/documentation/html/openSUSE/opensuse-security/cha.security.ldap.html#sec.security.ldap.yast

http://ru.opensuse.org/SDB:Samba_%D0%B8_LDAP_%D0%BD%D0%B0_openSUSE_11.1_%D0%91%D1%8B%D1%81%D1%82%D1%80%D1%8B%D0%B9_%D1%81%D1%82%D0%B0%D1%80%D1%82

Yast можно запустить в консоли.

В Ubuntu же нам придется повозиться.
https://help.ubuntu.com/community/LDAPClientAuthentication
http://sudouser.com/kak-ustanovit-ldap-server-i-ego-klientov-ldap-linux-debian-ubuntu-auth.html

Все настройки выполняются в консольном режиме, выполнением команд и редактированием конфигурационных файлов. Так как сервер мне устанавливать не нужно, все довольно тривиально, но есть один момент, который потрепал мне нервы.
Автоконфигурация пакета ldap-auth-client, которая происходит при установке, вносит данные ldap сервера в файл /etc/ldap.conf в формате:

base dc=mydomain,dc=local
uri ldapi:///mydomain.local

Тонкость заключается в том, что при настройке сервера по умолчанию (без шифрования, простой ldap) подключение клиентов с такими параметрами не возможно. Пришлось руками менять протокол( ldapi: на ldap:). Но и это не помогло! Оказывается в адресе сервера ldap должно быть два слэша, а не три! Спасибо ребятам с ЛОРа http://www.linux.org.ru/forum/admin/8493410
С этими настройками все заработало.

base dc=mydomain,dc=local
uri ldap://mydomain.local

Чтож, Xubuntu 12.04 оставила о себе довольно приятные впечатления, однако из-за мелкой возни в консоли по различным поводам от принятия ее в качестве основного дистрибутива для установки в офисе я пока воздержусь. Opensuse наше все! Тем более RC1 новой версии 12.3 хоть и огорчает отсутствием samba 4 и Libreoffice 4, но радует увеличением производительности и отзывчивости (ЧИСТО СУБЪЕКТИВНОЕ МНЕНИЕ! ТЕСТОВ НЕ ПРОВОДИЛ!). Пока огорчает неработоспособность клиента тестовой версии 1с 8.3 под Linux на openSUSE (на Ubuntu работает ), но будем надеяться что к моменту выхода не ознакомительных версий это исправят. В противном случае Xubuntu 12.04 - первый кандидат для перехода.

Буду или не буду?

Давно подумывал создать блог. Останавливала мысль о собственной лени - неужели мне не будет "влом" туда писать? Однако в жизни происходит все больше интересных событий, которые хотелось бы полнее осмыслить и запомнить, а также поделиться ими с людьми.
Будем пробовать!