Как установить 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

В этой статье мы покажем, как установить и настроить 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.service

sysctl -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.conf

cat << /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
EOF

systemctl 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

Как установить сканер уязвимостей GVM на Ubuntu 20.04

Как установить сканер уязвимостей GVM на Ubuntu 20.04

Переходим на Ubuntu

Как настроить 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, но если этого пакета нет, его можно установить командой:


Игровой режим в Lutris

В открывшемся окне перейдите на вкладку System options, установите флажок Show advanced options в нижней части, а затем введите gamemoderun в поле Command prefix.

Все работы на нашем сервере мы будем производить под учётной записью, имеющей привилегии sudo . Также, на нашем сервере установлен и настроен брандмауэр UFW .

Установка PostgreSQL

Поскольку PostgreSQL устанавливается из стандартных репозиториев Ubuntu, для запуска установки подключитесь к вашему серверу под учётной записью, входящей в группу sudo , и наберите в командной строке:

После завершения установки вы можете убедиться, что служба PostgreSQL активна. Для чего в командной строке наберите:

Проверка активности PostgreSQL - как установить PostgreSQL и pgAdmin4 в Ubuntu 20.04

Также, посмотрите, включена ли служба:

Проверка запуска PostgreSQL - как установить PostgreSQL и pgAdmin4 в Ubuntu 20.04

И наконец, вы можете увидеть статус службы PostgreSQL:

Проверка статуса PostgreSQL - как установить PostgreSQL и pgAdmin4 в Ubuntu 20.04

После чего, убедитесь, что PostgreSQL-сервер готов принимать подключения от клиентов:

Проверка готовности PostgreSQL - как установить PostgreSQL и pgAdmin4 в Ubuntu 20.04

Создание базы данных в PostgreSQL

Чтобы создать новую базу данных, вы должны получить доступ к программной оболочке PostgreSQL. Во-первых, подключитесь к системе с помощью учётной записи postgres :

Подключение пользователем postgres

Подключившись, выполните команду psql :

Запуск команды psql

Добавление пользователя

Следующая команда создаст базу данных, которую мы назовём, например, bobdb :

Создание базы данных

Теперь, назначьте своему пользователю все права сразу на вашу базу данных. В нашем примере это будет выглядеть так:

Назначение пользователю прав

Чтобы покинуть оболочку, наберите:

Выход из оболочки

И теперь, можно отключить от системы пользователя postgres :

Отключение пользователя 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:

Работа скрипта setup-web.sh

В процессе установки скрипт перезапустит службу Apache2 для того, чтобы вступили в силу произведённые изменения.

После того, как скрипт закончит свою работу, вам нужно будет добавить разрешение для Apache2 на доступ через брандмауэр. Чтобы сделать это, наберите:

Запуск брандмауэра UFW

Убедитесь, что служба Apache2 включена в список разрешённых на брандмауэре вашего сервера:

Проверка статуса брандмауэра UFW

Настройка доступа через веб-интерфейс

Чтобы получить доступ к веб-интерфейсу pgAdmin4, откройте браузер и введите адрес в строке навигации:

После этого вы увидите страницу для подключения к pgAdmin4. Для входа используйте адрес электронной почты и пароль, который вы вводили при работе скрипта setup-web.sh :

В случае успешной авторизации, вы попадёте на панель веб-приложения pgAdmin4. Там, вы можете подключиться к своему серверу PostgreSQL, нажав на ярлык Add New Server:

Стартовая страница pgAdmin4

Далее, заполните данные нового сервера на закладке General и перейдите на закладку Connection :

Добавление сервера

Добавление сервера - как установить PostgreSQL и pgAdmin4 в Ubuntu 20.04

Если введённые учётные данные корректны, вы попадёте в панель управления pgAdmin4. Здесь, вы даже можете найти ту базу данных, которую вы создавали при настройке PostgreSQL. В нашем примере это была база данных bobdb .

Панель управления pgAdmin4 - как установить PostgreSQL и pgAdmin4 в Ubuntu 20.04

Таким образом, мы установили СУБД PostgreSQL, создали там учётную запись, базу данных и добавили созданному пользователю набор полномочий по отношению к созданной базе. После чего, мы подключились к СУБД PostgreSQL при помощи веб-интерфейса pgAdmin4. Основой всего нам послужил виртуальный выделенный сервер (VPS), работающий под управлением операционной системы Ubuntu 20.04.

Читайте также: