<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki2025.debian.org/index.php?action=history&amp;feed=atom&amp;title=Chroot%2Fit</id>
	<title>Chroot/it - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki2025.debian.org/index.php?action=history&amp;feed=atom&amp;title=Chroot%2Fit"/>
	<link rel="alternate" type="text/html" href="https://wiki2025.debian.org/index.php?title=Chroot/it&amp;action=history"/>
	<updated>2026-11-01T18:10:18Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://wiki2025.debian.org/index.php?title=Chroot/it&amp;diff=1640&amp;oldid=prev</id>
		<title>Mok0: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="https://wiki2025.debian.org/index.php?title=Chroot/it&amp;diff=1640&amp;oldid=prev"/>
		<updated>2026-09-28T16:29:16Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 16:29, 28 September 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key mediawiki-mediawiki-:diff:1.41:old-1639:rev-1640 --&gt;
&lt;/table&gt;</summary>
		<author><name>Mok0</name></author>
	</entry>
	<entry>
		<id>https://wiki2025.debian.org/index.php?title=Chroot/it&amp;diff=1639&amp;oldid=prev</id>
		<title>mok0&gt;Morten Kjeldgaard: Not currently under git control</title>
		<link rel="alternate" type="text/html" href="https://wiki2025.debian.org/index.php?title=Chroot/it&amp;diff=1639&amp;oldid=prev"/>
		<updated>2026-09-28T16:20:23Z</updated>

		<summary type="html">&lt;p&gt;Not currently under git control&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;!-- language: it --&amp;gt;&lt;br /&gt;
&amp;lt;!-- end of language versions --&amp;gt;&lt;br /&gt;
{{Warning|This is a launch status check of the wiki migration, you can edit this entry to test things, but it might be deleted at any time, so save it if you want to keep your edits.}}&lt;br /&gt;
&lt;br /&gt;
[[DebianMan:chroot]] è un&amp;#039;utilità che cambia la cartella che viene considerata la radice della gerarchia del file system dai suoi processi figli, in modo che sia impossibile per essi accedere alla cartella superiore rispetto alla nuova radice, anche se esiste fisicamente sul disco.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
-------&lt;br /&gt;
&lt;br /&gt;
= Casi d&amp;#039;uso comuni =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;#039;&amp;#039;&amp;#039;L&amp;#039;utilità &amp;lt;code&amp;gt;chroot&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;è pensata principalmente per un uso occasionale, ad-hoc.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Se si passa regolarmente ad un ambiente in &amp;lt;code&amp;gt;chroot&amp;lt;/code&amp;gt; e ancor più se se ne usano più di uno, considerare l&amp;#039;uso di &amp;#039;&amp;#039;&amp;#039;[[Schroot]]&amp;#039;&amp;#039;&amp;#039;, che automatizza alcuni compiti e non richiede i privilegi di &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; per un uso normale.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Passare velocemente ad un altro ambiente (distribuzione, versione, tipo, insieme di pacchetti) a scopo di test, compilazione, debug, ecc.&lt;br /&gt;
* Riparare un sistema corrotto connettendo come unità esterna la sua unità principale (ad esempio usando un case USB) ad un sistema funzionante ed effettuando operazioni dall&amp;#039;interno del sistema in fase di riparazione.&lt;br /&gt;
* Storicamente &amp;lt;code&amp;gt;chroot&amp;lt;/code&amp;gt; era anche usato per aumentare la sicurezza di servizi di rete in esecuzione su una data macchina: se un autore di un attacco riusciva a ingannare il servizio facendogli fare un&amp;#039;[https://en.wikipedia.org/wiki/Arbitrary_code_execution esecuzione di codice arbitrario], non avrebbe comunque avuto accesso all&amp;#039;intero file system della macchina (rimaneva dentro ad una cosiddetta &amp;#039;&amp;#039;prigione chroot (chroot jail)&amp;#039;&amp;#039;). Ciò tuttavia non impedisce all&amp;#039;autore dell&amp;#039;attaco l&amp;#039;uso delle interfacce di rete della macchina per penetrare ulteriormente la rete interna, inoltre in Linux e alcuni altri UNIX, evadere da una &amp;quot;chroot jail&amp;quot; è relativamente facile. Pertanto, per scopi correlati alla sicurezza, &amp;lt;code&amp;gt;chroot&amp;lt;/code&amp;gt; è stato rimpiazzato da macchine virtuali e contenitori.&lt;br /&gt;
&lt;br /&gt;
-------&lt;br /&gt;
&lt;br /&gt;
= Configurazione e uso di base =&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;A meno che non esplicitamente diversamente detto, tutti i comandi nelle sottosezioni seguenti richiedono i privilegi di &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt;.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Creare o fornire una gerarchia di file di un sistema Linux ==&lt;br /&gt;
&lt;br /&gt;
Nelle sezioni seguenti &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;${chrootFolder}&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; fa riferimento alla cartella radice di una gerarchia di file creata o fornita come descritto in seguito.&lt;br /&gt;
&lt;br /&gt;
* Nel caso di passaggio ad unità connesse esternamente, si tratta di montarle nella cartella di destinazione prescelta.&lt;br /&gt;
* Nel caso si desideri creare una immagine Debian nuova, si possono usare utilità come [[DebianMan:mmdebstrap]], per esempio per creare un ambiente pulito per creare pacchetti deb:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mmdebstrap --skip=output/dev,output/mknod --variant=buildd \&lt;br /&gt;
    trixie &amp;quot;${chrootFolder}&amp;quot; http://deb.debian.org/debian&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Montare file system virtuali ==&lt;br /&gt;
&lt;br /&gt;
Alla data del 2026 questi sono &amp;lt;code&amp;gt;proc&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sysfs&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;udev&amp;lt;/code&amp;gt; e i &amp;quot;figli&amp;quot; degli ultimi 2 che sono troppi e che inoltre tendono a nascere e morire troppo di frequente. Fortunatamente [[DebianMan:mount]] ha l&amp;#039;opzione &amp;lt;code&amp;gt;--rbind&amp;lt;/code&amp;gt; che permette di collegare un file system già montato insieme a tutti i suoi figli, ad una cartella di destinazione aggiuntiva. Naturalmente [[systemd#Known_Issues_and_Workarounds|systemd ha deciso di rendere diffettose alcune funzionalità di base]], perciò è necessario inoltre usare o l&amp;#039;opzione &amp;lt;code&amp;gt;--make-rslave&amp;lt;/code&amp;gt; o &amp;lt;code&amp;gt;--make-rprivate&amp;lt;/code&amp;gt; per forzare il comportamento corretto (vedere [[DebianMan:mount_namespaces]] per i dettagli).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mount -t proc proc &amp;quot;${chrootFolder}/proc&amp;quot;&lt;br /&gt;
mount --rbind --make-rslave /sys &amp;quot;${chrootFolder}/sys&amp;quot;&lt;br /&gt;
mount --rbind --make-rslave /dev &amp;quot;${chrootFolder}/dev&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Nel caso ci si stia interrogando sul fatto che anche &amp;lt;code&amp;gt;proc&amp;lt;/code&amp;gt; ha 1 figlio: &amp;lt;code&amp;gt;binfmt_misc&amp;lt;/code&amp;gt;, che è usato per registrare gestori/interpreti di eseguibili binari, il che non ha senso in una &amp;lt;code&amp;gt;chroot&amp;lt;/code&amp;gt; (deve essere fornito il percorso assoluto di un dato interprete, che è inaccessibile da un contesto in &amp;lt;code&amp;gt;chroot&amp;lt;/code&amp;gt;), perciò è inutile collegarlo.&lt;br /&gt;
&lt;br /&gt;
== Copiare la configurazione del risolutore DNS ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cp /etc/resolv.conf &amp;quot;${chrootFolder}/etc/&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Effettuare il passaggio ad una chroot ==&lt;br /&gt;
&lt;br /&gt;
Ciò solitamente consiste in&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
chroot &amp;quot;${chrootFolder}&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
...che avvia una shell di login interattiva dell&amp;#039;utente &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; all&amp;#039;interno dell&amp;#039;ambiente in &amp;lt;code&amp;gt;chroot&amp;lt;/code&amp;gt;, in modo che si possa effettuare in modo interattivo ogni compito sia necessario.&lt;br /&gt;
&lt;br /&gt;
Per i compiti non interattivi, si può fornire invece un comando alternativo e i suo argomenti:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
chroot &amp;quot;${chrootFolder}&amp;quot; /root/myScriptToBeExecutedInChroot.sh myArg1 myArg2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;/root/myScriptToBeExecutedInChroot.sh&amp;lt;/code&amp;gt; è un percorso all&amp;#039;interno della gerarchia in &amp;lt;code&amp;gt;chroot&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Pulizia ==&lt;br /&gt;
&lt;br /&gt;
Dopo il termine del processo &amp;lt;code&amp;gt;chroot&amp;lt;/code&amp;gt; è necessario scollegare / &amp;lt;code&amp;gt;smontare&amp;lt;/code&amp;gt; tutti i file system virtuali collegati/montati in precedenza. Per fortuna &amp;lt;code&amp;gt;umount&amp;lt;/code&amp;gt; ha anche un&amp;#039;opzione &amp;lt;code&amp;gt;--recursive&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;-R&amp;lt;/code&amp;gt; per aiutare a farlo:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
umount -R &amp;quot;${chrootFolder}/dev&amp;quot;&lt;br /&gt;
umount -R &amp;quot;${chrootFolder}/sys&amp;quot;&lt;br /&gt;
umount -R &amp;quot;${chrootFolder}/proc&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Se &amp;lt;code&amp;gt;${chrootFolder}&amp;lt;/code&amp;gt; è un punto di mount di un&amp;#039;unità esterna e si desidera smontare anche quello, si possono sostituire tutti i comandi scritti sopra con solo il seguente comando:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
umount -R &amp;quot;${chrootFolder}&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-------&lt;br /&gt;
&lt;br /&gt;
= Note e scenari aggiuntivi =&lt;br /&gt;
&lt;br /&gt;
== Eseguire applicazioni X11 con GUI ==&lt;br /&gt;
&lt;br /&gt;
Eseguire applicazioni X11 con GUI dall&amp;#039;interno di un ambiente in &amp;lt;code&amp;gt;chroot&amp;lt;/code&amp;gt; e visualizzarle sul server X11 dell&amp;#039;host funziona usando i meccanismi standard: basta esportare il valore della variabile d&amp;#039;ambiente &amp;lt;code&amp;gt;DISPLAY&amp;lt;/code&amp;gt; dall&amp;#039;host nella &amp;lt;code&amp;gt;chroot&amp;lt;/code&amp;gt; e assicurarsi che il server X dell&amp;#039;host permetta tutte le connessioni (per esempio usando l&amp;#039;utilità [[DebianMan:xhost]]).&lt;br /&gt;
&lt;br /&gt;
== Eseguire servizi systemd ==&lt;br /&gt;
&lt;br /&gt;
I servizi systemd generalmente si rifiutano di essere eseguiti in un ambiente &amp;lt;code&amp;gt;chroot&amp;lt;/code&amp;gt;. Usare [[nspawn|systemd-nspawn]] invece di &amp;lt;code&amp;gt;chroot&amp;lt;/code&amp;gt; se si ha necessità di eseguire servizi systemd.&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
== Architetture estranee ==&lt;br /&gt;
&lt;br /&gt;
Se è installato [[DebianPkg:qemu-user-binfmt]], è possibile usare &amp;lt;code&amp;gt;chroot&amp;lt;/code&amp;gt; per un file system per ogni architettura diversa supportata da esso.&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
== Modificare i dati di avvio ==&lt;br /&gt;
&lt;br /&gt;
Se si desidera modificare i dati di avvio di un altro sistema, nella cui unità si è entrati tramite &amp;lt;code&amp;gt;chroot&amp;lt;/code&amp;gt; (ciò include, ad esempio, eseguire &amp;lt;code&amp;gt;update-grub&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;update-initramfs&amp;lt;/code&amp;gt;, installare un nuovo kernel o firmware + moduli del kernel per dispositivi critici per l&amp;#039;avvio, ecc.), è necessario montare la sua gerarchia &amp;lt;code&amp;gt;/boot&amp;lt;/code&amp;gt;. Ciò può includere quanto segue:&lt;br /&gt;
* &amp;lt;code&amp;gt;/boot&amp;lt;/code&amp;gt; stesso è a volte una partizione separata, più comunemente nei sistemi che usano un qualche schema di cifratura del disco.&lt;br /&gt;
* su sistemi UEFI (ciò include la maggior parte dell&amp;#039;hardware x86 e ARM moderno), le loro partizioni ESP sono montate in &amp;lt;code&amp;gt;/boot/efi&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Solitamente è più comodo montare questi file system subito dopo aver fatto il passaggio ad una &amp;lt;code&amp;gt;chroot&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Dopo il passaggio ad una &amp;lt;code&amp;gt;chroot&amp;lt;/code&amp;gt;, verificare quali file system sono presenti eseguendo &amp;lt;code&amp;gt;grep /boot /etc/fstab&amp;lt;/code&amp;gt;. Quello sottostante è un esempio di output da un sistema con entrambe le voci &amp;lt;code&amp;gt;/boot&amp;lt;/code&amp;gt; e &amp;lt;code&amp;gt;/boot/efi&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UUID=7a307683-255a-4bac-937f-95aa2af2ca17  /boot      ext4  defaults    0  2&lt;br /&gt;
UUID=4D18-6163                             /boot/efi  vfat  umask=0077  0  1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Se le voci &amp;lt;code&amp;gt;/etc/fstab&amp;lt;/code&amp;gt; usano UUID, come nell&amp;#039;esempio soprastante, (che è il comportamento predefinito nella maggior parte delle distribuzioni moderne) o &amp;lt;code&amp;gt;PARTLABEL&amp;lt;/code&amp;gt; o &amp;lt;code&amp;gt;LABEL&amp;lt;/code&amp;gt; univoche, allora tutto ciò che è necessario fare è puntare &amp;lt;code&amp;gt;mount&amp;lt;/code&amp;gt; ai loro punti di mount corrispondenti:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mount /boot&lt;br /&gt;
mount /boot/efi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Su alcuni sistemi più vecchi, invece di UUID o etichette, possono essere usati i nodi di device in &amp;lt;code&amp;gt;/etc/fstab&amp;lt;/code&amp;gt;, come ad esempio &amp;lt;code&amp;gt;/dev/sdaX&amp;lt;/code&amp;gt;, ecc. In questi casi è necessario capire quale nodo di device corrisponde ad un determinato file system. Nel caso più comune è un&amp;#039;altra partizione sulla stessa unità fisica del file system radice di tale sistema esterno.&lt;br /&gt;
&lt;br /&gt;
Dopo che si è finito di lavorare in &amp;lt;code&amp;gt;chroot&amp;lt;/code&amp;gt;, questi file system possono essere smontati o dall&amp;#039;interno della &amp;lt;code&amp;gt;chroot&amp;lt;/code&amp;gt; o dopo essere usciti.&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
[[:Category:System]] | [[:Category:Virtualization]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>mok0&gt;Morten Kjeldgaard</name></author>
	</entry>
</feed>