Картинка блога

Не думал, что установка Mono под виртуальной машиной окажется приключением, пострашнее установки на сервере. Чтобы вы не попались на мои грабли, немного расскажу у том как это происходило со мной.

VmWare образ на сайте go-mono

Вроде бы, что может быть проще — скачал, настроил, работай. Но оказалось не так все просто. VBox умеет читать образы VMWare, но поставить VBoxAdditions мне не удалось. Сидеть в окошке 800×600 и без интеграции мышки и буфера обмена мне не хотелось. Испытания с установкой исходников ядра для сборки дополнений не помогли. Даже запускал sudo sh autorun.sh и делал для gksu символическую ссылку на gnomesu. Сборка ядра мне так и не удалась, а соответственно нормальная интеграция накрывалась тазом.

Я даже пробовал с конвертировать машину из VMWare в VirtualBox с помощью qemu:

qemu-img convert Mono-2.6.1.vmdk Mono-2.6.1.bin
VBoxManage convertdd Mono-2.6.1.bin Mono-2.6.1.vdi

Тот же самый результат.

VirualBox, WinXP и Mono 2.6.1

Да, тут все просто, последовательно ставим все части «друг в друга» и все работает без какой либо специальной конфигурации. Тем не менее Windows это не Linux и ведут себя программы в этих средах по разному, даже Mono (связано это как минимум со структурой каталогов и разделителями), а значит тестирование Mono приложений под Windows не даст 100 вероятности, что приложение будет работать под Linux.

VirtualBox, Ubuntu 9.10 и Mono 2.6.1

Первые два «элемента цепочки» любят друг друга. Ставим серверную версию с образа, устанавливаем GUI ‘sudo apt-get install ubuntu-desktop‘, рестарт, установка дополнений. Теперь Mono: опять облом. Дело в том, что официально Ubuntu поддерживает только Mono 2.4 (это их нормальная практика, использовать несколько устаревшие пакеты для поддержки стабильности). Мой скрипт установки Mono, упал уже на gettext-е. Установка обновленных версий всех зависимостей Mono ввела меня в тупик, я не любитель разбираться клубке версий, так что оставил эту затею системным разработкам.

VirtualBox, OpenSuse 11.2, Mono 2.6.1

Следовало бы начать с такой сборки сразу, скажете вы, и будете правы. Suse и Mono, это продукты Novel так, что первым поддержку Mono получает именно SUSE дистрибутив. По этому, идем на сайт openSUSE и качаем его из «GetIT» (~4,5gb), да, он никогда не был маленьким. В архиве уже есть какая-то поддержка VirualBox, но она не умеет автоматически подстраивать размер экрана, по этому, я установил ее по знакомой из первой части схеме:

sudo zypper install gcc make automake autoconf kernel-source kernel-syms
cd /media/VBOXADDITIONS_3./
sudo ./VBoxLinuxAdditions-x86.run
"RESTART"
sudo zypper addrepo http://ftp.novell.com/pub/mono/download-stable/openSUSE_11.2 mono-stable #http://www.go-mono.com/mono-downloads/download.html
sudo zypper refresh --repo mono-stable
sudo zypper dist-upgrade --repo mono-stable
zypper if mono-core #проверьте, что версия именно та, которая нужна
zypper se *mono* #список пакетов с ключевым словом Mono
sudo zypper install mono-core release-notes-mono monodoc-core monodoc-http monodevelop mono-web

Теперь можно начинать тестирование.

Метки:, ,

20 комментариев в “Mono 2.6.1 и VirtualBox”

  1. Спасибо за указаные ошибки, теперь всё сделаю правильно.

  2. Не думал что можно сделать столько ошибок, спасибо автору.

  3. Все люди когда-то ошибаются, темболее в таком сложном деле.

  4. На ошибка учатся, но только не на своих.

  5. Людям свойственно ошибаться.

  6. Буду надеятся, что я не ошибусь.

  7. Теперь зная ошибки вероятность ошибится значительно уменшилась.

  8. Как говорится, учатся на ошибках, но не на своих.

  9. Чужой горький опыт это хорошо,в определенном смысле.

  10. Лучше чужой горький, чем свой. Иногда.

  11. Толково расписал,довольно таки позновательно все.

  12. Статья для этого и создавалась.

  13. Обзорчик неплохой. Многим пригодится.

  14. Главное, все понятно выложено.

  15. Приятно, когда материал доступно изложен.

  16. Даже дополнительной литературы не надо искать.

  17. Да какая уж тут литература…

  18. Все и без литературы толково изложено.

  19. Не без, а вместо…

  20. Интересная информация!