Archive for linux

equivs: фэйковые пакеты для Debian/Ubuntu

// Февраль 6th, 2017 // 1 Comment » // Debian, linux

Я люблю Debian за его замечательный пакетный менеджер apt, который сам разруливает все зависимости, и для установки софта обычно достаточно одной команды apt-get install <packagename>, но иногда бывает, что именно эта фишка заставляет биться головой об стену, когда пакеты из сторонних репозитариев начинают требовать неразрешимые зависимости, или когда вместе какой-то мелкой консольной утилитой весом в 20кбайт тащится половина Х-ов на 200мегабайт или MTA postfix/exim, там где это вообще не требуется.

Есть замечательная утилита, которая облегчает жизнь в таких ситуациях — equivs. equivs умеет создавать пустые пакеты с полным удовлетворением зависимостей, дабы удовлетворить жажду пакетного менеджера понаставить чего.

И так, допустим, нужно систему заставить думать, что у нас установлен MTA postfix, для начала установим equivs, как всегда это делается легко:

 apt-get install equivs

(далее…)

Debian tftpd

// Март 2nd, 2016 // No Comments » // Debian, linux, tftp

Устанавливаем клиент и сервер tftp

apt-get install tftpd tftp

Добавляем в автозагрузку inetd, в файле /etc/inetd.conf редактируем строку, которая начинается с tftp, в принципе она вполне правильная, но мне нравится другой путь для каталога файлов:

tftp     dgram   udp   wait   nobody   /usr/sbin/tcpd    /usr/sbin/in.tftpd   /var/tftp

Перезапускаем inetd:

invoke-rc.d openbsd-inetd restart

Вот в принципе и все. Если что-то не так — проверяем, слушает ли демон порт:

netstat -lnp | grep :69

должен быть ответ похожий на этот:

udp        0      0 0.0.0.0:69              0.0.0.0:*                           15838/inetd

Проверяем/правим права на каталог с файлами:

chown -R nobody /var/tftp

Не удается создать ssh tunnel

// Март 1st, 2016 // No Comments » // linux, ssh

Вот примеры ошибок:

SSH Tunnel: does not support diffie-hellman-group1-sha1 for keyexchange.

и

SSH Tunnel: The negotiation of encryption algorithm is failed

Решение: добавить в конфиг /etc/ssh/sshd_config строки:

KexAlgorithms diffie-hellman-group1-sha1,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1
Ciphers 3des-cbc,blowfish-cbc,aes128-cbc,aes128-ctr,aes256-ctr

сгенерировать дополнительные ключи:

ssh-keygen -A

перезапустить демон sshd

service ssh restart

Монтирование каталога в другой каталог

// Январь 22nd, 2016 // No Comments » // FreeBSD, linux, mount, system utilites

В Линуксе все просто, берем и монтируем:

 mount --bind /srcdir /dstdir

а так же в /etc/fstab можно добавить строку:

/srcdir      /dstdir      none    bind      0   0

Во FreeBSD немного иначе, для начала должен быть включен модуль в ядре NULLFS:

options NULLFS

или загрузить его вручную:

kldload nullfs.ko

монтировать в консоле:

mount_nullfs /srcdir /dstdir

в /etc/fstab добавить строку:

/srcdir      /dstdir      none    rw,bind      0   0

УкрСклад с базой firebird на Linux

// Январь 29th, 2015 // 6 комментариев » // Debian, firebird, linux, ПО

Для тех кто не знает что это, идем сюда >>.

Все рано или поздно приходят к тому, что предприятие растет, появляются удаленные филиалы и работа с базой по сети просто необходима. Городить ради этого сервер с Windows естественно не у кого желания нет, поэтому появилась идея попробовать все запустить на Linux. Осмотрев принцип работы было выяснено, что сервер программы по сути представляет из себя сервер БД Firebird и обвязку к нему, что очень сильно упрощает идею переноса.

И имеем сервер на Debian Wheezy, выбран был в виду требования УкрСклад к версии Firebird 2.5, которая как раз есть в репозитории (в более ранних версиях Debian — 1.5).

Установим Firebird:

 apt-get install firebird2.5-superclassic

этот пакет вытянет вся нужные зависимости сам. ВАЖНО! При установке запросит пароль для суперпользователя БД SYSDBA — укажите «masterkey«, УкрСклад использует эту учетную запись по умолчанию для подключения к БД.

УкрСклад использует свою библиотеку функций, её тоже нужно добавить на сервер иначе будет ошибка:

DataM.QueryRep.SelectQuery:
Can't format messege 13:98 -- message file C:\Program File\firebird.msg not found.
Access to UDF library "libtbudf.so" is denied by server administrator.

Скачиваем библиотеку:

wget http://www.softbalance.com.ua/files/libtbudf.rar

на всякий случай копия тут >>
для распаковки должен быть установлен пакет unrar

apt-get install unrar

распаковываем сразу в каталог с библиотеками

unrar e libtbudf.rar /usr/lib/firebird/2.5/UDF/

Скачиваем и устанавливаем серверную и клиентскую части УкрСклад. Нас интересует база, лежит она по пути C:\Program Files\UkrSklad6S\db\ файлы Sklad.tcb и SkladEmp.tcb — переносим их на компьютер с линуксом (для тех кто не знает как как это сделать — воспользуйтесь программой WinSCP) и размещаем по пути /var/lib/firebird/2.5/data/, меняем права на пользователя firebird:

chown -R firebird:firebird /var/lib/firebird/2.5/data/

Осталось настроить клиента УкрСклад для подключения к нашему серверу. Открываем в блокноте файл, обычно лежит по пути C:\Program files\UkrSklad6C\ubclient.ini, должно получится вот так:

[Server]
Hostname=192.168.100.3
Path=/var/lib/firebird/2.5/data/

Hostname — меняем на IP или имя компьютера с сервером БД, запускаем клиента, должно пройти обновление и программа запустится.

Есть еще один момент, на Windows XP клеинт упорно не хотел подключатся, выдавал ошибку подключения:

Ошибка соединения с базой данных =*= System Error. Code: 14001.
Приложение не было запущено, поскольку оно некорректно настроено.
Повторная установка приложения может решить данную проблему

Оказалось банально — винде не хватало библиотек, скачиваем vccrt8_win32.msi (локальная копия) и устанавливаем.

В принципе все. Если вас волнует вопрос безопасности в продолжении описание как сменить пользователя БД и пароль на SYSDBA. (далее…)