четверг, 31 мая 2018 г.

Установка корневых сертификатов в Debian

Установка корневых сертификатов в Debian
Для того чтобы добавить корневые сертификаты необходимо:

1. Создаем каталог для CA сертификатов /usr/share/ca-certificates
sudo mkdir /usr/share/ca-certificates/extra

2. Копируем ‘.crt’ файл в созданный ранее каталог
sudo cp foo.crt /usr/share/ca-certificates/extra/foo.crt

3.  Переконфигурируем пакет ca-certificates
sudo dpkg-reconfigure ca-certificates

Выделяем нужные сертификаты и жмем ОК.

понедельник, 1 августа 2016 г.

FreeNAS 9.1.1 не дает создать новых пользователей

Имеется FreeNAS 9.1.1  x64
В один не очень прекрасный момент перестал давать заводить новых пользователей. Выдает ошибку: operation not permitted pwd_mkdb: /etc/spwd.db to /etc/spwd.db.tmp : no space left on device
Смотрим df -h и действительно в /etc закончилось место. Виновником является /etc/local/proftpd/blacklist.dat. Удаляем его:
rm /etc/local/proftpd/blacklist.dat
Так же надо не забыть убрать его из образа /conf/base/etc/local/proftpd/blacklist.dat, чтобы после перезагрузки он не появился снова.
Откуда он там не понятно, ведь система в read-only. Поэтому перемонтируем на запись, удаляем и обратно в рид-онли:
mount -uw /
rm /conf/base/etc/local/proftpd/blacklist.dat
mount -ur /

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

Есть вариант еще увеличить раздел /etc, но я пока этого не делал:
mount -uw /
ee /conf/base/etc/md_size
(меняем размер на желаемый)
mount -ur /

пятница, 29 июля 2016 г.

Восстановление виртуальной машины из бекапа в proxmox ve

Всем когда приходится восстанавливаться из бекапа. Как это было.
Хочется заметить, что свободного места на диске в момент восстановления Вам потребуется в 4 раза больше, чем весит Ваш образ. Если это что-то крупное, то это проблема.
У меня образы виртуальной машины хранятся в qcow2, а бекапы сжимаются при помощи lzo, поэтому в этом мануале будет про них. Как пользоваться другими архиваторами думаю поисковик Вам подскажет

