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? Ну там отдать на скачивание что-нибудь, простой скрипт толкнуть, для инсталлятора подсунуть диски, да мало ли для чего нужно вэб-сервер?

Запускаем вэб-сервер в одну строку
$ 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 на удаленном серваке и спокойно серфиться, можно запустить виртуалку и соединяться с ней, когда нам нужно, ну итд

  1. устанавливаем на сервере vnc-сервер, например, vnc4server или tightvncserver
    # apt-get update
    # apt-get install vnc4server
  2. запускаем его без параметров — при первом запуске он запрашивает пароль для доступа.
  3. устанавливаем на сервере переменную DISPLAY, запускаем vnc-сервер и запускаем любое X-приложение
    # export DISPLAY=localhost:12
    # vnc4server :12
    # xterm &
  4. соединяемся с помощью vnc-viewer (любой клиент под любой платформой, например TightVNC Viewer или любой другой)
    vnc viewer
  5. прибить vnc можно командой
    # vnc4server -kill :12

Ссылки в тему:

Неожидано возникли проблемы при установке Hitachi Storage Navigator Modulair 2 (HDS SNM2) на Solaris 11.
Через стандартный скрипт install-hsnm2-P01.sh ставится пакадж HSNM2 и из его внутренностей, через скрипт, кусками устанавливается еще один пакадж HBASE (да, внутри пакаджа лежит еще один пакадж). Т.к. они установились кусками, то удалить их стандартными средствами — pkgrm или uninstall.sh невозможно.

После копания в этих установочных скриптах, наконец, разобрался, чего не хватает — библиотек ucb.

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

# cd /var/sadm/pkg/
# rm -rf HBASE/ HSNM2/
# cd /var/sadm/install/
# cp contents contents.old
# cat contents.old |grep -v HSNM2| grep -v HBASE > contents
# rm -rf /opt/HiCommand/
# rm -rf /var/opt/HiCommand/
# pkg install compatibility/ucb
# cd /tmp/snm2_install/
# ./install-hsnm2-P01.sh

Solaris io top

06.06.2014

Как выяснить, какой процесс больше всего напрягает систему ввода-вывода в Solaris?
Целая куча скриптов, на любой вкус:
iotop
process_io_top
iosnoop

Да и вообще, не забываем, что есть полезнейший DTraceToolkit навсегда застрявший на версии 0.99, но не потерявший актуальность.

Также полезный ресурс — DtraceBook, здесь есть, как и свежие версии скриптов из DTraceToolkit, так и не мало других скриптов из книжки.

Итак, проект find.unixpin.com переехал на новый домен www.clihelper.com

Напомню: напоминалка опций через web-интерфейс, позволяет быстро и без головняков с man-ами вспомнить забытые (или узнать новые) опции для cli команд. Сейчас в наличии grep, find, fuser, wc. Постараюсь оперативно  выкладывать новые напоминалки.

Итак, версии на русском и английском.

О найденных ошибках, замечания, предложения и пожелания — обо всем пишем сюда.

Если пробросить временный инет через proxy, то ставить модули в Solaris perl становится заметно веселее ;)
Solaris 10:
# export PATH=/usr/sfw/bin:$PATH
# export http_proxy=10.77.77.10:3128
# /usr/perl5/bin/perlgcc -MCPAN -e shell
Are you ready for manual configuration? [yes] no
...
cpan> o conf tar '/usr/sfw/bin/gtar'
cpan> o conf make '/usr/sfw/bin/gmake'
cpan> o conf urllist http://www.cpan.org http://www.cpan.dk
cpan> o conf ncftpget ''
cpan> o conf commit
commit: wrote /usr/perl5/5.8.4/lib/CPAN/Config.pm
cpan> install DBI

Посмотреть свой текущий конфиг CPAN
cpan> o conf

Удалить текущий конфиг CPAN и почистить все
rm /usr/perl5/5.8.4/lib/CPAN/Config.pm
rm -rf ~/.cpan

Ссылки в тему

# zoneadm list -vc
ID NAME STATUS PATH BRAND IP
0 global running / native shared
13 ZONE-01 running /zones/ZONE-01 native shared
# zfs list
NAME USED AVAIL REFER MOUNTPOINT
rpool/zones/ZONE-01 14.3G 219G 14.3G /zones/ZONE-01

# zoneadm -z ZONE-01 halt
# zonecfg -z ZONE-01
zonecfg:ZONE-01> set zonename=ZONE-02
zonecfg:ZONE-02> commit
zonecfg:ZONE-02> exit
# zoneadm -z ZONE-02 move /zones/ZONE-02
# zfs rename rpool/zones/ZONE-01 rpool/zones/ZONE-02
# zoneadm -z ZONE-02 boot

Посмотреть файлик в виде 16-ричного дампа можно командой od (octal dump)
od -x filename

в 8-ричном виде
od filename

в виде символов
od -c filename

отступить от начала (-j) байт и вывести определенное кол-во данных (-N)
cat filename | od -j 1024 -N 4096 -x > outfile.txt

В Solaris 11 с созданием новой среды загрузки (Boot Environments BE) все очень просто (в более ранних версиях использовалась LiveUpgrade ). Не нужно отдельных дисков (используется zfs), есть специальная команда с понятным синтаксисом.

Итак, создать новую BE
# beadm create newBE

Посмотреть список всех BE (со всеми снэпшотами, точками монтирования, датами создания и прочим)
# beadm list -a

Посмотреть список всех BE в виде пригодном для машинного разбора
# beadm list -aH

Примонтировать BE и залить на нее пакаджи
# beadm mount newBE /a
# pkg -R /a install package-name

Активировать конкретную BE
# beadm activate newBE

Удалить BE
# beadm destroy newBE
# beadm destroy -F newBE

Список флагов BE, выводимых по команде beadm list
R – Active on reboot.
N – Active now.
NR – Active now and active on reboot.
“-” – Inactive.
“!” – Unbootable boot environments in a non-global zone are represented by an exclamation point.

Ссылки в тему