Sergey Chulanov
My notes to remember

Java(war) + tomcat + nexus

Quick start with Spring Boot here

Wep app (war):

# Install maven and export bin
export PATH=$PATH:/opt/maven/apache-maven-3.8.7/bin

MAVEN_APP_TYPE=maven-archetype-webapp \
  && APP_GROUP=app.awesome.my \
  && APP_NAME=myawesomeapp

mvn archetype:generate \
        -DgroupId="${APP_GROUP}" \
        -DartifactId="${APP_NAME}" \
        -DarchetypeArtifactId="${MAVEN_APP_TYPE}" \
        -DarchetypeVersion=1.4 \
        -DinteractiveMode=false

cd "${APP_NAME}"

sed -i "s/World/from ${APP_NAME}/g" src/main/webapp/index.jsp

mvn package \
	&& ls target/"${APP_NAME}".war

docker run -it --rm -p 8888:8080 --name tomcat9 -d tomcat:9.0 \
	&& docker cp target/"${APP_NAME}".war tomcat9:/usr/local/tomcat/webapps \
	&& sleep 10 \
	&& curl "http://localhost:8888/${APP_NAME}/"
<html>
<body>
<h2>Hello from myawesomeapp!</h2>
</body>
</html>

Nexus.
Run nexus with podman:

Update Alternatives

| Ubuntu 22.04 | update-alternatives

Используйте приведённую команду, для просмотра всех вариантов update-alternatives

update-alternatives --get-selections
awk                            auto     /usr/bin/mawk
builtins.7.gz                  auto     /usr/share/man/man7/bash-builtins.7.gz
pager                          auto     /bin/more
rmt                            auto     /usr/sbin/rmt-tar
which                          auto     /usr/bin/which.debianutils

update-alternatives на примере clang.

При установке на данный момент устанавливается 14 версия по-умолчанию:

$ clang -v 2>&1 | head -1   
Ubuntu clang version 14.0.0-1ubuntu1

Допустим, понадобилась версия 13, установим её в систему:

Задание умолчаний, для установки deb-пакета

Задание умолчаний, для установки deb-пакета:

  • debconf-get-selections - Команда выводит содержимое базы данных debconf
  • debconf-set-selections - Команда может быть использована для автоматической настройки ответов из базы данных debconf или для изменения имеющихся ответов.
  • debconf-communicate - Команда позволяет обращаться к debconf из командной строки.
  • debconf-show - Команда позволяет выполнить запрос к базе данных debconf различными способами.

Подготовка:

apt update -y
apt install debconf-utils

Установим целевой пакет и ответим на вопросы. При установке видно, что выбираем для пакета tzdata:

apt install libgtk-3-0

Configuring tzdata
------------------

Please select the geographic area in which you live. Subsequent configuration questions will narrow
this down by presenting a list of cities, representing the time zones in which they are located.

  1. Africa      4. Australia     7. Atlantic Ocean  10. Pacific Ocean       13. None of the above
  2. America     5. Arctic Ocean  8. Europe          11. System V timezones
  3. Antarctica  6. Asia          9. Indian Ocean    12. US
Geographic area: 8

Please select the city or region corresponding to your time zone.

  1. Amsterdam   12. Büsingen    23. Kiev        34. Moscow      45. Saratov     56. Vatican
  2. Andorra     13. Chisinau     24. Kirov       35. Nicosia     46. Simferopol  57. Vienna
  3. Astrakhan   14. Copenhagen   25. Lisbon      36. Oslo        47. Skopje      58. Vilnius
  4. Athens      15. Dublin       26. Ljubljana   37. Paris       48. Sofia       59. Volgograd
  5. Belfast     16. Gibraltar    27. London      38. Podgorica   49. Stockholm   60. Warsaw
  6. Belgrade    17. Guernsey     28. Luxembourg  39. Prague      50. Tallinn     61. Zagreb
  7. Berlin      18. Helsinki     29. Madrid      40. Riga        51. Tirane      62. Zaporozhye
  8. Bratislava  19. Isle of Man  30. Malta       41. Rome        52. Tiraspol    63. Zurich
  9. Brussels    20. Istanbul     31. Mariehamn   42. Samara      53. Ulyanovsk
  10. Bucharest  21. Jersey       32. Minsk       43. San Marino  54. Uzhgorod
  11. Budapest   22. Kaliningrad  33. Monaco      44. Sarajevo    55. Vaduz
Time zone: 34

Отсортируем наши ответы, при установке libgtk-3-0 было выбрано Moscow и Europe:

debconf-get-selections | grep Moscow -C1
# Time zone:
# Choices: Amsterdam, Andorra, Astrakhan, Athens, Belfast, Belgrade, Berlin, Bratislava, Brussels, Bucharest, Budapest, Büsingen, Chisinau, Copenhagen, Dublin, Gibraltar, Guernsey, Helsinki, Isle of Man, Istanbul, Jersey, Kaliningrad, Kiev, Kirov, Lisbon, Ljubljana, London, Luxembourg, Madrid, Malta, Mariehamn, Minsk, Monaco, Moscow, Nicosia, Oslo, Paris, Podgorica, Prague, Riga, Rome, Samara, San Marino, Sarajevo, Saratov, Simferopol, Skopje, Sofia, Stockholm, Tallinn, Tirane, Tiraspol, Ulyanovsk, Uzhgorod, Vaduz, Vatican, Vienna, Vilnius, Volgograd, Warsaw, Zagreb, Zaporozhye, Zurich
tzdata	tzdata/Zones/Europe	select	Moscow

Из вывода команды тоже видно, что интерактивно выбирать значения пришлось для пакета tzdata

Ubuntu as a Gateway

Tested on: Ubuntu 20.04

Обозначения:

  • $ timedatactl - запуск от пользователя
  • root> timedatactl - запуск от суперпользователя
  • some text - вывод программы
  • # - комментарий
  • ... - пропуск не нужной информации

Сервер времени chrony

Установка часового пояса

$ sudo timedatectl status
$ sudo timedatectl list-timezones
$ sudo timedatectl set-timezone Europe/Moscow
$ ls -l /etc/localtime
lrwxrwxrwx 1 root root 35 апр  6 19:00 /etc/localtime -> ../usr/share/zoneinfo/Europe/Moscow

Установка и настройка chrony

Установим:

Обновление интернет-магазина shopware.

| Ubuntu 20.04 | php5.6 | php7.4 | apache24 | mariadb 10.6 |

Переезд shopware 4 со старого хостинга, где отстутствует поддержка php7.4. Обновление на shopware 5.

Так как на старом хостинге нет поддержки php7.4, то придётся перенести базу данных и файлы на ноду, где установлена php5.6, а затем обновиться до php7.4.

Я уже подготовил данные:

  • скачал файлы со старого хостинга
  • сделал дамп базы MySQL через phpmyadmin.

Первым делом нужно просто перенести текущую версию интернет-магазина shopware 4. Для этого подготовим сервер.

Добавление дополнительного пространства к виртуальному диску.

| Ubuntu 20.04 | lvm | ext4 | libvirtd | virsh |

Чтобы начать нужно убедиться, что не создано снапшотов этой виртуалки, либо удалить все созданные.

$ sudo virsh snapshot-list --domain ubuntu20.04
$ sudo virsh snapshot-delete --domain ubuntu20.04 --snapshotname before3sep

Увеличим объём виртуального диска.

Необходимо определить расположение диска:

$ sudo virsh domblklist --domain ubuntu20.04

Добавим 10G: