====== Изменение шаблона контейнера 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 ../ Конечно же, приведенные манипуляции носят академический, не прикладной характер. Но, используя эти приёмы можно легко перейти к реальным, насущным задачам.