Commit 78892832 authored by Paolo Dongilli's avatar Paolo Dongilli

- added copy of required file in debian/postinst

- changes to copyright file
- shortened README.md
parent dcf3e1a7
Pipeline #44 passed with stages
in 15 minutes and 41 seconds
# FUSS FUCC
# FUSS-FUCC - Fully Unattended Clonezilla Cloning
## Fully Unattended Clonezilla Cloning
## Installazione di FUSS-FUCC
## Ottenere una copia di FUSS FUCC
### Da repository
Per ottenere l’ultima versione del software è possibile scaricare direttamente l’ultima build da GitLab.
La versione `master` (stabile) può essere scaricata con:
```bash
wget -O fuss-fucc.deb https://gitlab.fuss.bz.it/fuss/fucc/-/jobs/artifacts/master/raw/dist/fuss-fucc_0.1_all.deb?job=build-buster
```
Mentre la versione `develop` (instabile) può essere scaricata con:
fuss-fucc è presente nel repository archive.fuss.bz.it di FUSS. Per ottenere l’ultima versione è sufficiente eseguire i seguenti comandi:
```bash
wget -O fuss-fucc.deb https://gitlab.fuss.bz.it/fuss/fucc/-/jobs/artifacts/develop/raw/dist/fuss-fucc_0.1_all.deb?job=build-buster
apt update
apt purge clonezilla-pxe
apt install fuss-fucc
```
Fatto ciò è possibile installare FUCC semplicemente con
```bash
dpkg -i fuss-fucc.deb
```
### Da un archivio tgz
## Configurazione del cambio automatico della password di root
Bisogna copiare l'archivio FUCC-XX.tgz sul server (in genere va bene anche la cartella "/tmp").
Una volta effettuato questo passo bisogna estrarre la cartella dall'archivio con il comando:
FUCC è in grado di modificare automaticamente la password di root dei client clonati con una criptata che gli viene passata. Per configurarlo eseguire lo script
```bash
tar -C /opt -xvzf FUCC-XX.tgz
fuss-fucc rootpw
```
ed inserire due volte la password di root da dare ai client. Di norma questo script dev'essere eseguito dopo l'installazione di fuss-fucc sul server e prima di iniziare a clonare le macchine.
## Compilare fuss-fucc
Se non si vuole utlizzare la versione buildata in GitLab si può compilare autonomamente una copia di fuss-fucc.
## Compilazione della lista dei computer
Installare innanzitutto le dipendenze con
Nella cartella "/srv/clonezilla" (normalmente cartella standard di clonezilla o altra cartella sul server FUSS che contiene la immagini da clonare) si trova il file computerList.txt in cui bisogna elencare i nomi che si vogliono assegnare ai computer specificando il mac-address, l'immagine di clonezilla che si vuole usare per il computer facendo seguire questa indicazione alla parola "join" se si vuole agganciare il computer in dominio ed eventualmente, come ultimo parametro il nome del cluster, se nel dominio si usano i cluster.
Il file incluso nel pacchetto contiene un piccolo esempio commentato che riortiamo di seguito:
```bash
apt-get install -y build-essential debhelper libncurses5-dev libglib2.0-dev libgeoip-dev libtokyocabinet-dev zlib1g-dev libncursesw5-dev libbz2-dev unzip wget squashfs-tools openssh-client
```
e procedere poi alla compilazione vera e propria con (N.B. i comandi vanno eseguiti come root per poter modificare i permessi dello squashfs)
```bash
make full-clean
make rebuild-squashfs
debian/rules binary
info-pc01 08:00:27:ab:5a:a2 cloneImage-img join clustername
```
## Primo lancio sul client
## Verifica importante (ed eventuale modifica da fare)
Se sul fuss-server la cartella di clonezilla é "/srv/clonezilla" non c'é bisogno di fare nessuna modifica.
Nel caso in cui la cartella fosse un'altra (ad esempio "/var/clonezilla") e si volesse tenere questa bisognerá effettuare delle correzioni ai seguenti file nella cartella FUCC-XX prima di eseguire lo script installFucc.sh.
### File "default"
Questo file contiene i parametri di boot in cui viene specificata la "cartella di clonezilla" (che contiene le immagini per i cloni).
Bisogna cercare la stringa "clonezilla@proxy:/srv/clonezilla" e sostituire "/srv/clonezilla" con la cartella che si vuole usare.
Questa sostituzione é da fare 2 volte in questo file. Una per ogni "menu entry".
### File "installFucc.sh"
Qui bisogna cambiare il valore della variabile "clonezillaFolder" sostituendo il valore "/srv/clonezilla" con quello che si vuole usare.
Una volta eseguito quanto sopra indicato, si avviino in "network boot (PXE)" i PC da installare (in genere si preme il tasto F12 ... ma potrebbe variare a seconda del computer). Il menu presenta due possibili scelte, "automatica" e "manuale" come indicato nello screenshot. La modalità automatica è il "default".
![clonezilla boot](images/setup-1.png)
## Configurazione del cambio automatico della password di root
FUCC è in grado di modificare automaticamente la password di root con una criptata che gli viene passata. Per configurarlo eseguire lo script
## Reinstallazione di un’aula con FUCC
La procedura più semplice per reinstallare un’aula con FUCC è la seguente:
1. Accendere tutti i computer e, via cssh, verificare che l’ultima versione di octofuss-client sia installata;
2. Eseguire octofuss-client per effettuare un invio manuale dei dati al server;
3. Sul server, eseguire lo script
```bash
./gen-root-changepassword.sh
fuss-fucc octolist NOME-IMMAGINE-CLONEZILLA;
```
4. Copiare il file computerList.txt.octo-new al posto di /srv/clonezilla/computerList.txt
5. Procedere con la reinstallazione. Ai client verrà ridato lo stesso nome di prima e lo stesso cluster.
ed inserire due volte la password di root da dare ai client. Di norma questo script andrebbe eseguito prima di eseguire lo script installFucc.sh ; se doveste aver già eseguito l’installazione di FUCC potete semplicemente copiare il file `new_root_pw` da `clientScripts` nella cartella /srv/clonezilla/clientScripts o vostra equivalente.
## Copia in automatico dei file
Una volta effettuate le verifiche e fatti gli eventuali cambiamenti si puó lanciare lo script installFucc.sh.
## Compilazione della lista dei computer
Nella cartella "/srv/clonezilla" (normalmente cartella standard di clonezilla … meglio controllare!) ora si trova il file computerList.txt in cui bisogna elencare i nomi che si vogliono assegnare ai computer specificando il mac-address, l'immagine di clonezilla che si vuole usare per il computer facendo seguire questa indicazione alla parola "join" se si vuole agganciare il computer in dominio ed eventualmente, come ultimo parametro il nome del cluster, se nel dominio si usano i cluster.
Il file contiene un piccolo esempio.
## Primo lancio sul client
Una volta fatto tutto quanto descritto in precedenza si puó lanciare clonezilla su un computer (in genere si preme il tasto F12 … ma potrebbe variare a seconda del computer) per effettuare la copia delle chiavi ssh.
Quando compare il menu di clonezilla si sceglie la prima volta l'opzione "manuale" (vedi immagine seguente).
![clonezilla boot](images/setup-1.png)
Quindi confermiamo con "yes" (vedi immagine seguente).
![clonezilla boot](images/setup-2.png)
### Immagini clonezilla
Inseriamo la password dell'utente clonezilla (del server) e confermiamo (vedi immagine seguente).
Per le operazioni di clonazione in genere si usano le immagini standard messe a disposizione dal progetto FUSS.
Queste immagini hanno la partizione directory radice ("/") nella SECONDA PARTIZIONE del disco fisso e pertanto nel file "script" è stata settata la variabile "rootPartition" con il valore "2"
Se si sceglie di creare proprie immagini con uno schema di partizionamento diverso si deve indicare in suddetta variabile quale è la partizione contenente la directory radice.
Questo deve valere per tutte le immagini che si intendono utilizzare in una determinata scuola.
![clonezilla boot](images/setup-3.png)
A questo punto scegliamo di far partire una "shell" (vedi immagine seguente).
## Note per lo sviluppatore sulla compilazione di FUSS-FUCC
![clonezilla boot](images/setup-4.png)
Se non si vuole utlizzare la versione presente nel repository archive.fuss.bz.it, si può compilare autonomamente una copia di fuss-fucc.
Al prompt inseriamo il comando:
Installare innanzitutto le dipendenze con
```bash
ssh-copy-id proxy
apt-get install -y build-essential debhelper libncurses5-dev libglib2.0-dev libgeoip-dev libtokyocabinet-dev zlib1g-dev libncursesw5-dev libbz2-dev unzip wget squashfs-tools openssh-client
```
(vedi immagine seguente)
![clonezilla boot](images/setup-5.png)
e procedere poi alla compilazione vera e propria con:
Il sistema ci chiederá di inserire la password per l'utente clonezilla e, se si é inserita la password correttamente ci dirá che da ora in poi si potrá fare login senza specificare la password.
Importante! Questa operazione si deve fare una sola volta su un solo computer. Una volta che la chiave é stata copiata sul server questa vale per tutte le operazioni con clonezilla (sul server).
## 7. Reinstallazione di un’aula con FUCC
La procedura più semplice per reinstallare un’aula con FUCC è la seguente:
1. Accendere tutti i computer e, via cssh, verificare che l’ultima versione di octofuss-client sia installata;
2. Eseguire octofuss-client per effettuare un invio manuale dei dati al server;
3. Sul server, eseguire lo script gen-computerList.sh ;
4. Copiare il file list.txt al posto di /srv/clonezilla/computerList.txt
5. Procedere con la reinstallazione. Ai client verrà ridato lo stesso nome di prima e lo stesso cluster.
```bash
make full-clean
make rebuild-squashfs
debian/rules binary
```
NB: i comandi vanno eseguiti come root per poter modificare i permessi dello squashfs.
## 8. NOTA IMPORTANTE PER LE IMMAGINI CLONEZILLA!
Per le operazioni di clonazione in genere si usano le immagini standard messe a disposizione dal "Nucleo Fuss".
Queste immagini hanno la partizione directory radice ("/") nella SECONDA PARTIZIONE del disco fisso e pertanto nel file "script" é stata settata la variabile "rootPartition" con il valore "2"
Se si sceglie di creare proprie immagini con uno schema di partizionamento diverso si deve indicare in suddetta variabile quale é la partizione contenente la directory radice.
Questo deve valere per tutte le immagini che si intendono utilizzare.
fuss-fucc (0.3) unstable; urgency=medium
* added copy of required file in debian/postinst
* changes to copyright file
* changes to README.md file
-- Paolo Dongilli <dongilli@fuss.bz.it> Fri, 30 Aug 2019 15:48:06 +0200
fuss-fucc (0.2) unstable; urgency=medium
* Use debconf to ask where to place clonezilla files
......
Files: *
Copyright: 2019 Donato Florio <Donato.Florio@scuola.alto-adige.it>
2019 Paolo Dongilli <Paolo.Dongilli@scuola.alto-adige.it>
Copyright: 2019 Donato Florio <Donato.Florio@provincia.bz.it>
2019 Paolo Dongilli <Paolo.Dongilli@provincia.bz.it>
2019 Marco Marinello <mmarinello@fuss.bz.it>
License: GPL-3.0+
......
images/setup-1.png

