Для маленькой бухгалтерии.

Всем доброго дня!

Сегодня решил снова написать себе памятную записку, чтобы не рыскать в Интернете в поисках решения того, что уже когда-то делал.
Задача довольно специфичная, обеспечить бесперебойную работу системы бухучета в бюджетной бухгалтерии. Наученный горьким опытом поломки компьютерного железа и невозможности восстановления операционной системы на другой конфигурации, решено было перестраховаться от возможных подобных сбоев в будущем, и наладить все это при помощи виртуальной машины. В случае возникновения аналогичной ситуации достаточно будет перебросить виртуальную машину на другой компьютер и не заморачиваться с настройками и установкой/восстановлением информации, которая накопилась за время работы работников доблестной бухгалтерской службы.

Итак, что мы имеем? А имеем набор бухгалтерских программ написанных для использования в операционной системе Windows, и не просто Windows, а одна из них, основная, по заработной плате, предпочитает использовать ХРюшку. Кстати, как я не пытался запустить ее под Linux, она, зараза, не хотела корректно работать или вообще не хотела работать (Crystal Finance). До сих пор, пока материнская плата на выделенном для этих дел компьютере не "приказала долго жить" (надо отдать должное, проработала 8 лет), на этой машине была установлена лицензионная Windows XP Pro SP1 (естественно SP2 и SP3 были успешно установлены по мере их необходимости), в какой-то момент мне удалось уговорить начальство приобрести официально хотя бы ЭТО. При должном ограничении доступа к компьютеру "всех, кому не лень", удалось поддерживать работу этой ХР-шки те же 8 лет, надо сказать, что это мой личный рекорд в поддержании в работоспособном состоянии Windows XP столь долгий период времени.

И вот настал момент, когда нужно закатать рукава и обеспечить бесперебойную работу столь замечательного отдела, который "выдает" зарплату. Так как я уже давненько (уже 6 лет "не в теме") не занимался именно этим компьютером, а мои подвиги вспомнили и обратились за помощью, я решил обезопасить себя и бухгалтеров путём виртуализации.

На предоставленный компьютер установил свой любимый LinuxMint (почему не серверный вариант Ubuntu, об этом в другой статье), установил VirtualBox с сайта разработчика, из репозиториев не всегда все корректно работает, подцепил Oracle_VM_VirtualBox_Extension_Pack и приступил к установке системы в виртуальную машину. Наверное, нет ничего проще, чем установить Windows XP в VirtualBox и этот процесс описывать не собираюсь. После установки Windows, первое, что мне нужно было сделать - это запустить операционную систему как сервер терминалов. Не люблю повторять то, чего и так полно на просторах "всемирной паутины", по этому, если кому нужно -- ищем и читаем, есть даже статьи, как обойти ограничение в количестве удалённых подключений, которое заложено разработчиками Microsoft (существует легенда, что первая Windows XP, без всяких SP, таких ограничений не имела, а потом уж разработчики спохватились и исправили досадное, для них, упущение).

Собственно, называя сервером машину с набором вышеуказанного ПО будет очень громко, но есть несколько задач, которые нужно решить. Способы решения оных, с моей точки зрения, я сейчас и изложу, а если у кого есть более изящные идеи -- буду очень благодарен за подсказки.

Итак...
1. Автоматический запуск в фоне виртуальной машины с Windows XP, чтобы ненароком какой-нибудь "зевака" по своему незнанию, случайно не влез и "не сломал хижину".
2. Организовать обмен информацией между виртуальной машиной на клиентах и реальной, особенно актуально при использовании USB-накопителей.
3. На рабочих компьютерах с LinuxMint подобрать максимально приемлемый вариант клиента для подключения к Windows-машине.
4. Организация печати документов.

1. Тут особых трудностей не возникло, "погуглив", я нашел необходимую команду:
vboxheadless -s имя-машины
в моем случае команда выглядит так:
vboxheadless -s WinXP-buh
добавил эту команду в автозагрузку и радуюсь результату. После перезагрузки компьютера моя виртуальная машина загружается в фоне, пользователям, которые добавлены в ОС Windows, добавил принадлежность к группе пользователей удаленного рабочего стола. Главное, после перезагрузки "сервера" не спешить и "не ломать копья", не спешите коннектится, виртуальная машина тоже должна загрузиться.

2. Вот тут проблемка посерьёзней будет, не для меня, а для пользователей доблестной бухгалтерской службы, которые, в подавляющем своем большинстве, пользуются ориентируясь только на расположение и внешний вид ярлычка/значка и т.п., не в обиду продвинутым пользователям вышеуказанной службы, просто как подопытные профессора Павлова Ивана Петровича. Кроме того в LinuxMint/Ubuntu иногда всплывает проблема с подключением USB-устройств, решается она просто, нужно добавить пользователя хоста в группу vboxusers и vboxsf, а также проверить в Пользователи и группы - Параметры пользователей - Дополнительные параметры - Привилегии пользователя - Виртуализация VirtualBox, проверить и при необходимости отредактировать файл /etc/group:
sudo gedit /etc/group
ищем vboxusers:x:128:, цифры могут не совпадать, дописываем себя любимого после двоеточия (посмотрите по тексту, кое-где Вы увидите свой логин, и к выше упомянутой строчке по образцу и подобию дописываем...), обязательно выходим из системы, заново перелогинимся или перегружаем компьютер. У меня, на моем ноутбуке, пришлось дописывать, а вот на подопытном образце, при открытии файла все уже было прописано (даже и не знаю, с чем связано такое поведение одной и той же софтины на разных машинах/системах).
Так вот, в принципе, работая за хостом в виртуальной машине подключить USB-устройство не составляет проблем, нужно лишь правильно тыкнуть мышкой куда надо используя меню VirtualBox Устройства (нужно помнить, что при подключении внешнего устройства к виртуальной машине оно будет недоступно на реальной), а как это сделать, если терминальный клиент не имеет доступа (который мы и стремимся ограничить) к машине "хост"? Тут и пришла идея создать в домашнем каталоге папочку, например Share, и сделать её общей с виртуальной машиной, а кроме того, расшарить её для общего доступа с любой машины. Таким образом, для копирования информации с флешки/на флешку нужно выполнить дополнительные движения, сначала скопировать файлы в эту сетевую папку Share, а потом уже работать в виртуалке с ними и наоборот. Если у кого есть более изящные варианты, буду рад услышать предложения.

3. Тут также проблем не возникло, после нескольких попыток остановился на Remmina, все просто и со вкусом. Настроить не составляет труда, всё очень подробно  описано в Интернет и повторяться не буду.

4. Идея проста и реально осуществима, все решается подключением сетевых принтеров, при чем и локальный принтер также использовать как сетевой.

Казалось бы все так просто, но не тут-то было, принтер оказался из пресловутой серии HP 10xx, а именно HP 1018. О сколько было перелопачено информации для того, чтобы его запустить под  Linux Mint 17.3! Ничего не помогало, и драйвера с оффсайта, и разные там поделки, и foo2zjs сюда приплеталось, а помогла информация о том, что после перезагрузки с Windows в Linux с включенным принтером, у людей он начинал работать, как предположили товарищи и подсказывает здравый смысл, в принтерную память что-то записывается, что-то, чего нет в том же Linux Mint. Неоднократно везде упоминался призрачный файл sihp1018.dl, почему призрачный, да потому, что его просто нет в системе, где я его только не искал. В конце-концов намучившись с разного рода экспериментами и испортив систему печати до основания, я решил пойти простым путем...
Переустановил систему начисто, подключил принтер HP 1018, определяется системой он прекрасно но не печатает, отыскал в сети этот самый sihp1018.dl, скачал и закинул в /lib/firmware/hp/ . Даже перегружать систему не пришлось, только я отправил на печать тестовую страницу, как принтер приятно зажужжал и выплюнул тепленькую отпечатанную страничку. Файлик sihp1018.dl положил у себя на Гугл-диске и дал общий доступ, так что кому надо - берите: https://drive.google.com/open?id=0B9JEQ38RO5X2Y1lod21VY21IcVk
Думаю, проблема с подобными принтерами, например HP 1020, должна решиться подобным образом.


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

P.S. и почему в стране никак не введут на гос. уровне использование Linux, насколько все проще и надежнее (пардон, по поводу "проще" - понятие несколько относительное)

Комментариев нет:

Отправить комментарий