<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://vsd.v2.cs.unibo.it/wiki/index.php?action=history&amp;feed=atom&amp;title=Esempio_utilizzo_vudev_e_vufuse</id>
	<title>Esempio utilizzo vudev e vufuse - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://vsd.v2.cs.unibo.it/wiki/index.php?action=history&amp;feed=atom&amp;title=Esempio_utilizzo_vudev_e_vufuse"/>
	<link rel="alternate" type="text/html" href="https://vsd.v2.cs.unibo.it/wiki/index.php?title=Esempio_utilizzo_vudev_e_vufuse&amp;action=history"/>
	<updated>2026-04-06T14:11:22Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.5</generator>
	<entry>
		<id>https://vsd.v2.cs.unibo.it/wiki/index.php?title=Esempio_utilizzo_vudev_e_vufuse&amp;diff=100&amp;oldid=prev</id>
		<title>Mattiabiondi: Created page with &quot;Esempio fatto in classe sull'utilizzo dei moduli &lt;tt&gt;vudev&lt;/tt&gt; e &lt;tt&gt;vufuse&lt;/tt&gt;.  == Macchina reale == === Creazione immagine disco === Creiamo un file della dimensione di 1...&quot;</title>
		<link rel="alternate" type="text/html" href="https://vsd.v2.cs.unibo.it/wiki/index.php?title=Esempio_utilizzo_vudev_e_vufuse&amp;diff=100&amp;oldid=prev"/>
		<updated>2019-03-16T21:24:49Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;Esempio fatto in classe sull&amp;#039;utilizzo dei moduli &amp;lt;tt&amp;gt;vudev&amp;lt;/tt&amp;gt; e &amp;lt;tt&amp;gt;vufuse&amp;lt;/tt&amp;gt;.  == Macchina reale == === Creazione immagine disco === Creiamo un file della dimensione di 1...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Esempio fatto in classe sull'utilizzo dei moduli &amp;lt;tt&amp;gt;vudev&amp;lt;/tt&amp;gt; e &amp;lt;tt&amp;gt;vufuse&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Macchina reale ==&lt;br /&gt;
