#!/bin/bash # # sysmulacrum: slackware replication app # rhatto at riseup.net | gpl # TEMPLATE=${TEMPLATE:=main} # Usage: # $0 [template] $BACKUP_DIR=/$1 $DEST_DIR=/$2 if [ -z "$VERSION" ]; then VERSION="`cat $BACKUP_DIR/etc/slackware-version | awk '{ print $2 }' | sed -e 's/.0$//'`" fi if [ -z "$ARCH" ]; then ARCH="`cat $BACKUP_DIR/etc/slackware-version | awk '{ print $3 }' | sed -e 's/(//' -e 's/)//'`" fi clear echo "Esteja certo que:" echo "" echo " - Uma particao limpa esteja montada em /mnt/disco" echo " - A pasta /var/simplaret tem espaco suficiente para o desempacotamento" echo "" echo "Se essas condicoes estiverem satisfeitas, aperte ENTER; do contrario: Crtl-C" read if [ -f "/etc/simplive" ]; then # estamos no simplive export BACKUP_DIR=/backup # informa ao template onde esta o sistema atual (ou seu backup) PACKAGE_DIR=/mnt/cdrom else export BACKUP_DIR=/ PACKAGE_DIR=/phreak/apps/ if [ ! -z "$NOUPDATE" ]; then jail-commit $BACKUP_DIR $TEMPLATE fi fi ARCH=$ARCH VERSION=$VERSION ROOT=/mnt mkjail disco $TEMPLATE echo Instalando sistemas nao-intrusivos do slack.sarava.org... for pack in `find $PACKAGE_DIR/packages/slamd64/slamd64-$VERSION/ | grep -e ".tgz$"`; do ROOT=/mnt/disco upgradepkg $pack done echo "Desmontando imagens..." umount /mnt/slamd64-{1,2,3,4} &> /dev/null umount /mnt/slackware-{1,2,3,4} &> /dev/null echo "Sistema replicado em /mnt/disco." echo "Etapas adicionais:" echo " " echo "- Edite o /mnt/disco/etc/fstab" echo "- Edite a configuracao do grub e instale-o, caso necessario: grub-install --no-floppy --root-directory=/mnt/disco /dev/sda" echo "- Reinicie a maquina no novo sistema" umount /mnt/slackware-{1,2,3,4} &> /dev/null umount /mnt/slamd64-{1,2,3,4} &> /dev/null # purge package cache ARCH=$ARCH VERSION=$VERSION simplaret --purge ARCH=i386 VERSION=$SLACK_VERSION simplaret --purge