Содержание

Изменение шаблона контейнера 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 ../

Конечно же, приведенные манипуляции носят академический, не прикладной характер. Но, используя эти приёмы можно легко перейти к реальным, насущным задачам.