=== Creazione immagine disco ===&lt;br /&gt;
Creiamo un file della dimensione di 1 gigabyte di nome ''&amp;quot;mydisk&amp;quot;''.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;$ truncate -s 1G mydisk&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Avvio macchina virtuale parziale ===&lt;br /&gt;
Avviamo la macchina virtuale parziale in una nuova istanza del terminale.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;$ umvu xterm&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Avremmo potuto utilizzare &amp;lt;tt&amp;gt;bash&amp;lt;/tt&amp;gt; al posto di &amp;lt;tt&amp;gt;xterm&amp;lt;/tt&amp;gt;, ma avrebbe utilizzato l'istanza corrente del terminale, impedendoci di visualizzare eventuali messaggi di ritorno.&lt;br /&gt;
&lt;br /&gt;
== Macchina virtuale ==&lt;br /&gt;
=== Inserimento moduli ===&lt;br /&gt;
Inseriamo nel kernel della macchina virtuale i moduli:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;tt&amp;gt;vudev&amp;lt;/tt&amp;gt;, modulo per la gestione di device virtuali&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;tt&amp;gt;vufuse&amp;lt;/tt&amp;gt;, modulo per la gestione di file system a livello utente in ambiente virtuale&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;tt&amp;gt;unrealuidgid&amp;lt;/tt&amp;gt;, modulo che gestisce la virtualizzazione dello ''user id'' e del ''group id'' &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;$ vu_insmod vudev vufuse unrealuidgid&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Montaggio disco ===&lt;br /&gt;
Montiamo l'immagine del disco sotto &amp;lt;tt&amp;gt;/dev/hda&amp;lt;/tt&amp;gt; utilizzando il sottomodulo &amp;lt;tt&amp;gt;vudevpartx&amp;lt;/tt&amp;gt; (nuova versione di &amp;lt;tt&amp;gt;umdevmbr&amp;lt;/tt&amp;gt;, chiamato così perchè ora, oltre a supportare MBR, supporta anche GPT).&amp;lt;br&amp;gt;&lt;br /&gt;
Per poter utilizzare la &amp;lt;tt&amp;gt;mount&amp;lt;/tt&amp;gt; dobbiamo prima ottenere i privilegi di super utente attraverso l'utility &amp;lt;tt&amp;gt;vusu&amp;lt;/tt&amp;gt;.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;$ vusu&lt;br /&gt;
$ mount -t vudevpartx mydisk /dev/hda&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Il disco montato sarà visibile solamente nel terminale della macchina virtuale (e nei suoi figli).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;vuos&amp;lt;/tt&amp;gt; si accerta che esista un modulo che faccia match con la prima parte del nome (&amp;lt;tt&amp;gt;vudev&amp;lt;/tt&amp;gt;) ed inoltra la gestione della chiamata al sottomodulo (&amp;lt;tt&amp;gt;vudevpartx&amp;lt;/tt&amp;gt;). A questo punto la libreria (&amp;lt;tt&amp;gt;vudevpartx.so&amp;lt;/tt&amp;gt;) viene caricata in memoria.&lt;br /&gt;
&lt;br /&gt;
=== Creazione tabella delle partizioni ===&lt;br /&gt;
Creiamo la tabella delle partizioni come in un disco reale, ad esempio utilizzando l'utility &amp;lt;tt&amp;gt;fdisk&amp;lt;/tt&amp;gt;.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;$ fdisk /dev/hda&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All'interno dell'utility, possiamo creare una nuova tabella delle partizioni GPT tramite il comando &amp;lt;tt&amp;gt;g&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Creazione partizione ===&lt;br /&gt;
Tramite il comando &amp;lt;tt&amp;gt;n&amp;lt;/tt&amp;gt; possiamo creare una nuova partizione (dopo aver indicato punto di inizio e di fine) e scrivere le modifiche su disco tramite il comando &amp;lt;tt&amp;gt;w&amp;lt;/tt&amp;gt;.&lt;br /&gt;
Seguendo l'esempio, la nuova partizione apparirà sotto il nome &amp;lt;tt&amp;gt;/dev/hda1&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Creazione file system ===&lt;br /&gt;
Formattiamo la partizione con un filesystem (ad esempio in &amp;lt;tt&amp;gt;ext4&amp;lt;/tt&amp;gt;) e controlliamo che il comando abbia avuto successo.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;$ mkfs.ext4 /dev/hda1&lt;br /&gt;
$ fsck.ext4 /dev/hda1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Montaggio partizione ===&lt;br /&gt;
Montiamo la partizione sotto &amp;lt;tt&amp;gt;/dev/hda1&amp;lt;/tt&amp;gt; utilizzando il sottomodulo &amp;lt;tt&amp;gt;vufuseext2&amp;lt;/tt&amp;gt;. Nonostante la denominazione, il sottomodulo è in grado di montare anche partizioni &amp;lt;tt&amp;gt;ext3&amp;lt;/tt&amp;gt; o &amp;lt;tt&amp;gt;ext4&amp;lt;/tt&amp;gt;.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;$ mount -o rw+ -t vufuseext2 /dev/hda1 /mnt&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
D'ora in poi tutte le chiamate verso /mnt saranno catturate e virtualizzate.&lt;br /&gt;
&lt;br /&gt;
=== Controllo finale ===&lt;br /&gt;
Se tutto è andato a buon fine, eseguendo &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;$ ls /mnt&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
dovrebbe comparire solo &amp;lt;tt&amp;gt;lost+found&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Possiamo ora scrivere sul disco, ad esempio con &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;$ echo &amp;quot;ciao&amp;quot; &amp;gt; /mnt/ciao&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mattiabiondi</name></author>
	</entry>
</feed>