Для начала останавливаем машину которую надо восстановить. Переносим текущие("поломанные") образы из папки /var/lib/vz/[id] (где id - номер виртуальной машины) в папку для бекапа, чтобы можно было вернуться к "поломанному" варианту:
mv /var/lib/vz/101/* /mnt/backup_hdd/101_old/

Теперь необходимо распаковать "хороший" бекап:
lzop -d /mnt/backup_hdd/dump/vzdump-qemu-101-2016_07_01-00_00_02.vma.lzo /mnt/backup_hdd/dump/vzdump-qemu-101-2016_07_24-00_00_02.vma

Файл vma содержит образы всех дисков виртуальной машины и ее конфиг. Распаковывать надо в несуществующую папку, иначе программа ругается, что папка существует:
vma extract /mnt/backup_hdd/dump/vzdump-qemu-101-2016_07_24-00_00_02.vma /mnt/backup_hdd/102/

Видим, что образы в папке из бекапа получились в формате raw и с другими именами файлов. Поэтому их необходимо конвертировать в наш формат и переименовать:
qemu-img convert -f raw -O qcow2 disk-drive-virtio1.raw disk-drive-virtio1.qcow2
mv disk-drive-virtio1.qcow2 vm-101-disk-1.qcow2

И возвращаем восстановленные образы на место:
mv vm-101-disk-1.qcow2 /var/lib/vz/101/

Запускаем виртуальную машину и радуемся.

пятница, 27 мая 2016 г.

Установка btsync из официального репозитория на Linux

На официальном сайте BitTorrent Sync предлагают ставить btsync вручную, скачав архив с сайта. И нигде не указан их официальный репозиторий, а он есть. Ставим следующим образом:
sudo sh -c 'echo "deb http://linux-packages.getsync.com/btsync/deb btsync non-free" > /etc/apt/sources.list.d/btsync.list'
wget -qO - http://linux-packages.getsync.com/btsync/key.asc | sudo apt-key add -
Т.е. добавляем репозиторий deb http://linux-packages.getsync.com/btsync/deb btsync non-free в список, добавляем от него ключ. И ставим привычным спообом:

sudo apt-get update
sudo apt-get install btsync
Есть второй неофициальный репозиторий. Там есть даже gui для btsync. Версия программы тоже другая.
sudo apt-key adv --keyserver keys.gnupg.net --recv-keys 6BF18B15
sudo echo "deb http://debian.yeasoft.net/btsync ${CODENAME} main" >> /etc/apt/sources.list
sudo echo "deb-src http://debian.yeasoft.net/btsync ${CODENAME} main" >> /etc/apt/sources.list
sudo apt-get update
sudo apt-get install btsync
 Замените ${CODENAME} на название версии Вашей ветки Линукс.

воскресенье, 17 апреля 2016 г.

Debian. Дополнение командной строки

В некоторых дистрибутивах linux отсутствие автодополнения по клавише tab по-умолчанию. Чтобы это устранить надо установить:

sudo apt-get install bash-completion

И отредактировать /etc/bash.bashrc. Найдите и раскомментируйте следующие строки:

# enable bash completion in interactive shells
 if ! shopt -oq posix; then
  if [ -f /usr/share/bash-completion/bash_completion ]; then
    . /usr/share/bash-completion/bash_completion
  elif [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
  fi
 fi

После перезайдите в консоль и все должно работать

четверг, 17 марта 2016 г.

Монтирование Samba-ресурсов в Linux (Ubuntu)

Часто бывает нужно смонтировать виндовый расшаренный ресурс на линуксовый сервер с использованием конкретного пользователя и пароля (как сетевой диск в Windows).

Обычный smbclient не всегда подходит, поэтому, в таком случае нам поможет cifs.

Примеры ниже.

Для начала нужно установить пакет cifs-utils:

$ sudo apt-get install cifs-utils
Теперь монтируем ресурсы командой:

$ sudo mount -t cifs //192.168.0.60/shara /mnt/smb/ -o user=IvanovAA

или чуть более расширенный вариант:

$ sudo mount -t cifs -o username=user,password=passwd,iocharset=utf8,file_mode=0777,dir_mode=0777 //network/resource /mount/point
Где «user» и «passwd» — имя пользователя и пароль для подключения к расшаренному ресурсу, а  «//network/resource» и «/mount/point» — сетевой путь и точка монтирования соответственно.

Для того, что бы сетевой ресурс монтировался автоматически при включении системы, можно добавить эту запись в файл /etc/fstab в следующем виде:

//192.168.0.1/backup   /backup cifs username=user,password=passwd,iocharset=utf8,file_mode=0777,dir_mode=0777   0       0
Что бы не хранить имя пользователя и пароль в открытом виде в файле fstab, можно записать эти параметры в файл и ограничить права на его чтение:

$ sudo touch /root/.smbcredentials
$ sudo chmod 600 /root/.smbcredentials
$ sudo echo "username=user" >> /root/.smbcredentials
$ sudo echo "password=passwd" >> /root/.smbcredentials
Где «user» и «passwd» конечно же ваши логин и пароль для подключения к сетевому ресурсу.

После этого в файл /etc/fstab вместо строки:

//192.168.0.1/backup   /backup         cifs            username=user,password=passwd,iocharset=utf8,file_mode=0777,dir_mode=0777   0       0
пишем:

//192.168.0.1/backup   /backup         cifs            credentials=/root/.smbcredentials,iocharset=utf8,file_mode=0777,dir_mode=0777   0       0

вторник, 9 февраля 2016 г.

Запускаем RDP сервер под Linux + 1Сv8

В результате исследования проблеммы внедрения сервера терминалов без использования серверного ПО от доблестной компании MS
было рассмотрено множество вариантов с соответствующими выводами:
а) Linux + VNC-server (tightVNC) - тормозит
б) Linux + nxFree - в общем-то стоит денег, бесплатно - только одно подключение. Есть free-аналог freenx - но...нужен напильник размером с дом
в) Linux + Xserver + XMing на удаленном windows-хосте - тормозит еще больше, чем VNC
ну собственно и вариант Г :) Linux (Slackware current) + xrdp (0.4.1) + wine(1.1.19) + 1Сv8.1
Шаг 1: 1С
1C(v8.1) завелась без проблем после замещения стандартных библиотек ( browseui mshtml msls31 ole32 oleaut32 olepro32 rpcrt4 shdocvw shlwapi urlmon ) в каталоге ~/.wine/drive_c/windows/system32 с последующим прописыванием оных в winecfg, доп.установки Gecko и Internet Explorer 6, единственное что не работает, так это интерфейс SQLDMO.
Еще хотелось бы добавить, что по-умолчанию не работало сглаживание шрифтов в 1С, это можно поменять и руками в реестре из под wine, но есть более элегантное (или простое) решение
http://files.polosatus.ru/winefontssmoothing.sh - запускаем в консоли - далее все понятно.
PS: для эстетов загадочных делаем следующее:
выполняем команду wine ~/.wine/drive_c/windows/regedit.exe
и правим следующие параметры
[HKEY_CURRENT_USER\Control Panel\Desktop]
"FontSmoothing"="2"
"FontSmoothingType"=dword:00000002
"FontSmoothingGamma"=dword:00000578
"FontSmoothingOrientation"=dword:00000001
Шаг 2: Xrdp
Далее настраиваем собственно сам xrdp, домашняя страничка находится в плачевном состоянии (http://xrdp.sourceforge.net/), однако оттуда выкачиваем бинарники (на текущий момент
имеется версия 0.4.1). Как обычно - распаковываем make, make install (можно почитать прилагающийся install.txt).
Так как сам xrdp поддерживает терминалы по vnc и по rdp, то ему понадобятся библиотеки от TightVNC, ставим собснно tightVNC - скачиваем - configure && make && make install.
По-умолчанию xrdp ставится в /usr/local/xrdp (бинарниики) и /etc/xrdp (настройки).
В /etc/xrdp/sesman.ini и /etc/xrdp/xrdp.ini всё достаточно прозрачно настраивается. В sesman увеличиваем макс.количество открываемых сессий и (по желанию) пользователя/группу, которым будет разрешено входить на сервер терминалов. В rdp.ini я поставил подключения по rdp (а не по vnc) на первое место (просто вставляем секцию про rdp6 после секции c global-настройкам).
Для работы в режим RDP нужен бинарник X11rdp, собственно заточенный под RDP. Исходников найти не удалось, но есть бинарник http://server1.xrdp.org/temp/X11rdp. Скачиваем, кидаем в /usr/bin
Далее шрифты - этот бинарник ищет шрифты в /opt/X11rdp/lib/X11/fonts
Создаем каталоги /opt/X11rdp/lib/X11, сделал симлинк fonts на папку со шрифтами уже стоящего X-сервера (у меня лежали в /usr/share/X11/fonts).
Сервер уже готов к запуску, но не поддерживает ввод русского языка. Для включения этой непонятной возможности можно использовать утилиту xkbcomp. Ей подсовываем файл со следующим содержанием:
xkb_keymap {
xkb_keycodes { include "xfree86+aliases(qwerty)" };
xkb_types { include "complete" };
xkb_compat { include "complete" };
xkb_symbols { include "pc+ru(winkeys)+us:2+group(ctrl_shift_toggle)" };
xkb_geometry { include "pc(pc104)" };
};
(допустим назовем его /usr/local/xrdp/rus.map) выполняем команду 'xkbcomp /usr/local/xrdp/rus/map $DISPLAY' в открытой xrdp сессии - и вуяля - получяем переключение по Ctrl+Shift с русского на английский язык.
Прописываем эту команду в конец файла /usr/local/xrdp/startwm.sh.
Кстати, в этом файле можно прописать команду WM, который будет стартовать при открытии сеанса, а также саму 1С :)
Собственно все настройки готовы - запускаем и наслаждаемся.
Еще немного подводных камней:
1. Для нормального запуска 1С под wine, нужно чтобы каждый пользователь запускал свою копию wine. Т.е. нужно каждому пользователю в его домашний каталог установить 1С и оттуда уже запускать. Если запускать из одного места, то 1С начинает конкретно тупить.
2. Под одним пользователем нескольким клиентам работать не получится (у меня запустить по крайней мере не получилось).
3. Иногда замечал, что 1С при запуске начинает кушать 100% процессора. Решение - прибить процесс и перезапустить :)
4. Печать на локальный принтер из сессии не получится. Есть задумки насчет CUPS, но нужно время.
Использован материал:
http://www.opennet.ru/openforum/vsluhforumID15/1638.html