Список форумов nostalgy.net.ru nostalgy.net.ru
форум сайта "Ностальгия"
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Виртуальная машина в Debian

 
Начать новую тему   Ответить на тему    Список форумов nostalgy.net.ru -> Программные пакеты (soft)
Предыдущая тема :: Следующая тема  

Какую "виртуалку" Вы предпочитаете?
qemu
33%
 33%  [ 3 ]
Microsoft Virtual PC
22%
 22%  [ 2 ]
VirtualBox
22%
 22%  [ 2 ]
VMWare Player
11%
 11%  [ 1 ]
Xen
0%
 0%  [ 0 ]
OpenVZ
0%
 0%  [ 0 ]
другая
0%
 0%  [ 0 ]
я не пользуюсь виртуалкой
11%
 11%  [ 1 ]
Всего голосов : 9

Автор Сообщение
Nikodim
постоянный посетитель


Зарегистрирован: 14.01.2007
Сообщения: 3041
Откуда: г. Новосибирск

СообщениеДобавлено: Чт Апр 05, 2012 11:42 am    Заголовок сообщения: Виртуальная машина в Debian Ответить с цитатой

Речь пойдёт о том, как развернуть эмулятор виртуальной машины в Debian.
Вначале я хотел установить "VirtualBox", но в Debian 6.0 на ядрах 2.x и 3.x она ни в какую не хотела работать. Потому мой выбор остановился на "qemu".
Немного отвлекусь и расскажу в двух словах, зачем вообще нужно использовать "виртуалку". Во-первых, с целью проведения экспериментов с программами, операционной системой без последствий хостовой ОС. Во-вторых, при необходимости работать с конкретным софтом, версии которого нет для хостовой ОС (например, с Microsoft Visio, FoxPro). В-третьих, если требуется развернуть какой-либо сервер: "виртуалку" всегда можно забэкапить (хоть по три раза в день) и в случае краха буквально в течение минуты восстановить работоспособность сервера из резервной копии образа. Smile

А теперь по сути. Сразу оговорюсь: все операции с настройкой и работой с эмулятором виртуальной машины выполняются из-под пользователя "root", поэтому сразу заходим в root'а:

Код:
su


Если Вы хотите собирать "qemu" из исходников, то вам потребуется поставить соответствующие компоненты для компиляции. А именно: перед сборкой нужно выполнить следующую команду:

Код:
apt-get install libsdl1.2debian zlib1g libx11-dev libsdl1.2-dev texi2html sharutils libgpmg1-dev vgabios bochsbios kernel-headers-$(uname -r) gcc g++ make


Ну, а далее традиционно:

Код:
./configure; make; make install


Smile

Я ставил не из исходников, а из готового DEB-пакета:

Код:
apt-get install qemu qemu-kvm bridge-utils vde2 uml-utilities


После установки всех необходимых компонентов создаём виртуальный жёсткий диск размером 5 Гб (размер - это по усмотрению: смотря сколько вам нужно для операционной системы):

Код:
mkdir ~/VM; qemu-img create ~/VM/winxp-c 5G


Далее требуется создать образ загрузочного компакт-диска, с которого будем устанавливать операционную систему. Для этого вставляем диск в привод CD-ROM/DVD-ROM и выполняем команду, как показано ниже:

Код:
mkdir ~/VM/my_iso; dd if=/dev/cdrom of=~/VM/my_iso/file.iso bs=2048


Время создания образа ISO с диска может быть большим и зависит от размера записанной информации на компакт-диске.

После того как процесс создания ISO-образа будет завершён, первая загрузка виртуальной машины должна быть осуществлена с образа компакт-диска для того, чтобы вы смогли установить операционную систему оттуда на жёсткий диск. Для этого надо выполнить следующую команду:

Код:
qemu -hda ~/VM/winxp-c -boot d -cdrom ~/VM/my_iso/file.iso


Ключ "-boot d -cdrom" указывает виртуальной машине, что загрузку нужно проводить с виртуального компакт-диска, на котором хранится загрузочный образ "~/VM/my_iso/file.iso".

