Как установить geant4 на ubuntu
Обновлено: 04.07.2024
Пошаговое руководство по установке GEANT4, которое раньше предлагалось на этом сайте в качестве основного, не содержало фактических ошибок. Пользуясь им, GEANT4 можно установить и сейчас, однако на момент, когда оно было написано, последней версией библиотеки была 4.6.0. За полтора года изменилось довольно многое, и, в частности, официально рекомендованный разработчиками способ установки GEANT4. Скрипт Configure находился в корне дерева папок geant4 и раньше, но тогда он не работал.
Совместимость
Лучшей платформой для запуска Geant4 является Linux. Официально поддерживается еще целый список архитектур, в числе которых есть и Windows, но Linux является основной платформой разработки geant, и поэтому вероятность успешной устанвки именно в ней будет несколько выше. Нам ничего не известно о случаях запуска Geant4 в Windows, поэтому не желающих переключаться в более свободную ОС просто отсылаем к официальному руководству по установке в Windows с использованием окружения Cygwin (англ.) или к статье об установке без Cygwin, но с с экстраординарными усилиями.
На нашей машине данная команда выдает следующий текст:
Из чего следует, что версия GCC, установленная у нас — gcc 3.4.2. Geant4 нельзя установить на систему с версией gcc ниже, чем 3.0.6. В любом современно дистрибутиве Линукса это требование выполнено, так что волноваться по этому поводу нет причин.
Несколько замечаний про Ubuntu
Перед установкой Geant4 в Ubuntu надо предварительно установить несколько отсутствующих изначально пакетов:
Подготовка
Нам понадобится несколько файлов.
Математическая библиотека CLHEP
CLHEP (A Class Library for High Energy Physics) содержит базовые операции для манипуляций с векторами, матрицами, случайными числами и т. п. Содержит описание стандартных математических объектов, часто используемых в ФВЭ:
- 3-векторы и 4-векторы
- действия с матрицами
- геометрические объекты и преобразования
- генераторы случайных чисел
- система единиц и основные физические константы
Собственно, Geant4
Теперь нужно загрузить исходный код Geant4. Архив скачивается по уже известному адресу: http://geant4.web.cern.ch/geant4/support/download.shtml. Для скачивания нужно нажать под заголовком Source Files на кнопку слева от надписи "GNU or Linux tar format, compressed using gzip".
Data files
Если мы собираемся использовать процессы G4LowEnergy или G4HP, нам также понадобятся пять библиотек с базами данных, доступных на той же странице под заголовком Data files. Их нужно точно так же скачать, нажав на соответствующие кнопки.
Установка
В дальнейшем полагаем, что у нас есть директория
/geantfiles/ в которую были загружены все перечисленные выше файлы.
CLHEP
Будем устанавливать библиотеку в директорию /usr/local/CLHEP .
и выполняем следующие команды:
Далее переходим в режим администратора
Здесь мы отключили компиляцию динамических библиотек по причинам, которые станут ясны несколько позднее.
Geant4: распаковка
Мы будем устанавливать Geant в директорию /usr/local/geant4 . Сначала мы распакуем архив в эту папку, а потом запустим скрипт Configure, который сделает всё остальное.
Теперь пишем "mv ge" и нажимаем табуляцию. Строчка развернётся до
geant4.8.2.p01 -- так называлась папка внутри архива. Дописываем через пробел "geant4" и нажимаем Enter:
Тем самым мы переименовываем её в geant4 , как и хотели.
Data files
Возвращаемся в папку с файлами.
Распаковываем Data files:
Geant4: скрипт Configure
Первым важным вопросом будет вопрос о платформе:
Следующий вопрос касается портабельности сгенерированных Configure скриптов, которые будут в дальнейшем использоваться при компиляции программ на основе Geant.
На этот вопрос стоит ответить y, если вы планируете использовать одну и ту же установку Geant4 по сети, или, скажем, просто захотите скопировать его с одной машины на другую. На уже откомпилированные программы ограничения ответа n не распространяются, но и ответ y вопреки утверждениям Configure не даст сколько-нибудь заметного падения скорости компиляции. Отвечаем y и нажимаем Enter
Где находится исходный код Geant. Ответ по умолчанию подходит.
Куда будет установлен Geant4. Так как мы планируем устанавливать его в ту же самую директорию, куда и распаковали, то соглашаемся с предложенным вариантом (нажатием Enter)
Configure любезно предлагает скопировать все заголовочные файлы Geant4 в одну папку. В принципе это может оказаться в один момент очень удобно, так что отвечаем y.
Нажимаем Enter, ибо в предыдущем пункте мы распаковали файлы как раз в указываемое место.
Пишем "/usr/local/CLHEP" и жмём Enter.
Жмём Enter.
На i386 динамические библиотеки приблизительно на 20—30% медленнее статических, поэтому принимаем предложение по умолчанию не собирать динамических библиотек.
Здесь вам предстоит выбрать, компилировать Geant в огромное количество (
150) маленьких «гранулярных» библиотек, либо десять, но больших. Разницы в скорости работы Geant это не дает, однако, на медленных старых машинах с небольшим количеством памяти программы на Geant4 компилируются значительно быстрее при использовании гранулярных библиотек. Однако этот подход привязывает вас к собственной системе Geant4 для нахождения зависимостей и сборки, что может оказаться неудобным в каких-то случаях. На Athlon 1700+ с 512 Мб памяти использование глобальных (больших) библиотек никак не замедляет работу с Geant4. Итак, y.
Нужно ли собирать гранулярные библиотеки. Они только занимают место, так что отвечаем n.
Ни в коем случае не отвечаем положительно на этот вопрос! Если вы соберете Geant4 в отладочном режиме, то ваши бинарники будут занимать по 300 Мб, а при их компоновке (то есть, каждый раз, когда вы будете модифицировать свою программу для симуляции) система будет на полчаса уходить в своп.
Далее четыре вопроса, на которые отвечаем принимая предложение по умолчанию. Первый спрашивает, отключить ли все встроенные средства взаимодействия с программой во время выполнения, в том числе и командный интерпретатор. Второй и третий относятся к графическим интерфейсам на основе Xaw и Motif — если они вам нужны, то вы вряд ли сейчас выполняете по шагам действия, следуя данному руководству. Последний предлагает полностью отключить визуализацию. Кому-то может и понадобиться, но не нам. Мы — большинство.
Визуализация геометрии и траекторий посредством OpenGL. По всей видимости оно вам понадобится, поскольку это основной, самый удобный и самый быстрый драйвер визуализации. Отвечаем y.
То же самое, но с использованием Motif. Cкрытые преимущества данного драйвера мне опять-таки неизвестны.
DAWN это достаточно удобная система, которая позволяет генерировать картинки визуализации в формате .ps и .eps. Работает она в отличие от OpenGL, режиме офф-лайн, то есть, вы сначала запускаете свою программу, которая после завершения симуляций, генерирует файл в формате DAWN, который затем обрабатывается другой специальной программой Fukui Renderer, и только потом у вас на руках остается векторная иллюстрация. Но тем не менее, повторюсь, достаточно удобно и красиво.
OpenInventor — это библиотеки и софт для трехмерного моделирования от фирмы SGI. Он позволяет всячески вертеть и обозревать вашу модель прямо во время выполнения программы, все это с аппаратным ускорением. Но без шансов, что он у вас установлен, поэтому отвечаем отрицательно, по умолчанию.
Что такое RayTracerX, я еще не знаю, эта фишка появилась в g4 только начиная с восьмой версии, а вот VRML вам очень может понадобиться. Хотя бы для того, чтобы импортировать модели Geant в 3D Max, или для отлаживания геометрии.
Здесь нужно указать, где именно у вас установленны библиотеки OpenGL. На большинстве систем они именно там, куда указывает путь, предложенный Configure, в папке /usr , так что, принимаем этот вариант.
На эти, последние, три вопроса следует отвечать нажатием Enter. Первый из них выясняет, желаете ли вы использовать модуль G3toG4, который позволяет использовать существующий фортрановский код для GEANT3 в ваших программах на Geant4. И снова, те кому это может быть интересно, вряд ли читают этот текст.
О да. Готово. Нажимаем Enter и ждем несколько часов.
После чая
Если компиляция завершится успешно, то последним шагом в установке GEANT4 с вашей стороны будет команда
Наконец, добавляем в файлик
/.bash_profile ссылочку на сгенерированный Configure скрипт env.sh:
Если не заработает с .bash_profile (шансы 50/50), то вызов env.sh нужно поместить в файл
Прогоняем его, дабы всё заработало уже сейчас:
Если вы все-таки указали ему, что хотели бы использовать GEANT в виде динамических библиотек, то, возможно, вам понадобится указать их месторасположение динамическому линкеру. Для этого можно сделать, например, так:
Проверка
Перейдём в папку с примером:
Скомпилируем и запустим пример.
На другом окне должна появиться кривая зелёная линия. Если она появилась, то всё прошло успешно. От души поздравляю!
Greenbone Vulnerability Manager и OpenVAS широко используются многими людьми в мире, включая экспертов по безопасности и обычных пользователей. Чтобы запустить тесты безопасности компьютеров, используйте свою собственную базу данных известных слабостей и эксплойтов.
сканер уязвимостей GVM
В этой статье мы покажем, как установить и настроить GVM на Ubuntu 20.04. Чтобы проверить, что ваши серверы защищены от атак.
Базовая Система
Мы установим Greenbone Vulnerability Manager 20.08 с базовой установкой системных пакетов на Ubuntu 20.04.
Предварительно
Сначала установите следующие пакеты зависимостей.
Создайте пользователя GVM
Вставьте следующие команды в терминал, чтобы создать пользователя gvm. Данный пользователь будет использоваться в процессе установки и компиляции:
Теперь войдите в систему как пользователь gvm.
Теперь создайте папку src и Git клонируйте исходный код GVM:
Установите gvm-libs (GVM)
На этом шаге мы скомпилируем gvm-libs из github:
cd gvm-libs & &
export PKG_CONFIG_PATH=/opt/gvm / lib/pkgconfig:$PKG_CONFIG_PATH & &
mkdir build & &
cd build & &
cmake-DCMAKE_INSTALL_PREFIX=/opt / gvm .. & &
make & &
make doc & &
make install & &
cd / opt/gvm / src
Установка openvas-smb (GVM)
Теперь войдите в каталог openvas-smb и скомпилируйте исходный код:
cd openvas-smb & &
export PKG_CONFIG_PATH=/opt/gvm / lib/pkgconfig:$PKG_CONFIG_PATH & &
mkdir build & &
cd build/ & &
cmake-DCMAKE_INSTALL_PREFIX=/opt / gvm .. & &
make & &
make install &&
cd / opt/gvm / src
Установите сканер (GVM)
Как и в предыдущих шагах, теперь мы создадим и установим сканер openvas:
cd openvas & &
export PKG_CONFIG_PATH=/opt/gvm / lib/pkgconfig:$PKG_CONFIG_PATH & &
mkdir build & &
cd build/ & &
cmake-DCMAKE_INSTALL_PREFIX=/opt / gvm .. & &
make & &
make doc & &
make install & &
cd / opt/gvm / src
Исправьте redis для установки OpenVAS (root)
Теперь мы должны выйти из текущего сеанса, чтобы вернуться к привилегированному пользователю, набрав в терминале ‘exit’.
теперь вставьте следующий код в терминал:
export LC_ALL="C" &&
ldconfig &&
cp /etc/redis/redis.conf /etc/redis/redis.orig &&
cp /opt/gvm/src/openvas/config/redis-openvas.conf /etc/redis/ &&
chown redis:redis /etc/redis/redis-openvas.conf &&
echo "db_address = /run/redis-openvas/redis.sock" > /opt/gvm/etc/openvas/openvas.conf &&
systemctl enable redis-server@openvas.service &&
systemctl start redis-server@openvas.servicesysctl -w net.core.somaxconn=1024 &&
sysctl vm.overcommit_memory=1 &&
echo "net.core.somaxconn=1024" >> /etc/sysctl.conf &&
echo "vm.overcommit_memory=1" >> /etc/sysctl.confcat << /etc/systemd/system/disable-thp.service
[Unit]
Description=Disable Transparent Huge Pages (THP)
[Service]
Type=simple
ExecStart=/bin/sh -c "echo 'never' > /sys/kernel/mm/transparent_hugepage/enabled && echo 'never' > /sys/kernel/mm/transparent_hugepage/defrag"
[Install]
WantedBy=multi-user.target
EOFsystemctl daemon-reload &&
systemctl start disable-thp &&
systemctl enable disable-thp &&
systemctl restart redis-server
Добавьте путь /opt/gvm/sbin в переменную secure_path:
Разрешить пользователю, работающему под управлением ospd-openvas, запускаться с правами root:
echo "gvm ALL = NOPASSWD: /opt/gvm / sbin/openvas" > /etc/sudoers.d/gvm
echo "gvm ALL = NOPASSWD: /opt/gvm/sbin/gsad" > > > /etc/sudoers.d/gvm
Обновление NVT (GVM)
Теперь мы запустим greenbone-nvt-sync для обновления определений файлов уязвимостей.
Сначала вернитесь к сеансу пользователя GVM:
И выполните следующие действия:
Если вы получаете ошибки тайм-аута, то, скорее всего, на вашем пути стоит брандмауэр. Обязательно откройте TCP-порт 873. Если вы получаете ошибки отказа в подключении, подождите некоторое время и повторите попытку.
Это займет очень много времени, так что вам придется набраться терпения.
Загрузка плагинов в redis с помощью OpenVAS (GVM)
Это может занять некоторое время в зависимости от вашего оборудования и не даст вам обратной связи при выполнении команды.
Примечание: Если вы получаете отсутствующие ошибки библиотеки, введите следующее (по одной строке за раз):
Менеджер установки (GVM)
Теперь войдите в каталог gvmd для сборки и установки Greenbone Manager:
cd /opt/gvm/src/gvmd &&
export PKG_CONFIG_PATH=/opt/gvm/lib/pkgconfig:$PKG_CONFIG_PATH &&
mkdir build &&
cd build/ &&
cmake -DCMAKE_INSTALL_PREFIX=/opt/gvm .. &&
make &&
make doc &&
make install &&
cd /opt/gvm/src
Настройка PostgreSQL (Sudoers User)
exit
cd /
sudo -u postgres bash
export LC_ALL="C"
createuser -DRS gvm
createdb -O gvm gvmd
psql gvmd
create role dba with superuser noinherit;
grant dba to gvm;
create extension "uuid-ossp";
create extension "pgcrypto";
exit
exit
Исправьте сертификаты (GVM)
Введите одну строку одновременно:
Создать администратора пользователя (GVM)
Это создаст начальное имя пользователя и пароль. Не забудьте изменить его позже.
Настройка и обновление каналов (GVM)
Вы должны получить что-то вроде этого:
Используйте строку рядом с администратором в следующей команде:
Таким образом, пример команды будет следующим:
Выполните следующие три команды по одной строке за раз. Если вы получаете ошибки отказа в соединении, попробуйте выполнить команду еще раз, пока она не завершится успешно. Эти команды также займут некоторое время.
Установите gsa (GVM)
Снова, как и в предыдущих шагах, введите папку gsa и скомпилируйте исходный код gsa:
cd /opt/gvm/src/gsa &&
export PKG_CONFIG_PATH=/opt/gvm/lib/pkgconfig:$PKG_CONFIG_PATH &&
mkdir build &&
cd build/ &&
cmake -DCMAKE_INSTALL_PREFIX=/opt/gvm .. &&
make &&
make doc &&
make install &&
touch /opt/gvm/var/log/gvm/gsad.log &&
cd /opt/gvm/src
Настройка OSPD-OpenVAS
Установите virtualenv (GVM)
Примечание: возможно, вам придется изменить –python python3.8, чтобы соответствовать установленной версии python.
Установка ospd (GVM)
Мы установим ospd с помощью pip installer:
Установка ospd-openvas (GVM)
Опять же для ospd-openvas мы будем использовать установщик pip с пакетом, который мы клонировали из github:
Создание сценариев запуска (root)
Сначала введите exit to loguout to root session, а затем вставьте в терминал следующее:
Включите и запустите службы (root)
Теперь мы включим и запустим сервисы GVM, также как пользователь root:
systemctl daemon-reload & &
systemctl enable gvmd & &
systemctl enable gsad & &
systemctl enable ospd-openvas & &
systemctl start gvmd & &
systemctl start gsad & &
systemctl start ospd-openvas
Проверьте сервисы (root)
Убедитесь, что все три службы запущены (одновременно введите одну строку).
systemctl status gvmd
systemctl status gsad
systemctl status ospd-openvas
Изменить сканер по умолчанию (GVM)
Переключитесь обратно на сеанс GVM.
Во-первых, получить UUID сканера, который имеет гнездо (ospd. sock)
Затем измените сканер:
Вот и все. Теперь вы можете войти в веб-интерфейс GVM.
сканер уязвимостей GVM
Как установить сканер уязвимостей GVM на Ubuntu 20.04
Переходим на Ubuntu
Как настроить Ubuntu для игр
С ростом популярности Ubuntu в частности и Linux в целом всё более доступными становятся игры на Linux, даже те, которые официально поддерживаются только на Windows. Сегодня мы расскажем, как превратить машину с Ubuntu 20.04 в игровую станцию.
Перед началом необходимо выполнить обновление всех компонентов системы, для этого выполните:
При необходимости (если попросит система), перезагрузите компьютер по завершении выполнения этих команд.
Шаг 1. Установка драйверов видеокарты
Сначала нужно установить проприетарные драйвера видеокарты с поддержкой GPU. Тип драйвера будет зависеть от установленной видеокарты.
Для видеокарт nVidia:
Добавьте репозиторий с драйверами и установите драйвера и библиотеку Vulkan:
По завершении работы команд перезагрузите компьютер.
Добавьте возможность устанавливать 32-разрядные приложения и установите драйвера видеокарты и библиотеку Vulkan для них:
По завершении работы команд перезагрузите компьютер.
Шаг 2. Установка последней версии Wine
Поскольку большинство игр, к сожалению, продолжают выпускаться только на Windows, необходимо установить эмулятор Wine. Для этого выполняем следующие команды:
После установки Wine перезагрузка не требуется.
Шаг 3. Установка последней версии Lutris
Игровой клиент Lutris позволяет автоматизировать сценарии установки игр под Linux. Для его установки выполните следующие команды:
Шаг 4. Установка и настройка Steam
Если вы игрок, вам не нужно объяснять, что такое Steam и зачем он нужен. Установить Steam в Ubuntu проще простого, для этого выполните команду:
После этого нужно будет перезапустить Steam.
Шаг 5. Включение игрового режима
В Ubuntu 20.04 появился игровой режим. Запущенное в этом режиме приложение позволяет переводить процессоры CPU и GPU в режим повышенной производительности (т.е. фактически отключает режим экономии энергии).
По умолчанию gamemode установлен в Ubuntu 20.04, но если этого пакета нет, его можно установить командой:
В открывшемся окне перейдите на вкладку System options, установите флажок Show advanced options в нижней части, а затем введите gamemoderun в поле Command prefix.
Все работы на нашем сервере мы будем производить под учётной записью, имеющей привилегии sudo . Также, на нашем сервере установлен и настроен брандмауэр UFW .
Установка PostgreSQL
Поскольку PostgreSQL устанавливается из стандартных репозиториев Ubuntu, для запуска установки подключитесь к вашему серверу под учётной записью, входящей в группу sudo , и наберите в командной строке:
После завершения установки вы можете убедиться, что служба PostgreSQL активна. Для чего в командной строке наберите:
Также, посмотрите, включена ли служба:
И наконец, вы можете увидеть статус службы PostgreSQL:
После чего, убедитесь, что PostgreSQL-сервер готов принимать подключения от клиентов:
Создание базы данных в PostgreSQL
Чтобы создать новую базу данных, вы должны получить доступ к программной оболочке PostgreSQL. Во-первых, подключитесь к системе с помощью учётной записи postgres :
Подключившись, выполните команду psql :
Следующая команда создаст базу данных, которую мы назовём, например, bobdb :
Теперь, назначьте своему пользователю все права сразу на вашу базу данных. В нашем примере это будет выглядеть так:
Чтобы покинуть оболочку, наберите:
И теперь, можно отключить от системы пользователя postgres :
Настройка клиентской аутентификации PostgreSQL
СУБД PostgreSQL использует клиентскую аутентификацию для того, чтобы решать, какая учётная запись к какой базе данных и с какого хоста может подключаться. Это определяется настройками конфигурационного файла клиентской аутентификации. В Ubuntu таким файлом является файл pg_hba.conf . Он располагается в директории /etc/postgresql/12/main/ .
Откройте этот файл для редактирования, например, с помощью текстового редактора nano :
PostgreSQL использует много типов методов клиентской аутентификации, таких как peer, ident, password или md5. Тип md5 является наиболее безопасным и рекомендуемым по причине того, что он требует от клиента использовать для аутентификации пароли с двойным md5-хешированием. Поэтому нам остаётся лишь убедиться, что в строках ниже указан именно метод md5:
Если вы произвели в конфигурационном файле какие-либо изменения, не забудьте сохранить их при закрытии файла. В nano для этого необходимо нажать Ctrl X , затем Y и Enter . После чего, перезапустите службу:
Установка pgAdmin4
Пакет pgAdmin4 не доступен для установки из официальных репозиториев Ubuntu. Поэтому мы будем устанавливать его из репозитория pgAdmin4 APT . Для этого сначала необходимо установить данный репозиторий.
Добавьте публичный ключ для репозитория и создайте его конфигурационный файл. Для чего наберите следующие команды:
Затем запустите установку pgAdmin4:
В процессе установки скрипт перезапустит службу Apache2 для того, чтобы вступили в силу произведённые изменения.
После того, как скрипт закончит свою работу, вам нужно будет добавить разрешение для Apache2 на доступ через брандмауэр. Чтобы сделать это, наберите:
Убедитесь, что служба Apache2 включена в список разрешённых на брандмауэре вашего сервера:
Настройка доступа через веб-интерфейс
Чтобы получить доступ к веб-интерфейсу pgAdmin4, откройте браузер и введите адрес в строке навигации:
После этого вы увидите страницу для подключения к pgAdmin4. Для входа используйте адрес электронной почты и пароль, который вы вводили при работе скрипта setup-web.sh :
В случае успешной авторизации, вы попадёте на панель веб-приложения pgAdmin4. Там, вы можете подключиться к своему серверу PostgreSQL, нажав на ярлык Add New Server:
Далее, заполните данные нового сервера на закладке General и перейдите на закладку Connection :
Если введённые учётные данные корректны, вы попадёте в панель управления pgAdmin4. Здесь, вы даже можете найти ту базу данных, которую вы создавали при настройке PostgreSQL. В нашем примере это была база данных bobdb .
Таким образом, мы установили СУБД PostgreSQL, создали там учётную запись, базу данных и добавили созданному пользователю набор полномочий по отношению к созданной базе. После чего, мы подключились к СУБД PostgreSQL при помощи веб-интерфейса pgAdmin4. Основой всего нам послужил виртуальный выделенный сервер (VPS), работающий под управлением операционной системы Ubuntu 20.04.
Читайте также: