VirtualBox и командная строка
22.09.2016
VirtualBox имеет достаточно широкий функционал командной строки.
Запустить виртуальную машину (ну например test_vm) без открытия экрана
VBoxManage startvm "test_vm" --type headless
или
VBoxHeadless --startvm "test_vm"
Остановить
VBoxManage controlvm "test_vm" acpipowerbutton
Сохранить текущее состояние на диск и выключить питание
VBoxManage controlvm test_vm savestate
Посмотреть информацию и свойства ВМ
VBoxManage showvminfo test_vm
VBoxManage guestproperty enumerate test_vm
VBoxManage guestproperty get test_vm "/VirtualBox/GuestInfo/OS/Product"
Выполнить команду на ВМ
VBoxManage --nologo guestcontrol test_vm run --exe "/bin/ls" --username osboxes --password passwd123 --wait-stdout -- -c -l /home/osboxes
Расшарить папку с хоста на гостевую ВМ
VBoxManage sharedfolder add mint0 --name "TEMP" --hostpath "c:\temp" --transient
и посмотреть на госте расшареные ему папки:
# VBoxControl sharedfolder list
Oracle VM VirtualBox Guest Additions Command Line Management Interface Version 4.3.18_Debian
(C) 2008-2015 Oracle Corporation
All rights reserved.
Shared Folder mappings (1):
01 - TEMP
Ну и ссылки в тему:
Как быстро поднять httpd сервер
08.02.2016
Срочно нужно поднять httpd? Ну там отдать на скачивание что-нибудь, простой скрипт толкнуть, для инсталлятора подсунуть диски, да мало ли для чего нужно вэб-сервер?
Запускаем вэб-сервер в одну строку
$ python -m CGIHTTPServer 8000 >/tmp/httpd.log 2>&1 &
Поднимает сервер на порту 8000 с каталога, в котором запущен, исполняет скрипты из каталога cgi-bin и htbin
Upadate 2020-02-15
Для python3 используется другой модуль
$ python -m http.server 8000 >/tmp/httpd.log 2>&1 &
Просто VNC
05.01.2016
Для того чтобы под unix удаленно запустить X приложение нужно определить переменную DISPLAY и запустить на локальном компьютере X-Server (VcXsrv или любой другой). Если при этом упадет сеть, то приложение тоже падает, теряются данные и прочие проблемы.
Старый и эффективный выход из этого положения — установить vnc-сервер и соединятся с ним с любого места, не боясь потери данных, «порывов» и просто заметно быстрее, чем через X-сервер. Можно, например, запустить firefox на удаленном серваке и спокойно серфиться, можно запустить виртуалку и соединяться с ней, когда нам нужно, ну итд
- устанавливаем на сервере vnc-сервер, например, vnc4server или tightvncserver
# apt-get update
# apt-get install vnc4server - запускаем его без параметров — при первом запуске он запрашивает пароль для доступа.
- устанавливаем на сервере переменную DISPLAY, запускаем vnc-сервер и запускаем любое X-приложение
# export DISPLAY=localhost:12
# vnc4server :12
# xterm & - соединяемся с помощью vnc-viewer (любой клиент под любой платформой, например TightVNC Viewer или любой другой)
- прибить vnc можно командой
# vnc4server -kill :12
Ссылки в тему:
Установка параметров загрузки ядра в Linux grub2:
- Определяемся с параметрами
- Меняем строчку
GRUB_CMDLINE_LINUX
в/etc/default/grub
типа:
GRUB_CMDLINE_LINUX_DEFAULT=’quiet acpi=off’ # update-grub
Отключить неугодный драйвер устройства :
# lsmod
# lspci -v
- Добавить строку «
blacklist driver-name
» в /etc/modprobe.d/blacklist (или/etc/modprobe.d/blacklist.conf
или еще какой-нибудь файл в этом каталоге) # depmod -ae
# update-initramfs -u
Ссылки в тему:
И снова напоминалки опций (помощники)
02.08.2013
Итак, проект find.unixpin.com переехал на новый домен www.clihelper.com
Напомню: напоминалка опций через web-интерфейс, позволяет быстро и без головняков с man-ами вспомнить забытые (или узнать новые) опции для cli команд. Сейчас в наличии grep, find, fuser, wc. Постараюсь оперативно выкладывать новые напоминалки.
Итак, версии на русском и английском.
О найденных ошибках, замечания, предложения и пожелания — обо всем пишем сюда.
Изменение адреса отправителя в sendmail
13.05.2010
На многих почтовых серверах в целях безопасности запрещена пересылка писем от не авторизованных пользователей. Т.е. если мы хотим получать письма от рутов наших любимых серверов, в поле отправителя будет стоять что-то типа root@hostname.domain.ru и письмо скорее всего не дойдет до адресата. А нам во что бы то ни стало надо это письмо обязательно получить (хотя и не обязательно мы его будем читать но получить надо;)) Единственный выход в данной ситуации — это изменить адрес отправителя на существующий адрес на почтовом сервере, например Vasily.Pupkin@domain.ru.
Конечно можно не заморачиваться с sendmail и использовать любой другой mail transfer agent либо почтовый клиент, в котором можно прописать все что угодно, но есть софт, который упорно использует только sendmail и ничего более. Вот для таких случаев и написана данная инструкция.
Итак:
Прибил файл, а место не освобождается?
21.01.2010
Обычно, когда заканчивается место на файловой системе — ищем растущие файлы (обычно это логи всякие) и удаляем их.
Итак, как правильно удалять файлы? ;)
Проверяем, что этот файл не открыт каким-нибудь процессом:
fuser /dir/filename
Если файл занят, что прибиваем процесс (или делаем корректные действия, чтобы процесс отпустил файл), после этого удаляем.
А что делать, если никто ничего не проверял, файлик грохнули, а вот место не освободилось?
Читать полностью »
Удаленный доступ к консоли
05.01.2010
Есть такой убойный сервис у Sun, называется Shared shell. Нужен для предоставления удаленного доступа к telnet-ssh сервисам по https.
Обычно используют RemoteAdmin или что-нибудь подобное, чтобы удаленно настроить приложения, но очень часто у клиентов зарезаны порты и вообще, доступ к интернету сильно ограничен. Это приложение позволяет обойти эти ограничения для настройки терминальных приложений.
Это java приложение, работает через всякие прокси, хорошо себя ведет на слабых каналах. Позволяет предоставить полный доступ к консоли или доступ только для просмотра, тут же есть чат с поддержкой русского языка, карандашик, которым можно выделить что-нибудь. Один человек создает сессию, соединяется по telnet или ssh. Затем, меню «Conference-Invite» получает ключ, который отправляете человеку, который присоединяется к вашей сессии. Весь интерфейс интуитивно понятен. Вообщем — швейцарский нож, рекомендую ;)
Shared shell
Снова perl. Немного о встроенных переменных
25.08.2009
По мотивам стандартной документации Perlvar.
Считать целиком файл в переменную:
open (MOCK, $filename) or die "$!";
local $/;
# переопределяем встроенную переменную "разделитель строк" ($/ или $INPUT_RECORD_SEPARATOR или $RS)
$_ =<MOCK> ; # захавать моск файл целиком
close (MOCK);
Напечатать содержимое массива:
@a=qw( 1 2fewf wf g ag f);
local $,="\n";
# переопределяем встроенную переменную "разделитель полей" ($, или $OUTPUT_FIELD_SEPARATOR или $OFS)
print @a;
Читать полностью »
И снова grep
05.08.2009
Иногда есть данные и шаблоны, и чтобы выбрать данные — обычно используют цикл, в котором грепают по шаблону. Но тут недавно внимательно перечитал man grep и нашел интересный момент ;) Можно в одну команду вывести список строк, которые попадают (или не попадают) под шаблон
cat data.txt
111
222
333
112
122
233
444
cat template.txt
2
1
/usr/xpg4/bin/grep -f template.txt data.txt
111
222
112
122
233
Или не попадают
/usr/xpg4/bin/grep -v -f template.txt data.txt
333
444
Для чего это можно использовать? Ну например, список новых томов в VxVM, список новых файлов в каталоге — удобно динамически формировать список и сравнивать его со старым списком.