Repository 32bit  Forum
Repository 64bit  Wiki

Creare slackware-install-dvd alleggerito: differenze tra le versioni

Da Slacky.eu.
(Requisiti)
(Download)
Riga 10: Riga 10:
= Download =
= Download =
[http://stiiv.netsons.org/modules/wfdownloads/singlefile.php?cid=1&lid=8 slackware-install-dvd_lite-v1.0 (home)]
+
[http://stiiv.netsons.org/modules/wfdownloads/singlefile.php?cid=1&lid=8 slackware-install-dvd_lite-v2.0 (home)]
= Script =
= Script =

Versione delle 13:41, 30 gen 2009

Indice

Descrizione

Con questo script si può creare una iso con dimensioni ridotte per l'installazione di slackware. In pratica il trucco sta nello scaricare solo i primi tre cd (quelli necessari all'installazione), scompattarli e creare una iso con il loro contenuto.

Requisiti

WGET --> home

RSYNC --> home

MKISOFS --> home

Download

slackware-install-dvd_lite-v2.0 (home)

Script

Di seguito è riportato il codice dello script.

Versione 1.0

#!/bin/bash
#
# Questo script scarica i primi tre cd di slackware (necessari per una
# corretta installazione) e crea l'immagine iso da masterizzare su dvd
#
# Script creato il 28/1/2009 da Ansa89 (avrei dovuto studiare analisi...)

# Funzione per controllare le dipendenze
check_dep() {

        # Controllo se wget e' installato
        if [ -z "$(which wget)" ]; then
                echo
                echo "Devi avere WGET installato per usare questo script!"
                echo
                exit 1
        fi

        # Controllo se mkisofs e' installato
        if [ -z "$(which mkisofs)" ]; then
                echo
                echo "Devi avere MKISOFS installato per usare questo script!"
                echo
                exit 1
        fi

        # Controllo se lo script e' eseguito come root
        if [ "$(id -u)" == "0" ]; then
                echo
                echo "Devi eseguire questo script come utente normale!"
                echo
                exit 1
        fi
}

# Dichiarazione variabili
WHOAMI="$(whoami)"
CD_ISO_DIR="$(pwd)"
FINAL_ISO_DIR="/tmp/slackware-install-dvd/"
SLACK_URL="ftp://ftp.fu-berlin.de/unix/linux/mirrors/slackware/"
NUM="d1 d2 d3"
VERSION="12.2"

# Funzione per scaricare i tre cd
download_cd() {
        echo
        echo "Quale versione di slackware vuoi scaricare?"
        echo -ne "($VERSION)\t"
        read VER
        if [ -z "$VER" ]; then
                VER=$VERSION
        elif [ "$VER" == "current" ] || [ "$VER" == "-current" ]; then
                echo
                echo "Questo script funziona solo per il ramo STABLE"
                echo "Esco"
                echo
                exit 1
        fi
        echo "In quale cartella vuoi salvare le iso? (Usare un path assoluto!!)"
        echo -ne "($CD_ISO_DIR)\t"
        read DIR
        if [ -z $DIR ]; then
                DIR=$CD_ISO_DIR
        elif ! [ -e $DIR ]; then
                mkdir -p $DIR
        fi

        # Scarico le iso
        echo
        echo "-- Inizio dowload --"
        echo
        cd $DIR
        for cd_num in $NUM; do
                wget -c $SLACK_URL/slackware-$VER-iso/slackware-$VER-install-$cd_num.iso
        done
        echo
        echo "-- Fine download --"
        echo
}

# Funzione per scompattare le iso
extract_cd() {
        cd $DIR

        # Creo la cartella dove copiare il contenuto delle iso
        CPY_DIR="$DIR/iso_temp/"
        rm -Rf $CPY_DIR
        mkdir -p $CPY_DIR

        # Creo la cartella dove montare le iso
        mkdir ./mnt
        for cd_num in $NUM; do
                echo "Inserisci la password di root per montare la iso $cd_num"
                su -c "mount -t iso9660 -o loop \
                        slackware-$VER-install-$cd_num.iso ./mnt/ ; \
                        cp -R ./mnt/* $CPY_DIR ; \
                        umount slackware-$VER-install-$cd_num.iso"
        done
        rm -Rf ./mnt
        echo "Inserisci la password di root per settare i permessi delle cartelle"
        su -c "chown -R $WHOAMI $CPY_DIR"
}

# Funzione per creare la iso finale
final_iso() {
        cd $CPY_DIR
        echo
        echo "-- Inizio creazione iso --"
        echo
        mkisofs -o $FINAL_ISO_DIR/sackware-$VER-install-dvd.iso \
                -R -J -V "Slackware Install" -hide-rr-moved \
                -v -d -N -no-emul-boot -boot-load-size 4 -boot-info-table \
                -sort isolinux/iso.sort -b isolinux/isolinux.bin \
                -c isolinux/isolinux.boot -A "Slackware Install DVD"
        if [ "$(echo $?)" != "0" ]; then
                echo
                echo "Qualcosa non e' andato bene :-("
                echo "Esco"
                echo
                exit 1
        else
                echo
                echo "-- Fine creazione iso --"
                echo
                echo "Congratulazioni! L'immagine iso e' stata salvata in $FINAL_ISO_DIR"
                echo
        fi
}

# Controllo le dipendenze
check_dep

case "$1" in
        --all)
                download_cd
                extract_cd
                final_iso
                exit 0
                ;;

        --create)
                echo "Per quale versione di slackware vuoi creare la iso?"
                echo -ne "($VERSION)\t"
                read VER
                if [ -z "$VER" ]; then
                        VER=$VERSION
                elif [ "$VER" == "current" ] || [ "$VER" == "-current" ]; then
                        echo
                        echo "Questo script funziona solo per il ramo STABLE"
                        echo "Esco"
                        echo
                        exit 1
                fi
                echo "In quale cartella sono salvate le iso? (Usare un path assoluto!!)"
                echo -ne "($CD_ISO_DIR)\t"
                read DIR
                if [ -z $DIR ]; then
                        DIR=$CD_ISO_DIR
                elif ! [ -e $DIR ]; then
                        echo
                        echo "Path errato!"
                        echo
                        exit 1
                fi
                extract_cd
                final_iso
                exit 0
                ;;

        *)
                echo
                echo "Opzioni valide:"
                echo "$0 --all --> scarica i cd, li estrae e crea la iso"
                echo "$0 --create --> estrae i cd e crea la iso"
                echo -e "\t\t(I CD DEVONO ESSERE PRESENTI SU HD)"
                echo
                echo "Versione 1.0"
                echo "By Ansa89 (ansa89@slacky.it || http://stiiv.netsons.org)"
                echo
                exit 1
                ;;
esac
#EOF
  • Autore: Ansa89

Feedback

Per commenti e suggerimenti inviatemi una e-mail a

ansa89[AT]slacky[DOT]it


Oppure venite sul mio sito internet

http://stiiv.netsons.org


HAVE A LOT OF FUN

Strumenti personali
Namespace

Varianti