====== Изменение шаблона контейнера LXC ======
Иногда требуется немного изменить кофигурацию контейнера LXC под свои нужды. Устанавливаем и контейнер в proxmox обычным способом. Вносим необходимые изменения через консоль Proxmox в контейнер, обновляем ОСь, включаем root в ssh, ставим время на Москву и т.п.
===== Помощь в тестировании =====
# вызов команды в контейнере
pct exec 2001 "sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/g' /etc/ssh/sshd_config"
===== Для Debian - подобных систем =====
# Для Debian - подобных систем
#
# Обновляем ОСь
apt update && apt upgrade -y
# Включаем root в ssh
#
sed -i 's/PermitRootLogin Prohibit-RootLogin/PermitRootLogin yes/' /etc/ssh/sshd_config
# Ставим время на Москву
#
echo "Europe/Moscow" | tee /etc/timezone
dpkg-reconfigure --frontend noninteractive tzdata
# Ставим нужные локали, включаем великий и могучий по-дефолту
#
sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && \
sed -i -e 's/# ru_RU.UTF-8 UTF-8/ru_RU.UTF-8 UTF-8/' /etc/locale.gen && \
echo 'LANG="ru_RU.UTF-8"'>/etc/default/locale && \
dpkg-reconfigure --frontend=noninteractive locales && \
update-locale LANG=ru_RU.UTF-8
# Очищаем кеши
#
apt clean all
rm -fr /var/cache/*
# Очищаем историю команд
#
history -c
===== Для RedHat систем =====
# Для RedHat - подобных систем
#
yum update && yum upgrade -y
yum install openssh-server
# Включаем root в ssh
#
sed -i 's/PermitRootLogin Prohibit-RootLogin/PermitRootLogin yes/' /etc/ssh/sshd_config
# Включаем и стартуем SSH
#
systemctl enable sshd
systemctl restart sshd
# Ставим время на Москву
timedatectl set-timezone Europe/Moscow
#
yum clean all
rm -fr /var/cache/*
history -c
===== Манипуляции на хостовой машине=====
После этих манипуляций можно выключить виртуалку, дальнейшие действия проводим в консоли хостовой машины.
# Монтируем тестовую виртуалку, при монтировании хост сообщит, куда он замонтировал ее.
#
pct mount 12455
# mounted CT 12455 in '/var/lib/lxc/12455/rootfs'
# Копируем данные в какую-нибудь директорию поближе к кеш исходных шаблонов
# Для этого я создам директорию для манипуляций..
#
mkdir /var/lib/vz/template/cache/os; cd /var/lib/vz/template/cache/os
cp -r /var/lib/lxc/12455/rootfs/* .
#
rm -fr ./dev
rm -fr ./proc
rm -fr ./stat
rm -fr ./var/spool/*
rm -fr ./sys/*
pct unmount 12455
# tar-им архив и переносим его выше, где из него уже можно будет установить ОСь
# изменениями
tar cfz alpine-3.18-default_amd64.tar.gz *
mv alpine-3.18-default_amd64.tar.gz ../
Конечно же, приведенные манипуляции носят академический, не прикладной характер. Но, используя эти приёмы можно легко перейти к реальным, насущным задачам.