Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "AmministrazioneSistema/UbuntuSolaLettura"
Differenze tra le versioni 7 e 9 (in 2 versioni)
Versione 7 del 22/04/2012 09.47.05
Dimensione: 7008
Commento:
Versione 9 del 30/04/2012 10.12.59
Dimensione: 6206
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 5: Linea 5:
<<Informazioni(forum="http://forum.ubuntu-it.org/index.php/topic,518449.0.html";)>> <<Informazioni(rilasci="11.10";forum="http://forum.ubuntu-it.org/index.php/topic,518449.0.html";)>>
Linea 7: Linea 7:
{{{#!wiki comment
Su quale versione è stata provata?
}}}
Linea 13: Linea 10:
Questa guida spiega come impostare '''Ubuntu''' in modalità di sola lettura. Questa guida spiega come avviare '''Ubuntu''' in modalità sola lettura, eseguendo il boot dalla ram anziché dal disco fisso.
Linea 15: Linea 12:
Tale procedura prevede che '''Ubuntu''' venga caricato dalla ram anziché dal disco fisso. Ciò può risultare utile per coloro che necessitano di rendere disponibile '''Ubuntu''' in contesti pubblici, per esempio gli internet cafè, affinché:
 * disponendo di postazioni multi-utente o ad accesso libero, le applicazioni e le configurazioni non vengano modificate dall'utente;
 * sia possibile installare Ubuntu su Compact Flash che hanno un ciclo di letture e scrittura molto più basso dei classici HD favorendo sistemi embedded;
 * il disco non subisca danni se la corrente viene a mancare.
Ciò può risultare utile per coloro che necessitano di rendere disponibile '''Ubuntu''' in contesti pubblici come per esempio gli internet cafè, di modo che, disponendo di postazioni multi-utente o ad accesso libero, le applicazioni e le configurazioni non vengano modificate dall'utente.
Linea 20: Linea 14:
{{{#!wiki comment
Toglierei il punto due. Non è un vantaggio direttamente collegato a questa procedura.
}}}
Al termine della seguente procedura, il sistema sarà composto dalla partizione '''/''' (`root`) montata su `tmpfs`.
Linea 24: Linea 16:
Al termine della seguente procedura, il sistema sarà costituito dalla directory `root` (`/`) montata su `tmpfs`. Saranno inoltre create in fase di avvio, all'interno di `tmpfs`, due cartelle:
 * in `/ro` sarà presente la partizione '''/''' (`root`) in sola lettura;
 * in `/rw` saranno presenti i file che saranno modificati dall'utente durante l'attività della macchina.
Linea 26: Linea 20:
Saranno inoltre create in fase di avvio due cartelle:
 * la cartella `/ro` dove verrà montata la nostra partizione `root` in sola lettura;
 * la cartella `/rw` dove verranno scritti i file modificati durante l'attività della macchina.
= Preparare il sistema =
Linea 30: Linea 22:
{{{#!wiki comment
Le cartelle `/ro` e `/rw` vengono create dentro `tmpfs` se ho capito bene.
}}}
Un installazione di '''Ubuntu''' funzionante e tutto il software che si ritiene necessario fornire all'utente.
Linea 34: Linea 24:
= Prerequisiti = ||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Grandi/info.png,,center)>> ||<style="padding:0.5em; border:none;">E' consigliabile personalizzare il proprio sistema __prima__ di proseguire. Benché sia possibile riportare il sistema in condizioni di lettura e scrittura, risulta più comodo preparare prima il sistema finito. ||
Linea 36: Linea 26:
Un installazione '''Ubuntu''' funzionante e tutto il software che si ritiene necessario fornire all'utente finale.

||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Grandi/info.png,,center)>> ||<style="padding:0.5em; border:none;">E' consigliabile personalizzare il proprio sistema prima di procedere con il resto della seguente guida. Benché sia possibile riportare il sistema in condizioni di lettura e scrittura, risulta più comodo preparare prima il sistema finito. ||

= Prima di procedere =

Prima di procedere è necessario risolvere una serie di bug che si andrebbero a creare in modalità sola lettura.

{{{#!wiki comment
Quali bug più prcisamente?
}}}
E' necessario risolvere una serie di problematiche che si andrebbero a creare in modalità sola lettura.
Linea 50: Linea 29:
}}} al fine di consentire un corretto funzionamento dell'audio e per evitare che ''gnome-settings-daemon'' utili il 100% della CPU.
}}} al fine di consentire un corretto funzionamento dell'audio e per evitare che ''gnome-settings-daemon'' utilizzi il 100% del processore.
Linea 55: Linea 33:

* Per ulteriore sicurezza spostare gli script posti nella cartella `/etc/apparmor.d` in una cartella di backup in modo da disabilitarli ma averli disponibili all'occorrenza: {{{
 * Spostare gli script posti nella cartella `/etc/apparmor.d` in una cartella di backup in modo da disabilitarli ma averli disponibili all'occorrenza: {{{
Linea 58: Linea 35:
}}} Questa modifica è necessaria in quanto, viceversa, il dhclient non configurava la rete correttamente.