17.6 KB | W: | H:

images/setup-1.png

2.79 KB | W: | H:

images/setup-1.png
images/setup-1.png
images/setup-1.png
images/setup-1.png
  • 2-up
  • Swipe
  • Onion skin
# BEGIN ANSIBLE MANAGED (default)
DEFAULT menu.c32
# MENU MASTER PASSWD myPassword
MENU MASTER PASSWD myPassword
# END ANSIBLE MANAGED (default)
# BEGIN ANSIBLE MANAGED (clonezilla)
timeout 15
#timeout 15
label Clonezilla-unattended
MENU LABEL Clonezilla Automatico (Ramdisk)
# MENU PASSWD myPassword
MENU PASSWD myPassword
KERNEL clonezilla/live/vmlinuz
APPEND initrd=clonezilla/live/initrd.img boot=live username=clonezilla union=overlay config components quiet noswap edd=on nomodeset nodmraid locales= keyboard-layouts=NONE ocs_live_batch=no net.ifnames=0 nosplash noprompt keyboard-layouts=it locales=it_IT.UTF-8 ocs_prerun1="sshfs clonezilla@proxy:/srv/clonezilla /home/partimag -o IdentityFile=/home/clonezilla/.ssh/id_rsa -o StrictHostKeyChecking=no" ocs_prerun2="screen -S XY '/home/partimag/script' " fetch=tftp://proxy/clonezilla/live/filesystem.squashfs
# END ANSIBLE MANAGED (clonezilla)
label Clonezilla-Manuale
MENU LABEL Clonezilla Manuale (Ramdisk)
# MENU PASSWD myPassword
MENU PASSWD myPassword
KERNEL clonezilla/live/vmlinuz
APPEND initrd=clonezilla/live/initrd.img boot=live username=clonezilla union=overlay config components quiet noswap edd=on nomodeset nodmraid locales= keyboard-layouts=NONE ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_batch=no net.ifnames=0 nosplash noprompt keyboard-layouts=it locales=it_IT.UTF-8 ocs_repository="ssh://clonezilla@proxy/srv/clonezilla" fetch=tftp://proxy/clonezilla/live/filesystem.squashfs
# END ANSIBLE MANAGED (clonezilla)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment