VirtualBox образ системы для океанологов на основе Ubuntu

Задача: Сделать образ Linux системы, содержащей уже установленные программы для океанологов, которым мог бы пользоваться самый прожженный виндузятник.

?нструменты: VirtualBox

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

sudo apt-get install cool-ocean-soft

и получить желаемый результат. Более того, зачастую даже для немного продвинутого в *nix системах человека правильно поставить некоторый океанологический софт представляется задачей нетривиальной. Он даже может после пары часов (в лучшем случае дней) плюнуть на это дело. Если же человек сидит на Виндоуз, то от него потребуются и вовсе титанические усилия, связанные с дополнительными трудностями перехода на новую систему.

Чтобы хотя бы частично избавиться от вопросов типа «почему у меня PyNGL на новой Убунте не устанавливается?» и «что прописать в .bashrc чтобы заработал Ferret» я решил создать образ системы в которой все основные программы о которых рассказывается на koldunov.net были бы уже установлены и работали.

За основу был взят LTS дистрибутив Ubuntu 8.04 . Программы были проинсталированы и более-менее проверены на работоспособность. В результате получился образ системы для VirtualBox, который вы можете развернуть как под Линукс, так и под Виндоуз.

Кто все уже понял может качать образ отсюда (1.5 гигабайта, запакован bzip2, после распаковки 5.2 гигабайта), создавать виртуальную машину, подключать его и работать ( логин:ocean пароль:ocean ). Для остальных будут даны подробные инструкции по установке всего этого хозяйства в Виндоуз.

Но для начала список проинсталированных программ (основная масса лежит в папке /home/ocean/PROGRAMS ):

  • build-essential — джентельменский набор утилит для компиляции программ
  • csh — да, по умолчанию его в Убунте нет )
  • netcdf-3_6_3 — библиотека для работы с форматом NetCDF. Скомпилирована и установлена в отдельную папку. С библиотеками которые поставляются вместе с Ubuntu у меня почему то всегда возникали проблемы.
  • cdo 1.4.0.1 набор утилит для работы с выводом множества геофизических моделей. Cкомпилированы только с поддержкой NetCDF.
  • Scipy — питоновский модуль для научных работников
  • Numpy — питоновский модуль для работы с массивами
  • Matplotlib — питоновский же модуль для отображения графики
  • ipython — интерактивная оболочка для Питона.
  • gv — гляделка *ps файлов. Страшная на вид, но быстрая и удобная.
  • GMT 4.5.1 — набор утилит для визуализации геофизических данных, в основном умолчальные настройки.
  • Ferret v6.3 — программа анализа океанографических (и метеорологических) данных.
  • ncview 1.93 — лучшая программа для быстрого просмотра NetCDF файлов.
  • NCL 5.1.1 — язык программирования для наук о Земле
  • PyNGL/PyNIO 1.2.0 — питоновский модуль для визуализации данных, основанный на NCL
  • GrADS 2.0.a7.1 — древняя, но все еще пользующаяся популярностью программа для визуализации.

Очень вероятно что рано или поздно на меня выйдут создатели программ и настучат по шапке в связи с нарушением каких ни будь идиотских лицензий. Тогда лавочку придется прикрыть. Единственно очень прошу, если вы собираетесь пользоваться PyNGL/PyNIO или NCL, не поленитесь, зарегистрируйтесь на сайте http://www.earthsystemgrid.org и испросите официального разрешения как это описано тут. Дело здесь не в лицензии а в том что финансовая поддержка создателей этих пакетов сильно зависит от статистики скачиваний с данного сайта.

Если вы думаете что я упустил какую-то интересную программу, которую невозможно поставить из репозиториев Ubuntu, то буду рад рассмотреть предложения в комментариях.

Далее будут инструкции для друзей наших виндузятников. Замечу, однако, что этот образ может пригодиться и тем кто в повседневной работе использует линукс, как некий вариант системы у которой «все включено», и которая может бежать на виртуальной машине внутри вашей основной инсталяции линукса.

Установка образа в VirtualBox под Windows

Скачиваем файл отсюда и распаковываем. В принципе в TotalComander есть поддержка bzip2, но если его у вас нет, то здесь можно найти bzip2 для Windows.