{{{#!wiki comment
Migliorare ulteriormente.
}}}
}}} Questa modifica è necessaria in quanto, viceversa, il ''dhclient'' non configura la rete correttamente.
Linea 67: Linea 40:
 * Con un editor di testo e con i [[AmministrazioneSistema/Sudo|privilegi di amministrazione ]] creare il all'interno della cartella `/etc/initramfs-tools/hooks` il file `ro_root`: {{{  * Con un editor di testo e con i [[AmministrazioneSistema/Sudo|privilegi di amministrazione ]] creare all'interno della cartella `/etc/initramfs-tools/hooks` il file `ro_root`: {{{
Linea 94: Linea 67:
 * Inoltre, all'interno della cartella `/etc/initramfs-tools/scripts/init-bottom` creare il file `ro_root` {{{  * Inoltre, all'interno della cartella `/etc/initramfs-tools/scripts/init-bottom` creare un altro file `ro_root`: {{{
Linea 151: Linea 124:
 * Per sicurezza prima di procedere creare una copia di backup del file initrd in modo da avere un modo più veloce di ripristinare il sistema in caso si avesse bisogno di un sistema RW: {{{  * Prima di procedere creare una copia di backup del file `initrd.img-$VERSIONE` in modo da avere un modo più veloce di ripristinare il sistema in caso si avesse bisogno di un sistema in lettura e scrittura: {{{
Linea 153: Linea 126:
sudo cp initrd-$VERSIONE initrd-$VERSIONE.rw sudo cp initrd.img-$VERSIONE initrd.img-$VERSIONE.rw
Linea 156: Linea 129:
||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Piccole/note.png,,center)>> ||<style="padding:0.5em; border:none;">''Sostituire `$VERSIONE` con il numero di versione del kernel in uso.'' || ||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Piccole/note.png,,center)>> ||<style="padding:0.5em; border:none;">''Sostituire `$VERSIONE` con la versione del kernel in uso.'' ||
Linea 158: Linea 131:
 * Ora creare un nuovo initrd per il sistema in RO: {{{  * Ora creare un nuovo `initrd` per il sistema in modalità sola lettura: {{{
Linea 162: Linea 135:
Il sistema è ora in Read Only.
Linea 166: Linea 137:
Per montare il filesystem in rw da terminale digitare: {{{ Per montare il filesystem in modalità lettura e scrittura da terminale digitare: {{{
Linea 168: Linea 139:
}}} in questo modo la cartella ro sarà scrivibile. }}} in questo modo la cartella `/ro` sarà scrivibile.
Linea 170: Linea 141:
Copiare i files modificati nel loro relativo percorso sotto la cartella `/ro` e rimettere i filesystem in RO: {{{ A questo punto, copiare i file modificati nel loro relativo percorso sotto la cartella `/ro` e rimettere i filesystem in sola lettura: {{{
Linea 174: Linea 145:
È possibile inoltre installare nuovi pacchetti anche se il sistema è in sola lettura. Seguire il passo appena citato per rendere la directory `/ro` scrivibile e mentre il sistema è in RW tramite il comando ''chroot'' entriamo nella cartella `/ro`: {{{ È possibile inoltre installare nuovi pacchetti anche se il sistema è in sola lettura. Dopo aver reso scrivibile la cartella `/ro`, attraverso il comando precedente, tramite il comando ''chroot'', entrare nella cartella `/ro`: {{{
Linea 176: Linea 147:
}}} a questo punto installare i pacchetti come di consueto. }}} A questo punto installare i pacchetti come di consueto.
Linea 178: Linea 149:
Appena finito digitare {{{
exit}}} per uscire dal ''chroot'' e rimettere il sistema in RO.

{{{#!wiki comment
Renderlo più accessibile all'utenza meno tecnica.
}}}

= Ulteriori risorse =

{{{#!wiki comment
Esiste una fonte o documento originale?
}}}
Al termine digitare {{{
exit}}} per uscire dal ''chroot'' e rimettere il sistema in sola lettura.


Problemi in questa pagina? Segnalali in questa discussione

Introduzione

Questa guida spiega come avviare Ubuntu in modalità sola lettura, eseguendo il boot dalla ram anziché dal disco fisso.

Ciò può risultare utile per coloro che necessitano di rendere disponibile Ubuntu in contesti pubblici come per esempio gli internet cafè, di modo che, disponendo di postazioni multi-utente o ad accesso libero, le applicazioni e le configurazioni non vengano modificate dall'utente.

Al termine della seguente procedura, il sistema sarà composto dalla partizione / (root) montata su tmpfs.

Saranno inoltre create in fase di avvio, all'interno di tmpfs, due cartelle:

  • in /ro sarà presente la partizione / (root) in sola lettura;

  • in /rw saranno presenti i file che saranno modificati dall'utente durante l'attività della macchina.

Preparare il sistema

Un installazione di Ubuntu funzionante e tutto il software che si ritiene necessario fornire all'utente.

E' consigliabile personalizzare il proprio sistema prima di proseguire. Benché sia possibile riportare il sistema in condizioni di lettura e scrittura, risulta più comodo preparare prima il sistema finito.

E' necessario risolvere una serie di problematiche che si andrebbero a creare in modalità sola lettura.

  • Con un editor di testo e con i privilegi di amministrazione aggiungere la seguente riga al file /etc/sysctl.conf:

    kernel.yama.protected_nonaccess_hardlinks = 0

    al fine di consentire un corretto funzionamento dell'audio e per evitare che gnome-settings-daemon utilizzi il 100% del processore.

  • Con i privilegi di amministrazione, disabilitare all'avvio il servizio apparmor:

    sudo update-rc.d apparmor disable
  • Spostare gli script posti nella cartella /etc/apparmor.d in una cartella di backup in modo da disabilitarli ma averli disponibili all'occorrenza:

    sudo mv /etc/apparmor.d /etc/apparmor.d_disable

    Questa modifica è necessaria in quanto, viceversa, il dhclient non configura la rete correttamente.

Configurazione

Creazione script

  • Con un editor di testo e con i privilegi di amministrazione creare all'interno della cartella /etc/initramfs-tools/hooks il file ro_root:

    sudo nano /etc/initramfs-tools/hooks/ro_root
  • Inserire al suo interno il seguente script:

    PREREQ=''
    
    prereqs() {
      echo "$PREREQ" 
    }
    
    case $1 in
    prereqs)
      prereqs
      exit 0
      ;;
    esac
    
    . /usr/share/initramfs-tools/hook-functions
    manual_add_modules aufs
    manual_add_modules tmpfs
    copy_exec /bin/chmod /bin
  • Rendere il file eseguibile:

    sudo chmod +x /etc/initramfs-tools/hooks/ro_root
  • Inoltre, all'interno della cartella /etc/initramfs-tools/scripts/init-bottom creare un altro file ro_root:

    sudo nano /etc/initramfs-tools/scripts/init-bottom/ro_root

    inserendo il seguente contenuto:

    PREREQ=''
    
    prereqs() {
      echo "$PREREQ" 
    }
    
    case $1 in
    prereqs)
      prereqs
      exit 0
      ;;
    esac
    
    # Boot normally when the user selects single user mode.
    if grep single /proc/cmdline >/dev/null; then
      exit 0
    fi
    
    ro_mount_point="${rootmnt%/}.ro" 
    rw_mount_point="${rootmnt%/}.rw" 
    
    # Create mount points for the read-only and read/write layers:
    mkdir "${ro_mount_point}" "${rw_mount_point}" 
    
    # Move the already-mounted root filesystem to the ro mount point:
    mount --move "${rootmnt}" "${ro_mount_point}" 
    
    # Mount the read/write filesystem:
    mount -t tmpfs root.rw "${rw_mount_point}" 
    
    # Mount the union:
    mount -t aufs -o "dirs=${rw_mount_point}=rw:${ro_mount_point}=ro" root.union "${rootmnt}" 
    
    # Correct the permissions of /:
    chmod 755 "${rootmnt}" 
    
    # Make sure the individual ro and rw mounts are accessible from within the root
    # once the union is assumed as /.  This makes it possible to access the
    # component filesystems individually.
    mkdir "${rootmnt}/ro" "${rootmnt}/rw" 
    mount --move "${ro_mount_point}" "${rootmnt}/ro" 
    mount --move "${rw_mount_point}" "${rootmnt}/rw" 
    
    # Make sure checkroot.sh doesn't run.  It might fail or erroneously remount /.
    rm -f "${rootmnt}/etc/rcS.d"/S[0-9][0-9]checkroot.sh
  • Rendere il file eseguibile:

    sudo chmod +x /etc/initramfs-tools/scripts/init-bottom/ro_root

Configurazione initrd

  • Prima di procedere creare una copia di backup del file initrd.img-$VERSIONE in modo da avere un modo più veloce di ripristinare il sistema in caso si avesse bisogno di un sistema in lettura e scrittura:

    cd /boot
    sudo cp initrd.img-$VERSIONE initrd.img-$VERSIONE.rw

Sostituire $VERSIONE con la versione del kernel in uso.

  • Ora creare un nuovo initrd per il sistema in modalità sola lettura:

    update-initramfs -u

Montare il filesystem in Read Write

Per montare il filesystem in modalità lettura e scrittura da terminale digitare:

sudo mount -o remount,rw /ro

in questo modo la cartella /ro sarà scrivibile.

A questo punto, copiare i file modificati nel loro relativo percorso sotto la cartella /ro e rimettere i filesystem in sola lettura:

sudo mount -o remount,ro /ro

È possibile inoltre installare nuovi pacchetti anche se il sistema è in sola lettura. Dopo aver reso scrivibile la cartella /ro, attraverso il comando precedente, tramite il comando chroot, entrare nella cartella /ro:

chroot /ro

A questo punto installare i pacchetti come di consueto.

Al termine digitare

exit

per uscire dal chroot e rimettere il sistema in sola lettura.


CategoryNuoviDocumenti