-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathc(d)vd.sh
141 lines (126 loc) · 3.5 KB
/
c(d)vd.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
#!/bin/sh
if [ ! -f "/etc/debian_version" ]; then
echo "Non sei su debian. Il programma termina."
exit 1
fi
echo "Installiamo le librerie necessarie al funzionamento dello script"
sudo apt install -y dialog jigdo-file;
if [ $# -ne 1 ]; then
dialog --title "Errore nel numero dei parametri" \
--backtitle "Errore nel numero dei parametri" \
--yesno "Deve essere passato esattamente un parametro" 7 60
exit 1
fi
dialog --title "Download DVD" \
--backtitle "Download DVD" \
--yesno "Vuoi scaricare i DVD?" 7 60
if [ $? -eq 1 ]; then
sl="cd"
quale=$(dialog --output-fd 1 --backtitle "Quale archiettura scegliere" \
--radiolist "Quale architettura:" 10 40 9 \
1 "AMD64" off \
2 "arm64" off \
3 "armel" off \
4 "armhf" off \
5 "i386" off \
6 "mips64el" off \
7 "mipsel" off \
8 "ppc64el" off \
9 "s390x" off \
10 "multi-arch" on)
if [ $quale -ne 10 ]; then
dialog --title "Download netinst" \
--backtitle "Download netinst" \
--yesno "Vuoi scaricare il netinst?" 7 60
if [ $? -eq 0 ]; then
netinst=1
else
netinst=0
fi
else
netinst=1
fi
else
sl="dvd"
quale=$(dialog --output-fd 1 --backtitle "Quale archiettura scegliere" \
--radiolist "Quale architettura:" 10 40 9 \
1 "AMD64" of \
2 "arm64" off \
3 "armel" off \
4 "armhf" off \
5 "i386" off \
6 "mips64el" off \
7 "mipsel" off \
8 "ppc64el" off \
9 "s390x" off \
11 "source" on)
fi
case $quale in
1)
arch="amd64"
numbd=21;;
2)
arch="arm64"
numbd=21;;
3)
arch="armel"
numbd=18;;
4)
arch="armhf"
numbd=19;;
5)
arch="i386"
numbd=21;;
6)
arch="mpis64el"
numbd=20;
7)
arch="mipsel"
numbd=19;;
8)
arch="ppc64el"
numbd=20;;
9)
arch="s390x"
numbd=19;;
10)
arch="multi-arch"
numbd=1;;
11)
arch="source"
numbd=20;;
*) echo $quale;;
esac
suffisso=debian-${1}
if [ $sl = "cd" ]; then
numbd=1
fi
sl1=`echo $sl | tr [:lower:] [:upper:]`
i=1;
while [ $i -le $numbd ]; do
dialog --title "Informazione" \
--backtitle "Informazione" \
--msgbox "Adesso verra' scaricato il supporto numero $i di $numbd.Il programma adesso chiedera' se ci sono iso precedenti che possono essere utili per ricavare i files necessari (la iso precedente include altri file, non conta).\nIn caso positivo montatela e date il punto di mount, in caso negativo premete semplicemente invio.\nIn seguito verra' chiesto quale mirror apt usare per scaricare i files non trovati.Poi andate a farvi un giro :)" 40 60
nome=${suffisso}-${arch}-${sl1}-$i
if [ $sl = 'cd' ]; then
nome=${suffisso}-${arch}-xfce-${sl1}-$i
fi
if [ $netinst -eq 1 ]; then
if [ $arch = "multi-arch" ]; then
nome=$suffisso-amd64-i386-netinst
else
nome=$suffisso-$arch-netinst
fi
fi
if [ -f $nome.iso ]; then
dialog --msgbox "Il file $i di $numbd esiste già. Si passa al successivo." 40 60 >/dev/tty
else
jigdo-lite https://cdimage.debian.org/debian-cd/${1}/$arch/jigdo-$sl/$nome.jigdo
if [ $? -eq 1 ]; then
dialog --msgbox "Si è verificato un errore, il file https://cdimage.debian.org/debian-cd/`cat /etc/debian_version`.0/$arch/jigdo-$sl/debian-`cat /etc/debian_version`.0-$arch-${sl1}-$i.jigdo non è stato trovato. Il programma termina." 40 60 >/dev/tty
exit 1
fi
fi
i=`expr $i + 1`
done
dialog --msgbox "Copyright 2021 Giulio Sorrentino <[email protected]>\nIl software viene concesso in licenza secondo la GPL v3 o, secondo la tua opionione, qualsiasi versione successiva.\nIl software viene concesso per COME E', senza NESSUNA GARANZIA ne' implicita ne' esplicita.\nSe ti piace, considera una donazione tramite paypal.\nHappy Hacking :)" 40 60>/dev/tty