
Захотелось мне узнать что такое oracle database xe(express edition). Для тестов и измывательства решил поставить этот сервак на виртуальную машину. В качестве guest OS был выбран дебиан без графической оболочки, для этого я скачал «нетинстальную» версию. Установил без особых напрягов на виртуалку.
Заранее предупреждаю о граблях!!! Устанавливайте своп больше гига, если собираетесь ставить оракл экспресс эдишн!!!! Если же у вас случайно дёрнулась рука и вы установили своп меньше, не печальтесь, всё поправимо. Следующие действия увеличат ваш своп до нужного размера(всё делаем под рутом).
Мутим файлик, забитый нулями, нужного размера:
dd if=/dev/zero of=/swapfile bs=1024 count=700240
swapfile-сам файл для свопа
count=700240 ― количество килобайт(как я понял), такого размера будет наш файл. Нам нужен файл такого размера, чтобы его хватило восполнить недостаток свопа до гигабайта.
Команда
mkswap swapfile
должна превратить наш файлик в полноценный свопище.
Ну и затем надо подрубить этот новый своп к остальному(если вы его вообще создали при инсталляции ОС).
swapon swapfile
Для проверки можно сделать «swapon -s» и посмотреть подключился ли созданный вновь файлик к свопу или нет. Если нет, то проделайте те же действия повнимательней.
Ну да ладно, я немного отвлёкся. Прежде чем ставить на виртуальную машину деб-пакет с ораклом, мне нужно было каким-то образом перекинуть с моей реальной машины на виртуальную этот деб-пакет.
Для этого я решил воспользоваться одной полезной фишкой виртуал-бокса как share-folders (не знаю есть ли на других виртуалках что-либо подобное). Для того чтобы эта штука заработала, надо установить специальные аддоны размером в 30 мегабайт которые виртуалбокс сам за вас любезно скачает, но вот поставить на линукс -это уже ваша проблема. Я решил её следующим путём.
Вначале установил необходимое для компиляции
apt-get install build-essential linux-headers-2.6....(тут посмотрите у себя через uname -a)
затем подмонтировал виртуальный диск с аддонами(через менюшки виртуал-бокса вначале надо эту исошку подключить)
mount -t iso9660 -o ro /dev/cdrom /cdrom
Затем зашёл на него и запустил скрипт исталирующий аддоны в гостевую систему(само собой скриптик должен иметь расширение .run, так уж повелось)
После того как скрипт заинсталит аддоны(если такое не произойдёт, то значит где-то рядом заяц несудьбы) можно создавать на основной вашей системе реальную такую директорию(пусть будет /home/share). Потом через гуй виртуал-бокса подключить эту папку и уж потом в гостевой системе написать:
mount -t vboxsf /share /mnt/share
Вот, теперь всё что вы кинете в одной системе в эту папку будет доступно в другой системе тоже. Я кинул в папку deb-пакет с ораклом и направил лыжи на инсталляцию оракла. Установка прошла безболезненно и быстро. Но тут появилось новое препятствие на пути: как получить доступ к БД из реальной машины?
Для этого надо настроить бриджинг на виртуальной машине. Я выполнил следующие команды:
Шаг 1 :
Установил необходимые пэкэджи
apt-get install uml-utilities bridge-utils
Шаг 2 :
Замутил TAP - interface -
tunctl -t tap1 -u faxel
** faxel это имя пользователя(подставите свое конечно же)
Шаг 3 :
Замутил a br0 bridge -
brctl addbr br0
Шаг 4 :
Стелать настоящий сетевой интерфейс(который у вас на железной тачке) «разнородным» -
ifconfig eth0 0.0.0.0 promisc
Шаг 5 :
Слинковать настоящий интерфейс с интерфейсом бриджа br0 -
brctl addif br0 eth0
Шаг 6 :
Назначить IP br0 интерфейсу. Если у вас есть DHCP(у меня на роутере есть) то автоматом -
dhclient br0
Если нет DHCP-сервака, то ручками -
ifconfig br0 192.168.1.102
*IP выберите сами, тут написан рэндомный
Шаг 7 :
Линкуем TAP на бридж br0 -
brctl addif br0 tap1
Шаг 8 :
Активируем его -
ifconfig tap1 up
Шаг 9 :
Меняем пермишены на /dev/net/tun (на всякий пожарный) -
chmod 0666 /dev/net/tun
Шаг 10 :
В VirtualBox в настройках сети виртуалки “Bridged adapter” и “tap1″ сами увидите где.
После перезагрузки виртуалки, я под рутом в виртуальном дебиане написал "ifconfig" узнал айпишник виртуалки и стал его юзать для соединения с БД из внешнего мира.
Вот такие дела.