Клиента ИнГео можно запустить под Wine, однако следует иметь ввиду, что нормально в Wine работают только версии ИнГео начиная с 4.4. Поэтому стоит сразу скачать подходящую версию на официальном сайте, на странице по ссылке: http://www.integro.ru/dl/ingeo/ingeo44/
После установки wine нужно запустить его настройку по команде winecfg и перейти на вкладку "Библиотеки":
Необходимо добавить замещения для библиотек, изображённых на скриншоте, указав, что должны использоваться сторонние библиотеки:
activeds
dbmsrpcn
odbc32
odbccp32
odbcint
sqlsrv32
sqlsrv32.rll
sqlunirl
Теперь можно установить MDAC (берётся на сайте MS, прямая ссылка: http://download.microsoft.com/download/2/e/d/2ed44410-0644-4021-8001-a2496f2889eb/MDAC_TYP.EXE)
Если MDAC не захочет устанавливаться, то в wine нужно выставить версию "Windows 95", установить MDAC и снова вернуть версию "Windows XP":
Осталось выполнить настройку самого клиента ИнГео (мой сервер ИнГео использует СУБД MS SQL Server, поэтому дополнительной настройки ODBC-драйвера не требуется):
В итоге получаем работающую систему:
воскресенье, 27 октября 2013 г.
воскресенье, 13 октября 2013 г.
Перевод работающей системы Debian на RAID 1
Задача
Есть система, установленная на один диск. В систему установлен пустой диск такого же размера. Необходимо настроить зеркалирование разделов диска при помощи подсистемы md. В моём случае разбивка диска была следующей: /dev/sda2 - раздел подкачки, /dev/sda3 - корневой раздел, /dev/sda4 - раздел /home/.
1. Клонирование имеющейся системы на деградированный RAID 1
Для начала, скопируем на новый диск таблицу разделов с имеющегося:
Теперь нужно разметить разделы дисков (раздел для подкачки объединять в RAID 1 я не стану, а буду использовать его как дополнение к первому):
2. Добавление исходного диска во вновь созданный RAID 1
Если система загрузилась, осталось только изменить типы разделов на старом диске и включить его разделы массивы RAID 1:
Теперь переустановим GRUB на первом диске, чтобы в случае отказа второго, систему можно было загрузить с первого диска:
Использованные материалы:
1. Перенос работающей системы на программный RAID 1
2. Установка raid1 на работающую систему Debian Squeeze - осторожно, сиське :)
Есть система, установленная на один диск. В систему установлен пустой диск такого же размера. Необходимо настроить зеркалирование разделов диска при помощи подсистемы md. В моём случае разбивка диска была следующей: /dev/sda2 - раздел подкачки, /dev/sda3 - корневой раздел, /dev/sda4 - раздел /home/.
1. Клонирование имеющейся системы на деградированный RAID 1
Для начала, скопируем на новый диск таблицу разделов с имеющегося:
# sfdisk -d /dev/sda | sfdisk /dev/sdbТеперь выставим у каждого раздела, который будет зеркалироваться тип Linux raid autodetect (в моём случае это разделы 3 и 4) и запишем изменения на диск:
# fdisk /dev/sdb Command (m for help): t Partition number (2-4): 3 Hex code (type L to list codes): fd Command (m for help): t Partition number (2-4): 4 Hex code (type L to list codes): fd Command (m for help): wНа новом диске создадим деградированные разделы RAID 1, то есть разделы, в которых зеркальная пара отсутствует:
# mdadm --create /dev/md3 -l1 -n2 missing /dev/sdb3 # mdadm --create /dev/md4 -l1 -n2 missing /dev/sdb4Можно заглянуть в файл /proc/mdstat, чтобы увидеть, что разделы RAID 1 созданы и в них отсутствует зеркальная пара.
Теперь нужно разметить разделы дисков (раздел для подкачки объединять в RAID 1 я не стану, а буду использовать его как дополнение к первому):
# mkswap /dev/sdb2 # mkfs.ext4 /dev/md3 # mkfs.ext4 /dev/md4Теперь создадим точки монтирования для разделов и смонтируем их:
# mkdir /mnt/root # mkdir /mnt/home # mount /dev/md3 /mnt/root # mount /dev/md4 /mnt/homeТеперь нужно скопировать содержимое разделов с работающей системы. Для этого я воспользуюсь rsync, запущенным от пользователя root, что позволит скопировать права доступа и владельцев всех файлов и каталогов:
# rsync -avvx --delete / /mnt/root/ # rsync -avvx --delete /home/ /mnt/home/Теперь отредактируем файл /etc/fstab на копии корневого раздела. Для этого сначала узнаем идентификаторы раздела подкачки, корневого раздела и домашнего раздела, а затем пропишем их в файл /mnt/root/etc/fstab:
# blkid /dev/sdb2 # blkid /dev/md3 # blkid /dev/md4 # vi /mnt/root/etc/fstabОбновим таблицу разделов md на новом диске:
# mdadm --detail --scan > /mnt/root/etc/mdadm/mdadm.confТеперь пришло время установить на новый диск GRUB и обновить загрузочный образ initrd, чтобы в нём были модули ядра, необходимые для работы с разделами RAID. Для этого сначала смонтируем в новый корневой раздел необходимые виртуальные файловые системы:
# mount --bind /dev /mnt/root/dev # mount --bind /sys /mnt/root/sys # mount --bind /proc /mnt/root/procСделаем корнем корневую файловую систему нового диска:
# chroot /mnt/rootСмотрим идентификаторы дисков:
# ls /dev/disk/by-id/Прописываем идентификатор нового диска в файл /boot/grub/device.map:
# vim /boot/grub/device.mapИ устанавливаем GRUB (обратите внимание на то, что загрузочный сектор записывается на сам новый диск, а установка осуществляется в корневой раздел RAID 1):
# grub-install /dev/sdb # update-grubОбновим загрузочный образ initrd. Для этого сначала в файл /etc/initramfs-tools/modules дописываем модуль raid1, а затем обновляем загрузочные образы:
# vi /etc/initramfs-tools/modules # update-initramfs -u -k allТеперь можно попробовать перезагрузить систему, выбрав в BIOS загрузку со нового диска, на котором размечены разделы RAID 1.
2. Добавление исходного диска во вновь созданный RAID 1
Если система загрузилась, осталось только изменить типы разделов на старом диске и включить его разделы массивы RAID 1:
# fdisk /dev/sda Command (m for help): t Partition number (2-4): 3 Hex code (type L to list codes): fd Command (m for help): t Partition number (2-4): 4 Hex code (type L to list codes): fd Command (m for help): w # mdadm --add /dev/md3 -a /dev/sda3 # mdadm --add /dev/md4 -a /dev/sda4В файле /proc/mdstat можно наблюдать за процессом синхронизации разделов-половинок RAID 1.
Теперь переустановим GRUB на первом диске, чтобы в случае отказа второго, систему можно было загрузить с первого диска:
# grub-install /dev/sdaНе забудьте проверить, что с первого диска тоже можно загрузить систему, перезагрузив её снова и выбрав в BIOS загрузку с первого диска.
Использованные материалы:
1. Перенос работающей системы на программный RAID 1
2. Установка raid1 на работающую систему Debian Squeeze - осторожно, сиське :)
воскресенье, 6 октября 2013 г.
Создание deb-пакетов для модулей Python
Во одной из своих прошлых заметок, Шаблоны HTML::Template в Perl-фреймворке Dancer, я упомянул о том, как можно установить в систему Perl-модуль, которого нет в репозиториях, не засоряя систему. Команда dh-make-perl позволяет скачать произвольный Perl-модуль с CPAN и упаковать его в deb-пакет.
Теперь у меня возникло аналогичное желание для Python-модуля. В репозитории Debian нет модуля grab. Я не хотел прибегать к помощи python-virtualenv (подобный же инструмент существует и для Perl - пакет perlbrew в Debian и модуль App::perlbrew на CPAN), а захотел собрать deb-пакет для установки в систему.
Как оказалось, такой инструмент существует (хоть он и менее удобен по сравнению с dh-make-perl) и называется он stdeb. Он уже имеется в репозитории Debian, поэтому задача Мюнхгаузена - вытянуть себя за собственные шнурки - перед нами не стоит. Ставим пакеты stdeb и python-all:
Распакуем скачанный архив:
Ссылки:
1. Документация на stdeb
2. Заметка об использовании Perlbrew
3. Python. Строим виртуальное окружение с помощью virtualenv
Теперь у меня возникло аналогичное желание для Python-модуля. В репозитории Debian нет модуля grab. Я не хотел прибегать к помощи python-virtualenv (подобный же инструмент существует и для Perl - пакет perlbrew в Debian и модуль App::perlbrew на CPAN), а захотел собрать deb-пакет для установки в систему.
Как оказалось, такой инструмент существует (хоть он и менее удобен по сравнению с dh-make-perl) и называется он stdeb. Он уже имеется в репозитории Debian, поэтому задача Мюнхгаузена - вытянуть себя за собственные шнурки - перед нами не стоит. Ставим пакеты stdeb и python-all:
# apt-get install stdeb python-allТеперь находим архив с нужным нам модулем на pypi.python.org и скачиваем его себе:
$ wget https://pypi.python.org/packages/source/g/grab/grab-0.4.12.tar.gz#md5=a9d42f6db9f96357d18fe170176c95b4Теперь можно заглянуть в документацию на stdeb и посмотреть, как это делается.
Распакуем скачанный архив:
$ tar xzvf grab-0.4.12.tar.gzПерейдём в каталог с распакованным модулем:
$ cd grab-0.4.12Подготовим каталог и управляющие файлы для сборки пакета:
$ python setup.py --command-packages=stdeb.command sdist_dscТеперь перейдём в этот каталог и соберём пакет:
$ cd deb_dist/grab-0.4.12 $ dpkg-buildpackage -us -uc -rfakerootВ каталоге выше появится готовый deb-пакет, который можно установить в систему.
# dpkg -i python-grab_0.4.12-1_all.deb
Ссылки:
1. Документация на stdeb
2. Заметка об использовании Perlbrew
3. Python. Строим виртуальное окружение с помощью virtualenv
Подписаться на:
Сообщения (Atom)