Когда установка операционной системы на жёсткий диск завершена, загрузка системы должна уже осуществляться с него. Поскольку запускать виртуальную машину вы будете не раз, а периодически, то целесообразнее создать некий исполнительный файл, который бы осуществлял предварительную конфигурацию системы и запуск виртуальной машины. Такой файл представлен ниже:

Код:
#!/bin/sh

# IP tap интерфейса
HOST_IP='192.168.100.1'
# Интерфейс на котором есть подключение к интернету(смотрящий в реальную локальную сеть)
INET='eth0'
# Интерфейс виртуальной машниы
NET='tap0'
# Пользователь
USER="`whoami`"

# Поднимаем tap-bynthatqc
modprobe tun
tunctl -d $NET > /dev/null
echo "Starting $NET..."
tunctl -b -u $USER -t $NET > /dev/null

# Создаём сетевой интерфейс
echo "Configure net $HOST_IP/24"
ifconfig $NET $HOST_IP netmask 255.255.255.0

echo "Configure firewall...";
sysctl net.ipv4.ip_forward=1

# Очищяем все правила
iptables -F
iptables -X
# Устанавливаем Nat на интернет интерфейс
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to $HOST_IP
iptables -A FORWARD -i eth0 -o tap0 --source 0.0.0.0/0 --destination 192.168.100.0/24 -j ACCEPT
iptables -A FORWARD -i tap0 -o eth0 --source 192.168.100.0/24 --destination 0.0.0.0/0 -j ACCEPT

echo "Starting Qemu..."
qemu -hda ~/VM/winxp-c -boot c -net nic,model="rtl8139" -net tap,ifname="tap0" -rtc base="localtime",clock="host" -soundhw ac97 -usb -ctrl-grab -m 384M -k ru

# В виртуальной машине(под Windows) настраиваем параметры сети
# 1. IP = любой IP из одной c TAP-интерфейсом подсети (192.168.100.32 в моём случае)
# 2. Шлюз = IP TAP-интерфейса (192.168.100.1 в нашем случае)
# 3. DNS - по вкусу (у меня он на 217.70.106.5, там же где реальный шлюз в интернет)


Файл выше показывает пример конфигурирования виртуальной машины и загрузки в ней ОС Microsoft Windows XP. Собственно, можно и любую другую систему развернуть там. Сетку настроить с учётом уже своих параметров. Wink

Приятного юзанья! И голосуем за виртуалки. Cool настраиваем параметры сети
# 1. IP = любой IP из одной c TAP-интерфейсом подсети. Во-первых, с целью проведения экспериментов с программами, операционной системой без последствий хостовой ОС. Во-вторых, при необходимости работать с конкретным софтом, версии которого нет для хостовой ОС (например, с Microsoft Visio, FoxPro). В-третьих, если требуется развернуть какой-либо сервер: Starting $NET...
_________________
DOS not dead!


Последний раз редактировалось: Nikodim (Пт Апр 06, 2012 12:54 am), всего редактировалось 3 раз(а)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Uzix
постоянный посетитель


Зарегистрирован: 14.01.2007
Сообщения: 81
Откуда: RU:\>_

СообщениеДобавлено: Чт Апр 05, 2012 12:41 pm    Заголовок сообщения: Ответить с цитатой

Пользуюсь qemu и VMWare Workstation. Первая хороша когда нужно что-то протестировать, вторая же просто шустрая и с удобными гостевыми дополнениями, позволяющими интегрировать гостевую ОС с хост ОС (один Unity чего стоит!).
_________________
Runtime error 200 at 0708:07C7
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Rodegast
постоянный посетитель


Зарегистрирован: 17.12.2008
Сообщения: 352

СообщениеДобавлено: Пт Апр 06, 2012 9:21 pm    Заголовок сообщения: Ответить с цитатой

Какая проблема с VirtualBox-м? Он у меня прекрасно работает. Для юзанья Qemu лучше всего использовать софтину AQemu http://sourceforge.net/projects/aqemu/

Ну а теперь пара замечание по руководству Razz