Устанавливаем бесплатный VirtualBox (убунтушники могут поставить из репозиториев). UPD Практика показала что с последними версиями VirtualBox гостевые дополнения (о них речь ниже) для Ubuntu 8.04 не ставятся. Поэтому скачивайте версию VirtualBox 3.0.14, на ней все гарантированно будет работать. (Если у вас до этого уже стояла более новая версия, в виндоуз возможно придется удалить папку C:\Documents and Settings\Admin\.VirtualBox).

Запускаем его и жмем на кнопочку «Создать»,
screenshot.jpg
сейчас мы будем создавать нашу виртуальную машину.
screenshot1.jpg
Жмем «Далее»

screenshot2.jpg
Делаем все как на картинке.

screenshot3.jpg
Сколько дать памяти виртуальной машине вопрос который каждый решает для себя сам ) Слишком много не давайте, будет тормозить основная система. У меня работало на 300 Мб оперативки довольно шустро.

screenshot4.jpg
Выбираем «?спользовать существующий жесткий диск» и жмем на иконку папочки справа.

screenshot5.jpg
Появится такое вот окошко. В нем нажимаем «Добавить».

screenshot7.jpg
Выбираем наш Ocean.vdi

screenshot8.jpg
Теперь он появился в списке доступных дисков. Жмем «Выбрать»

screenshot9.jpg
Еще раз читаем то ли мы создаем что хотели и жмем «Готово»

Запускаем виртуальную машину. Должно появиться окошечко в которой пойдет загрузка. Через некоторое время вас попросят ввести логин (ocean) и пароль (ocean). Во время загрузки VirtualBox будет вам разное интересное рассказывать про мышку и про цвета, лучше это дело прочитать, но особо не замарачивайтесь, после парочки дополнительных манипуляций вы будете работать с Линуксом в вашей системе просто как с еще одной программой 🙂

Чтобы подружить Виндоуз и Линукс окончательно, вам нужно установить некоторые дополнения для Линукса. Для этого выбираем в окошке где бежит наша виртуальная машина пункт меню «Устройства» >> «Установить дополнения гостевой ОС»
screenshot10.jpg

screenshot11.jpg
Вам будет показано следующее пугающее сообщение. Хорошенько подумайте и соглашайтесь. Произошло на самом деле следующее — VirtualBox подключил виртуальный CD со своими спецпрограммками и запустил их установку. Чтобы подтвердить начало установки вас попросят ввести пароль (ocean)
screenshot12.jpg
Откроется терминал, Убунта пошуршит какое то время и попросит перезагрузиться. Это можно сделать нажав на кнопку выключения в правом верхнем углу.
Теперь вы можете не мучится с захватом мышки, полноценно переходить в полноэкранный режим (правый Ctr+F) и копируя текст в Виндоуз, вставлять его в Линукс. Чудеса техники.

Последний штрих это расшаривание папок. К сожалению до драг энд дропа между системами дело еще не дошло, так что придется по-старинке. Тут нужно будет немножко поработать с консолью, но это не страшно ).

Для начала идем в свойства нашей виртуальной машины и выбираем последний пункт «Общие папки»
screenshot13.jpg

Я создал в корне диска C папку SHARE, чего и вам советую, и добавил ее.

Теперь запускаем Убунту, ждем загрузки и открываем терминал (иконка с черным экранчиком на верхней панели). Пишем в нем по очереди следующее (спасибо за подсказку неизвестному герою)

sudo mkdir /mnt/SHARE
sudo mount.vboxsf SHARE /mnt/SHARE

screenshot14.jpg

После ввода первой команды от вас попросят пароль.
screenshot15.jpg
Теперь вы можете работать с папкой, путь до которой в линуксе будет /mnt/SHARE
? это значит не просто копировать данные туда-сюда, но и анализировать их прямо в этой папке. Например можно посмотреть NetCDF файлик при помощи ncview
screenshot16.jpg
На этом все. Надеюсь что хоть кто то найдет этот образ полезным и начнет пользоваться замечательными линуксовыми программами для обработки океанологических данных без геморроя с их установкой на незнакомой системе 🙂