Script per un chroot
Moderatore: Staff
Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Re: Script per un chroot
in realta non serve una cosa come l'installer avanzato di slackware ma una cosa un po diversa:
una volta definito l'applicativo da mettere in chroot lo script si va a controllare tutte le dipendenze del pacchetto e da queste ricava poi la lista dei pacchetti base da installare .
una volta fatto questo installa questi pacchetti (serie A, ap, etc ) , le dipendenze del software finale , e poi il software da mettere in chroot.
Ok ora che lo ho scritto mi rendo conto che effettivamente hai ragione non è piu un semplice script ma un vero e propio software .
una volta definito l'applicativo da mettere in chroot lo script si va a controllare tutte le dipendenze del pacchetto e da queste ricava poi la lista dei pacchetti base da installare .
una volta fatto questo installa questi pacchetti (serie A, ap, etc ) , le dipendenze del software finale , e poi il software da mettere in chroot.
Ok ora che lo ho scritto mi rendo conto che effettivamente hai ragione non è piu un semplice script ma un vero e propio software .
-
- Linux 3.x
- Messaggi: 760
- Iscritto il: gio 7 ago 2008, 12:29
- Slackware: slackware64-current
- Kernel: 3.4.4-ck3
- Desktop: FluxBox-1.3.1
- Distribuzione: FreeBSD-8.1(amd64)
- Località: London
Re: Script per un chroot
LOL, e che è... Mica dobbiamo fare nulla di così complesso, cioè per ogni pacchetto dovremmo anadare a mo di ldd, a che ci siamo lo trasformiamo in una specie di gestore dei pacchetti di terze parti che risolve le dipendenze da solo, tipo swaret, slackyd, slapt-get... Ma ti direi comunque che non c'entra molto col compito di questo script... Del resto come dice conraid:lo script si va a controllare tutte le dipendenze del pacchetto e da queste ricava poi la lista dei pacchetti base da installare .
Codice: Seleziona tutto
upgradepkg */*.t?z
Poi la cosa diventerà troppo lunga, rispondere ad ogni domanda y ed n e magari fare tutto in uno switch case... Però bho, non saprei, sarebbe anche questa una bell'idea. Sempre meglio di tutte quelle variabili di wget alla fine...al massimo comunque si potrebbe modificare lo script per chiedere di volta in volta quale sezione scaricare ed installare (soprattutto per sezioni IMHO superflue come F, KDE, KDEI, X, XAP e Y)
- conraid
- Staff
- Messaggi: 13630
- Iscritto il: gio 14 lug 2005, 0:00
- Nome Cognome: Corrado Franco
- Slackware: current64
- Desktop: kde
- Località: Livorno
- Contatta:
Re: Script per un chroot
Offtopic: c'è un equivoco di fondo, creato dal titolo del topicmetrofox ha scritto:LOL, e che è... Mica dobbiamo fare nulla di così complesso, del resto come dice conraid:lo script si va a controllare tutte le dipendenze del pacchetto e da queste ricava poi la lista dei pacchetti base da installare .
Va benissimo, ci pensa lui e la sintassi di sh a risolvere i problemi.Codice: Seleziona tutto
upgradepkg */*.t?z
un chroot solitamente si fa per i motivi indicati da kobaiachi, non per replicare installazioni full su cui compilare pacchetti. Questa è una esigenza che capita a noi, ma normalmente si mette in chroot l'applicativo da rendere disponibile e le librerie disponibili, in modo che un eventuale "problema" sia "ingabbiato" in questa jail/root e non sull'intero sistema.
Che l'applicativo da rendere disponibile sia una Slackware full è un caso, non la regola
Solo che mancando la gestione delle dipendenze diventa anche complicato (non impossibile) mettersi a cercare i vari pacchetti da installare. I quali poi in Slackware hanno non solo le librerie, ma tutto il resto.
Per queste cose "in mia umile opinione" sono migliori altre distribuzioni
-
- Packager
- Messaggi: 2021
- Iscritto il: ven 4 giu 2010, 10:27
- Nome Cognome: Luca De Pandis
- Distribuzione: macOS/OpenBSD
- Località: Lecce/Bergamo
Re: Script per un chroot
ok allora a questo punto ottimizziamo il codice togliendo i download e installazioni frammentate..prima però vorrei capire in cosa migliorerebbe il download effettuato con rsync....perchè se come dice conraid è meglio di wget, possiamo sostituire il download manager senza problemi.
Comunque è vero per un utilizzo "classico" del chroot credo sia più conveniente usare soluzioni che avendo una gestione dei pacchetti più automatizzata permettano un uso più facile dell'ambiente di chroot.
Più che un caso, se parliamo di packagers, è una necessitàconraid ha scritto:Offtopic: Che l'applicativo da rendere disponibile sia una Slackware full è un caso, non la regola Solo che mancando la gestione delle dipendenze diventa anche complicato (non impossibile) mettersi a cercare i vari pacchetti da installare. I quali poi in Slackware hanno non solo le librerie, ma tutto il resto.
Per queste cose "in mia umile opinione" sono migliori altre distribuzioni
Comunque è vero per un utilizzo "classico" del chroot credo sia più conveniente usare soluzioni che avendo una gestione dei pacchetti più automatizzata permettano un uso più facile dell'ambiente di chroot.
- conraid
- Staff
- Messaggi: 13630
- Iscritto il: gio 14 lug 2005, 0:00
- Nome Cognome: Corrado Franco
- Slackware: current64
- Desktop: kde
- Località: Livorno
- Contatta:
Re: Script per un chroot
non è che rsync o lftp siano meglio o peggio di wget, semplicemente ti permettono di crearti un mirror e tenerlo aggiornato.
Capisco che per una installazione di una stable ha poco senso, ma allora perché non scaricare l'iso e montarla?
wget lo trovo inadatto a queste cose, capisco che come dici le fa, ma per situazioni dove ho server ftp o rsync mi sembra più adatto utilizzare un client ftp ed rsync
Capisco che per una installazione di una stable ha poco senso, ma allora perché non scaricare l'iso e montarla?
wget lo trovo inadatto a queste cose, capisco che come dici le fa, ma per situazioni dove ho server ftp o rsync mi sembra più adatto utilizzare un client ftp ed rsync
Re: Script per un chroot
LOL scusate ragazzi non avevo capito che il tutto serviva per avere una installazione pulita su cui fare le prove di installazione dei pacchetti ....
-
- Packager
- Messaggi: 2021
- Iscritto il: ven 4 giu 2010, 10:27
- Nome Cognome: Luca De Pandis
- Distribuzione: macOS/OpenBSD
- Località: Lecce/Bergamo
Re: Script per un chroot
Beh scaricare una ISO è un bel malloppo (sono pur sempre 4GB )...comunque mi sono deciso: ho attuato i tuoi suggerimenti sul download e installazione con un comando unico L'unico problema è che vorrei escludere dal download generale kdei e scaricarla separatamente con la lingua impostata nella variabile $KDELANG. Per ora le prove le ho fatte con wget (anche se voglio provare lftp) aggiungendo il paramentro --exclude-dirs=kdei però è come se non lo vedesseconraid ha scritto:non è che rsync o lftp siano meglio o peggio di wget, semplicemente ti permettono di crearti un mirror e tenerlo aggiornato.
Capisco che per una installazione di una stable ha poco senso, ma allora perché non scaricare l'iso e montarla?
wget lo trovo inadatto a queste cose, capisco che come dici le fa, ma per situazioni dove ho server ftp o rsync mi sembra più adatto utilizzare un client ftp ed rsync
-
- Packager
- Messaggi: 2021
- Iscritto il: ven 4 giu 2010, 10:27
- Nome Cognome: Luca De Pandis
- Distribuzione: macOS/OpenBSD
- Località: Lecce/Bergamo
Re: Script per un chroot
ho quasi finito le ultime modifiche. A breve riposterò lo script con le ultime ottimizzazioni.
-
- Packager
- Messaggi: 2021
- Iscritto il: ven 4 giu 2010, 10:27
- Nome Cognome: Luca De Pandis
- Distribuzione: macOS/OpenBSD
- Località: Lecce/Bergamo
Re: Script per un chroot
Con le ultime modifiche fatte ho avuto problemi nel download della localizzazione. Pertanto per me va bene l'ultima modifca (fatta da metrofox).
-
- Packager
- Messaggi: 2021
- Iscritto il: ven 4 giu 2010, 10:27
- Nome Cognome: Luca De Pandis
- Distribuzione: macOS/OpenBSD
- Località: Lecce/Bergamo
Re: Script per un chroot
Sinceramente sto pensando all'abbandono del download di kdei. Alla fine se uso una Slackware stabile per i pacchetti a che mi serve la localizzazione di kde. Io neanche lo uso kde (lo installo perchè devo). Uso la slack in chroot in riga di comando. Quindi che ne pensate di togliere kdei dal chroot script e procedere con un download unico?
-
- Linux 3.x
- Messaggi: 760
- Iscritto il: gio 7 ago 2008, 12:29
- Slackware: slackware64-current
- Kernel: 3.4.4-ck3
- Desktop: FluxBox-1.3.1
- Distribuzione: FreeBSD-8.1(amd64)
- Località: London
Re: Script per un chroot
Se fossi in te farei in modo che lo script chiedesse l'installazione di una serie con uno switch case o qualcosa del genere(dipende come vorresti fare tu le cose)... Magari dicendo:
Sarebbe grazioso installare AUTOMATICAMENTE le serie di pacchetti a cui non si può dire di NO, mentre per i pacchetti a cui si potrebbe fare a meno allora vengono poste delle domande... Ciò permetterebbe all'utente di avere più libertà nella scelta delle cose da installare.
Codice: Seleziona tutto
a/ series */ series are strongly required, so they will be automatically installed.
You can edit this script if you don't want to install them. kde/ series, kdei/ series, [...]/ series are not required.
The installer is going to ask you some questions if you want to install them or not
Do you want to install kde/ series, y/n? n
Do you want to install kdei/ series, y/n? n
-
- Packager
- Messaggi: 2021
- Iscritto il: ven 4 giu 2010, 10:27
- Nome Cognome: Luca De Pandis
- Distribuzione: macOS/OpenBSD
- Località: Lecce/Bergamo
Re: Script per un chroot
Sto testando il pacchetto con delle nuove modifiche. Se tutto va bene lo script oltre alla possibilità di scegliere il tipo di installazione (questo funziona) dovrebbe anche far scegliere la lingua per kde (ovviamente sono disponibili ben 58 opzioni linguistiche; dalla 0 che permette di passare oltre alla 58 che installa il language pack cinese). Certo, è un pò lunghetto e forse anche un pò complesso. Ma sinceramente a me della lunghezza e della complessità non me ne frega molto. Tanto siamo noi a perdere tempo Scherzo, è un pò più complesso e lungo di prima, però se si vogliono fare le cose per bene a volte non si può fare a meno della complessità.metrofox ha scritto:Se fossi in te farei in modo che lo script chiedesse l'installazione di una serie con uno switch case o qualcosa del genere(dipende come vorresti fare tu le cose)... Magari dicendo:
Sarebbe grazioso installare AUTOMATICAMENTE le serie di pacchetti a cui non si può dire di NO, mentre per i pacchetti a cui si potrebbe fare a meno allora vengono poste delle domande... Ciò permetterebbe all'utente di avere più libertà nella scelta delle cose da installare.Codice: Seleziona tutto
a/ series */ series are strongly required, so they will be automatically installed. You can edit this script if you don't want to install them. kde/ series, kdei/ series, [...]/ series are not required. The installer is going to ask you some questions if you want to install them or not Do you want to install kde/ series, y/n? n Do you want to install kdei/ series, y/n? n
Ora lo script agisce come un'installer: i tipi di installazione sono:
Basic (A,AP,D,E,F,K,L,N)
Standard (Basic + T,TCL,X,XAP,Y)
Full (Standard + KDE)
Inoltre per chi ha scelto l'opzione full potrà segliere se installare o meno la localizzazione e soprattutto quale localizzazione (questo però è da testare). Se funziona vi posto lo script
-
- Linux 3.x
- Messaggi: 760
- Iscritto il: gio 7 ago 2008, 12:29
- Slackware: slackware64-current
- Kernel: 3.4.4-ck3
- Desktop: FluxBox-1.3.1
- Distribuzione: FreeBSD-8.1(amd64)
- Località: London
Re: Script per un chroot
Postalo anche se non funziona
-
- Packager
- Messaggi: 2021
- Iscritto il: ven 4 giu 2010, 10:27
- Nome Cognome: Luca De Pandis
- Distribuzione: macOS/OpenBSD
- Località: Lecce/Bergamo
Re: Script per un chroot
Codice: Seleziona tutto
#!/bin/sh
# Chroot Environment AutoBuilder
# Copyright (C) 2010 Luca De Pandis aka atomix600
# All rights reserved.
# Contact me @ Slacky.eu ( http://www.slacky.eu )
#
# Heavily based on the Tom Newsom's Chroot Howto ( http://slackworld.berlios.de/2007/chroot_howto.html )
#
# Thanks to conraid, zoros, kobaiachi and metrofox for improvements
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AS IS AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# Exit on most errors
set -e
# Set variables
PKGDIR=${PKGDIR:-/tmp/Slack_$version}
CHROOTDIR=${CHROOTDIR:-/mnt/chroot}
MIRROR=${MIRROR:-ftp.slackware.at}
PKGA=${PKGA:-ftp://$MIRROR/slackware-$version/slackware/a/*.t?z}
PKGAP=${PKGAP:-ftp://$MIRROR/slackware-$version/slackware/ap/*.t?z}
PKGD=${PKGD:-ftp://$MIRROR/slackware-$version/slackware/d/*.t?z}
PKGE=${PKGE:-ftp://$MIRROR/slackware-$version/slackware/e/*.t?z}
PKGF=${PKGF:-ftp://$MIRROR/slackware-$version/slackware/f/*.t?z}
PKGK=${PKGK:-ftp://$MIRROR/slackware-$version/slackware/k/*.t?z}
PKGL=${PKGL:-ftp://$MIRROR/slackware-$version/slackware/l/*.t?z}
PKGN=${PKGN:-ftp://$MIRROR/slackware-$version/slackware/n/*.t?z}
PKGT=${PKGT:-ftp://$MIRROR/slackware-$version/slackware/t/*.t?z}
PKGTCL=${PKGTCL:-ftp://$MIRROR/slackware-$version/slackware/tcl/*.t?z}
PKGX=${PKGX:-ftp://$MIRROR/slackware-$version/slackware/x/*.t?z}
PKGXAP=${PKGXAP:-ftp://$MIRROR/slackware-$version/slackware/xap/*.t?z}
PKGY=${PKGY:-ftp://$MIRROR/slackware-$version/slackware/y/*.t?z}
PATCHES=${PATCHES:-ftp://$MIRROR/slackware-$version/patches/packages/*.t?z}
PATCHDIR=${PATCHDIR:-$PKGDIR/slackware.at/patches}
HOSTFILE=${HOSTFILE:-/etc/hosts}
FSTABFILE=${FSTABFILE:-/etc/fstab}
SPACE_REQUIRED=7 # GByte
# Set Functions
check_space_on_hd()
{
SPACE=$(df -P -m $PKGDIR 2> /dev/null | tr -s ' ' | cut -f4 -d' ' | tail -1)
if [ -z "$SPACE" ]; then
echo 2 #error
elif [ $(expr $SPACE - $SPACE_REQUIRED) -gt 0 ]; then
echo 1
else
echo 0
fi
}
connection_check()
{
if ping -c2 $MIRROR > /dev/null 2>&1 ; then
echo "OK"
else
ERRNUM=$?
echo "FAIL"
exit $?
fi
}
# Main Script
echo "+----------------------------------+"
echo "| StArTiNg ChRoOt AuToBuIlDeR... |"
echo "+----------------------------------+"
echo
echo "Select your Slackware"
echo
echo "Please choose the version of Slackware wich you want to chroot."
echo "For example: if you want to chroot a Slackware-current you must"
echo "write current. (CTRL+D for exit)"
echo
echo -n "Slackware version: "
read version
echo "Slackware version is selected: $version"
echo
echo "This script will install Slackware $version in a chroot environment."
echo "The estimated time for completion of the transaction is 80 minutes,"
echo "but it may vary depending on the configuration of the computer."
echo "[WARNING] you'll need about ${SPACE_REQUIRED} GiB in / to run this script [WARNING]"
echo "[WARNING] it's recommended a fast internet connection for download [WARNING]"
# Remove directories if that is necessary
echo -n "Checking for directories... "
rm -rf /tmp/Slack_*
rm -rf $CHROOTDIR
mkdir -p $PKGDIR
echo "DONE"
# Check available space on hard disk
echo -n "Checking for space... "
CHECK=$(check_space_on_hd)
if [ $CHECK = 0 -o $CHECK = 2 ]; then
echo "FAIL"
else
echo "OK"
fi
# Ping Mirror
echo -n "Checking for mirror... "
connection_check
# Choose your installation type
echo
echo "Slackware Linux $version Setup"
echo
echo "Choose installation type"
echo
echo "[F] Full Installation (Standard + KDE)"
echo "[B] Basic (Only A,AP,D,E,F,K,L and N package series)"
echo "[S] Standard (Base + T,TCL,X,XAP,Y)"
echo "[E] Exit"
echo
echo -n "Installation type: "
read type
case "$type" in
"E" | "e" )
echo
echo "Exiting from installer..."
exit 1
;;
"F" | "f" )
echo
echo "Full installation mode selected"
echo "[WARNING] The full mode installation may take several minutes. So please wait until the operation completes. [WARNING]"
echo -n "Downloading Slackware... "
wget -c -r --directory-prefix=$PKGDIR -np --cut-dirs=2 --exclude-directories=slackware-$SLACKVERSION/slackware/kdei ftp://slackware.at/slackware-$SLACKVERSION/slackware/* > /dev/null 2>&1
mkdir -p $PKGDIR/slackware.at/kdei
echo "DONE"
;;
"B" | "b" )
echo
echo "Basic installation mode selected"
echo "Downloading core packages..."
wget -c -r --directory-prefix=$PKGDIR -np --cut-dirs=2 $PKGA > /dev/null 2>&1
wget -c -r --directory-prefix=$PKGDIR -np --cut-dirs=2 $PKGAP > /dev/null 2>&1
wget -c -r --directory-prefix=$PKGDIR -np --cut-dirs=2 $PKGD > /dev/null 2>&1
wget -c -r --directory-prefix=$PKGDIR -np --cut-dirs=2 $PKGE > /dev/null 2>&1
wget -c -r --directory-prefix=$PKGDIR -np --cut-dirs=2 $PKGF > /dev/null 2>&1
wget -c -r --directory-prefix=$PKGDIR -np --cut-dirs=2 $PKGK > /dev/null 2>&1
wget -c -r --directory-prefix=$PKGDIR -np --cut-dirs=2 $PKGL > /dev/null 2>&1
wget -c -r --directory-prefix=$PKGDIR -np --cut-dirs=2 $PKGN > /dev/null 2>&1
;;
"S" | "s" )
echo
echo "Standard installation mode selected"
echo -n "Downloading core packages... "
wget -c -r --directory-prefix=$PKGDIR -np --cut-dirs=2 $PKGA > /dev/null 2>&1
wget -c -r --directory-prefix=$PKGDIR -np --cut-dirs=2 $PKGAP > /dev/null 2>&1
wget -c -r --directory-prefix=$PKGDIR -np --cut-dirs=2 $PKGD > /dev/null 2>&1
wget -c -r --directory-prefix=$PKGDIR -np --cut-dirs=2 $PKGE > /dev/null 2>&1
wget -c -r --directory-prefix=$PKGDIR -np --cut-dirs=2 $PKGF > /dev/null 2>&1
wget -c -r --directory-prefix=$PKGDIR -np --cut-dirs=2 $PKGK > /dev/null 2>&1
wget -c -r --directory-prefix=$PKGDIR -np --cut-dirs=2 $PKGL > /dev/null 2>&1
wget -c -r --directory-prefix=$PKGDIR -np --cut-dirs=2 $PKGN > /dev/null 2>&1
echo "DONE"
echo -n "Downloading extras... "
wget -c -r --directory-prefix=$PKGDIR -np --cut-dirs=2 $PKGT > /dev/null 2>&1
wget -c -r --directory-prefix=$PKGDIR -np --cut-dirs=2 $PKGTCL > /dev/null 2>&1
wget -c -r --directory-prefix=$PKGDIR -np --cut-dirs=2 $PKGX > /dev/null 2>&1
wget -c -r --directory-prefix=$PKGDIR -np --cut-dirs=2 $PKGXAP > /dev/null 2>&1
wget -c -r --directory-prefix=$PKGDIR -np --cut-dirs=2 $PKGY > /dev/null 2>&1
echo "DONE"
;;
esac
echo "Installing Slackware..."
cd $PKGDIR/slackware.at
installpkg -root $CHROOTDIR */*.t?z > /dev/null 2>&1
echo "Slackware $version was installed successfully"
# Choose localization
if [ -d $PKGDIR/slackware.at/kdei ]; then
cd $PKGDIR/slackware.at/kdei
echo
echo "KDE SC and KOffice localization"
echo
echo "if you selected Full mode install you can choose to install the kdei section"
echo
echo "[0] I don't want kdei"
echo "[1] Arabic"
echo "[2] Bulgarian"
echo "[3] Catalan"
echo "[4] Catalan (Valencian)"
echo "[5] Czech"
echo "[6] Kashubian"
echo "[7] Danish"
echo "[8] German"
echo "[9] Greek"
echo "[10] English (UK)"
echo "[11] Esperanto"
echo "[12] Spanish"
echo "[13] Estonian"
echo "[14] Basque"
echo "[15] Finnish"
echo "[16] French"
echo "[17] Abkhasysk"
echo "[18] Irish"
echo "[19] Galician"
echo "[20] Gujarati"
echo "[21] Hebrew"
echo "[22] Hindi"
echo "[23] Croatian"
echo "[24] Hungarian"
echo "[25] Indonesian"
echo "[26] Icelandic"
echo "[27] Italian"
echo "[28] Japanese"
echo "[29] Kazakh"
echo "[30] Khmer"
echo "[31] Kannada"
echo "[32] Korean"
echo "[33] Lithuanian"
echo "[34] Latvian"
echo "[35] Maithili"
echo "[36] Macedonian"
echo "[37] Malayam"
echo "[38] Norwegian (Bokmaal)"
echo "[39] Low Saxon"
echo "[40] Dutch"
echo "[41] Norwegian (Nynorsk)"
echo "[42] Punjabi"
echo "[43] Polish"
echo "[44] Portuguese"
echo "[45] Brasil"
echo "[46] Romanian"
echo "[47] Russian"
echo "[48] Sinhala"
echo "[49] Slovak"
echo "[50] Slovenian"
echo "[51] Serbian"
echo "[52] Swedish"
echo "[53] Tajik"
echo "[54] Turkish"
echo "[55] Ukrainan"
echo "[56] Walloon"
echo "[57] Simplified Chinese"
echo "[58] Chinese"
echo "[59] All kdei packages"
echo
echo -n "Language n.: "
read lang
case "$lang" in
"0" )
echo
echo "Skip kdei installation"
rm -rf $PKGDIR/slackware.at/kdei
continue
;;
"1" )
echo
echo "Arabic selected"
wget -c ftp://ftp.slackware.at/slackware-$version/slackware/kdei/*ar*.t?z > /dev/null 2>&1
;;
"2" )
echo
echo "Bulgarian selected"
wget -c ftp://ftp.slackware.at/slackware-$version/slackware/kdei/*bg*.t?z > /dev/null 2>&1
;;
"3" )
echo
echo "Catalan selected"
wget -c ftp://ftp.slackware.at/slackware-$version/slackware/kdei/*ca*.t?z > /dev/null 2>&1
;;
"4" )
echo
echo "Catalan (Valencian) selected"
wget -c ftp://ftp.slackware.at/slackware-$version/slackware/kdei/*ca@valencia*.t?z > /dev/null 2>&1
;;
"5" )
echo
echo "Czech selected"
wget -c ftp://ftp.slackware.at/slackware-$version/slackware/kdei/*cs*.t?z > /dev/null 2>&1
;;
"6" )
echo
echo "Kashubian selected"
wget -c ftp://ftp.slackware.at/slackware-$version/slackware/kdei/*csb*.t?z > /dev/null 2>&1
;;
"7" )
echo
echo "Danish selected"
wget -c ftp://ftp.slackware.at/slackware-$version/slackware/kdei/*da*.t?z > /dev/null 2>&1
;;
"8" )
echo
echo "German selected"
wget -c ftp://ftp.slackware.at/slackware-$version/slackware/kdei/*de*.t?z > /dev/null 2>&1
installpkg *de*.t?z
;;
"9" )
echo
echo "Greek selected"
wget -c ftp://ftp.slackware.at/slackware-$version/slackware/kdei/*el*.t?z > /dev/null 2>&1
;;
"10" )
echo
echo "English (UK) selected"
wget -c ftp://ftp.slackware.at/slackware-$version/slackware/kdei/*en_GB*.t?z > /dev/null 2>&1
;;
"11" )
echo
echo "Esperanto selected"
wget -c ftp://ftp.slackware.at/slackware-$version/slackware/kdei/*eo*.t?z > /dev/null 2>&1
;;
"12" )
echo
echo "Spanish selected"
wget -c ftp://ftp.slackware.at/slackware-$version/slackware/kdei/*es*.t?z > /dev/null 2>&1
;;
"13" )
echo
echo "Estonian selected"
wget -c ftp://ftp.slackware.at/slackware-$version/slackware/kdei/*et*.t?z > /dev/null 2>&1
;;
"14" )
echo
echo "Basque selected"
wget -c ftp://ftp.slackware.at/slackware-$version/slackware/kdei/*eu*.t?z > /dev/null 2>&1
;;
"15" )
echo
echo "Finnish selected"
wget -c ftp://ftp.slackware.at/slackware-$version/slackware/kdei/*fi*.t?z > /dev/null 2>&1
;;
"16" )
echo
echo "French selected"
wget -c ftp://ftp.slackware.at/slackware-$version/slackware/kdei/*fr*.t?z > /dev/null 2>&1
;;
"17" )
echo
echo "Abkhasysk selected"
wget -c ftp://ftp.slackware.at/slackware-$version/slackware/kdei/*fy*.t?z > /dev/null 2>&1
;;
"18" )
echo
echo "Irish selected"
wget -c ftp://ftp.slackware.at/slackware-$version/slackware/kdei/*ga*.t?z > /dev/null 2>&1
;;
"19" )
echo
echo "Galician selected"
wget -c ftp://ftp.slackware.at/slackware-$version/slackware/kdei/*gl*.t?z > /dev/null 2>&1
;;
"20" )
echo
echo "Gujarati selected"
wget -c ftp://ftp.slackware.at/slackware-$version/slackware/kdei/*gu*.t?z > /dev/null 2>&1
;;
"21" )
echo
echo "Hebrew selected"
wget -c ftp://ftp.slackware.at/slackware-$version/slackware/kdei/*he*.t?z > /dev/null 2>&1
;;
"22" )
echo
echo "Hindi selected"
wget -c ftp://ftp.slackware.at/slackware-$version/slackware/kdei/*hi*.t?z > /dev/null 2>&1
;;
"23" )
echo
echo "Croatian selected"
wget -c ftp://ftp.slackware.at/slackware-$version/slackware/kdei/*hr*.t?z > /dev/null 2>&1
;;
"24" )
echo
echo "Hungarian selected"
wget -c ftp://ftp.slackware.at/slackware-$version/slackware/kdei/*hu*.t?z > /dev/null 2>&1
;;
"25" )
echo
echo "Indonesian selected"
wget -c ftp://ftp.slackware.at/slackware-$version/slackware/kdei/*id*.t?z > /dev/null 2>&1
;;
"26" )
echo
echo "Icelandic selected"
wget -c ftp://ftp.slackware.at/slackware-$version/slackware/kdei/*is*.t?z > /dev/null 2>&1
;;
"27" )
echo
echo "Italian selected"
wget -c ftp://ftp.slackware.at/slackware-$version/slackware/kdei/*it*.t?z > /dev/null 2>&1
;;
"28" )
echo
echo "Japanese selected"
wget -c ftp://ftp.slackware.at/slackware-$version/slackware/kdei/*ja*.t?z > /dev/null 2>&1
;;
"29" )
echo
echo "Kazakh selected"
wget -c ftp://ftp.slackware.at/slackware-$version/slackware/kdei/*kk*.t?z > /dev/null 2>&1
;;
"30" )
echo
echo "Khmer selected"
wget -c ftp://ftp.slackware.at/slackware-$version/slackware/kdei/*km*.t?z > /dev/null 2>&1
;;
"31" )
echo
echo "Kannada selected"
wget -c ftp://ftp.slackware.at/slackware-$version/slackware/kdei/*kn*.t?z > /dev/null 2>&1
;;
"32" )
echo
echo "Korean selected"
wget -c ftp://ftp.slackware.at/slackware-$version/slackware/kdei/*ko*.t?z > /dev/null 2>&1
;;
"33" )
echo
echo "Lithuanian selected"
wget -c ftp://ftp.slackware.at/slackware-$version/slackware/kdei/*lt*.t?z > /dev/null 2>&1
;;
"34" )
echo
echo "Latvian selected"
wget -c ftp://ftp.slackware.at/slackware-$version/slackware/kdei/*lv*.t?z > /dev/null 2>&1
;;
"35" )
echo
echo "Maithili selected"
wget -c ftp://ftp.slackware.at/slackware-$version/slackware/kdei/*mai*.t?z > /dev/null 2>&1
;;
"36" )
echo
echo "Macedonian selected"
wget -c ftp://ftp.slackware.at/slackware-$version/slackware/kdei/*mk*.t?z > /dev/null 2>&1
;;
"37" )
echo
echo "Malayam selected"
wget -c ftp://ftp.slackware.at/slackware-$version/slackware/kdei/*ml*.t?z > /dev/null 2>&1
;;
"38" )
echo
echo "Norwegian (Bokmaal) selected"
wget -c ftp://ftp.slackware.at/slackware-$version/slackware/kdei/*nb*.t?z > /dev/null 2>&1
;;
"39" )
echo
echo "Low Saxon selected"
wget -c ftp://ftp.slackware.at/slackware-$version/slackware/kdei/*nds*.t?z > /dev/null 2>&1
;;
"40" )
echo
echo "Dutch selected"
wget -c ftp://ftp.slackware.at/slackware-$version/slackware/kdei/*nl*.t?z > /dev/null 2>&1
;;
"41" )
echo
echo "Norwegian (Nynorsk) selected"
wget -c ftp://ftp.slackware.at/slackware-$version/slackware/kdei/*nn*.t?z > /dev/null 2>&1
;;
"42" )
echo
echo "Punjabi selected"
wget -c ftp://ftp.slackware.at/slackware-$version/slackware/kdei/*pa*.t?z > /dev/null 2>&1
;;
"43" )
echo
echo "Polish selected"
wget -c ftp://ftp.slackware.at/slackware-$version/slackware/kdei/*pl*.t?z > /dev/null 2>&1
;;
"44" )
echo
echo "Portuguese selected"
wget -c ftp://ftp.slackware.at/slackware-$version/slackware/kdei/*pt*.t?z > /dev/null 2>&1
;;
"45" )
echo
echo "Brasil selected"
wget -c ftp://ftp.slackware.at/slackware-$version/slackware/kdei/*pt_BR*.t?z > /dev/null 2>&1
;;
"46" )
echo
echo "Romanian selected"
wget -c ftp://ftp.slackware.at/slackware-$version/slackware/kdei/*ro*.t?z > /dev/null 2>&1
;;
"47" )
echo
echo "Russian selected"
wget -c ftp://ftp.slackware.at/slackware-$version/slackware/kdei/*ru*.t?z > /dev/null 2>&1
;;
"48" )
echo
echo "Sinhala selected"
wget -c ftp://ftp.slackware.at/slackware-$version/slackware/kdei/*si*.t?z > /dev/null 2>&1
;;
"49" )
echo
echo "Slovak selected"
wget -c ftp://ftp.slackware.at/slackware-$version/slackware/kdei/*sk*.t?z > /dev/null 2>&1
;;
"50" )
echo
echo "Slovenian selected"
wget -c ftp://ftp.slackware.at/slackware-$version/slackware/kdei/*sl*.t?z > /dev/null 2>&1
;;
"51" )
echo
echo "Serbian selected"
wget -c ftp://ftp.slackware.at/slackware-$version/slackware/kdei/*sr*.t?z > /dev/null 2>&1
;;
"52" )
echo
echo "Swedish selected"
wget -c ftp://ftp.slackware.at/slackware-$version/slackware/kdei/*sv*.t?z > /dev/null 2>&1
;;
"53" )
echo
echo "Tajik selected"
wget -c ftp://ftp.slackware.at/slackware-$version/slackware/kdei/*tg*.t?z > /dev/null 2>&1
;;
"54" )
echo
echo "Turkish selected"
wget -c ftp://ftp.slackware.at/slackware-$version/slackware/kdei/*tr*.t?z > /dev/null 2>&1
;;
"55" )
echo
echo "Ukrainan selected"
wget -c ftp://ftp.slackware.at/slackware-$version/slackware/kdei/*uk*.t?z > /dev/null 2>&1
;;
"56" )
echo
echo "Walloon selected"
wget -c ftp://ftp.slackware.at/slackware-$version/slackware/kdei/*wa*.t?z > /dev/null 2>&1
;;
"57" )
echo
echo "Simplified Chinese selected"
wget -c ftp://ftp.slackware.at/slackware-$version/slackware/kdei/*zh_CN*.t?z > /dev/null 2>&1
;;
"58" )
echo
echo "Chinese selected"
wget -c ftp://ftp.slackware.at/slackware-$version/slackware/kdei/*zh_TW*.t?z > /dev/null 2>&1
;;
"59" )
echo
echo "All kdei packages selcted"
wget -c ftp://ftp.slackware.at/slackware-$version/slackware/kdei/*.t?z
;;
esac
if [ $lang != 0 ]; then
echo -n "Installing localization... "
installpkg -root $CHROOTDIR *.t?z > /dev/null 2>&1
echo "DONE"
fi
fi
# Download patches
echo -n "Downloading patches... "
mkdir -p $PATCHDIR
(cd $PATCHDIR
wget -c $PATCHES > /dev/null 2>&1)
echo "DONE"
# Install patches
echo -n "Patching Slackware... "
ROOT=$CHROOTDIR upgradepkg --reinstall --install-new $PATCHDIR/*.t?z > /dev/null 2>&1
echo "DONE"
# Copy host name and host partition table
echo -n "Configuring hostname and partition table... "
cp -a $HOSTFILE $CHROOTDIR/etc/hosts
cp -a $FSTABFILE $CHROOTDIR/etc/fstab
echo "DONE"
# Remove Slackware Packages
echo -n "Cleaning Cache... "
cd /tmp
rm -r $PKGDIR
echo "DONE"
echo "Finish!!!"
echo "+----------------------------------+"
echo "| Thank you for using my builder |"
echo "+----------------------------------+"
echo "#####################################################"
echo " If you want to start this chroot environment:"
echo " mount -o bind /proc $CHROOTDIR/proc"
echo " mount -o bind /dev $CHROOTDIR/dev"
echo " chroot $CHROOTDIR /bin/bash"
echo "#####################################################"
Possibilità nativa di poter scegliere la versione da chrootare senza aprire lo script
Tre tipi di installazione disponibili
Localizzazioni disponibili a scelta compreso esclusione e inclusione dell'intera sezione kdei
Che ne pensate?
Ultima modifica di hashbang il mar 24 ago 2010, 11:28, modificato 2 volte in totale.
-
- Packager
- Messaggi: 2021
- Iscritto il: ven 4 giu 2010, 10:27
- Nome Cognome: Luca De Pandis
- Distribuzione: macOS/OpenBSD
- Località: Lecce/Bergamo
Re: Script per un chroot
Ora funziona tuttometrofox ha scritto:Postalo anche se non funziona
EDIT: Pensavo di sostituire il parametro
Codice: Seleziona tutto
if [ -d $PKGDIR/slackware.at/kdei ]; then
Codice: Seleziona tutto
if [ $type = F -o $type = f ]; then