Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "andreas-xavier/prova4"
Differenze tra le versioni 16 e 70 (in 54 versioni)
Versione 16 del 03/05/2016 09.24.16
Dimensione: 6601
Commento:
Versione 70 del 16/12/2022 16.51.45
Dimensione: 8240
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 1: Linea 1:
## page was renamed from LorenzoZoffoli/Prova0
Linea 2: Linea 3:
#language it #LANGUAGE it
Linea 4: Linea 5:
<<Indice(depth=1)>>
<<Informazioni(forum="http://forum.ubuntu-it.org/viewtopic.php?f=46&t=609856";)>>
<<Include(NuoviStrumentiWiki/PaginaDiProva)>>
<<Indice(depth=2)>>
<<Informazioni(forum="http://forum.ubuntu-it.org/viewtopic.php?t=636196"; rilasci="14.04 16.04 18.04 20.04 22.04")>>
Linea 8: Linea 11:
Questa guida illustra vari metodi o programmi per creare un'USB live di Ubuntu (o di altre distribuzioni Gnu/Linux) con i sistemi operativi più comuni di Ubuntu. Questa guida contiene le informazioni per accedere ad una installazione di Ubuntu attraverso '''chroot''' ('''Ch'''ange '''root'''). Quest'ultima è un'utilità dei sistemi [[https://it.wikipedia.org/wiki/Unix-like|unix-like]] in grado di cambiare root directory apparente, così da creare un nuovo ambiente logicamente separato dalla root del sistema principale.
Linea 10: Linea 13:
Per usare gli strumenti di seguito elencati sarà necessario scaricare preventivamente il file `.iso` della versione di Ubuntu desiderata da [[http://www.ubuntu-it.org/download|questo indirizzo]] oppure tramite rete [[InternetRete/Condivisione/BitTorrent|BitTorrent]] da [[DownloadTorrent|questo indirizzo]]. I supporti USB così creati possono essere in seguito avviati seguendo le istruzioni di [[Installazione/AvvioSupportoDiInstallazione|questa guida]]. In altre parole, con il '''chroot''' è possibile accedere ad un secondo sistema presente nel computer e utilizzarlo tramite [[AmministrazioneSistema/Terminale|riga di comando]]. Si potrà quindi eseguire qualunque azione sul sistema avviato da chroot operando da terminale aperto da un altro sistema '''GNU/Linux''' oppure da sessione '''[[Installazione#Creazione_e_avvio_del_supporto_di_installazione|live]]'''.
Linea 12: Linea 15:
||<tablestyle="text-align: justify; width:62%; " style="border:none;" 5%><<Immagine(Icone/Grandi/info.png,,center)>> ||<style="padding:0.5em; border:none;"> In Ubuntu si trova preinstallata l'applicazione '''[[Installazione/UbuntuLiveUsb|Creatore dischi di avvio]]'''. || Il '''chroot''' può avere diverse applicazioni. Ad esempio può rivelarsi utile:
 * per riparare un sistema al quale è impossibile accedere, specialmente quando non è sufficiente eseguire semplici modifiche ai file, ma occorre svolgere operazioni avanzate come l'esecuzione di programmi dal sistema danneggiato (un tipico esempio è il [[AmministrazioneSistema/Grub/Ripristino|ripristino di GRUB]]).
 * per accedere rapidamente ad un altro sistema presente sulla stessa macchina senza lasciare quello già avviato.
 * in certi casi, come alternativa alla [[Virtualizzazione|virtualizzazione]].
Linea 14: Linea 20:
||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Piccole/warning.png,,center)>> ||<style="padding:0.5em; border:none;">'''I programmi e le procedure riportati in questa pagina implicano solitamente la cancellazione e la perdita dell'intero contenuto del supporto USB. Eseguire quindi un backup se necessario.'''|| Altre caratteristiche varie del '''chroot''' sono le seguenti:
 * Richiede che i due sistemi siano della medesima architettura (è utile tenerlo a mente in caso di utilizzo da sessione ''live'').
 * Viene adoperato il kernel del sistema di partenza (non di quello a cui si effettua l'accesso).
 * Non è possibile l'apertura simultanea di più sistemi con chroot.
 * È possibile operare anche tra distribuzioni GNU/Linux differenti (ad esempio, è possibile utilizzare Fedora o Arch operando da terminale per accedere ad un Ubuntu e viceversa). Ovviamente, una volta entrati in sessione chroot, bisognerà utilizzare i comandi specifici della distribuzione su cui si è eseguito l'accesso.
Linea 16: Linea 26:
= Modalità grafica = <<Anchor(preliminari)>>
= Operazioni preliminari =
Linea 18: Linea 29:
||<rowbgcolor="#cccccc" tablewidth="100%" 25%>'''Programma''' ||<:15%>'''Sistemi operativi'''||<:60%>'''Descrizione'''||
|| Creatore dischi di avvio || {{attachment:Ubuntu.png}} || Per maggiori informazioni consultare la relativa [[Installazione/UbuntuLiveUsb|guida]]. ||
|| [[https://unetbootin.github.io/|Unetbootin]] || {{attachment:Linux.gif}} {{attachment:Windows.png}} {{attachment:Macosx.png}} || Per maggiori informazioni consultare la relativa [[Installazione/Unetbootin|guida]]. ||
|| [[https://github.com/linuxmint/mintstick|Mintstick]] || {{attachment:Linux.gif}} || Semplice strumento sviluppato da [[https://www.linuxmint.com/|Linux Mint]]. Per l'installazione scaricare il file `.deb` da [[http://packages.linuxmint.com/pool/main/m/mintstick/|questa pagina]] e seguire le istruzioni di [[AmministrazioneSistema/InstallareProgrammi/PacchettiDebian|questa guida]].||
|| [[http://rufus.akeo.ie/|Rufus]] || {{attachment:Windows.png}} || Tool opensource per creare USB avviabili. Comprende il supporto per UEFI (GPT) e `.iso` di Windows. || ||
|| [[http://www.linuxliveusb.com/|LinuxLive USB Creator]] || {{attachment:Windows.png}} || Semplice programma che permette il download diretto della distribuzione Gnu/Linux desiderata. ||
|| [[http://www.pendrivelinux.com/yumi-multiboot-usb-creator/|YUMI]] || {{attachment:Windows.png}} || Non necessita di installazione. Permette di scaricare e installare più distribuzioni Gnu/Linux nello stesso supporto USB. ||
|| [[http://www.pendrivelinux.com/universal-usb-installer-easy-as-1-2-3/|Universal USB Installer]] || {{attachment:Windows.png}} || Supporta il download diretto della distribuzione Gnu/Linux desiderata. ||
|| [[http://www.sarducd.it/it/index.html|SARDU]] || {{attachment:Linux.gif}} {{attachment:Windows.png}} || Programma per creare dispositivi rimovibili multiboot. Supporta funzioni e strumenti avanzati fra cui vari tool di diagnostica. ||
|| [[http://sevenbits.github.io/Mac-Linux-USB-Loader/|Mac Linux USB Loader]] || {{attachment:Macosx.png}} || Strumento open source che si esegue tramite il file binario contenuto nel file `.zip` scaricabile dal sito ufficiale. Per OS X 10.7 Lion necessita della versione 2.0.1 scaricabile da [[https://github.com/SevenBits/Mac-Linux-USB-Loader/releases/tag/v2.0.2|questa pagina]]. ||
|| [[https://launchpad.net/mkusb|mkusb-tool]] || {{attachment:Ubuntu.png}} || Per maggiori informazioni consultare la relativa [[https://help.ubuntu.com/community/mkusb|guida]] (in inglese). ||
 0. Avviare la '''Live''' di '''Ubuntu''' oppure l'altro sistema GNU/Linux presente nel computer.
Linea 30: Linea 31:
||||||||<tablewidth="50%" style="background-color:#cccccc":>'''Legenda''' ||
|| {{attachment:Ubuntu.png}} || Disponibile solo per Ubuntu e derivate. ||
|| {{attachment:Linux.gif}} || Disponibile per Ubuntu e altri sistemi GNU/Linux. ||
|| {{attachment:Windows.png}} || Disponibile per Windows. ||
|| {{attachment:Macosx.png}} || Disponibile per Mac OSX. ||
 0. [[Hardware/DispositiviPartizioni/IndividuarePartizioni|Individuare]] il file system e tutte le partizione su cui è installato il sistema e prenderne nota.<<BR>>Infatti, a seconda delle operazioni che si desidera eseguire, potrebbe essere necessario individuare:
  * Partizione [[AmministrazioneSistema/Uefi|EFI]], se presente.
  * Eventuali [[Hardware/DispositiviPartizioni/SpostareHomePartizioneSeparata|partizioni separate]] per `/boot`, `/home`, `/var` ecc.
Linea 36: Linea 35:
= Tramite terminale =
== Ubuntu e sistemi GNU/Linux ==
 0. Per ottenere la lista dei dispositivi presenti nel pc, digitare nel [[AmministrazioneSistema/RigaDiComando|terminale]] il comando: {{{
lsblk
{{{#!wiki important
Di seguito verranno mostrati comandi con nomi fittizi delle partizioni. Sostituirli con quelli reali, individuati precedentemente.
Linea 41: Linea 38:
 0. Collegare il supporto USB al computer. La chiavetta verrà montata automaticamente.
 0. Ripetere il comando per identificare il dispositivo precedentemente assente nella lista. Il nome del dispositivo sarà identificabile dalla dicitura '''disk''' in corrispondenza della colonna '''TYPE'''.
 0. Scrivere l'immagine `.iso` nel dispositivo con il comando:{{{
dd if=cartella/file.iso of=/dev/sdX bs=4M && sync
}}} sostituendo `cartella/file.iso` con il nome del file `.iso` e `/dev/sdX` con il nome del device precedentemente identificato (ad esempio `sdb`).
Linea 47: Linea 39:
||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%><<Immagine(Icone/Grandi/info.png,,center)>> ||<style="padding:0.5em; border:none;"> Esistono anche altri modi per creare USB avviabili da file `.iso` tramite teminale. In questa guida viene suggerito ''dd'' perché è semplice da utilizzare e non richiede l'installazione di pacchetti aggiuntivi. Inoltre viene suggerito di aggiungere il parametro ''bs=4M && sync'' per ottimizzare il processo di scrittura. || <<Anchor(accesso)>>
= Accesso al sistema =
Linea 49: Linea 42:
||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Piccole/warning.png,,center)>> ||<style="padding:0.5em; border:none;">'''Il comando potrebbe restituire un errore qualora il file `.iso` sia salvato in una cartella il cui nome contenga spazi (ad esempio "''Documenti di Luca''"). In questo caso è sufficiente spostare il file in un'altra directory oppure rinominare la cartella stessa.'''||  0. Prima di accedere al sistema occorre [[AmministrazioneSistema/ComandiBase#Gestione_del_filesystem|montare]] la relativa partizione di sistema (quella di ''root'', più altre se necessario). Digitare nel [[AmministrazioneSistema/Terminale|terminale]] uno dei comandi descritti successivamente.
  * Per partizioni con file system ''ext4'':{{{
sudo mount -t ext4 /dev/sda3 /mnt
}}}
  * Per partizioni con file system ''btrfs'':{{{
sudo mount -t btrfs -o subvol=@ /dev/sda3 /mnt
}}}
 {{{#!wiki note
L'esempio precedente è relativo ad un sistema ''btrfs'' con due [[Hardware/DispositiviPartizioni/Btrfs/Introduzione#Presentazione_subvolume|subvolumi]], impostazione predefinita di Ubuntu e di altre distribuzioni GNU/Linux.<<BR>>
Qualora invece non siano impostati subvolumi, può essere omessa l'opzione `-o subvol=@`. Tuttavia nei comandi successivi andrà specificato il punto di mount diverso da `/mnt`, anche per le relative sotto-directory (ad esempio `/mnt/@` con sotto-directory `/mnt/@/boot/efi/` ecc.).
}}}
Linea 51: Linea 54:
== Mac OS X ==
Seguire le indicazioni di [[Installazione/MacOsXLiveUsb|questa pagina]].
 0. Se presente, montare l'eventuale partizione '''EFI''' (saltare questo passaggio se non necessario). A tal fine digitare:{{{
sudo mount -t vfat /dev/sda2 /mnt/boot/efi/
}}}

 <<Anchor(mount)>>
 0. Montare in `/mnt` anche le directory virtuali `/dev`, `/proc`, `/sys` e `/run` con il comando:{{{
for i in dev proc sys run; do sudo mount --bind /$i /mnt/$i; done
}}}

 0. Effettuare il '''chroot''' sul sistema montato digitando: {{{
sudo chroot /mnt
}}}

Arrivati a questo punto, all'interno dell'ambiente '''chroot''' sarà possibile effettuare qualsiasi operazione sull'altro sistema tramite [[AmministrazioneSistema/Terminale|terminale]] (ad esempio installare/rimuovere/aggiornare pacchetti, modificare o eliminare file, ripristinarne il corretto avvio ecc.).

{{{#!wiki important
Quando è in uso chroot si ottiene l'accesso come [[AmministrazioneSistema/PrivilegiDiAmministrazione|root]]. Quindi prestare particolare attenzione ai comandi che vengono eseguiti.<<BR>>Si ricorda che __non__ occorre anteporre «`sudo`» a nessun comando.
}}}

<<Anchor(abbandono)>>
= Uscita dal sistema =

 0. Uscire dal '''chroot''' premendo la combinazione di tasti '''Ctrl+D''' o con il comando:{{{
exit
}}}
 0. Se necessario, [[AmministrazioneSistema/ComandiBase#cd|spostarsi]] in `~`:{{{
cd ~
}}}
 0. Smontare tutte le directory virtuali con il comando:{{{
for i in /dev /proc /sys /run /; do sudo umount -l /mnt$i; done
}}}
 0. Se presente, smontare anche l'eventuale partizione '''EFI''' (saltare il passaggio se non necessario):{{{
sudo umount /dev/sda2 /mnt/boot/efi/
}}}
 0. Smontare infine la partizione di sistema sulla quale si è operato, digitando il comando:{{{
sudo umount /dev/sda3 /mnt
}}}

Per accedere normalmente all'altro sistema riavviare come di consueto il computer oppure terminare la sessione ''Live''.

= Risoluzione problemi =

== Connessione ai repository non riuscita ==

Se provando ad aggiornare il sistema appare un output simile al seguente:{{{
root@notebook:/# apt update
Ignorato:1 http://security.ubuntu.com/ubuntu jammy-security InRelease
Ignorato:2 http://it.archive.ubuntu.com/ubuntu jammy InRelease
Ignorato:3 http://it.archive.ubuntu.com/ubuntu jammy-updates InRelease


W: Impossibile recuperare http://it.archive.ubuntu.com/ubuntu/dists/jammy-updates/InRelease Risoluzione di "it.archive.ubuntu.com" temporaneamente non riuscita
W: Impossibile recuperare http://it.archive.ubuntu.com/ubuntu/dists/jammy-backports/InRelease Risoluzione di "it.archive.ubuntu.com" temporaneamente non riuscita

}}}
digitare il seguente comando:{{{
ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
}}}
e riprovare l'aggiornamento.

== Assenza connessione alla rete ==

In rari casi potrebbe capitare che il '''chroot''' non riesca a navigare in rete. Per verificare se è causato dal non funzionamento della connessione, digitare il comando:{{{
ping -c 4 ubuntu.com
}}}
Un output simile al seguente indica il non funzionamento della connessione alla rete:{{{
ping: ubuntu.com: Nome o servizio sconosciuto
}}}

Per aggirare il problema eseguire la seguente procedura:

 0. [[#abbandono|Uscire]] dal '''chroot'''.
 0. Ripetere la procedura di [[#accesso|accesso]] al '''chroot''' fino a questo [[#mount|passaggio]].
 0. Montare separatamente la directory `/etc/resolv.conf`, digitando il seguente comando:{{{
sudo mount --bind /etc/resolv.conf /mnt/etc/resolv.conf
}}}
 0. Eseguire il '''chroot''' come descritto nel passaggio successivo.
Linea 55: Linea 133:
 * [[https://help.ubuntu.com/community/USB%20Installation%20Media|Supporto USB di installazione sulla Documentazione internazionale]]
 * [[https://help.ubuntu.com/community/Installation/FromUSBStick| Installazione da USB sulla Documentazione internazionale]]
 * [[Installazione/DaImg|Installazione da file immagine]]
 * [[https://it.wikipedia.org/wiki/Live_CD| Live CD]] (voce enciclopedica)
 

 * [[https://en.wikipedia.org/wiki/Chroot|Pagina enciclopedica]]
 * [[https://wiki.debian.org/it/chroot|Wiki di Debian]]
 * [[Programmazione/DebootstrapChroot|Guida a debootstrap]]
 * [[AmministrazioneSistema/ComandiBase#Gestione_del_filesystem|Comandi per montare partizioni]]
 * [[AmministrazioneSistema/Grub|Guide su GRUB]]
Linea 61: Linea 141:
CategoryAmministrazione CategoryInstallazioneSistema ##CategoryAmministrazione
##----
CategoryHomepage
CategoryNuoviDocumenti


Attenzione! Questa è una Pagina di prova. Le informazioni riportate potrebbero essere incomplete, errate e potenzialmente pericolose. Per contribuire alla realizzazione di questa pagina consultare la discussione di riferimento.

Guida verificata con Ubuntu: 20.04 22.04

Problemi in questa pagina? Segnalali in questa discussione

Introduzione

Questa guida contiene le informazioni per accedere ad una installazione di Ubuntu attraverso chroot (Change root). Quest'ultima è un'utilità dei sistemi unix-like in grado di cambiare root directory apparente, così da creare un nuovo ambiente logicamente separato dalla root del sistema principale.

In altre parole, con il chroot è possibile accedere ad un secondo sistema presente nel computer e utilizzarlo tramite riga di comando. Si potrà quindi eseguire qualunque azione sul sistema avviato da chroot operando da terminale aperto da un altro sistema GNU/Linux oppure da sessione live.

Il chroot può avere diverse applicazioni. Ad esempio può rivelarsi utile:

  • per riparare un sistema al quale è impossibile accedere, specialmente quando non è sufficiente eseguire semplici modifiche ai file, ma occorre svolgere operazioni avanzate come l'esecuzione di programmi dal sistema danneggiato (un tipico esempio è il ripristino di GRUB).

  • per accedere rapidamente ad un altro sistema presente sulla stessa macchina senza lasciare quello già avviato.
  • in certi casi, come alternativa alla virtualizzazione.

Altre caratteristiche varie del chroot sono le seguenti:

  • Richiede che i due sistemi siano della medesima architettura (è utile tenerlo a mente in caso di utilizzo da sessione live).

  • Viene adoperato il kernel del sistema di partenza (non di quello a cui si effettua l'accesso).
  • Non è possibile l'apertura simultanea di più sistemi con chroot.
  • È possibile operare anche tra distribuzioni GNU/Linux differenti (ad esempio, è possibile utilizzare Fedora o Arch operando da terminale per accedere ad un Ubuntu e viceversa). Ovviamente, una volta entrati in sessione chroot, bisognerà utilizzare i comandi specifici della distribuzione su cui si è eseguito l'accesso.

Operazioni preliminari

  1. Avviare la Live di Ubuntu oppure l'altro sistema GNU/Linux presente nel computer.

  2. Individuare il file system e tutte le partizione su cui è installato il sistema e prenderne nota.
    Infatti, a seconda delle operazioni che si desidera eseguire, potrebbe essere necessario individuare:

Di seguito verranno mostrati comandi con nomi fittizi delle partizioni. Sostituirli con quelli reali, individuati precedentemente.

Accesso al sistema

  1. Prima di accedere al sistema occorre montare la relativa partizione di sistema (quella di root, più altre se necessario). Digitare nel terminale uno dei comandi descritti successivamente.

    • Per partizioni con file system ext4:

      sudo mount -t ext4 /dev/sda3 /mnt
    • Per partizioni con file system btrfs:

      sudo mount -t btrfs -o subvol=@ /dev/sda3 /mnt

    L'esempio precedente è relativo ad un sistema btrfs con due subvolumi, impostazione predefinita di Ubuntu e di altre distribuzioni GNU/Linux.
    Qualora invece non siano impostati subvolumi, può essere omessa l'opzione -o subvol=@. Tuttavia nei comandi successivi andrà specificato il punto di mount diverso da /mnt, anche per le relative sotto-directory (ad esempio /mnt/@ con sotto-directory /mnt/@/boot/efi/ ecc.).

  2. Se presente, montare l'eventuale partizione EFI (saltare questo passaggio se non necessario). A tal fine digitare:

    sudo mount -t vfat /dev/sda2 /mnt/boot/efi/

  3. Montare in /mnt anche le directory virtuali /dev, /proc, /sys e /run con il comando:

    for i in dev proc sys run; do sudo mount --bind /$i /mnt/$i; done
  4. Effettuare il chroot sul sistema montato digitando:

    sudo chroot /mnt

Arrivati a questo punto, all'interno dell'ambiente chroot sarà possibile effettuare qualsiasi operazione sull'altro sistema tramite terminale (ad esempio installare/rimuovere/aggiornare pacchetti, modificare o eliminare file, ripristinarne il corretto avvio ecc.).

Quando è in uso chroot si ottiene l'accesso come root. Quindi prestare particolare attenzione ai comandi che vengono eseguiti.
Si ricorda che non occorre anteporre «sudo» a nessun comando.

Uscita dal sistema

  1. Uscire dal chroot premendo la combinazione di tasti Ctrl+D o con il comando:

    exit
  2. Se necessario, spostarsi in ~:

    cd ~
  3. Smontare tutte le directory virtuali con il comando:

    for i in /dev /proc /sys /run /; do sudo umount -l /mnt$i; done
  4. Se presente, smontare anche l'eventuale partizione EFI (saltare il passaggio se non necessario):

    sudo umount /dev/sda2 /mnt/boot/efi/
  5. Smontare infine la partizione di sistema sulla quale si è operato, digitando il comando:

    sudo umount /dev/sda3 /mnt

Per accedere normalmente all'altro sistema riavviare come di consueto il computer oppure terminare la sessione Live.

Risoluzione problemi

Connessione ai repository non riuscita

Se provando ad aggiornare il sistema appare un output simile al seguente:

root@notebook:/# apt update
Ignorato:1 http://security.ubuntu.com/ubuntu jammy-security InRelease
Ignorato:2 http://it.archive.ubuntu.com/ubuntu jammy InRelease
Ignorato:3 http://it.archive.ubuntu.com/ubuntu jammy-updates InRelease
W: Impossibile recuperare http://it.archive.ubuntu.com/ubuntu/dists/jammy-updates/InRelease  Risoluzione di "it.archive.ubuntu.com" temporaneamente non riuscita
W: Impossibile recuperare http://it.archive.ubuntu.com/ubuntu/dists/jammy-backports/InRelease  Risoluzione di "it.archive.ubuntu.com" temporaneamente non riuscita

digitare il seguente comando:

ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf

e riprovare l'aggiornamento.

Assenza connessione alla rete

In rari casi potrebbe capitare che il chroot non riesca a navigare in rete. Per verificare se è causato dal non funzionamento della connessione, digitare il comando:

ping -c 4 ubuntu.com

Un output simile al seguente indica il non funzionamento della connessione alla rete:

ping: ubuntu.com: Nome o servizio sconosciuto

Per aggirare il problema eseguire la seguente procedura:

  1. Uscire dal chroot.

  2. Ripetere la procedura di accesso al chroot fino a questo passaggio.

  3. Montare separatamente la directory /etc/resolv.conf, digitando il seguente comando:

    sudo mount --bind /etc/resolv.conf /mnt/etc/resolv.conf
  4. Eseguire il chroot come descritto nel passaggio successivo.

Ulteriori risorse


CategoryHomepage CategoryNuoviDocumenti