Установка PandaRoot на виртуальную машину

Предварительная подготовка

Убедиться, что у вас 64-битная машина.

В BIOS включить опции «Intel VT» или «AMD-V».

Установка ViritualBox

Скачиваем последнюю версию VirtualBox и VirtualBox Extension Pack с сайта. Устанавливаем командой:

# dpkg -i virtualbox-5.0_*_amd64.deb
# VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-*.vbox-extpack

Создаем (или импортируем) виртуальную машину с Ubuntu. Если устанавливаем с нуля, то диск лучше делать динамическим и разбить его на два раздела: 16 ГБ под систему и 20 ГБ под home. Раздел подкачки лучше не создавать, а использовать файл подкачки на системном разделе (установить пакет dphys-swapfile).

В гостевой Ubuntu устанавливаем «Дополнения гостевой ОС» (VirtualBox guest additions).

Сносим лишние пакеты, устанавливаем нужные:

apt-get install aptitude pv vim checkinstall screen openssh-server

sudo apt-get remove --purge evince thunderbird empathy gwibber gnome-games-data aisleriot indicator-messages software-center
sudo aptitude install gnome-session-fallback
sudo aptitude install etckeeper

Установка PandaRoot

Инструкция по установке Если следовать инструкции, получится директория с кашей из софта. Процесс сборки занимает около полутора часов на core i7 с 8ГБ оперативной памяти.

Для компиляции PandaRoot необходимо предварительно утановить FairRoot и FairSoft. Сборка FairSoft, FairRoot из исходных кодов – очень ресурсоемкий процесс, который к тому же порядка 10ГБ свободного пространства на диске. Поэтому рекомендуем собрать FairSoft и FairRoot на реальном компьютере с той же версией операционной системы, а затем перенести их на виртуальную машину.

Сборка пакета FairSoft и FairRoot

Чтобы установить собрать пакеты, которые легко будет перенести на виртуальную машину, нужно немного отклониться от инструкции.

0. Предварительные требования

apt-get install cmake cmake-data g++ gcc gfortran \
build-essential make patch sed libx11-dev libxft-dev \
libxext-dev libxpm-dev libxmu-dev libglu1-mesa-dev \
libgl1-mesa-dev ncurses-dev curl bzip2 gzip unzip tar \
subversion git xutils-dev flex bison lsb-release \
python-dev libc6-dev-i386 libxml2-dev wget libssl-dev

Дополнительно нужно установить libcurl-dev (в Убунту – libcurl4-gnutls-dev)

1. Установка FairSoft

FairSoft – это готовый скрипт, устанавливающий набор необходимых программ: ROOT5/6, Geant4, Pythia8 и т.п.

Клонируем только файлы неободимого релиза (тега – в терминологии git) в директорию fairsoft_mar15p2.

export TAG=mar15p2
git clone --branch $TAG --depth 1 https://github.com/FairRootGroup/FairSoft fairsoft_$TAG
cd fairsoft_$TAG
sudo mkdir -p /opt/fair/fairsoft.$TAG
sudo chgrp -R users /opt/fair/fairsoft.$TAG
sudo chmod g+ws /opt/fair/fairsoft.$TAG
time ./configure.sh
<< Отвечаем цифрами, а когда спросят path:, указываем /opt/fair/fairsoft.mar15p2 >>

2. Установка FairRoot и сборка пакета

Собираем мартовскую версию FairRoot:

export SIMPATH=/opt/fair/fairsoft.mar15p2/
ls $SIMPATH
git clone --branch v-15.03a --depth 1 https://github.com/FairRootGroup/FairRoot fairroot_15.03a
cd fairroot_15.03a/
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/opt/fair/fairroot15.03a ../
make -j 8 #число процессоров в системе
<< При сборке следим, чтобы системная память не переполнялась. Если система "ушла в swap", останавливаем make нажатием Ctrl-C и перезапускаем с меньшим числом процессов. >>
rm -r /opt/fair/fairroot15.03a
sudo checkinstall

Отвечаем на вопросы checkinstall:
0 - Maintainer: [ ]
1 - Summary: [ Fairroot custom built. ]
2 - Name: [ fairroot-15.03a ]
3 - Version: [ 0 ]
4 - Release: [ 1 ]
5 - License: [ GPL ]
6 - Group: [ checkinstall ]
7 - Architecture: [ amd64 ]
8 - Source location: [ https://github.com/FairRootGroup/FairRoot ]
9 - Alternate source location: [ ]
10 - Requires: [ ]
11 - Provides: [ fairroot15 ]
12 - Conflicts: [ ]
13 - Replaces: [ ]
. >>

Cборка pandaroot

Переносим fairsoft.tar.gz и fairroot…deb на виртуальную машину.

Распаковываем fairsoft:

sudo tar -xfzf fairsoft.tar.gz -C /

Устанавливаем fairroot:

sudo dpkg -i fairroot*.deb

Скачиваем и собираем pandaroot:

export FAIRROOTPATH=/opt/fair/fairroot15.03a/
export SIMPATH=/opt/fair/fairsoft.mar15p2/
svn co https://subversion.gsi.de/fairroot/pandaroot/release/mar15 pandaroot_mar15
cd pandaroot_mar15
mkdir build
cd build
cmake ../
make -j 8 # число процессоров виртуальной машины
<< если для сборки не хватает оперативной памяти (машина "уходит в swap"), останавливаем make и запускаем с меньшим числом процессов. >>