Привет, ЛОР!
Ищу советы о том, как лучше всего сделать автоматическое развёртывание Gentoo с свежего stage3.
Пока вырисовывается такой скрипт:
#!/bin/bash
source config
set -x #echo on
mkdir -p $GI_CHROOT || exit 1
cd $GI_CHROOT || exit 1
set +x
# DOWNLOAD STAGE
STAGE3=$(wget -qO - http://distfiles.gentoo.org/releases/$GI_ARCH/autobuilds/latest-stage3-$GI_ARCH-hardened.txt | grep -v '#')
echo -e "\e[1;34mLatest stage3: \e[00;31m$STAGE3\e[00m"
ARCHIVE_NAME=`echo $STAGE3 | grep -oP "stage3.*"`
wget -vc "http://distfiles.gentoo.org/releases/$GI_ARCH/autobuilds/$STAGE3" -O $GI_CHROOT/$ARCHIVE_NAME
wget -vc "http://distfiles.gentoo.org/releases/$GI_ARCH/autobuilds/$STAGE3.DIGESTS" -O $GI_CHROOT/$ARCHIVE_NAME.DIGESTS
wget -vc "http://distfiles.gentoo.org/releases/$GI_ARCH/autobuilds/$STAGE3.CONTENTS" -O $GI_CHROOT/$ARCHIVE_NAME.CONTENTS
# CHECK FILES
echo -e "\e[1;34mCHECK FILES SHA512\e[00m"
grep -A 1 SHA512 $GI_CHROOT/$ARCHIVE_NAME.DIGESTS | grep "stage3" | sha512sum -c - || exit 1
# UNPACK
echo -e "\e[1;34mUNPACK STAGE3\e[00m"
tar --checkpoint=10000 -xjpf $ARCHIVE_NAME || exit 1
# COPY FILES
set -x
cp -L /etc/resolv.conf $GI_CHROOT/etc/resolv.conf || exit 1
# MOUNT
mount -t proc none $GI_CHROOT/proc || exit 1
mount --rbind /dev $GI_CHROOT/dev || exit 1
mount --rbind /sys $GI_CHROOT/sys || exit 1
Далее идет уже стадия chroot
#!/bin/bash
emerge-webrsync || exit 1
emerge --sync || exit 1
ln -sf /proc/self/mounts /etc/mtab
euse -E systemd
emerge -avuDN world
Вот, собственно, вопрос - а как лучше устанавливать пакеты скриптами ещё до получения загружаемой системы, в chroot?
Потому что далее я планирую управлять пакетами через puppet и puppet-portage, но до этого момента всё же надо установить несколько жизненно важных пакетов.
Как вы автоматически разворачиваете Gentoo?
P.S. Я знаю, что в случае большого количества компов следует использовать BINHOST и buildpkg в эталонном chroot или на отдельной машинке.
Отдельно хочу скастовать в тред Pinkbyte и tazhate.
Спасибо.