Перейти к содержанию

Установка на операционную систему Ubuntu

Для работы воркспейса на ОС Ubuntu требуется предварительная установка пакетов

Для установки пакетов нужно запустить bash скрипт с содержимым указанным ниже или выполнить эти команды последовательно:

#!/bin/bash

# Инструкция тестировалась на Ubuntu 18.04/20.04 LTS
# Требует запуск под root пользователем
# Версия: 4

# Флаг для переключения скрипта в strict mode (остановка скрипта при ошибках)
set -ex

# Обновляем информацию о пакетах
apt-get update

# Устанавливаем новые пакеты
apt-get install -y software-properties-common lxc lxc-templates bridge-utils redir tar zip unzip curl wget

Дополнительно для Ubuntu 22.04 и более поздних

/etc/default/lxc-net добавить строку:

LXC_USE_NFT="false"

После чего перезапустить службу.

systemctl restart lxc-net

Дополнительно для Ubuntu 24.04 и более поздних

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

cat /etc/apt/apt.conf.d/20auto-upgrades

И смотрим вывод.

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";
- Первый параметр отвечает за включение автоматического обновления списка пакетов. То же самое что ручное apt update. - Второй параметр это именно обновление пакетов.

Проверим дополнительно состояние службы:

systemctl status unattended-upgrades

Если она активна и включена, значит и обновление работает. Для исправления можно использовать три способа.

Отключить службу unattended-upgrades

systemctl stop unattended-upgrades
systemctl disable unattended-upgrades

Отключить обновление в файле /etc/apt/apt.conf.d/20auto-upgrades

Нужно просто исправить значение на 0 для нужного параметра. Например можно оставить обновление списка пакетов, но не обновлять сами пакеты. Для этого вносим правки.

vim /etc/apt/apt.conf.d/20auto-upgrades

Приводим его к такому виду.

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "0";

Сохраняем и после этого перезапускаем службу.

systemctl restart unattended-upgrades

Формируем список пакетов которые запрещено обновлять автоматически

Для этого вносим правки в etc/apt/apt.conf.d/50unattended-upgrades.

Пример:

vim /etc/apt/apt.conf.d/50unattended-upgrades

Добавить под Unattended-Upgrade::Package-Blacklist {

"dnsmasq-base$";
"iproute2$";
"liblxc-common$";
"nftables$";
"iptables$";
"debconf$";
"debconf-2.0$";
"libapparmor1$";
"libc6$";
"libcap2$";
"libgcc-s1$";
"liblxc1t64$";
"libseccomp2$";
"libselinux1$";

Затем перезапустить unattended-upgrades.

systemctl restart unattended-upgrades