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/prova8"
Differenze tra le versioni 53 e 90 (in 37 versioni)
Versione 53 del 13/01/2023 18.00.49
Dimensione: 16317
Commento:
Versione 90 del 02/10/2024 11.10.17
Dimensione: 9590
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 1: Linea 1:
## page was renamed from LogDiSistema
## page was renamed from LogFiles
#format wiki
#LANGUAGE it
Linea 8: Linea 4:
<<Informazioni(forum="https://forum.ubuntu-it.org/viewtopic.php?p=3854842"; rilasci="22.04 20.04")>>  <<Informazioni(forum="http://forum.ubuntu-it.org/viewtopic.php?f=46&t=xxxx"; rilasci="20.04 22.04 24.04")>>
Linea 12: Linea 8:
Uno degli aspetti fondamentali dei sistemi GNU/Linux è la registrazione di tutto ciò che accade nel sistema (''logging'').<<BR>>
Queste informazioni hanno un valore inestimabile per utilizzare il sistema in modo cosciente, e dovrebbero essere fra le prime risorse utilizzate per la risoluzione dei problemi e la ricerca delle soluzioni.
I ''file di log'' memorizzano tutte le informazioni riguardanti lo stato di salute del sistema e delle applicazioni.

Ubuntu fornisce informazioni essenziali su eventi, operazioni e altre funzionalità attraverso la registrazione di diversi file di log.<<BR>>
Tali file non sono altro che semplici file di testo in formato [[https://it.wikipedia.org/wiki/ASCII|ASCII]] standard e generalmente vengono memorizzati nella sottodirectory di sistema `/var/log`.<<BR>>
La maggior parte dei file di log viene generata dal demone di sistema '''rsyslogd''', mentre altri vengono creati e gestiti direttamente dalle applicazioni che ne salvano una propria copia direttamente in `/var/log`.

Questa guida descrive i principali log di sistema e il loro contenuto con degli esempi. Inoltre, verranno descritti alcuni esempi sul modo di estrarre le informazioni utili da tali registri, facendo uso dei soli strumenti disponibili da [[AmministrazioneSistema/Terminale|riga di comando]].<<BR>>
Viene illustrato, inoltre, il funzionamento e la configurazione del demone di registrazione del sistema '''rsyslogd'''.

= Esaminare i file di registro =
'''!QuickEmu''' è un programma per sistemi GNU/Linux, distribuito con licenza MIT, in grado di creare macchine virtuali tramite '''[[Virtualizzazione/Qemu|Qemu]]''' in maniera semplice e rapida, concepito per utenti che fanno un uso massivo di sistemi virtualizzati.

Di seguito alcune delle principali caratteristiche:
 * download e avvio di macchine virtuali con pochi comandi da [[AmministrazioneSistema/Terminale|terminale]]
 * ottimizzazione automatica delle macchine virtuali, senza dover configurare Qemu
 * supporto a SPICE per condivisione host/guest degli appunti
 * accelerazione grafica tramite VirGL
 * supporto a UEFI (con o senza Secure Boot) e BIOS Legacy,
 * possibilità di salvare le macchine vituali nella '''Home''' o su dispositivi di archiviazione esterni
 * possibilità di virtualizzare i più disparati sistemi operativi: Windows 10 e 11, le ultime versioni di macOS, tutte le principali distribuzioni GNU/Linux (Arch, Debian, Fedora, Ubuntu, Slackware ecc.), Android x86, FreeBSD, TrueNAS, !OpenIndiana, FreeDOS, Haiku, ReactOS e tanti altri.
 
= Installazione =

Per Ubuntu e derivate sono disponibili dei PPA che permettono l'installazione semplificata di '''!QuickEmu'''.

 0. Digitare nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{
sudo apt-add-repository ppa:flexiondotorg/quickemu
}}}
 0. [[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://quickemu|quickemu]].
Linea 26: Linea 29:
Alcuni file necessitano dei [[AmministrazioneSistema/PrivilegiDiAmministrazione/Sudo|privilegi di amministrazione]] per essere letti.
}}}

È possibile esaminare i file di registro tramite alcuni fra i [[AmministrazioneSistema/ComandiBase|comandi di base]] e tramite i comandi specifici '''head''' e '''tail'''.

== Lettura dei log con i comandi di base ==

Per visualizzare il contenuto di un determinato file con il comando '''less''' è sufficiente postporre il nome del file al comando, con una sintassi simile alla seguente:
{{{
less /var/log/auth.log
}}}

Il file `/var/log/auth.log` verrà stampato a schermo. Per consultarlo usare i seguenti tasti:
 * '''le freccie direzionali''' per scorrere il file riga per riga;
 * '''BARRA SPAZIATRICE''' per andare avanti;
 * '''B''' per ndare indietro;
 * '''Q''' per terminare.

La ricerca all'interno dei file di log può risultare lunga e difficoltosa a causa delle loro dimensioni. Tale operazione può essere però semplificata attraverso l'uso combinato dei comandi '''less''' e '''grep''', che si occuperà di ricercare stringhe o pattern definiti dall'utente. Di seguito, come esempio, il comando per cercare il termine `sshd` nel file `/var/log/auth.log`:{{{
grep sshd /var/log/auth.log | less
}}}

== Esaminare i log con il comando head ==

È possibile consultare l'inizio di un registro usando il comando '''head'''. Tale comando, se usato con la sintassi predefinita, mostra le prime dieci righe di un qualsiasi file di testo. Ad esempio, per consultare gli eventi meno recenti registrati nel log di autorizzazione, digitare nel [[AmministrazioneSistema/Terminale|terminale]] comando:{{{
head /var/log/auth.log
}}}

È inoltre possibile consultare un numero diverso di righe tramite l'opzione aggiungendo l'opzione '''-n''' al comando precedente. Ad esempio per consultare le prime venticinque righe del file digitare:{{{
head -n 25 /var/log/auth.log
}}}

== Esaminare i log con il comando tail ==

Con il comando '''tail''' è possibile consultare solo la parte finale di un file. Analogamente a '''head''', con le impostazioni predefinite visualizza le ultime dieci righe di un file: {{{
tail /var/log/kern.log
}}}

Allo stessso modo di '''head''', con l'opzione '''-n''' si può specificare un numero diverso di righe. Ad esempio per consultare le ultime venticinque righe del file `/var/log/kern.log` digitare:{{{
tail -n 25 /var/log/kern.log
}}}

== Esaminare log in tempo reale ==

Aggiungendo l'opzione '''-f''' al comando '''tail''' è possibile consultare un registro in ''tempo reale''. Per esempio, se si desidera conoscere in tempo reale i client che accedono al proprio server '''apache''', digitare nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{
tail -f /var/log/apache2/access.log
}}}

##corretto fino qui

= Registri di sistema =

Questa sezione della guida si occupa dei cosiddetti log di sistema, ovvero dei file di registro nei quali vengono memorizzati tutti gli eventi che hanno a che fare con il funzionamento del sistema e non necessariamente con le altre applicazioni.

Esempi di questo tipo sono quelli relativi ai meccanismi di autorizzazione, ai sevizi di sistema, ai messaggi ed ai log di sistema veri e propri, detti anche ''syslog'' (da non confondere con il demone '''syslogd''' descritto in seguito).

<<Anchor(autorizzazione)>>
== Log di autorizzazione ==

Il log di autorizzazione traccia l'uso dei sistemi di autorizzazione, cioè tutti i quei meccanismi di Ubuntu che permettono di autorizzare gli utenti attraverso l'inserimento della propria password, come ad esempio il sistema '''PAM''', il comando [[AmministrazioneSistema/PrivilegiDiAmministrazione|sudo]], l'accesso remoto da [[InternetRete/ConfigurazioneRete/OpenSsh|shell ssh]] e così via.

 * '''Posizione''': `/var/log/auth.log`

 * '''Esempio''': {{{
grep sshd /var/log/auth.log | less
}}}

== Log di debug ==

Il log di debug fornisce i dettagli dei messaggi di debug provenienti dal sistema e dalle applicazioni che si appoggiano al demone '''syslogd''' a livello di «DEBUG». Questi messaggi sono utili per il debug di applicazioni, driver e servizi.

 * '''Posizione''': {{{/var/log/debug}}}

 * '''Esempio''': {{{
grep ACPI /var/log/debug | less
}}}

== Log del kernel ==

Il registro di attività del kernel fornisce informazioni dettagliate sullo stato del kernel di Ubuntu. Questi messaggi possono risultare utili, per esempio, per la risoluzione dei problemi durante l'installazione di un nuovo kernel.

 * '''Posizione''': {{{/var/log/kern.log}}}

 * '''Esempio''': {{{
grep CPU /var/log/kern.log | less
}}}

<<Anchor(kernelring)>>
== Kernel ring buffer ==

Il ''kernel ring buffer'' non è un vero e proprio file di log, ma piuttosto un'area del kernel attualmente in uso che può essere interrogata in modo da ottenere informazioni riguardanti i messaggi di avvio del kernel stesso: a tale scopo è utile usare il comando '''dmesg'''. È possibile vedere tutti i messaggi inviati dal kernel durante la fase di avvio digitando il seguente comando in un [[AmministrazioneSistema/Terminale|terminale]]:{{{
dmesg | less
}}}

Come al solito, è possibile usare una combinazione con il comando '''grep''', allo scopo di ricercare informazioni più specifiche:{{{
dmesg | grep pnp | less
}}}

{{{#!wiki note
All'avvio del sistema, come impostazione predefinita, lo script `/etc/init.d/bootmisc.sh` lancia il comando '''dmesg''' e ne memorizza i risultati all'interno di `/var/log/dmesg`. Tale file può essere consultato come un qualsiasi altro file di registro.
}}}

== Log dei messaggi ==

Il log in questione contiene i messaggi di informazioni delle applicazioni e degli strumenti di sistema. Questo registro è utile per esaminare messaggi di output provenienti dalle applicazioni e dagli strumenti di sistema che sfruttano il servizio '''syslogd''' a livello di «INFO».

 * '''Posizione''': {{{/var/log/messages}}}

 * '''Esempio''': {{{
grep gconfd /var/log/messages | less
}}}

== Registro di sistema ==

Il registro di sistema contiene la stragrande maggioranze delle delle informazioni relative alla configurazione del proprio sistema Ubuntu. È localizzato in {{{/var/log/syslog}}} e contiene tutte le altre informazioni non gestite dagli altri registri. È molto utile consultare questo file di registro quando le informazioni ricercate non sono presenti negli altri log citati in precedenza.

= Registri delle applicazioni =

Oltre alla miriade di log specifici del sistema, è possibile accedere anche ai diversi log usati da determinate applicazioni. Se si elenca il contenuto della sottodirectory {{{/var/log}}} ,è possibile notare dei file contenenti i nomi di alcune applicazioni installate, come {{{/var/log/apache2}}} rappresenta il log del server '''Apache''', o {{{/var/log/samba}}}, che contiene i log del server '''Samba'''. Questa sezione introduce alcuni esempi specifici dei registri delle applicazioni e le informazioni contenute in essi.

== Registro di Apache ==

I file di registro di '''apache''' vengono memorizzati nella cartella {{{/var/log/apache2}}}. All'interno di questa directory sono presenti due differenti file di log, uno contenente le informazioni riguardanti le richieste d'accesso al server ({{{/var/log/apache2/access.log}}}), l'altro per i messaggi d'errore ({{{/var/log/apache2/error.log}}}).

 * '''Posizione''': {{{/var/log/apache2/}}}

 * '''Esempio''': {{{
grep "82.211.81.166" /var/log/apache2/access.log | less
grep "Mac OS X" /var/log/apache2/access.log | less
grep "shutting down" /var/log/apache2/error.log | less
}}}

== Registro del sistema di stampa CUPS ==

Anche il '''Common Unix Printing System''' (CUPS) registra la propria attività all'interno di un file di log. Nel caso si debba risolvere qualche problema legato al servizio di stampa di Ubuntu, tale registro potrebbe rivelarsi un buon punto di partenza.

 * '''Posizione''': {{{/var/log/cups/error_log}}}

 * '''Esempio''': {{{
grep reload /var/log/cups/error_log | less
}}}

== Log di Rootkit Hunter ==

Il comando '''rkhunter''' effettua dei controlli nel sistema per verificare la presenza di ''backdoor'', ''sniffer'', ''rootkit'' e altre applicazioni indesiderate.

 * '''Posizione''': {{{/var/log/rkhunter.log}}}

 * '''Esempio''': {{{
grep WARNING /var/log/rkhunter.log | less
}}}

== Registro di Samba ==

Il server '''Samba''' è solitamente usato per la condivisione di file fra sistemi compatibili. '''Samba''' conserva tre tipi di log differenti nella sottodirectory {{{/var/log/samba}}}:

 * {{{log.nmbd}}} : Annota tutti i messaggi relativi al NETBIOS Samba sopra la funzionalità dell'IP
 * {{{log.smbd}}} : Annota tutti i messaggi relativi alle funzionalità del SMB/CIFS Samba
 * {{{log.[IP_ADDRESS]}}} : Annota i messaggi relativi alle richieste per i servizi dall'indirizzo IP presente nel nome del file, per esempio, {{{log.192.168.1.1}}}.

 * '''Posizione''': {{{/var/log/samba}}}

 * '''Esempio''': {{{
grep "master browser" /var/log/samba/log.nmbd | less
less /var/log/samba/log.nmbd
grep started /var/log/samba/log.smbd | less
less /var/log/samba/log.192.168.99.99
}}}

== Registro di X ==

Il server grafico '''X''' memorizza le proprie attività all'interno del file {{{/var/log/Xorg.0.log}}}.

 * '''Posizione''': {{{/var/log/Xorg.0.log}}}

 * '''Esempio''': {{{
grep freetype /var/log/Xorg.0.log | less
}}}

= Log non umanamente intellegibili =

Tra i vari file presenti in {{{/var/log}}} ve ne sono alcuni destinati ad essere letti da particolari applicazioni, non necessariamente da esseri umani. Quelli che seguono sono degli esempi di questi particolari tipi di registro.

== Registro degli accessi falliti ==

È possibile visualizzare il log degli accessi falliti al sistema tramite il comando '''faillog'''.

 * '''Posizione''': {{{/var/log/faillog}}}

 * '''Esempio''': {{{
faillog
}}}

== Registro degli ultimi accessi ==

È possibile esaminare il registro degli utlimi accessi effettuati tramite il comando '''lastlog'''.

 * '''Posizione''': {{{/var/log/lastlog}}}

 * '''Esempio''': {{{
lastlog | less
}}}

== Registro degli accessi ==

È possibile esaminare il registro in questione in modo da conoscere gli utenti attualmente loggati nel sistema attraverso il comando '''who'''.

 * '''Posizione''': {{{/var/log/wtmp}}}

 * '''Esempio''': {{{
who
}}}

= System Logging Daemon =

Il '''System Logging Daemon''', o '''syslogd''', è un servizio di sistema che ha il compito di ricevere, reindirizzare (in locale o attraverso la rete) e memorizzare i messaggi di log proveniente dagli altri sottosistemi (servizi, applicazioni etc).

== Configurazione ==

Il file di configurazione {{{/etc/syslog.conf}}} contiene la configurazione del servizio '''syslogd'''. La spiegazione del contenuto di tale file esula dagli scopi della presente guida. Consultare la sezione [[#risorse|Ulteriori risorse]].

== Inviare messaggi al registro di sistema ==

## devo riprendere da qui

Il comando '''logger''' permette di inserire messaggi in uno dei log del sistema (ad esempio {{{/var/log/syslog}}}) in modo arbitrario. Tale comando è uno strumento molto potente che è possibile usare per inserire delle informazioni all'interno del log di sistema quando necessario, oppure all'interno di script amministrativi. Per esempio, se il proprio nome utente è {{{mario}}} e si desidera inserire un messaggio nel ''syslog'' a proposito di una modifica effettuata ad un file di configurazione del sistema, si può digitare un commando simile al seguente in un [[AmministrazioneSistema/Terminale|terminale]]:{{{
logger Ho abilitato il composito nel file /etc/X11/xorg.conf
}}}

Nel file {{{/var/log/syslog}}} comparirà una riga simile alla seguente:{{{
Jan 12 23:17:02 localhost mario: Ho abilitato il composito nel file /etc/X11/xorg.conf
}}}

È possibile usare il comando in questione all'interno di script, come nell'esempio seguente, in modo da implementare un semplice sistema di logging degli errori:
{{{
#!/bin/bash
#
# sample logger error jive
#
logmsg="/usr/bin/logger -s -t IlMioScript "

# announce what this script is, even to the log
$logmsg "Directory Checker FooScript Jive 1.0"

# test for the existence of Fred's home dir on this machine
if [ -d /home/fred ]; then
   $logmsg "I. La directory Home di Fred è presente nel sistema."
else
   $logmsg "E. Fred non ha una directory Home nel sistema."
   exit 1
fi
}}}

Lo script in questione ({{{chkdir.sh}}}), se eseguito su una macchina {{{butters}}} dove l'utente Fred non ha una cartella '''Home''', {{{/home/fred}}}, restituisce i seguenti risultati:
{{{
bumpy@butters:~$./chkdir.sh
MyScript: Directory Checker FooScript Jive 1.0
MyScript: E. Fred's Home Directory was NOT Found. Boo Hoo.
bumpy@butters:~$tail -n 2 /var/log/syslog
Jan 12 23:23:11 localhost IlMioScript: Directory Checker FooScript Jive 1.0
Jan 12 23:23:11 localhost IlMioScript: E. Fred non ha una directory Home nel sistema
}}}

È facile notare come i messaggi siano stati inviati sia al terminale che al ''syslog''.

== Rotazione dei log ==

A intervalli di tempo predefiniti, i file di log vengono prima ''ruotati'', ovvero automaticamente rinominati e sostituiti da nuovi file, dunque compressi con '''gzip''', allo scopo di ridurre lo spazio necessario alla loro memorizzazione, mantenendoli però sempre disponibili per controlli futuri.

Il comando '''logrotate''' si occupa della rotazione dei file di log. Di norma, '''logrotate''', il cui file di configurazione risiede in {{{/etc/logrotate.conf}}}, viene lanciato a intervalli periodici dal servizio [[AmministrazioneSistema/Cron|cron]].

<<Anchor(risorse)>>
È possibile scaricare il file `.deb` dalla [[https://github.com/quickemu-project/quickemu/releases|pagina ufficiale]]. Tuttavia si consiglia di installare dai PPA per automatizzare la gestione delle dipendenze.
}}}

= Utilizzo =

== Operazioni preliminari ==

 * Per ottenere una lista dei sistemi operativi disponibili e le loro versioni digitare:{{{
quickget list
}}}
##vedere se disponibili opzioni per ridurre ricerca

 * Per conoscere le versioni disponibili di un sistema operativo è possibile digitare il comando `quickget` omettendo la release. Verrà quindi riportato un messaggio di errore in cui saranno elencate le versioni disponibili, come nei seguenti esempi:{{{
quickget ubuntu
ERROR! You must specify a release.
 - Releases: 14.04 16.04 18.04 20.04 22.04 23.10 daily-live
}}}

 {{{
quickget macos
ERROR! You must specify a release.
 - Releases: high-sierra mojave catalina big-sur monterey ventura
}}}

== Scaricamento e avvio VM ==

Viene descritto di seguito, in linea generale, il funzionamento del programma.

 0. Per creare una macchina virtuale digitare nel [[AmministrazioneSistema/Terminale|terminale]] un comando che rispetti la seguente sintassi:{{{
quickget [sistema operativo] [versione] [edizione #se disponibile]
}}}
 Verranno creati un file di configurazione della macchina virtuale e, con le impostazioni di default, una cartella nella '''Home''' dell'utente contenente i file relativi alla macchina virtuale stessa.
 0. Prendere nota dell'output del comando precedente, necessario ad avviare la macchina virtuale.
 0. Per avviare la macchina virtuale digitare il comando che contenga la seguente sintassi:{{{
quickemu --vm [file di configurazione della macchina]
}}}

Verrà avviata la macchina virtuale in una nuova finestra. Inoltre verranno stampate nel terminale diverse info utili, fra cui:
 * Host: sistema host e hostname
 * CPU: modello di processore
 * CPU VM: numero di socket, core, thread(s) e GB di RAM utilizzata dalla VM
 * BOOT: se in uso EFI e secureboot
 * Disk: nome, path e dimensioni della VM
 * Boot ISO: nome e path del file ISO
 * Display: informazioni parte grafica (es: SDL, virtio-vga-gl, GL (on), VirGL (on) )
 * ssh: info per ssh
 * Process: nome e PID del processo

== Eliminazione macchina virtuale ==

Per eliminare una macchina virtuale è sufficiente eliminare la relativa cartella.

= Esempi di utilizzo di VM =

== GNU/Linux ==

{{{
quickget linuxmint 21.2 cinnamon
}}}

== Windows ==

{{{
quickget windows 11
}}}

{{{
quickemu --vm windows-11.conf
}}}

{{{#!wiki tip
L'installazione di Windows implementa automaticamente la modalità di installazione ''Unattended'', per saltare diversi passaggi (creazione di account online, richiesta dati di diagnostica, invio dati Microsoft ecc.). Inoltre vengono applicate delle patch per VirtIO, ecc.).
}}}

== macOS ==

{{{
quickget macos catalina
}}}

{{{
quickemu --vm macos-catalina.conf
}}}

= Funzionalità avanzate =

== SPICE ==

È possibile utilizzare i driver [[https://en.wikipedia.org/wiki/Simple_Protocol_for_Independent_Computing_Environments|SPICE]] per la macchina virtuale, che permettono di gestire automaticamente fra host e guest appunti condivisi, trasferimento di file, reindirizzamento dei dispositivi USB e risoluzione automatica dello schermo.

 0. Per abilitare questa funzionalità è sufficiente aggiungere `--display spice` al comando `quickemu` come nel seguente esempio:{{{
quickemu --vm ubuntu-22.04.conf --display spice
}}}
 0. Una volta avviato il sistema guest, a seconda del tipo di sistema eseguire una delle seguenti azioni:
  * '''Ubuntu:''' [[AmministrazioneSistema/InstallareProgrammi|installare]] i pacchetti [[apt://spice-vdagent|spice-vdagent]] e [[apt://spice-webdavd|spice-webdavd]].
  * '''Altri sistemi GNU/Linux:''': installare i pacchetti ''spice-vdagent'' e ''spice-webdavd'' con il gestore pacchetti della distribuzione in uso.
  * '''Windows:''' installare gli '''SPICE Windows guest tools''' scaricabili da [[https://www.spice-space.org/download.html|questo link]].

== CPU, RAM & Disks ==

By default, Quickemu will calculate the number of CPUs cores and RAM to allocate to a VM based on the specifications of your host computer. You can override this default behaviour and tune the VM configuration to your liking.

Add additional lines to your virtual machine configuration:

    cpu_cores="4" - Specify the number of CPU cores allocated to the VM
    ram="4G" - Specify the amount of RAM to allocate to the VM
    disk_size="16G" - Specify the size of the virtual disk allocated to the VM

=== Disk preallocation ===

Preallocation mode (allowed values: off (default), metadata, falloc, full). An image with preallocated metadata is initially larger but can improve performance when the image needs to grow.

Specify what disk preallocation should be used, if any, when creating the system disk image by adding a line like this to your VM configuration.

preallocation="metadata"

=== CD-ROM disks ===

If you want to expose an ISO image from the host to guest add the following line to the VM configuration:

fixed_iso="/path/to/image.iso"

=== Floppy disks ===

If you're like Alan Pope you'll probably want to mount a floppy disk image in the guest. To do so add the following line to the VM configuration:

floppy="/path/to/floppy.img"

== Display resolutions ==

qemu will always default to the primary monitor to display the VM's window. The default resolution that quickemu will request for virtual machines is 1280 x 800. This can be overridden by setting width and height in the VM configuration files or passing --width and --height as command line arguments, for example:

quickemu --vm ubuntu-22.04-desktop.conf --width 1920 --height 1080

== BIOS e EFI ==

'''Quickemu''' utilizza come modalità predefinita l'opzione di boot in modalità [[AmministrazioneSistema/Uefi|EFI]].<<BR>>
Per usare la modalità BIOS/Legacy/CSM, è sufficiente aprire con un [[Ufficio/EditorDiTesto|editor di testo]] il file di configurazione della macchina virtuale e aggiungere la seguente riga:{{{
boot="legacy"
}}}

== TPM ==

'''Quickemu''' dispone di un modulo [[https://it.wikipedia.org/wiki/Trusted_Platform_Module|TPM]] emulato, abilitato automaticamente nelle VM con Windows 11.<<BR>>
Per abilitarlo con altri sistemi è sufficiente aprire con un [[Ufficio/EditorDiTesto|editor di testo]] il file di configurazione della macchina virtuale e aggiungere la seguente riga:{{{
tpm="on"
}}}

== Bridged networking ==

To connect your virtual machine to a preconfigured network bridge, add an additional line to your virtual machine configuration:

network="br0"

If you want to have a persistent MAC address for your bridged network interface in the guest VM you can add macaddr to the virtual machine configuration. QEMU requires that the MAC address is in the range: 52:54:00:AB:00:00 - 52:54:00:AB:FF:FF

So you can specify a MAC address with something like this in the VM configuration:

macaddr="52:54:00:AB:51:AE"


= Interfaccia grafica =

'''Quickgui ''' è un progetto separato scritto con [[https://flutter.dev/|flutter]] per utilizzare '''!QuickEmu''' attraverso una semplice interfaccia grafica. Per Ubuntu viene distribuito tramite PPA.

Per installarlo digitare i seguenti comandi:{{{
sudo add-apt-repository ppa:yannick-mauray/quickgui
sudo apt update
sudo apt install quickgui
}}}

Al termine della procedura sarà possibile [[AmbienteGrafico/AvviareProgrammi|avviare]] il programma.
Linea 300: Linea 204:
 * [[https://help.ubuntu.com/community/LinuxLogFiles|Documento originale del wiki internazionale]]
 * [[http://na.mirror.garr.it/mirrors/appuntilinux/HTML/a2162.htm|Guida alla gestione del registro di sistema]]
 * [[http://www.samag.com/documents/s=1146/sam0109m/0109m.htm|Controllare i log con awk {en}]]
 * [[http://www-128.ibm.com/developerworks/linux/library/l-roadmap5/|Introduzione ai log del sistema {en}]]
 * [[http://www.linuxplanet.com/linuxplanet/tutorials/5576/1/|Guida ad una consultazione efficiente dei log {en}]]
 * [[https://github.com/quickemu-project/quickemu|Sito del progetto]]
 * [[https://github.com/quickemu-project/quickemu/wiki/|Wiki ufficiale]] (in inglese)
Linea 307: Linea 208:
##CategoryAmministrazione ##CategoryVirtualizzazione 


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 24.04

Problemi in questa pagina? Segnalali in questa discussione

Introduzione

QuickEmu è un programma per sistemi GNU/Linux, distribuito con licenza MIT, in grado di creare macchine virtuali tramite Qemu in maniera semplice e rapida, concepito per utenti che fanno un uso massivo di sistemi virtualizzati.

Di seguito alcune delle principali caratteristiche:

  • download e avvio di macchine virtuali con pochi comandi da terminale

  • ottimizzazione automatica delle macchine virtuali, senza dover configurare Qemu
  • supporto a SPICE per condivisione host/guest degli appunti
  • accelerazione grafica tramite VirGL
  • supporto a UEFI (con o senza Secure Boot) e BIOS Legacy,
  • possibilità di salvare le macchine vituali nella Home o su dispositivi di archiviazione esterni

  • possibilità di virtualizzare i più disparati sistemi operativi: Windows 10 e 11, le ultime versioni di macOS, tutte le principali distribuzioni GNU/Linux (Arch, Debian, Fedora, Ubuntu, Slackware ecc.), Android x86, FreeBSD, TrueNAS, OpenIndiana, FreeDOS, Haiku, ReactOS e tanti altri.

Installazione

Per Ubuntu e derivate sono disponibili dei PPA che permettono l'installazione semplificata di QuickEmu.

  1. Digitare nel terminale il seguente comando:

    sudo apt-add-repository ppa:flexiondotorg/quickemu
  2. Installare il pacchetto quickemu.

È possibile scaricare il file .deb dalla pagina ufficiale. Tuttavia si consiglia di installare dai PPA per automatizzare la gestione delle dipendenze.

Utilizzo

Operazioni preliminari

  • Per ottenere una lista dei sistemi operativi disponibili e le loro versioni digitare:

    quickget list 

  • Per conoscere le versioni disponibili di un sistema operativo è possibile digitare il comando quickget omettendo la release. Verrà quindi riportato un messaggio di errore in cui saranno elencate le versioni disponibili, come nei seguenti esempi:

    quickget ubuntu 
    ERROR! You must specify a release.
     - Releases: 14.04 16.04 18.04 20.04 22.04 23.10 daily-live
    quickget macos 
    ERROR! You must specify a release.
     - Releases: high-sierra mojave catalina big-sur monterey ventura

Scaricamento e avvio VM

Viene descritto di seguito, in linea generale, il funzionamento del programma.

  1. Per creare una macchina virtuale digitare nel terminale un comando che rispetti la seguente sintassi:

    quickget [sistema operativo] [versione] [edizione #se disponibile]

    Verranno creati un file di configurazione della macchina virtuale e, con le impostazioni di default, una cartella nella Home dell'utente contenente i file relativi alla macchina virtuale stessa.

  2. Prendere nota dell'output del comando precedente, necessario ad avviare la macchina virtuale.
  3. Per avviare la macchina virtuale digitare il comando che contenga la seguente sintassi:

    quickemu --vm [file di configurazione della macchina]

Verrà avviata la macchina virtuale in una nuova finestra. Inoltre verranno stampate nel terminale diverse info utili, fra cui:

  • Host: sistema host e hostname
  • CPU: modello di processore
  • CPU VM: numero di socket, core, thread(s) e GB di RAM utilizzata dalla VM
  • BOOT: se in uso EFI e secureboot
  • Disk: nome, path e dimensioni della VM
  • Boot ISO: nome e path del file ISO
  • Display: informazioni parte grafica (es: SDL, virtio-vga-gl, GL (on), VirGL (on) )
  • ssh: info per ssh
  • Process: nome e PID del processo

Eliminazione macchina virtuale

Per eliminare una macchina virtuale è sufficiente eliminare la relativa cartella.

Esempi di utilizzo di VM

GNU/Linux

quickget linuxmint 21.2 cinnamon

Windows

quickget windows 11

quickemu --vm windows-11.conf

L'installazione di Windows implementa automaticamente la modalità di installazione Unattended, per saltare diversi passaggi (creazione di account online, richiesta dati di diagnostica, invio dati Microsoft ecc.). Inoltre vengono applicate delle patch per VirtIO, ecc.).

macOS

quickget macos catalina

quickemu --vm macos-catalina.conf

Funzionalità avanzate

SPICE

È possibile utilizzare i driver SPICE per la macchina virtuale, che permettono di gestire automaticamente fra host e guest appunti condivisi, trasferimento di file, reindirizzamento dei dispositivi USB e risoluzione automatica dello schermo.

  1. Per abilitare questa funzionalità è sufficiente aggiungere --display spice al comando quickemu come nel seguente esempio:

    quickemu --vm ubuntu-22.04.conf --display spice
  2. Una volta avviato il sistema guest, a seconda del tipo di sistema eseguire una delle seguenti azioni:
    • Ubuntu: installare i pacchetti spice-vdagent e spice-webdavd.

    • Altri sistemi GNU/Linux:: installare i pacchetti spice-vdagent e spice-webdavd con il gestore pacchetti della distribuzione in uso.

    • Windows: installare gli SPICE Windows guest tools scaricabili da questo link.

CPU, RAM & Disks

By default, Quickemu will calculate the number of CPUs cores and RAM to allocate to a VM based on the specifications of your host computer. You can override this default behaviour and tune the VM configuration to your liking.

Add additional lines to your virtual machine configuration:

  • cpu_cores="4" - Specify the number of CPU cores allocated to the VM ram="4G" - Specify the amount of RAM to allocate to the VM disk_size="16G" - Specify the size of the virtual disk allocated to the VM

Disk preallocation

Preallocation mode (allowed values: off (default), metadata, falloc, full). An image with preallocated metadata is initially larger but can improve performance when the image needs to grow.

Specify what disk preallocation should be used, if any, when creating the system disk image by adding a line like this to your VM configuration.

preallocation="metadata"

CD-ROM disks

If you want to expose an ISO image from the host to guest add the following line to the VM configuration:

fixed_iso="/path/to/image.iso"

Floppy disks

If you're like Alan Pope you'll probably want to mount a floppy disk image in the guest. To do so add the following line to the VM configuration:

floppy="/path/to/floppy.img"

Display resolutions

qemu will always default to the primary monitor to display the VM's window. The default resolution that quickemu will request for virtual machines is 1280 x 800. This can be overridden by setting width and height in the VM configuration files or passing --width and --height as command line arguments, for example:

quickemu --vm ubuntu-22.04-desktop.conf --width 1920 --height 1080

BIOS e EFI

Quickemu utilizza come modalità predefinita l'opzione di boot in modalità EFI.
Per usare la modalità BIOS/Legacy/CSM, è sufficiente aprire con un editor di testo il file di configurazione della macchina virtuale e aggiungere la seguente riga:

boot="legacy"

TPM

Quickemu dispone di un modulo TPM emulato, abilitato automaticamente nelle VM con Windows 11.
Per abilitarlo con altri sistemi è sufficiente aprire con un editor di testo il file di configurazione della macchina virtuale e aggiungere la seguente riga:

tpm="on"

Bridged networking

To connect your virtual machine to a preconfigured network bridge, add an additional line to your virtual machine configuration:

network="br0"

If you want to have a persistent MAC address for your bridged network interface in the guest VM you can add macaddr to the virtual machine configuration. QEMU requires that the MAC address is in the range: 52:54:00:AB:00:00 - 52:54:00:AB:FF:FF

So you can specify a MAC address with something like this in the VM configuration:

macaddr="52:54:00:AB:51:AE"

Interfaccia grafica

Quickgui è un progetto separato scritto con flutter per utilizzare QuickEmu attraverso una semplice interfaccia grafica. Per Ubuntu viene distribuito tramite PPA.

Per installarlo digitare i seguenti comandi:

sudo add-apt-repository ppa:yannick-mauray/quickgui
sudo apt update
sudo apt install quickgui

Al termine della procedura sarà possibile avviare il programma.

Ulteriori risorse


CategoryHomepage