Кидаем файл .so в каталог /usr/lib/x86_64-linux-gnu/geany/ и активируем нужный модуль в менеджере модулей самой IDE.
Поиск по этому блогу
суббота, 10 сентября 2016 г.
понедельник, 14 декабря 2015 г.
Организация удаленого доступа по VNC (RDP) к гостевым системам VirtualBOX без установки Extension Pack
Гарантированно работает на версии 4.3, на остальных не проверялось.
Для начала необходимо остановить машину.
Запускаем поддержку VNC:
vboxmanage modifyvm [vm_name] --vrde on
Указываем пароль для подключения:
vboxmanage modifyvm [vm_name]--vrdeproperty vncppassword=[some_password]
Указываем порт для подключения:
vboxmanage modifyvm [vm_name] --vrdeport [some_port]
Для каждой гостевой системы должен быть отдельный порт.
Подключаемся с помощью любого vnc-клиента, например xtightvncviewer [hv_ip]:[some_port]
Для начала необходимо остановить машину.
Запускаем поддержку VNC:
vboxmanage modifyvm [vm_name] --vrde on
Указываем пароль для подключения:
vboxmanage modifyvm [vm_name]--vrdeproperty vncppassword=[some_password]
Указываем порт для подключения:
vboxmanage modifyvm [vm_name] --vrdeport [some_port]
Для каждой гостевой системы должен быть отдельный порт.
Подключаемся с помощью любого vnc-клиента, например xtightvncviewer [hv_ip]:[some_port]
перенос гостевой системы VirtualBOX с одного хоста на другой.
Есть два, гипервизора VirtualBOX. Требуется требуется скопировать одну из гостевых ОС с одного хоста, на другой.
На исходном хосте.
- Сохраняем состояние ВМ - vboxmanage controlvm [vm_name] savestate
- Экспортируем ВМ в файл OVA - vboxmanage export [vm_name] -o [ova_file_name]
- Возобновляем работу ВМ - vboxmanage startvm [vm_name] --type headless
- Копируем файл OVA на целевой хост - scp [local_ova_file_name] [remote_username]@[remote_host]:[remote_ova_file_name]
На целевом хосте:
- Импортируем ВМ из файла OVA - vboxmanage import [ova_file_name]
- Запускаем ВМ - vboxmanage startvm [vm_name] --type headless
монтирование smb в linux
sudo mount -t cifs [//HOST/SHARE] [/path/to/local/folder] -o username=[smb_user],password=[smb_pass],uid=[local_user]
- //HOST/SHARE - хост или ip smb-сервера, а так же наименование ресурса на данном сервере
- /path/to/local/folder - путь к локальному каталогу, в который будет смонтирован удаленный ресурс
- smb_user - имя пользователя на smb-сервере, имеющего права доступа к указанному ресурсу
- smb_pass - пароль пользователя на smb-сервере, имеющего права доступа к указанному ресурсу
- local_user - имя локального пользователя, которому будет предоставлен доступ к каталогу, в который смонтирован smb-ресурс
воскресенье, 13 декабря 2015 г.
Настройка PowerMizer проприетарного драйвера NVIDIA на Linux.
Имеется:
- ОС Debian jessie (3.16.0-4-amd64)
- Видеоадаптер, определенный системой как GeForce GTX 550 Ti
- Проприетарный драйвер NVIDIA установленный из репозитория Debian с помощью dkms (NVIDIA GLX Module 340.65)
- X window system без DE. WM и прочие требуемые приложения запускаются с помощью ~/.xinitrc
Преамбула:
Так как в качестве WM используется kwin (с включенными свистоперделками), работа PowerMizer
вызывает известный дискомфорт, при этом перевод PowerMizer в режим
повышенной производительности приводит к повышению, как температуры
графического процессора, так и уровня паранойи по поводу его скорого
выхода из строя.
Задача:
Настроить
PowerMizer имеющегося видеодрайвера таким образом, чтобы он работал в
режиме повышенной производительности, но в случае простоя, автоматически
мог перейти в адаптивный режим и обратно, в случае возобновления
активности пользователя.
Действия:
Из этого сайта я выяснил, что утилитой nvidia-settings можно управлять с помощью консольных команд (ранее я думал, что это чисто GUI, а там еще оказывается и man есть, вполне вменяемый). Например команда вот такого вида nvidia-settings -a {DISPLAY}/GpuPowerMizerMode=1 включает режим повышенной производительности. Вместо {DISPLAY} необходимо подставить идентификатор экрана X-сервера, который можно узнать например из второй строки выводы glxinfo, хотя, скорее всего, в случае с одним подключенным монитором, он всегда будет равен :0.Таким образом, добавив в наш .xinitrc, вышеуказанную команду, мы будем переводить видеоадаптер в режим повышенной производительности при запуске x-server от имени конкретного пользователя. Осталось научить нашу видеокарточку переходить в адаптивный режим в случае простоя.
Самое очевидное, было бы воспользоваться тем же механизмом, с помощью которого запускается хранитель экрана, но я не знаю как он запускается, зато знаю, что можно получить время простоя с помощью команды w, а знающие люди с лора подсказали, что это еще проще сделать с помощью маленькой утилитки xprintidle, ну а дальше дело техники как говорится.
Я нарисовал вот такой вот скриптик:
PM_check () #Провека состояния powermizer
{ if [ $(nvidia-settings -q :0/GpuPowerMizerMode|sed '2!D'|awk {'print $4'}|sed s/.$//) -eq $1 ]; then idle_check; else nvidia-settings -a :0/GpuPowerMizerMode=$1 && idle_check; fi }
idle_check () #Провека времени простоя
{ sleep 1 && if [ $(xprintidle) -gt 30000 ]; then PM_check 0; else PM_check 1; fi }
if [ -n "$(ps aux | grep xserver | grep -v grep)" ]; then idle_check; fi #Проверяем, запущен ли x-server
В данном случае режим работы видеокарты переключается на адаптивный, через 30 секунд простоя.
А на этом сайте знающий человек подсказал как сделать из скрипта практически демона:), добавляем в crontab ежеминутный запуск нашего скрипта, через flock примерно таким образом: * * * * * flock -n /tmp/pmc.lock -c 'bash /path/to/script/pmc.sh' и видим, что ничего не работает:( В логах crontab жалуется, что не может подключиться к x-серверу и мы понимаем, что дело по всей видимости в переменных окружения. Недолгое гугление решает нашу проблему, мы меняем запись в кроне * * * * * flock -n /tmp/pmc.lock -c 'export DISPLAY=:0 && bash /patch/to/script/pmc.sh' и радуемся жизни.
суббота, 14 ноября 2015 г.
Восстановление данных с ZFS, на аппаратном рейде 10
Имеется:
Сервер Supermicro 825-7 с шестью SATA дисками ST31000524NS объеденными в RAID 10 средствами интегрированного raid-контроллера.
В качестве ОС установлена FreeBSD 8.2.
На сервере развернут ряд web-сервисов.
Больше никакой информации нет.
Преамбула:
По словам очевидцев. В какой-то момент, сервер перестал загружать ОС, при этом, судя по светодиодной и звуковой индикации один из жестких дисков вышел из строя (при очередной перезагрузке, напротив одного из дисков загорелся красный светодиод и зазвучал длинный звуковой сигнал).
К моменту моего прибытия на место аварии, никакой индикации не наблюдалось, однако ОС все равно не желала загружаться должным образом. Есть предположение, что контроллер автоматически провел ребилд массива и успокоился, однако часть данных все же была потеряна, как потом подтвердится.
Задача:
Восстановить работоспособность сервера, или, как минимум, восстановить большую часть данных.
Действия:
Raid-контроллер Adaptec, сообщил, что массив в полном порядке.
В процессе загрузки ОС сообщает, что не может смонтировать корневой раздел и предлагает произвести монтирование вручную, однако при нажатии любой клавиши происходит kernel panic и система зависает намертво.
В качестве загрузочного диска был выбран frenzy-1.4-lite. После загрузки с livecd, gpart list показал, что на жестких дисках имеется три раздела: freebsd-boot, freebd-swap и freebsd-zfs. Судя по размеру, все данные были как раз в zfs. Этот zfs меня несколько напугал, но как всегда, великий и ужасный web, пришел на выручку. К сожалению я не помню на каких именно ресурсах искал нужную информацию, поэтому просто приведу порядок действий.
Команда zdb -l /patch/to/block/device позволяет прочитать так называемые метки zfs, из файла блочного устройства раздела. Там много всякого разного, но меня интересовало только имя пула. Теперь, зная это имя, можно импортировать пул и получить доступ к файловой системе, для этого я использовал такую команду: zpool import -o atlroot=/some/directory POOL_NAME
Теперь раздел zfs доступен для чтения и записи в каталоге /some/directory
На этом все, пытаться восстанавливать загрузку ОС я не стал, так как часть данных все же была утеряна, например в usr не осталось ничего кроме home (что он там вообще делал не знаю, возможно это нормальное положение вещей для FreeBSD), меня интересовали только базы mysql, которые к счастью сохранились в полном объеме, в /var/db/mysql и сайты, которые так же лежали в /var/www/
Теперь раздел zfs доступен для чтения и записи в каталоге /some/directory
На этом все, пытаться восстанавливать загрузку ОС я не стал, так как часть данных все же была утеряна, например в usr не осталось ничего кроме home (что он там вообще делал не знаю, возможно это нормальное положение вещей для FreeBSD), меня интересовали только базы mysql, которые к счастью сохранились в полном объеме, в /var/db/mysql и сайты, которые так же лежали в /var/www/
Подписаться на:
Сообщения (Atom)