1) >все операции с настройкой и работой с эмулятором виртуальной машины выполняются из-под пользователя "root"

Зачем?

2) >Далее требуется создать образ загрузочного компакт-диска

Зачем? Сразу натравливай Qemu на /dev/cdrom.
qemu -hda ~/VM/winxp-c -boot d -cdrom /dev/cdrom
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Nikodim
постоянный посетитель


Зарегистрирован: 14.01.2007
Сообщения: 3041
Откуда: г. Новосибирск

СообщениеДобавлено: Сб Апр 07, 2012 12:42 am    Заголовок сообщения: Ответить с цитатой

Rodegast писал(а):
1) >все операции с настройкой и работой с эмулятором виртуальной машины выполняются из-под пользователя "root"

Зачем?


Поскольку создаётся новый сетевой интерфейс.
_________________
DOS not dead!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Rodegast
постоянный посетитель


Зарегистрирован: 17.12.2008
Сообщения: 352

СообщениеДобавлено: Сб Апр 07, 2012 7:02 pm    Заголовок сообщения: Ответить с цитатой

> Поскольку создаётся новый сетевой интерфейс.

А если виртуалку будет запускать человек которому root права противопоказаны Wink

ИХМО Для поднятия интерфейса и прочих настроек сети лучше написать init.d скрипт который будет стартовать при запуске системы.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Nikodim
постоянный посетитель


Зарегистрирован: 14.01.2007
Сообщения: 3041
Откуда: г. Новосибирск

СообщениеДобавлено: Пн Авг 20, 2012 11:30 am    Заголовок сообщения: Ответить с цитатой

На днях столкнулся со следующей проблемой в qemu: клавиатура наотрез отказывается печатать символы в программах DOS.
Тестировал на примере NetBootDisk с http://vm.ru54.com/nbd.htm.
То есть вот когда запускаю загрузочный ISO-образ DOS, начинается инициализация системы; на определённом этапе запускается программа, которая предлагает ввести параметры сети (IP-адрес узла, маску подсети, шлюз, DNS и прочее). Пытаюсь печатать, вводя цифры и точки IP-адресов - в qemu ноль реакции.
Уже всю голову сломал в поисках решения данной проблемы. Гугление не помогло.
...Через раз какой-то символ печатается. Сразу скажу, что клавиатура у меня в полном порядке - 100%. Smile
Подозреваю, что, возможно, какие-то приоритеты действуют в программном перехвате "клавы".
Если в qemu запускаю тот же Windows XP - там всё нормально.
Может, это аналогичная проблема, что существовала в Windows XP при работе с ДОС-программами (особенно с FoxPro), когда при опросе клавы приложение жутко загружало процессор, и отсюда были тормоза? Кто-нибудь сталкивался с подобной проблемой на виртуальной машине qemu? Question
_________________
DOS not dead!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Astyanax
постоянный посетитель


Зарегистрирован: 17.06.2010
Сообщения: 34
Откуда: Одесса

СообщениеДобавлено: Пн Авг 20, 2012 2:19 pm    Заголовок сообщения: Ответить с цитатой

У qemu, VirtualBox, bochs я сталкивался с такой проблемой - программы с интерфейсом Turbo Vision (Turbo Pascal, Dos Navigator и подобные) некорректно интерпретируют некоторые клавиши - например, у меня по два раза нажимались курсорные стрелки и клавиша Ins. Позавчера, в bochs + openbsd у меня не работали Esc и курсорные клавиши вообще.
Порекомендую несколько вариантов решений:
- сменить виртуальную машину или откатиться на несколько версий qemu назад.
- у qemu есть возможность подключиться не только при помощи своего родного окошка (SDL). Возможно поможет в качестве "экрана" указать x11, текстовую консоль, VNC.
- запускать нужные программы в DosBox.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Yahoo Messenger MSN Messenger
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов nostalgy.net.ru -> Программные пакеты (soft) Часовой пояс: GMT + 7
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group
Русская поддержка phpBB

Anti Bot Question MOD - phpBB MOD against Spam Bots
Заблокировано регистраций / сообщений: 638154 / 0