docs: review utility documentation in all seven translations

This commit is contained in:
Jonatan
2026-10-17 15:08:54 +02:00
parent ce1a3de719
commit 9f6296501a
58 changed files with 8588 additions and 224 deletions
+145
View File
@@ -0,0 +1,145 @@
{
"meta": {
"title": "Esportare una VM in OVA / OVF | Documentazione ProxMenux",
"description": "Esporta una VM Proxmox in un archivio OVA portabile o in una directory OVF usando lo schema DMTF standard. Dischi VMDK in formato streamOptimized e manifesto SHA1. Importabile in VMware ESXi / Workstation / Fusion, VirtualBox e nuovamente in Proxmox.",
"ogTitle": "Esportare una VM in OVA / OVF | Documentazione ProxMenux",
"ogDescription": "Converti una VM Proxmox in un pacchetto OVA / OVF portabile compatibile con VMware e VirtualBox."
},
"header": {
"title": "Esportare una VM in OVA / OVF",
"description": "Converte una VM Proxmox in un pacchetto OVA portabile (un unico archivio TAR) o OVF (descrittore e file VMDK) usando lo schema OVF standard di DMTF. I dischi vengono convertiti con qemu-img in VMDK streamOptimized. Il risultato è importabile in VMware (ESXi / Workstation / Fusion), VirtualBox e nuovamente in Proxmox tramite lo strumento di importazione.",
"section": "Utilità"
},
"intro": {
"title": "Cosa fa",
"body": "Legge la configurazione di una VM arrestata, converte ogni disco in VMDK streamOptimized, genera un descrittore OVF e un manifesto SHA1 e raggruppa tutto in un unico file <code>.ova</code> o in una directory <code>-ovf</code>. La VM di origine non viene mai modificata."
},
"picker": {
"heading": "Selettore di VM",
"body": "All’avvio, lo script elenca tutte le VM di <code>qm list</code> con VMID, nome e stato. Scegli quella da esportare:",
"imgAlt": "Finestra di selezione della VM da esportare con l’elenco di tutte le VM"
},
"stopped": {
"heading": "La VM deve essere arrestata",
"intro": "Per ottenere un’immagine disco coerente la VM deve essere arrestata. Se la VM selezionata è in esecuzione, ProxMenux propone di arrestarla:",
"items": [
"Arresto regolare tramite <code>qm shutdown $VMID --timeout 120</code> (attende 2 minuti l’arresto ACPI del sistema guest).",
"Se scade il tempo di attesa, propone un arresto forzato: <code>qm stop $VMID</code> (equivale a togliere l’alimentazione).",
"Se rifiuti entrambe le opzioni, l’esportazione viene annullata senza modificare i dati."
],
"warnTitle": "L’arresto forzato equivale a togliere l’alimentazione",
"warnBody": "<code>qm stop</code> equivale a staccare la corrente. Al successivo avvio il sistema guest potrebbe richiedere una riparazione del file system. Preferisci l’arresto regolare quando possibile e riserva quello forzato ai sistemi guest che non rispondono."
},
"format": {
"heading": "Selettore del formato: OVA oppure OVF",
"headerFormat": "Formato",
"headerOutput": "Output",
"headerPros": "Vantaggi",
"headerCons": "Svantaggi",
"rows": [
{
"format": "OVA",
"output": "name-vmid-ts.ova",
"pros": "Un unico file autonomo, facile da spostare, trasferire tramite sftp o allegare a un ticket.",
"cons": "Richiede ~220% della dimensione virtuale del disco (spazio aggiuntivo per l’archivio TAR durante la creazione)."
},
{
"format": "OVF",
"output": "name-vmid-ts-ovf/",
"pros": "~120% della dimensione virtuale del disco. Più facile da esaminare, perché il descrittore è XML testuale. Modificabile prima dell’importazione.",
"cons": "Più file, da trasferire tutti insieme."
}
]
},
"destination": {
"heading": "Directory di destinazione",
"body": "Scegli un percorso predefinito (<code>/var/lib/vz/dump</code>, <code>/var/lib/vz/template/iso</code>) oppure inseriscine uno personalizzato. Lo script verifica che la directory sia scrivibile e avvisa se lo spazio libero sembra insufficiente prima di iniziare.",
"calloutTitle": "Stima orientativa dello spazio libero",
"calloutBody": "Per esportare in OVF una VM con dischi che totalizzano 100 GB virtuali, prevedi ~120 GB liberi; per OVA, ~220 GB. L’utilizzo effettivo può essere inferiore per dischi quasi vuoti. L’archivio OVA viene creato con TAR non compresso mentre esistono ancora i file VMDK temporanei: occorre quindi spazio per entrambi. Se lo spazio termina durante l’esportazione, il gestore di EXIT pulisce la directory temporanea e devi ricominciare."
},
"package": {
"heading": "Cosa finisce nel pacchetto",
"intro": "Per un OVA / OVF chiamato <code>myvm-100-2026-04-26_18-30-15</code>:",
"code": "# OVA mode (single .ova file is a TAR of):\nmyvm-100-2026-04-26_18-30-15.ovf # XML descriptor (DMTF OVF 1.0 + RASD + VSSD)\nmyvm-100-2026-04-26_18-30-15.mf # SHA1 manifest\nmyvm-100-2026-04-26_18-30-15-disk0.vmdk\nmyvm-100-2026-04-26_18-30-15-disk1.vmdk\n...\n\n# OVF mode (a directory):\nmyvm-100-2026-04-26_18-30-15-ovf/\n├── myvm-100-2026-04-26_18-30-15.ovf\n├── myvm-100-2026-04-26_18-30-15.mf\n├── myvm-100-2026-04-26_18-30-15-disk0.vmdk\n└── myvm-100-2026-04-26_18-30-15-disk1.vmdk"
},
"exported": {
"heading": "Cosa viene esportato",
"items": [
"<strong>Dischi:</strong> tutte le voci <code>scsi*</code>, <code>sata*</code>, <code>virtio*</code> e <code>ide*</code> nella configurazione della VM, convertite in VMDK streamOptimized.",
"<strong>Numero di vCPU</strong> (RASD ResourceType 3) e <strong>memoria</strong> in MiB (ResourceType 4).",
"<strong>Numero di schede di rete</strong> (ResourceType 10: solo il numero, senza bridge o modello).",
"<strong>Nome della VM</strong> e indicazione del tipo di sistema operativo."
],
"notTitle": "Che cosa NON è esportato",
"notItems": [
"Montaggi CD-ROM e ISO, esclusi intenzionalmente.",
"Unità cloud-init (escluse intenzionalmente).",
"Bridge e modello specifici della scheda di rete (viene conservato solo il numero).",
"Scelta BIOS / UEFI, da riconfigurare durante l’importazione.",
"Configurazione del passthrough PCI.",
"Snapshot: viene acquisito solo lo stato attuale.",
"Opzioni di livello VM (NUMA, pagine enormi, hotplug, ...)."
]
},
"conversion": {
"heading": "Conversione del disco",
"intro": "Ogni disco viene convertito con:",
"code": "qemu-img convert -p -O vmdk -o subformat=streamOptimized \\\n \"$source_path\" \\\n \"$work_dir/<base_name>-disk<N>.vmdk\"",
"outro": "<code>streamOptimized</code> è il formato VMware leggibile in un solo passaggio, supportato da ESXi 6.7+, VMware Workstation, VirtualBox e dallo stesso Proxmox. È il sottoformato VMDK più ampiamente compatibile e adatto alla portabilità. Lo svantaggio è che non consente l’accesso casuale e quindi non può essere montato direttamente senza conversione."
},
"manifest": {
"heading": "Manifesto SHA1",
"intro": "Ogni pacchetto include un file <code>.mf</code> con gli hash SHA1 del descrittore OVF e di ogni VMDK:",
"code": "SHA1(myvm-100-2026-04-26_18-30-15.ovf)= 3a7bd3e2360a3d29eea436fcfb7e44c735d117c9\nSHA1(myvm-100-2026-04-26_18-30-15-disk0.vmdk)= b7e23ec29af22b0b4e41da31e868d57226121c84\nSHA1(myvm-100-2026-04-26_18-30-15-disk1.vmdk)= a87ff679a2f3e71d9181a67b7542122c",
"outro": "È facoltativo nella specifica OVF e molti programmi lo ignorano, ma serve a verificare che il pacchetto sia stato trasferito integro. Verificalo manualmente con <code>sha1sum -c file.mf</code>."
},
"import": {
"heading": "Importazione del risultato",
"intro": "Il pacchetto esportato può essere importato in:",
"items": [
{
"href": "/docs/utils/import-vm",
"preRich": "<strong>Proxmox</strong> — usa lo strumento corrispondente ",
"linkLabel": "Importa VM da OVA / OVF",
"tailRich": "."
},
{
"tailRich": "<strong>VMware ESXi</strong> — Datacenter → Deploy OVF Template; seleziona il file .ova o .ovf."
},
{
"tailRich": "<strong>VMware Workstation / Fusion</strong> — File → Open; seleziona il file .ova o .ovf."
},
{
"tailRich": "<strong>VirtualBox</strong> — File → Import Appliance; seleziona il file .ova o .ovf."
}
]
},
"troubleshoot": {
"heading": "Risoluzione dei problemi",
"noSpaceTitle": "qemu-img convert si interrompe durante la conversione con \"No space left on device\"",
"noSpaceBody": "La destinazione ha esaurito lo spazio. Il gestore di EXIT pulisce automaticamente la directory temporanea. Scegli una destinazione con più spazio libero (vedi la stima precedente) e ripeti l’esportazione.",
"unsupportedHwTitle": "L’esportazione termina ma VMware rifiuta l’importazione: \"Unsupported hardware family\"",
"unsupportedHwBody": "Alcune versioni di ESXi rifiutano descrittori OVF che dichiarano una famiglia hardware sconosciuta. Apri il .ovf in un editor di testo, oppure estrai prima il .ova, cerca <code>&lt;vssd:VirtualSystemType&gt;</code> e imposta un valore accettato da ESXi, ad esempio <code>vmx-13</code> per ESXi 6.5+. Per aggirare rapidamente il problema, prova VirtualBox, che è più permissivo.",
"nicTitle": "La VM importata usa una scheda di rete o un controller SCSI diverso",
"nicBody": "L’OVF conserva il numero di schede di rete, non il modello originale. Controlla le impostazioni di rete della VM importata nell’hypervisor di destinazione. L’esportazione dichiara un controller SCSI lsilogic per la compatibilità con VMware. Quando reimporti in Proxmox, puoi scegliere <code>VirtIO SCSI</code> se il sistema guest dispone dei driver adatti.",
"runningTitle": "La VM era in esecuzione e ho rifiutato di arrestarla: esportazione annullata",
"runningBody": "Lo script non può produrre un’immagine coerente mentre vengono scritti dati sui dischi. Accetta la richiesta di arresto la prossima volta, oppure arresta prima la VM manualmente (<code>qm shutdown $VMID</code>) e ripeti l’esportazione.",
"slowTitle": "La conversione del disco è lenta",
"slowBody": "<code>qemu-img convert</code> usa un solo thread e legge l’origine alla massima velocità. Per un disco da 100 GB su un disco rigido meccanico, prevedi 15–30 minuti. Da NVMe a NVMe è 5–10 volte più veloce. I dischi di una VM vengono convertiti in sequenza; il tempo aumenta linearmente con la dimensione virtuale totale."
},
"related": {
"heading": "Correlati",
"items": [
{
"href": "/docs/utils/import-vm",
"label": "Importa VM da OVA / OVF",
"tail": " — lo strumento complementare per reimportare la VM."
},
{
"href": "/docs/utils",
"label": "Panoramica delle utilità",
"tail": " — torna alla panoramica della sezione."
}
]
}
}
+218
View File
@@ -0,0 +1,218 @@
{
"meta": {
"title": "Importare una VM da OVA / OVF | Documentazione ProxMenux",
"description": "Importa una VM VMware ESXi / Workstation / Fusion / VirtualBox / ProxMenux in Proxmox VE. Estrae automaticamente OVA, analizza i metadati OVF, crea la VM e importa ogni disco nel formato nativo dello storage (qcow2 / raw).",
"ogTitle": "Importare una VM da OVA / OVF | Documentazione ProxMenux",
"ogDescription": "Importa in Proxmox le VM esportate da VMware, VirtualBox o ProxMenux. I dischi vengono convertiti automaticamente nel formato nativo dello storage."
},
"header": {
"title": "Importa VM da OVA / OVF",
"description": "Importa un pacchetto OVA / OVF in Proxmox VE: estrae gli archivi OVA, legge dal descrittore OVF vCPU, memoria, numero di schede di rete e riferimenti ai dischi, poi crea la VM e importa ogni disco con qm importdisk nello storage scelto. Compatibile con le esportazioni VMware (ESXi / Workstation / Fusion), VirtualBox e ProxMenux.",
"section": "Utilità"
},
"intro": {
"title": "Cosa fa",
"body": "Crea una VM completa in Proxmox da un pacchetto portabile. Dopo l’importazione è pronta per l’avvio; si consigliano alcuni controlli e regolazioni di modello della scheda di rete, firmware e tipo di sistema operativo per prestazioni e compatibilità."
},
"picker": {
"heading": "Selettore di file",
"intro": "Al lancio, lo script offre due directory preimpostate o un percorso manuale:",
"items": [
"<code>/var/lib/vz/dump</code> — la directory di backup Proxmox vzdump predefinita.",
"<code>/var/lib/vz/template/iso</code> — utile se vi hai trasferito il file OVA tramite sftp.",
"Percorso manuale — per i file OVA / OVF altrove sull'host."
],
"outro": "Quindi elenca ogni file <code>.ova</code> e <code>.ovf</code> nella directory selezionata.",
"imageAlt": "Finestra di selezione del file della VM da importare"
},
"flow": {
"heading": "Come funziona l'importazione",
"nodes": [
{
"label": "Ingresso OVA / OVF",
"detail": ".ova → tar xf in\n /tmp/.proxmenux-import-*\n.ovf → usa il file sul posto",
"variant": "source"
},
{
"label": "Analisi e finestre di dialogo",
"detail": "AWK legge OVF\n(nome, vCPU, RAM, NIC,\ndischi). Scelta di\nVMID / storage / bridge",
"variant": "bridge"
},
{
"label": "qm create + importdisk",
"detail": "qm create $VMID\nqm importdisk\n(VMDK → formato dello storage)\nqm set --scsiN",
"variant": "target"
}
]
},
"ovf": {
"heading": "Analisi OVF",
"intro": "Un parser <strong>gawk</strong> legge il descrittore OVF ed estrae i metadati della VM. Usa <code>match()</code> con tre argomenti, una funzione specifica di gawk non supportata da mawk, il <code>awk</code> predefinito in Debian / Proxmox. Se manca, alla prima importazione gawk viene installato con <code>ensure_repositories</code> + <code>install_single_package</code>; le importazioni successive non richiedono questo passaggio. Campi estratti:",
"headerField": "Campo",
"headerSource": "Fonte in OVF",
"headerDefault": "Predefinito se manca",
"rows": [
{
"field": "Nome VM",
"source": "<Name> (prima corrispondenza)",
"default": "imported-vm"
},
{
"field": "Conteggio vCPU",
"source": "RASD ResourceType 3 → VirtualQuantity",
"default": "1"
},
{
"field": "Memoria (MiB)",
"source": "RASD ResourceType 4 → VirtualQuantity",
"default": "1024"
},
{
"field": "Numero di schede di rete",
"source": "conteggio di ResourceType 10",
"default": "1"
},
{
"field": "Tipo di sistema operativo",
"source": "/Linux/ o /Windows/ nella descrizione",
"default": "other"
},
{
"field": "Riferimenti del disco",
"source": "attributi href che terminano in .vmdk / .qcow2 / .img / .raw",
"default": "Nessuno (importazione annullata)"
}
]
},
"memWarn": {
"title": "Ambiguità delle unità di memoria",
"body": "Il parser converte le unità di memoria riconosciute in <strong>MiB</strong>, inclusi byte, KiB, MiB, GiB e le etichette testuali supportate. Le unità mancanti o sconosciute sono <em>trattate come MiB</em>. Dopo l’importazione, confronta <code>qm config $VMID | grep memory</code> con la RAM documentata della VM di origine e, se serve, correggila con <code>qm set $VMID --memory &lt;MiB&gt;</code>."
},
"dialog": {
"heading": "Sequenza delle finestre di importazione",
"items": [
"<strong>VMID</strong> — propone il prossimo identificativo disponibile (<code>pvesh get /cluster/nextid</code>).",
"<strong>Nome della VM</strong> — usa il nome letto nell’OVF; puoi modificarlo.",
"<strong>Storage di destinazione</strong> — elenco degli storage con contenuto <code>images</code>, ottenuto da <code>pvesm status -content images</code>.",
"<strong>Bridge di rete</strong> — elenco dei bridge da <code>ip link show type bridge</code>. Se ne esiste uno solo, viene scelto automaticamente; il valore predefinito è <code>vmbr0</code>.",
"<strong>Conferma</strong> — riepilogo con VMID, nome, vCPU, memoria, schede di rete, storage, bridge e dischi da importare. Annullando qui non viene modificato nulla."
]
},
"create": {
"heading": "Creazione VM",
"intro": "Dopo la conferma, lo script viene eseguito:",
"code": "qm create $VMID \\\n --name \"$NAME\" \\\n --memory $MEMORY \\\n --cores $VCPU \\\n --ostype $OSTYPE \\\n --scsihw lsi \\\n --net0 e1000,bridge=$BRIDGE\n\n# For each additional NIC:\nqm set $VMID --netN e1000,bridge=$BRIDGE",
"outro": "Il controller SCSI predefinisce <code>lsi</code> (LSI Logic) per la compatibilità VMDK. NIC di default a <code>e1000</code> (compatibilità universale) sul ponte scelto."
},
"diskLoop": {
"heading": "loop di importazione del disco",
"intro": "Per ogni riferimento del disco nell'OVF:",
"items": [
"<code>qm importdisk $VMID $disk_path $STORAGE</code> — importa il disco in un formato supportato dallo storage di destinazione e crea una voce <code>unusedN:</code> nella configurazione della VM.",
"Lo script cerca con grep nella configurazione il riferimento <code>unusedN</code> appena creato.",
"<code>qm set $VMID --scsiN $unused_disk</code> — collega il disco come <code>scsi0</code>, <code>scsi1</code>, ...",
"<code>qm set $VMID --delete unusedN</code> — elimina il marcatore inutilizzato ormai ridondante."
],
"outro": "Boot è impostato sul primo disco SCSI: <code>qm set $VMID --boot c --bootdisk scsi0</code>."
},
"postImport": {
"heading": "Regolazioni consigliate dopo l’importazione",
"intro": "L’importazione usa impostazioni ampiamente compatibili per favorire l’avvio al primo tentativo. Dopo aver verificato l’avvio, puoi scegliere impostazioni più efficienti dall’interfaccia Proxmox o dalla CLI:",
"headerSetting": "Impostazione",
"headerDefault": "Predefinito dopo l'importazione",
"headerRecommended": "Consigliato se supportato dal sistema guest",
"rows": [
{
"setting": "Modello NIC",
"default": "e1000",
"recommended": "VirtIO (molto più veloce, richiede un driver nel sistema guest)"
},
{
"setting": "Controller SCSI",
"default": "LSI",
"recommended": "VirtIO SCSI single (Linux recente o Windows con driver VirtIO)"
},
{
"setting": "Firmware (BIOS / UEFI)",
"default": "Predefinizione Proxmox (BIOS)",
"recommended": "Usa il firmware della VM di origine; una scelta errata impedisce l’avvio"
},
{
"setting": "QEMU agente ospite",
"default": "Disattivato",
"recommendedRich": "Attiva e installa <code>qemu-guest-agent</code> nel sistema guest (backup migliori e rilevamento degli IP)"
},
{
"setting": "Tipo di sistema operativo",
"default": "l26 / win10 / other (euristica)",
"recommended": "Verificare contro il sistema operativo ospite effettivo"
},
{
"setting": "Schermo",
"default": "Predefinito",
"recommended": "VirtIO-GPU o SPICE (migliori prestazioni della console)"
}
]
},
"fwWarn": {
"title": "Firmware mismatch = nessun boot",
"body": "Se la VM di origine usava UEFI ma Proxmox la crea con BIOS, o viceversa, il sistema guest non trova un disco avviabile. Controlla <em>FirmwareType / firmware</em> nell’OVF o nella VM originale e usa la stessa scelta in Proxmox: <code>qm set $VMID --bios ovmf</code> per UEFI; il valore predefinito per BIOS è <code>seabios</code>."
},
"notImported": {
"heading": "Cosa NON viene importato",
"items": [
"<strong>Bridge di rete specifici</strong> — viene conservato solo il numero di schede. Tutte usano il bridge scelto durante l’importazione.",
"<strong>Modello della scheda di rete</strong> — usa e1000 come valore predefinito.",
"<strong>Tipo di firmware BIOS / UEFI</strong> — usa il valore predefinito Proxmox, BIOS.",
"<strong>Configurazione del passthrough PCI</strong>.",
"<strong>TPM</strong> (vTPM).",
"Unità <strong>cloud-init</strong>.",
"<strong>Snapshots</strong> — solo lo stato attuale.",
"<strong>USB / dispositivi seriali / paralleli</strong> dichiarati nell'OVF.",
"<strong>VM tag / note / start-on-boot</strong> opzioni."
]
},
"troubleshoot": {
"heading": "Risoluzione dei problemi",
"orphanTitle": "La VM è stata creata ma l’importazione dei dischi è fallita: rimane una VM parziale",
"orphanIntro": "Se l’importazione fallisce, lo script propone di eliminare la VM parziale e i dischi importati. Se hai rifiutato o l’eliminazione automatica è fallita, esamina la VM ed eliminala manualmente con:",
"orphanCode": "qm destroy $VMID --destroy-unreferenced-disks 1",
"orphanOutro": "Correggi poi la causa, probabilmente lo spazio nello storage di destinazione, e ripeti l’importazione.",
"memTitle": "La VM importata ha 8 MB di RAM, oppure 8 TB",
"memIntro": "Il parser converte le AllocationUnits riconosciute in MiB. Le unità mancanti o sconosciute sono trattate come MiB. Esamina l’OVF e confronta la memoria importata con quella della VM di origine. Correggila se necessario:",
"memCode": "qm set $VMID --memory 8192 # 8 GiB",
"bootTitle": "La VM importata non si avvia: \"No bootable device\"",
"bootIntro": "Una causa frequente è la mancata corrispondenza BIOS / UEFI. La VM usava UEFI, ma Proxmox l’ha creata con BIOS. Imposta il firmware corrispondente:",
"bootCode": "qm set $VMID --bios ovmf # UEFI\n# also add an EFI disk for the EFI vars:\nqm set $VMID --efidisk0 $STORAGE:1,format=qcow2,efitype=4m,pre-enrolled-keys=1",
"bootOutro": "Un’altra causa frequente: l’ordine di avvio indica scsi0, ma il disco del sistema operativo è scsi1. Modifica l’ordine nella scheda Opzioni della VM.",
"bsodTitle": "Una VM Windows esportata da VMware mostra una schermata blu al primo avvio",
"bsodBody": "Windows è sensibile ai cambiamenti del controller disco. Installa i driver VirtIO <em>prima</em> dell’esportazione da VMware oppure mantieni il controller <code>lsi</code> predefinito. Passa a VirtIO SCSI solo dopo aver avviato il sistema guest e installato i driver VirtIO in Windows.",
"zeroTitle": "Il parser OVF rileva 0 dischi",
"zeroBody": "L’OVF potrebbe usare riferimenti ai dischi non riconosciuti dal parser. Aprilo e cerca per ogni disco una voce <code>&lt;File ovf:href=\"...vmdk\" ...&gt;</code>. Se il disco è davvero VMDK, ma ha un’estensione insolita come <code>.dat</code>, rinominalo in <code>.vmdk</code> e aggiorna il riferimento OVF. Rinominare non converte il formato.",
"awkTitle": "awk: errore sintassi a o vicino , — parser fallisce su ogni OVA / OVF",
"awkIntro": "Il parser OVF usa la sintassi gawk di <code>match()</code> con tre argomenti, non supportata da mawk, il <code>awk</code> predefinito di Debian / Proxmox. Le versioni recenti installano gawk al primo utilizzo tramite <code>ensure_repositories</code> + <code>install_single_package</code>. Se usi una copia precedente, installalo manualmente:",
"awkCode": "apt-get install -y gawk",
"awkOutro": "Poi ripeti l’importazione.",
"netTitle": "Rete che non funziona dopo il primo avvio",
"netBody": "Il sistema guest potrebbe non avere i driver per il modello e1000, oppure il bridge scelto potrebbe essere errato. Nella scheda Hardware della VM, cambia Network Device → Model. Controlla anche <code>ip a</code> nel sistema guest: l’interfaccia potrebbe chiamarsi ens18 anziché eth0, mentre la configurazione di rete usa ancora il vecchio nome."
},
"files": {
"heading": "File coinvolti",
"code": "scripts/utilities/import_vm_ova_ovf.sh # this script\n/tmp/.proxmenux-import-*/ # temp extraction dir for OVA\n/etc/pve/nodes/<node>/qemu-server/<vmid>.conf # created by qm create\n<storage>/<vmid>/<vmid>-disk-<n>.<fmt> # disk images, format depends on storage"
},
"related": {
"heading": "Correlati",
"items": [
{
"href": "/docs/utils/export-vm",
"label": "Esportazione VM a OVA / OVF",
"tail": " — lo strumento complementare per esportare la VM."
},
{
"href": "/docs/utils",
"label": "Panoramica delle utilità",
"tail": " — torna alla panoramica della sezione."
}
]
}
}
+115
View File
@@ -0,0 +1,115 @@
{
"meta": {
"title": "Utilità Proxmox — UUP Dump, aggiornamento da PVE 8 a 9, esportazione/importazione OVA | ProxMenux",
"description": "Utilità quotidiane per Proxmox VE: creare ISO di Windows con UUP Dump, installare una selezione di strumenti CLI, aggiornare il sistema Proxmox in sicurezza, passare da PVE 8 a PVE 9, esportare VM in OVA / OVF e importare VM OVA / OVF da VMware o VirtualBox.",
"ogTitle": "Utilità Proxmox — UUP Dump, aggiornamento da PVE 8 a 9, esportazione/importazione OVA",
"ogDescription": "Crea ISO di Windows, installa strumenti CLI, esegui un aggiornamento sicuro, passa da PVE 8 a PVE 9 ed esporta o importa VM OVA / OVF.",
"twitterTitle": "Utilità Proxmox | ProxMenux",
"twitterDescription": "Creazione di ISO, strumenti CLI, aggiornamento di Proxmox, passaggio PVE 8→9 e portabilità delle VM OVA / OVF."
},
"header": {
"title": "Utilità e strumenti",
"description": "Sei strumenti completano le attività quotidiane in Proxmox VE: creazione di ISO, manutenzione del sistema e portabilità delle VM. Ogni opzione è indipendente: scegli quella che ti serve; non viene installato nulla finché non lo richiedi.",
"section": "Utilità"
},
"intro": {
"title": "A cosa serve questo menu",
"body": "Tre gruppi di strumenti indipendenti ma spesso utili: <strong>creare una ISO di Windows</strong> con UUP Dump, <strong>gestire la manutenzione dell’host Proxmox</strong> (utilità CLI, aggiornamenti e passaggio di versione principale) e <strong>importare ed esportare VM</strong> in Proxmox nel formato standard OVA / OVF."
},
"opening": {
"heading": "Apertura del menu",
"body": "Dal menu principale di ProxMenux, seleziona <strong>Utilities</strong>. Vedrai questa schermata:",
"imageAlt": "Menu delle utilità con UUP Dump, utilità di sistema, aggiornamento, passaggio di versione, esportazione e importazione"
},
"groups": {
"heading": "Tre gruppi di strumenti",
"intro": "I sei strumenti sono suddivisi in tre gruppi indipendenti. Fai clic su una scheda qui sotto per passare alla sezione corrispondente.",
"iso": {
"title": "Creazione ISO",
"body": "Crea ISO ufficiali di Windows con UUP Dump direttamente sull’host Proxmox.",
"bullets": [
"Link condiviso di UUP Dump → ISO avviabile",
"Dipendenze installate automaticamente",
"Il risultato viene salvato nella directory dei modelli ISO di Proxmox"
]
},
"maintenance": {
"title": "Manutenzione del sistema",
"body": "Mantieni l’host in buone condizioni con strumenti CLI, aggiornamenti regolari e il passaggio di versione principale quando necessario.",
"bullets": [
"Installatore di utilità di sistema (25 strumenti CLI)",
"Aggiornamento del sistema Proxmox (apt + dist-upgrade)",
"Passaggio di versione principale PVE 8 → PVE 9"
]
},
"portability": {
"title": "Portabilità VM",
"body": "Spostare le VM dentro e fuori Proxmox utilizzando il formato standard OVA / OVF.",
"bullets": [
"Esportazione Proxmox VM → OVA / OVF",
"Importazione OVA / OVF → Proxmox VM",
"Compatibile con VMware e VirtualBox"
]
}
},
"upgradeWarn": {
"title": "L'aggiornamento PVE 8 → 9 è distruttivo e non reversibile",
"body": "Un aggiornamento di versione principale sostituisce sul posto la base Debian (Bookworm → Trixie) e i componenti Proxmox. Non è previsto un ripristino della versione precedente: prima di iniziare servono <strong>backup verificati</strong> di ogni VM e CT e <strong>accesso tramite console / IPMI / iKVM</strong>. Per questo lo strumento rifiuta l’esecuzione dal terminale web di Proxmox."
},
"isoSection": {
"heading": "Creazione ISO",
"body": "Crea una nuova ISO di installazione di Windows aggiornata direttamente sull’host Proxmox. Lo script automatizza l’intero processo UUP Dump: installazione delle dipendenze (aria2c, cabextract, wimlib-imagex, …), download parallelo dei file di aggiornamento tramite aria2 e conversione in una singola ISO avviabile. La ISO viene salvata in <code>/var/lib/vz/template/iso</code>, pronta da collegare a una VM.",
"options": [
{
"title": "Creatore di ISO UUP Dump",
"description": "Crea una ISO di installazione di Windows aggiornata da un link condiviso di UUP Dump. Dipendenze, download e conversione sono completamente automatizzati; la ISO risultante viene salvata in /var/lib/vz/template/iso, pronta per creare una VM.",
"href": "/docs/utils/UUp-Dump-ISO-Creator"
}
]
},
"maintenanceSection": {
"heading": "Manutenzione del sistema",
"body": "Tre strumenti coprono le attività quotidiane e occasionali sull’host. L’<strong>Installatore di utilità di sistema</strong> configura gli strumenti CLI utili dopo una nuova installazione. L’<strong>Aggiornamento del sistema Proxmox</strong> esegue la manutenzione settimanale o mensile. Il <strong>Passaggio da PVE 8 a PVE 9</strong> è il grande cambiamento di ogni ciclo di versione principale, con controlli di sicurezza aggiuntivi perché non è reversibile.",
"options": [
{
"title": "Installatore di utilità di sistema",
"description": "Selettore di 25 strumenti CLI scelti (htop, btop, iperf3, jq, tmux, ncdu, ...) con selezione personalizzata o gruppi predefiniti (base, sviluppo, compressione, multiplexer, analisi, rete). Usa il flusso standard con repository e comando di verifica.",
"href": "/docs/utils/system-utils"
},
{
"title": "Aggiornamento sistema Proxmox",
"description": "Controllo dei repository + apt update + apt dist-upgrade, con conferma prima del riavvio. Rileva la versione principale di PVE (8 o 9), mantiene i repository configurati e chiede conferma prima di passare un host senza abbonamento al repository no-subscription, quindi esegue autoremove.",
"href": "/docs/utils/system-update"
},
{
"title": "Aggiorna PVE 8 a PVE 9",
"description": "Passaggio di versione principale (Debian Bookworm → Trixie + PVE 8 → 9). Controlli preliminari, migrazione dei repository, modalità automatizzata o interattiva, verifica finale e riavvio. Rifiuta l’esecuzione dal terminale web.",
"href": "/docs/utils/upgrade-pve8-pve9"
}
]
},
"portabilitySection": {
"heading": "Portabilità VM (OVA / OVF)",
"body": "OVA e OVF sono formati di pacchettizzazione tra hypervisor definiti dallo standard DMTF e supportati da VMware, VirtualBox e Proxmox. I due strumenti consentono esportazione e reimportazione: una VM esportata da Proxmox può essere reimportata e viceversa. Usali per migrare carichi di lavoro da ESXi, creare un backup portabile di una VM o condividere una VM preparata con chi usa VirtualBox.",
"options": [
{
"title": "Esportazione VM a OVA / OVF",
"description": "Converti una VM Proxmox in un archivio OVA portabile o in una directory OVF. Schema DMTF standard, manifesto SHA1 e dischi VMDK in formato streamOptimized. Importabile in VMware (ESXi / Workstation / Fusion), VirtualBox e nuovamente in Proxmox.",
"href": "/docs/utils/export-vm"
},
{
"title": "Importa VM da OVA / OVF",
"description": "Importa in Proxmox un’esportazione di VMware / VirtualBox / ProxMenux. Estrae automaticamente OVA, analizza i metadati OVF, crea la VM e importa ogni disco nel formato nativo dello storage.",
"href": "/docs/utils/import-vm"
}
]
},
"diskSpaceCallout": {
"title": "Una nota sullo spazio su disco per l'esportazione / importazione",
"body": "Entrambi gli strumenti convertono i formati dei dischi: l’esportazione usa <code>qemu-img convert -O vmdk -o subformat=streamOptimized</code>; l’importazione usa <code>qm importdisk</code> per tornare al formato nativo dello storage (qcow2 / raw). Per esportare, prevedi <strong>~120% della dimensione virtuale del disco</strong> per OVF e <strong>~220%</strong> per OVA. L’archivio OVA usa TAR non compresso e viene creato mentre esistono ancora i file VMDK temporanei. Verifica che nella directory di destinazione ci sia spazio sufficiente prima di iniziare."
},
"fitsTogether": {
"heading": "Come è organizzato il menu",
"body": "Ogni strumento ha uno script dedicato in <code>scripts/utilities/</code>. L’aggiornamento del sistema Proxmox richiama un unico script sicuro in <code>scripts/global/</code>, update-pve-safe.sh, che rileva la versione principale e gestisce PVE 8 e PVE 9. Il passaggio PVE 8 → 9 offre due azioni aggiuntive nel proprio menu: un <em>Controllo preliminare all’aggiornamento</em> indipendente (esegue <code>pve8to9 --full</code>) e una <em>Guida all’aggiornamento manuale</em> in sola lettura (procedura di 17 passaggi), per chi vuole esaminare il processo o eseguirlo a mano."
}
}
@@ -0,0 +1,168 @@
{
"meta": {
"title": "Aggiornamento del sistema Proxmox | Documentazione ProxMenux",
"description": "Aggiorna i pacchetti nella versione principale attuale di Proxmox con apt-get update e apt full-upgrade -y. Controlla spazio su disco e repository, tenta il recupero delle chiavi GPG, controlla e ripara vecchi header PV LVM, ricompila i driver DKMS gestiti quando necessario, esegue autoremove/autoclean e propone il riavvio se serve.",
"ogTitle": "Aggiornamento del sistema Proxmox | Documentazione ProxMenux",
"ogDescription": "apt full-upgrade con controllo dei repository, autoremove/autoclean e richiesta di riavvio quando necessario."
},
"header": {
"title": "Aggiornamento sistema Proxmox",
"description": "Richiama un unico script operativo (<code>update-pve-safe.sh</code>) che rileva la versione principale di Proxmox. I repository vengono letti tramite l’API Proxmox e conservati; un host senza abbonamento con il solo Enterprise deve confermare il passaggio a no-subscription. Lo script aggiorna i pacchetti e ricompila i driver DKMS gestiti da ProxMenux per un kernel pronto per il prossimo avvio. Lo script principale propone il riavvio se esiste il marcatore di sistema o se il kernel installato più recente è diverso da quello in esecuzione. Il processo è disponibile anche da <em>Update Now</em> nell’intestazione di ProxMenux Monitor quando ci sono aggiornamenti in sospeso.",
"section": "Utilità"
},
"calloutWhat": {
"title": "Cosa fa",
"body": "Porta l'host all'ultimo livello di patch della versione principale corrente. <strong>non</strong> si aggiorna tra le versioni principali: per PVE 8 → PVE 9 vedere <link>Aggiornamento da PVE 8 a PVE 9</link>."
},
"official": {
"heading": "Raccomandazione ufficiale Proxmox",
"intro": "La guida di aggiornamento di Proxmox per un host in esecuzione (nella stessa versione principale) è quella di eseguire:",
"code": "apt update && apt full-upgrade -y",
"outro": "Questa riga è il comando ufficiale per le versioni attuali di Proxmox. Occorre anche verificare che i repository siano corretti, che siano abilitati quelli giusti e che l’host resti in uno stato coerente dopo l’aggiornamento."
},
"onTop": {
"heading": "Cosa aggiunge ProxMenux: verificato nello script",
"intro": "Usa <strong>la stessa operazione apt full-upgrade</strong>, con controlli dei repository, ricompilazione DKMS e pulizia finale. I passaggi seguenti corrispondono a <code>scripts/utilities/proxmox_update.sh</code> e al suo unico script operativo <code>scripts/global/update-pve-safe.sh</code>:",
"items": [
"<strong>Rileva la versione principale di PVE</strong> nello script operativo (<code>pveversion | grep -oP ''pve-manager/\\K[0-9]+''</code>). Un unico script gestisce PVE 8 e PVE 9; i repository vengono conservati, a meno che un host senza abbonamento accetti il cambio proposto.",
"<strong>Conserva i repository configurati.</strong> <code>ensure_repositories</code> legge i repository e lo stato dell’abbonamento tramite l’API Proxmox. Con un abbonamento attivo o un repository no-subscription o test già usato, non cambia nulla. Se un host senza abbonamento attivo ha il solo Enterprise, chiede conferma per passare a no-subscription. Rifiutando, l’aggiornamento termina senza modificare le sorgenti.",
"<strong>Esegue l’aggiornamento senza interazione</strong> con <code>DEBIAN_FRONTEND=noninteractive</code> e <code>--force-confdef --force-confold</code>. Per le decisioni sui file di configurazione dpkg accetta l’azione predefinita, se presente; altrimenti conserva il file esistente.",
"<strong>Non impone le utilità facoltative.</strong> Lo script non forza l’installazione di <code>zfsutils-linux</code>, <code>chrony</code>, <code>ifupdown2</code> o pacchetti simili. Se l’installazione Proxmox ha scelto di farne a meno, mantiene questa scelta. I pacchetti mancanti vengono segnalati dai processi di installazione superiori, non dall’aggiornamento.",
"<strong>Controllo e riparazione dei metadati LVM.</strong> Rileva vecchi header PV ed esegue vgck --updatemetadata e vgchange -ay sui gruppi di volumi interessati. Può modificare metadati LVM; non si limita a mostrare avvisi.",
"<strong>Pulizia finale:</strong> <code>apt-get autoremove -y</code> + <code>apt-get autoclean -y</code>.",
"<strong>Ricompilazione DKMS prima della richiesta di riavvio.</strong> Lo script operativo richiama <code>pmx_rebuild_dkms_after_kernel</code> quando è pronto un kernel installato più recente. Lo script principale controlla <code>/var/run/reboot-required</code> e usa <code>dpkg-query</code> per confrontare il kernel indicato da <code>uname -r</code> con il pacchetto <code>proxmox-kernel-*-pve-signed</code> / <code>pve-kernel-*-pve</code> installato più recente. Il marcatore può mancare sugli host senza <code>needrestart</code>; il confronto dei kernel funziona comunque."
]
},
"calloutOneSentence": {
"title": "In una frase",
"body": "Aggiorna i pacchetti dell’host, conserva i repository salvo un cambio accettato, controlla i metadati LVM, ricompila i driver DKMS gestiti, esegue autoremove/autoclean e propone il riavvio se necessario."
},
"confirm": {
"heading": "Finestra di conferma",
"intro": "Selezionando l’opzione si apre un riepilogo delle azioni previste e viene richiesta una conferma esplicita:",
"imageAlt": "Finestra di conferma dell’aggiornamento Proxmox con controllo dei repository, aggiornamento dei pacchetti e pulizia"
},
"routes": {
"heading": "Come lo script principale delega l’esecuzione",
"nodes": {
"source": {
"label": "proxmox_update.sh",
"detail": "pveversion |\ngrep -oP ''pve-manager/\\K[0-9]+''"
},
"bridge": {
"label": "Un unico script operativo",
"detail": "update-pve-safe.sh\n(rileva PVE 8 / 9\ninternamente)"
},
"target": {
"label": "Dopo l'aggiornamento",
"detail": "apt-get autoremove\napt-get autoclean\nRichiesta di riavvio se necessario"
}
}
},
"worker": {
"heading": "Cosa fa lo script operativo",
"intro": "Un unico script (<code>scripts/global/update-pve-safe.sh</code>) gestisce PVE 8 (<code>bookworm</code>) e PVE 9 (<code>trixie</code>). Rileva la versione principale e controlla i repository esistenti senza riscrivere le sorgenti di base Debian. Le fasi sono:",
"items": [
"<strong>Controlli preliminari.</strong> Verifica che ci sia almeno ~1 GB libero in <code>/var/cache/apt/archives</code>. In caso contrario si interrompe subito con un messaggio chiaro, per evitare un errore nel mezzo di un’operazione apt.",
"<strong>Controllo dei repository.</strong> <code>ensure_repositories</code> legge repository e stato dell’abbonamento. Con un repository Proxmox utilizzabile non cambia nulla. Se un host senza abbonamento attivo usa il solo Enterprise, chiede conferma prima di passare a no-subscription e interrompe l’aggiornamento in caso di rifiuto.",
"<strong>apt update con recupero automatico GPG.</strong> In caso di <code>NO_PUBKEY</code> per un repository, anche di terze parti, lo script importa la chiave mancante e riprova automaticamente prima di segnalare l’errore.",
"<strong>Aggiornamenti in sospeso e di sicurezza.</strong> Indica quanti pacchetti cambieranno e quanti provengono dalla suite di sicurezza, per mostrare numeri concreti nella finestra di conferma.",
"<strong>Finestra di conferma.</strong> Dopo aver aggiornato gli elenchi dei pacchetti, lo script chiede un sì esplicito prima di aggiornarli.",
"<strong>apt full-upgrade.</strong> Usa <code>DEBIAN_FRONTEND=noninteractive</code> e <code>--force-confdef --force-confold</code>. Dpkg segue l’azione predefinita per i file di configurazione, se presente; altrimenti conserva il file esistente.",
"<strong>Controllo LVM.</strong> <code>lvm_repair_check</code> aggiorna i metadati dei gruppi di volumi quando i dischi assegnati direttamente alle VM guest (DSM, TrueNAS o appliance di storage) tornano con vecchi header PV.",
"<strong>Ricompilazione DKMS dei driver gestiti da ProxMenux.</strong> Quando è pronto un nuovo kernel, <code>pmx_rebuild_dkms_after_kernel</code> legge i driver installati da ProxMenux in <code>components_status.json</code> (attualmente <code>nvidia_driver</code> → modulo <code>nvidia</code> e <code>coral_driver</code> → modulo <code>gasket</code>), installa gli header corrispondenti (<code>proxmox-headers-&lt;newkver&gt;</code> se disponibile, altrimenti <code>pve-headers-&lt;newkver&gt;</code>) ed esegue <code>dkms autoinstall -k &lt;newkver&gt;</code>. Se <code>dkms status</code> non mostra i moduli compilati per il nuovo kernel, richiama ogni installatore con <code>--auto-reinstall</code>. Gli errori vengono registrati senza interrompere l’aggiornamento, che arriva comunque alla richiesta di riavvio.",
"<strong>Pulizia finale.</strong> <code>apt-get autoremove</code> + <code>apt-get autoclean</code> prima di restituire il controllo allo script principale."
]
},
"post": {
"heading": "Pulizia e riavvio dopo l’aggiornamento",
"intro": "Al termine dello script operativo, lo script principale esegue:",
"code": "apt-get autoremove -y # drop unused dependencies pulled in by old packages\napt-get autoclean # drop downloaded .deb files no longer in the index",
"afterCode": "Lo script principale controlla anche se occorre riavviare. Ciascuno di questi segnali fa comparire la richiesta:",
"items": [
"Esiste <code>/var/run/reboot-required</code>: un pacchetto o uno strumento di sistema ha indicato che l’host deve essere riavviato.",
"Il pacchetto del kernel Proxmox installato più recente è diverso dal kernel in esecuzione, secondo <code>dpkg-query</code> e uname -r."
],
"outro": "Se una delle condizioni è vera, una finestra whiptail chiede <em>«Alcune modifiche richiedono un riavvio. Vuoi riavviare ora?»</em>. Rifiuta per continuare con il kernel attuale fino al riavvio manuale, ad esempio durante una finestra di manutenzione programmata."
},
"end": {
"heading": "Cosa vedi alla fine",
"intro": "Al termine dello script operativo, il terminale mostra il risultato della pulizia e, se necessario, la richiesta di riavvio:",
"imageAlt": "Riepilogo del completamento dell'aggiornamento del sistema Proxmox con l'output di pulizia e il prompt di riavvio"
},
"calloutDeclineReboot": {
"title": "Rimanda il riavvio solo per un motivo preciso",
"body": "Installare un nuovo pacchetto <code>proxmox-kernel-*</code> non sostituisce il kernel in esecuzione fino al riavvio. Il nuovo kernel e i suoi moduli corrispondenti diventano attivi al prossimo avvio. Programma il riavvio in una finestra di manutenzione adatta e controlla prima gli avvisi di compilazione DKMS."
},
"noSub": {
"heading": "Come lo script gestisce il repository Enterprise",
"intro": "Proxmox abilita il repository Enterprise per impostazione predefinita. Senza un abbonamento attivo, questo restituisce 401 durante <code>apt-get update</code>. Lo script modifica i repository solo in questo caso e dopo conferma, tramite l’API Proxmox usata da <em>Node → Updates → Repositories</em>. Ecco i diversi casi:",
"items": [
"Con un <strong>abbonamento attivo</strong>, i repository restano invariati ed Enterprise fornisce gli aggiornamenti.",
"Con il <strong>repository no-subscription o test già abilitato</strong>, i repository restano invariati, qualunque altra sorgente sia configurata.",
"Con <strong>nessun abbonamento attivo e il solo repository Enterprise</strong>, una finestra propone il cambio. Accettando, Enterprise viene disabilitato, no-subscription viene abilitato e gli elenchi dei pacchetti vengono aggiornati. La modifica compare nella vista <em>Changes</em> di Audit & Report. Rifiutando, l’aggiornamento termina senza modificare le sorgenti.",
"Le <strong>sorgenti Ceph Enterprise</strong> presenti vengono disabilitate durante lo stesso cambio, senza scegliere un altro canale Ceph. Un host che usa Ceph deve configurare il relativo canale separatamente.",
"Se <strong>non è disponibile un terminale per chiedere conferma</strong>, nessuna sorgente viene modificata e l’aggiornamento termina con un messaggio che rimanda a <em>Node → Updates → Repositories</em>."
],
"outro": "Le sorgenti Debian e tutti gli altri file dei repository non vengono mai modificati da questa procedura. Una voce che mescola Enterprise con altri componenti non viene cambiata: l’aggiornamento si interrompe e chiede di separarla dalla vista dei repository Proxmox."
},
"cluster": {
"heading": "Considerazioni di cluster",
"calloutTitle": "Su cluster: aggiornare un nodo alla volta",
"calloutBody": "In un cluster Proxmox, esegui questa opzione su <strong>un nodo alla volta</strong> e attendi il completamento del riavvio prima di passare al successivo. Migra prima i sistemi guest dal nodo per evitare interruzioni del servizio nell’intero cluster. Versioni minori diverse, come 8.4.1 e 8.4.5, possono coesistere per alcune ore; kernel in esecuzione diversi possono causare comportamenti imprevisti per i sistemi guest gestiti da HA."
},
"doesnt": {
"heading": "Cosa non fa",
"items": [
"<strong>Passaggio di versione principale.</strong> Il passaggio 8 → 9 è un’operazione separata; vedi <link>Aggiornamento da PVE 8 a PVE 9</link>.",
"<strong>Backup.</strong> Nessuna snapshot, nessun rollback. Le operazioni Apt non sono transazionali. Combina con la tua normale disciplina di backup (PBS, vzdump, snapshot ZFS).",
"<strong>Aggiornamenti di container / VM.</strong> Viene aggiornato solo l’host; i sistemi guest restano invariati.",
"<strong>Scrittura dedicata del firmware.</strong> Questo strumento non serve a programmare BIOS o firmware dei dispositivi. I pacchetti di firmware o microcodice CPU già installati possono comunque ricevere aggiornamenti tramite apt."
]
},
"troubleshooting": {
"heading": "Risoluzione dei problemi",
"items": [
{
"title": "apt update fallisce con 401 Unauthorized",
"body": "Il repository Enterprise è abilitato, ma l’host non ha un abbonamento attivo. Prima di <code>apt-get update</code>, lo script propone il passaggio a no-subscription. Se hai rifiutato, ripeti l’aggiornamento e accetta, oppure disabilita Enterprise in <em>Node → Updates → Repositories</em> e abilita no-subscription."
},
{
"title": "dist-upgrade si blocca su \"Configuring grub-pc\"",
"body": "Se compare una richiesta interattiva di GRUB, chiede i dispositivi su cui installare il boot loader. L’opzione <code>--force-confold</code> riguarda i file di configurazione, non questa selezione. Usa <kbd>Tab</kbd> + <kbd>Space</kbd> per scegliere i dischi di avvio appropriati, poi OK. Puoi configurare la scelta in anticipo con <code>dpkg-reconfigure grub-pc</code>."
},
{
"title": "Il kernel è stato aggiornato, ma mancano i nuovi moduli di un driver esterno",
"body": "Per i driver gestiti (<code>nvidia_driver</code> e <code>coral_driver</code>), la funzione esegue <code>dkms autoinstall -k &lt;newkver&gt;</code> e può ripetere gli installatori con <code>--auto-reinstall</code>. Controlla il risultato con <code>dkms status</code>. Il comando autoinstall può ricompilare anche altri moduli DKMS registrati; gli installatori alternativi sono limitati alle voci gestite di <code>components_status.json</code>. Esamina eventuali moduli di terze parti ancora mancanti e ricompilali se necessario con <code>dkms autoinstall</code>."
},
{
"title": "Il prompt del riavvio non è apparso ma sono sicuro che il kernel sia cambiato",
"body": "I segnali sono alternativi: <code>/var/run/reboot-required</code> oppure una differenza tra il kernel in esecuzione e il kernel Proxmox installato più recente. Lo script principale non analizza le voci linux-image del registro apt. Controlla la versione in esecuzione con <code>uname -r</code> e i pacchetti del kernel installati con <code>dpkg-query</code>. Programma il riavvio necessario o esegui <code>shutdown -r now</code> quando sei pronto."
}
]
},
"files": {
"heading": "File coinvolti",
"code": "scripts/utilities/proxmox_update.sh # this script (wrapper)\nscripts/global/update-pve-safe.sh # single safe worker (PVE 8 + PVE 9)\nscripts/global/repository-functions.sh # ensure_repositories\nscripts/global/repository_policy.py # reads and switches repositories through the Proxmox API\nscripts/global/utils-install-functions.sh # pmx_rebuild_dkms_after_kernel\n/usr/local/share/proxmenux/components_status.json # ProxMenux-managed DKMS driver registry\n/etc/apt/sources.list.d/proxmox.sources # no-subscription source, written by Proxmox when the switch is accepted\n/var/run/reboot-required # read to decide on reboot prompt\n# Reboot fallback when needrestart isn't installed:\n# dpkg-query -W 'proxmox-kernel-*-pve-signed' 'pve-kernel-*-pve' vs. uname -r"
},
"related": {
"heading": "Correlati",
"items": [
{
"href": "/docs/utils/upgrade-pve8-pve9",
"label": "Aggiorna PVE 8 a PVE 9",
"tail": " — per il passaggio di versione principale, con uno strumento e un modello di sicurezza diversi."
},
{
"href": "/docs/utils/system-utils",
"label": "Installatore di utilità di sistema",
"tail": " — per installare strumenti CLI utili durante gli aggiornamenti (htop / btop / ncdu)."
},
{
"href": "/docs/utils",
"label": "Panoramica delle utilità",
"tail": " — torna alla panoramica della sezione."
}
]
}
}
@@ -0,0 +1,252 @@
{
"meta": {
"title": "Installatore di utilità di sistema | Documentazione ProxMenux",
"description": "Installatore di utilità CLI per Proxmox VE, con 25 pacchetti nell’elenco di riferimento (htop, btop, iperf3, tmux, ...). Selezione personalizzata, installazione completa e gruppi predefiniti (base, sviluppo, compressione, multiplexer, analisi, rete). I gruppi possono includere altri pacchetti. Usa ensure_repositories + install_single_package.",
"ogTitle": "Installatore di utilità di sistema | Documentazione ProxMenux",
"ogDescription": "Installare strumenti CLI curati su Proxmox VE con un clic o selezione personalizzata."
},
"header": {
"title": "Installatore di utilità di sistema",
"description": "Selettore delle 25 utilità CLI nell’elenco di riferimento PROXMENUX_UTILS. Offre selezione personalizzata, installazione completa, sei gruppi predefiniti e verifica delle installazioni. I gruppi possono includere strumenti esterni all’elenco. Usa le funzioni condivise ensure_repositories() + install_single_package() per gestire in modo coerente repository e messaggi sui pacchetti.",
"section": "Utilità"
},
"info": {
"title": "Cosa fa",
"body": "Installa strumenti CLI da un elenco di 25 pacchetti. Ogni installazione segue lo stesso processo: <code>ensure_repositories</code> verifica che l’host abbia un repository Proxmox utilizzabile per la versione principale di PVE; poi <code>install_single_package</code> installa il pacchetto e controlla che il comando sia in PATH."
},
"opening": {
"heading": "Apertura dell'installatore",
"intro": "Dal menu Utilità, scegliere <strong>System Utilities Installer</strong>. Il menu principale offre nove opzioni:",
"imageAlt": "Menu di installazione delle utilità di sistema con selezione personalizzata, ALL, gruppi predefiniti e verifica"
},
"actions": {
"heading": "Le 9 azioni del menu",
"headerOption": "Opzione",
"headerBehaviour": "Comportamento",
"rows": [
{
"option": "1. Selezione personalizzata",
"behaviourRich": "Elenco di selezione dei 25 pacchetti. Usa SPACE per selezionare e ENTER per confermare; vengono installati solo i pacchetti selezionati."
},
{
"option": "2. Installa TUTTE le utilità",
"behaviourRich": "Installazione one-shot di ogni pacchetto in <code>PROXMENUX_UTILS</code>. Utilizzare dopo una nuova installazione Proxmox."
},
{
"option": "3. Base",
"behaviourRich": "<code>grc</code>, <code>htop</code>, <code>tree</code>, <code>curl</code>, <code>wget</code>"
},
{
"option": "4. Sviluppo",
"behaviourRich": "<code>git</code>, <code>vim</code>, <code>nano</code>"
},
{
"option": "5. Compressione",
"behaviourRich": "<code>zip</code>, <code>unzip</code>, <code>rsync</code>"
},
{
"option": "6. Multiplexer di terminale",
"behaviourRich": "<code>screen</code>, <code>tmux</code>"
},
{
"option": "7. Analisi",
"behaviourRich": "<code>jq</code>, <code>ncdu</code>, <code>iotop</code>"
},
{
"option": "8. Rete",
"behaviourRich": "<code>iperf3</code>, <code>nethogs</code>, <code>nmap</code>, <code>tcpdump</code>, <code>lsof</code>"
},
{
"option": "9. Verifica installazioni",
"behaviourRich": "Esamina ogni voce di <code>PROXMENUX_UTILS</code>, controlla se il comando di verifica è in PATH e mostra un riepilogo Disponibile / Mancante."
}
]
},
"packages": {
"heading": "I 25 pacchetti",
"intro": "Definiti nel file condiviso <code>scripts/global/utils-install-functions.sh</code> come <code>PROXMENUX_UTILS</code> (formato: <code>package:verify_command:description</code>). Altri script ProxMenux, per esempio gli avvii del monitoraggio di rete iftop / iptraf-ng / iperf3, riutilizzano queste voci per mantenere sincronizzati pacchetto e comando di verifica.",
"headerPackage": "Pacchetto",
"headerVerify": "Comando di verifica",
"headerDescription": "Descrizione",
"rows": [
{
"package": "axel",
"verify": "axel",
"description": "Acceleratore di download"
},
{
"package": "aria2",
"verify": "aria2c",
"description": "Downloader multi-source"
},
{
"package": "btop",
"verify": "btop",
"description": "Monitor moderno delle risorse"
},
{
"package": "cabextract",
"verify": "cabextract",
"description": "Estrarre i file CAB"
},
{
"package": "chntpw",
"verify": "chntpw",
"description": "Modifica del registro di Windows / password"
},
{
"package": "dos2unix",
"verify": "dos2unix",
"description": "Converti file di testo DOS / Unix"
},
{
"package": "genisoimage",
"verify": "genisoimage",
"description": "Crea immagini ISO"
},
{
"package": "grc",
"verify": "grc",
"description": "Colorazione generica dei log"
},
{
"package": "htop",
"verify": "htop",
"description": "Visualizzatore interattivo dei processi"
},
{
"package": "iftop",
"verify": "iftop",
"description": "Utilizzo della rete in tempo reale"
},
{
"package": "intel-gpu-tools",
"verify": "intel_gpu_top",
"description": "Strumenti Intel GPU"
},
{
"package": "iotop",
"verify": "iotop",
"description": "Monitoraggio dell’I/O dei dischi"
},
{
"package": "iperf3",
"verify": "iperf3",
"description": "Test di banda di rete"
},
{
"package": "ipset",
"verify": "ipset",
"description": "Gestione degli insiemi IP"
},
{
"package": "iptraf-ng",
"verify": "iptraf-ng",
"description": "Strumento di monitoraggio della rete"
},
{
"package": "libguestfs-tools",
"verify": "virt-filesystems",
"description": "Utilità del disco VM"
},
{
"package": "msr-tools",
"verify": "rdmsr",
"description": "Accesso ai registri MSR della CPU"
},
{
"package": "net-tools",
"verify": "netstat",
"description": "Strumenti di networking legacy"
},
{
"package": "plocate",
"verify": "locate",
"description": "Individuare i file rapidamente"
},
{
"package": "s-tui",
"verify": "s-tui",
"description": "Stress-Terminal UI"
},
{
"package": "sshpass",
"verify": "sshpass",
"description": "Accesso non interattivo SSH"
},
{
"package": "tmux",
"verify": "tmux",
"description": "Multiplexer del terminale"
},
{
"package": "unzip",
"verify": "unzip",
"description": "Estrarre i file ZIP"
},
{
"package": "wimtools",
"verify": "wimlib-imagex",
"description": "Gestione delle immagini WIM"
},
{
"package": "zip",
"verify": "zip",
"description": "Crea file ZIP"
}
]
},
"howItWorks": {
"heading": "Come funziona l’installazione di un pacchetto",
"items": [
"<code>ensure_repositories</code> rileva PVE 8 o 9 e legge i repository tramite l’API Proxmox. Con un repository Proxmox utilizzabile non cambia nulla. Un host senza abbonamento attivo con il solo Enterprise deve confermare il passaggio a no-subscription; <code>apt-get update</code> viene eseguito dopo il cambio accettato.",
"<code>install_single_package \"pkg\" \"verify_cmd\" \"description\"</code> gestisce <code>apt-get install -y \"$pkg\"</code> con feedback (<code>msg_info</code> / <code>msg_ok</code> / <code>msg_error</code>)."
],
"verifyIntro": "Dopo l'installazione, il comando di verifica viene controllato con <code>command -v \"$verify_cmd\"</code>. Tre risultati:",
"verifyOutcomes": [
"<strong>0 (successo):</strong> comando disponibile; il pacchetto è conteggiato come <em>Riuscito</em>.",
"<strong>1 (errore):</strong> apt non è riuscito; il pacchetto è conteggiato come <em>Non riuscito</em>.",
"<strong>2 (avviso):</strong> apt è riuscito, ma il comando atteso non è stato trovato in PATH; il pacchetto è conteggiato come <em>Con avvisi</em>."
],
"summary": "Al termine di un’installazione personalizzata o di gruppo, una finestra mostra i conteggi <em>Riusciti / Con avvisi / Non riusciti</em>."
},
"verify": {
"heading": "Verifica installazioni",
"intro": "L’opzione 9 è in sola lettura: esamina <code>PROXMENUX_UTILS</code> ed esegue <code>command -v</code> per ogni comando di verifica. L’output è simile al seguente:",
"code": "Total: 26\nAvailable: 18\nMissing: 8\n\n✓ axel - Download accelerator\n✓ aria2c - Multi-source downloader\n✓ btop - Modern resource monitor\n✗ cabextract - Extract CAB files\n✓ dos2unix - Convert DOS / Unix text files\n✗ genisoimage - Create ISO images\n✓ grc - Generic log colorizer\n...",
"outro": "Utile prima di eseguire script che dipendono da questi strumenti (ad es. <code>uup_dump_iso_creator.sh</code> ha bisogno di <code>aria2c</code> + <code>cabextract</code> + <code>wimlib-imagex</code>). Se manca qualcosa, eseguire l'installazione del gruppo corrispondente o selezionare i pacchetti mancanti tramite selezione personalizzata."
},
"troubleshoot": {
"heading": "Risoluzione dei problemi",
"reposTitle": "«Impossibile configurare i repository. Installazione annullata».",
"reposBody": "Il controllo dei repository non è riuscito: il passaggio a no-subscription è stato rifiutato, lo stato dell’abbonamento non è leggibile o una voce richiede attenzione. Il messaggio precedente indica la causa. I repository sono elencati in <em>Node → Updates → Repositories</em>; <code>apt-get update</code> da una console mostra l’errore apt.",
"warningsTitle": "Un pacchetto viene segnalato \"Con avvisi\" ma il comando funziona dopo aver chiuso il menu",
"warningsBody": "Dopo <code>apt-get install</code>, la funzione esegue <code>hash -r</code>, attende brevemente e verifica il comando atteso con <code>command -v</code>. Un avviso indica che il controllo continua a fallire, senza identificarne la causa. Prova una nuova shell, poi controlla l’installazione del pacchetto e PATH se il comando manca ancora.",
"hangsTitle": "Un’installazione apt si blocca",
"hangsBody": "Probabilmente una richiesta debconf è nascosta dall’output silenziato. Lo script usa <code>DEBIAN_FRONTEND=noninteractive</code> per le chiamate apt, che di solito evita le domande, ma alcuni pacchetti richiedono comunque dati. Annulla con <kbd>Ctrl</kbd>+<kbd>C</kbd> ed esegui <code>apt-get install -y &lt;pkg&gt;</code> manualmente da una shell per vedere la richiesta e decidere."
},
"files": {
"heading": "File coinvolti",
"code": "scripts/utilities/system_utils.sh # this script\nscripts/global/utils-install-functions.sh # PROXMENUX_UTILS, install_single_package\nscripts/global/repository-functions.sh # ensure_repositories\nscripts/global/repository_policy.py # reads and switches repositories through the Proxmox API\n/etc/apt/sources.list.d/proxmox.sources # no-subscription source, written by Proxmox when the switch is accepted"
},
"related": {
"heading": "Correlati",
"items": [
{
"href": "/docs/utils/system-update",
"label": "Aggiornamento sistema Proxmox",
"tailRich": "— per il <code>apt dist-upgrade</code> effettivo sull'host."
},
{
"href": "/docs/network/monitoring",
"label": "Strumenti di monitoraggio in tempo reale (rete)",
"tailRich": "— utilizza iftop / iptraf-ng / iperf3 da questa stessa lista."
},
{
"href": "/docs/utils",
"label": "Panoramica delle utilità",
"tailRich": " — torna alla panoramica della sezione."
}
]
}
}
@@ -0,0 +1,335 @@
{
"meta": {
"title": "Aggiornare PVE 8 a PVE 9 | Documentazione ProxMenux",
"description": "Tre modi per passare da Proxmox VE 8 a 9 (Debian Bookworm a Trixie e PVE 8 a 9): automatico, interattivo o manuale seguendo la procedura ufficiale. Controllo pve8to9, migrazione dei repository, dist-upgrade e verifica finale. L’avvio dal terminale web è bloccato.",
"ogTitle": "Aggiornare PVE 8 a PVE 9 | Documentazione ProxMenux",
"ogDescription": "Tre modalità (automatica, interattiva e manuale) per passare da Proxmox VE 8 a 9."
},
"header": {
"title": "Aggiorna PVE 8 a PVE 9",
"description": "Esegue il passaggio da Proxmox VE 8 a 9 secondo la procedura ufficiale: Debian Bookworm a Trixie e PVE 8 a 9. Offre modalità automatica, interattiva e manuale, oltre a un controllo preliminare indipendente. Blocca il terminale web: una disconnessione durante l’aggiornamento può lasciare l’host inutilizzabile.",
"section": "Utilità"
},
"dangerCallout": {
"title": "Un cambio di versione principale è irreversibile",
"intro": "L’operazione sostituisce sul posto la base Debian (Bookworm → Trixie) e i componenti Proxmox. <strong>Non è previsto un ripristino alla versione precedente</strong>. Prima di iniziare:",
"items": [
"<strong>Backup verificati</strong> di ogni VM e CT (PBS, vzdump, snapshot ZFS — verificare anche il ripristino).",
"<strong>Accesso console / IPMI / iKVM</strong> all’host in caso di interruzione SSH durante l’aggiornamento.",
"L'host è già aggiornato su PVE 8.4.x (lo script applica questo).",
"Ceph (se presente) sulla versione 19.x Squid.",
"Almeno <strong>5 GB liberi</strong> nel filesystem root."
]
},
"modeMenu": {
"heading": "Il menu della modalità",
"intro": "L’opzione apre quattro voci: Automatico, Interattivo, Controllo preliminare e Guida manuale. Tre scelte <em>eseguono</em> l’aggiornamento o spiegano come procedere; il controllo indipendente <em>verifica</em> i requisiti e può proporre riparazioni.",
"imageAlt": "Menu di aggiornamento PVE da 8 a 9 con modalità automatica, interattiva, controllo preliminare e guida manuale"
},
"threeWays": {
"heading": "Tre modi per aggiornare",
"intro": "Automatico e Interattivo seguono lo stesso percorso, con controlli preliminari e verifica finale. Cambia la gestione delle domande dpkg durante <code>dist-upgrade</code>. La guida manuale mostra i comandi, inclusi i controlli: occorre eseguire ogni passaggio personalmente.",
"auto": {
"title": "Automatico / Senza intervento",
"summary": "Imposta <code>ASSUME_YES=1</code> + <code>DEBIAN_FRONTEND=noninteractive</code>. Per i file di configurazione modificati, dpkg usa l’azione predefinita se disponibile; altrimenti <strong>conserva il file attuale</strong> (<code>--force-confold</code>).",
"items": [
"Più veloce — nessuna attesa per le richieste",
"Adatto a installazioni standard senza file di configurazione personalizzati",
"Rischio: un file personalizzato viene conservato senza domande e può nascondere i nuovi valori predefiniti"
]
},
"interactive": {
"title": "Interattivo",
"summary": "Stesso percorso, ma l’utente risponde a ogni domanda dpkg sui conflitti di configurazione. Più lento, con la massima visibilità.",
"items": [
"Vedi ogni conflitto di configurazione e decidi",
"Migliore quando hai personalizzato <code>/etc/lvm</code>, <code>/etc/ssh</code>, ecc.",
"Consultare la tabella delle risposte consigliate nella procedura manuale di seguito"
]
},
"manual": {
"title": "Guida all'aggiornamento manuale",
"summary": "Mostra senza eseguirla la procedura in 17 passaggi del wiki ufficiale Proxmox. Esegui manualmente i comandi da una shell separata.",
"items": [
"Controllo massimo — digita ogni comando",
"Meglio quando si desidera imparare la procedura o si fida di nulla",
"Lo script visualizza i passaggi; nulla viene eseguito automaticamente"
]
}
},
"precheckCallout": {
"title": "Più un pre-check separato",
"body": "L’opzione 3 — <strong>Esegui controllo PVE da 8 a 9</strong> — avvia lo strumento ufficiale <code>pve8to9 --full</code>, propone riparazioni guidate per problemi comuni e poi <strong>si ferma</strong>. Usala prima dell’aggiornamento o dopo riparazioni manuali. Le modalità automatica e interattiva eseguono lo stesso controllo; la guida manuale indica di avviarlo personalmente."
},
"webTerminal": {
"heading": "Perché il terminale web è bloccato",
"body": "Le tre modalità rilevano <code>termproxy</code> / <code>vncshell</code> nella catena dei processi padre e rifiutano l’avvio. Il terminale web dipende da <code>pveproxy</code>, servizio aggiornato durante l’operazione. Al riavvio di <code>pveproxy</code> termina la sessione e lo script al suo interno. L’host può rimanere aggiornato solo in parte.",
"warningTitle": "Usa SSH o una console fisica / IPMI / iKVM",
"warningBody": "SSH è la scelta più comune. Avvialo dentro <code>tmux</code> o <code>screen</code> per resistere a brevi interruzioni di rete. Se rileva una normale shell SSH, lo script mostra subito un promemoria su tmux/screen."
},
"auto": {
"heading": "Modalità automatica / Senza intervento",
"intro": "Le conferme e le normali domande sui file di configurazione usano le risposte predefinite. Gli errori bloccanti dei controlli possono ancora richiedere interventi. Usa questa modalità su installazioni standard o dopo aver valutato l’effetto delle risposte sui file personalizzati.",
"behaviourHeading": "Comportamento specifico della modalità automatica",
"behaviourTable": {
"settingHeader": "Impostazione",
"effectHeader": "Effetto",
"rows": [
{
"settingRich": "<code>ASSUME_YES=1</code>",
"effectRich": "Opzione interna — conferma automaticamente le domande sì/no dello script"
},
{
"settingRich": "<code>DEBIAN_FRONTEND=noninteractive</code>",
"effectRich": "apt / dpkg vengono eseguiti senza aprire domande debconf"
},
{
"settingRich": "<code>--force-confdef</code>",
"effectRich": "Per i file di configurazione intatti: installa la nuova versione del manutentore"
},
{
"settingRich": "<code>--force-confold</code>",
"effectRich": "Per i file modificati: azione predefinita di dpkg se disponibile; altrimenti <strong>conserva la tua versione</strong>."
}
]
},
"flowHeading": "Percorso della modalità automatica",
"flowIntro": "Sei fasi consecutive. Le prime possono aggiornare pacchetti PVE 8 e scrivere la configurazione dei repository. Un errore interrompe il percorso senza annullare quelle modifiche. La fase 5 esegue <code>dist-upgrade</code> a PVE 9.",
"flowDiagram": "1. CONTROLLI\nBlocca termproxy / vncshell; rifiuta PVE 9; controlla spazio e connettività.\nRichiede Ceph 19.x Squid se installato.\npve8to9 --full (può proporre riparazioni).\n\n2. PREPARARE PVE 8\nscripts/global/update-pve8.sh\nAggiorna i pacchetti PVE 8; systemctl restart pve-manager.\n\n3. MIGRARE I REPOSITORY\nBookworm → Trixie; scrive file deb822 .sources.\nCommenta i vecchi file .list; apt-get update.\n\n4. VERIFICARE IL CANDIDATO PVE 9\napt-cache policy proxmox-ve\napt-get -s dist-upgrade\nSi ferma se il candidato non è 9.x o se proxmox-ve verrebbe rimosso.\n\n5. AGGIORNARE\napt-get -y -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' dist-upgrade\nRegistro: /var/log/pve8-a-pve9-'<'timestamp'>'.log\n\n6. VERIFICARE E RIAVVIARE\nEFI: apt install grub-efi-amd64\npve8to9 --full; esaminare risultati e richiesta di riavvio.",
"preflightHeading": "Controlli prima dell’aggiornamento",
"preflightTable": {
"checkHeader": "Controllo",
"whyHeader": "Perché è importante",
"rows": [
{
"checkRich": "<strong>Blocco del terminale web</strong>",
"whyRich": "Evita che l’aggiornamento termini la shell che lo esegue"
},
{
"checkRich": "<strong>Già alla versione 9.x</strong>",
"whyRich": "Interrompe se l'host gestisce già PVE 9 (niente da fare)"
},
{
"checkRich": "<strong>Ultima versione di PVE 8.4.x</strong>",
"whyRich": "Aggiorna prima PVE 8 all’ultima revisione tramite il relativo script; le vecchie versioni 8.x hanno requisiti diversi"
},
{
"checkRich": "<strong>pve8to9 --full</strong>",
"whyRich": "Controllo dei requisiti fornito da Proxmox; gli errori FAIL bloccano l’aggiornamento finché non vengono corretti"
},
{
"checkRich": "<strong>Spazio su disco</strong>",
"whyRich": "≥ 1024 MB liberi in <code>/var/cache/apt/archives</code> per i file .deb scaricati"
},
{
"checkRich": "<strong>Connettività</strong>",
"whyRich": "Ping a <code>download.proxmox.com</code> — se fallisce, l’operazione non parte"
},
{
"checkRich": "<strong>Ceph 19.x Squid</strong>",
"whyRich": "Se Ceph è installato, deve già essere alla versione 19.x. PVE 9 non funziona con Ceph 17/18. Esistono le opzioni <code>--ignore-ceph-check</code> e <code>--warn-ceph-check</code> per ignorare il controllo: usale solo se sai cosa stai facendo."
}
]
},
"distUpgradeHeading": "Il comando dist-upgrade (modalità automatica)",
"distUpgradeCode": "apt-get -y \\\n -o Dpkg::Options::='--force-confdef' \\\n -o Dpkg::Options::='--force-confold' \\\n dist-upgrade",
"distUpgradeOutro": "L’output appare in tempo reale su stdout e viene anche salvato in <code>/var/log/pve8-a-pve9-&lt;timestamp&gt;.log</code>. È tutto visibile; vengono omesse solo le domande.",
"postHeading": "Operazioni successive all’aggiornamento (modalità automatica)",
"postItems": [
"<strong>Host EFI:</strong> installa <code>grub-efi-amd64</code> come indicato tra i problemi noti di Proxmox. Non viene installato automaticamente durante l’aggiornamento e può essere necessario per il prossimo avvio.",
"<strong>Quando viene riavviato <code>pve-manager</code>.</strong> Il riavvio esplicito avviene durante la preparazione di PVE 8, prima dell’aggiornamento dei pacchetti a Trixie/PVE 9.",
"<strong>Esegue di nuovo <code>pve8to9 --full</code>.</strong> Segnala i problemi rimasti. In presenza di FAIL compare lo stesso menu di riparazione dei controlli preliminari.",
"<strong>Richiesta di riavvio.</strong> Si consiglia di riavviare per caricare il nuovo kernel e i servizi. Rifiuta solo per un motivo preciso: mantenere il vecchio kernel dopo un cambio di versione principale comporta rischi."
]
},
"interactive": {
"heading": "Modalità interattiva",
"intro": "Stesso percorso della <autolink>modalità automatica</autolink>: controlli preliminari, migrazione dei repository e verifica finale identici. Cambia il passaggio <code>dist-upgrade</code>: <strong>rispondi personalmente a ogni conflitto di configurazione segnalato da dpkg</strong>. ProxMenux esegue <code>apt-get dist-upgrade</code> senza le opzioni <code>--force-conf*</code>.",
"distUpgradeHeading": "Il comando dist-upgrade (modalità interattiva)",
"distUpgradeCode": "apt-get dist-upgrade\n# (user answers each dpkg config-file conflict prompt as it appears)",
"whenHeading": "Quando interattivo è la scelta giusta",
"whenItems": [
"Hai personalizzato <code>/etc/lvm/lvm.conf</code>, <code>/etc/ssh/sshd_config</code>, <code>/etc/default/grub</code> o qualsiasi altro file di configurazione che viene toccato dall'aggiornamento.",
"Vuoi vedere quali pacchetti causano conflitti e decidere per ogni file.",
"Stai aggiornando un host di produzione sul quale non sono accettabili modifiche nascoste."
],
"promptCalloutTitle": "Cosa rispondere ad ogni richiesta",
"promptCalloutBody": "Valgono le stesse raccomandazioni della procedura manuale: vedi <dpkglink>Risposte consigliate alle domande dpkg</dpkglink> più avanti. Digita <strong>D</strong> per vedere le differenze o <strong>Z</strong> per aprire una shell."
},
"manual": {
"heading": "Procedura di aggiornamento manuale",
"intro": "Questo è ciò che mostra l’opzione <strong>Guida all’aggiornamento manuale</strong>: il <wikilink>wiki ufficiale Proxmox per il passaggio da 8 a 9</wikilink>, diviso in quattro fasi. Lo script <em>mostra</em> i comandi; li esegui personalmente in una shell root separata. Ogni passaggio è visibile.",
"rootCalloutTitle": "Tutti i comandi hanno bisogno di root",
"rootCalloutBody": "Usa una shell root per questi comandi, incluse redirezioni e here-document. Con <code>sudo</code>, assicurati che l’intero comando venga eseguito con privilegi root.",
"phase1Heading": "Fase 1 — Preparazione",
"phase1Intro": "Aggiorna l’host all’ultima PVE 8.4.x, verifica versione e Ceph se presente, esegui il controllo Proxmox e avvia un multiplexer di terminale per resistere alle disconnessioni.",
"phase1Code": "# Step 1 — Update PVE 8 to the latest 8.4+\napt update && apt dist-upgrade -y\n\n# Step 2 — Verify version (must be 8.4.1 or newer)\npveversion\n\n# Step 2.1 — Hyper-converged Ceph: must already be on 19.x Squid\nceph --version\n# If older, follow https://pve.proxmox.com/wiki/Ceph_Reef_to_Squid\n\n# Step 3 — Run the official upgrade-readiness check\npve8to9 --full\n# If it warns about systemd-boot meta-package, remove it:\n# apt remove systemd-boot\n\n# Step 4 — Start tmux or screen (so SSH disconnect doesn't kill the upgrade)\ntmux new-session -s upgrade\n# or\nscreen -S upgrade",
"phase2Heading": "Fase 2 — Migrazione di repository",
"phase2Intro": "Passa tutti i repository Debian e Proxmox da Bookworm a Trixie e converti le sorgenti Proxmox al formato deb822. <strong>Scegli il passaggio 7 OPPURE 8</strong> in base all’abbonamento Enterprise. Salta il passaggio 9 se non usi Ceph.",
"phase2Code": "# Step 5 — Debian: bookworm → trixie\nsed -i 's/bookworm/trixie/g' /etc/apt/sources.list\n\n# Step 6 — Same for the legacy enterprise list (only if you use enterprise)\nsed -i 's/bookworm/trixie/g' /etc/apt/sources.list.d/pve-enterprise.list\n\n# Step 7 — Add the new PVE 9 enterprise repo (deb822) — Enterprise users only\ncat > /etc/apt/sources.list.d/pve-enterprise.sources << EOF\nTypes: deb\nURIs: https://enterprise.proxmox.com/debian/pve\nSuites: trixie\nComponents: pve-enterprise\nSigned-By: /usr/share/keyrings/proxmox-archive-keyring.gpg\nEOF\n\n# Step 8 — OR add the no-subscription repo (most home / lab users)\ncat > /etc/apt/sources.list.d/proxmox.sources << EOF\nTypes: deb\nURIs: http://download.proxmox.com/debian/pve\nSuites: trixie\nComponents: pve-no-subscription\nSigned-By: /usr/share/keyrings/proxmox-archive-keyring.gpg\nEOF\n\n# Step 8.1 — Refresh and verify proxmox-ve candidate is 9.x\napt update && apt policy | sed -n '1,120p'\n\n# Step 9 — Update Ceph repo (only if you run Ceph)\ncat > /etc/apt/sources.list.d/ceph.sources << EOF\nTypes: deb\nURIs: http://download.proxmox.com/debian/ceph-squid\nSuites: trixie\nComponents: no-subscription\nSigned-By: /usr/share/keyrings/proxmox-archive-keyring.gpg\nEOF\n\n# Step 10 — Remove old .list files now superseded by deb822 .sources\nrm -f /etc/apt/sources.list.d/pve-enterprise.list /etc/apt/sources.list.d/ceph.list\n\n# Step 11 — Final apt update\napt update",
"phase3Heading": "Fase 3 — Il dist-upgrade",
"phase3Intro": "L’aggiornamento effettivo. Il passaggio 12 è facoltativo ma consigliato per ridurre i messaggi di audit. Il 13 richiede più tempo: rispondi alle domande dpkg usando la tabella. Il 13.1 riguarda solo EFI e segue i problemi noti ufficiali.",
"phase3Code": "# Step 12 — Disable kernel audit messages (optional)\nsystemctl disable --now systemd-journald-audit.socket\n\n# Step 13 — The main upgrade (this takes a while)\napt dist-upgrade\n# (answer prompts using the table below)\n\n# Step 13.1 — EFI hosts: install grub for EFI (per known issues)\n[ -d /sys/firmware/efi ] && apt install grub-efi-amd64",
"dpkgHeading": "Risposte consigliate per i prompt dpkg",
"dpkgIntro": "Risposte raccomandate dalla guida Proxmox: <strong>Y</strong> installa il nuovo file del manutentore, sovrascrivendo il tuo; <strong>N</strong> conserva il file attuale. In caso di dubbio, verifica prima le differenze:",
"dpkgTable": {
"fileHeader": "File / richiesta",
"answerHeader": "Risposta consigliata",
"whyHeader": "Perché?",
"rows": [
{
"fileRich": "/etc/issue",
"answerRich": "<strong>N</strong> (conserva il file attuale)",
"whyRich": "Banner che sei abituato a vedere",
"fileFont": true
},
{
"fileRich": "/etc/lvm/lvm.conf",
"answerRich": "<strong>Y</strong> (versione del manutentore)",
"whyRich": "PVE 9 richiede i nuovi valori LVM predefiniti",
"fileFont": true
},
{
"fileRich": "/etc/ssh/sshd_config",
"answerRich": "<strong>Y</strong> per sole modifiche predefinite; esamina prima i file personalizzati",
"whyRich": "Controlla le impostazioni SSH locali e preserva l’accesso prima di sostituire il file. Le modifiche predefinite includono opzioni rinominate e commenti.",
"fileFont": true
},
{
"fileRich": "/etc/default/grub",
"answerRich": "<strong>N</strong> se personalizzato",
"whyRich": "Contiene i parametri di avvio, come IOMMU e passthrough PCI",
"fileFont": true
},
{
"fileRich": "/etc/chrony/chrony.conf",
"answerRich": "<strong>Y</strong> se non modificato; conserva prima le impostazioni locali",
"whyRich": "Trixie aggiorna i valori per la sincronizzazione oraria. Sposta le impostazioni locali nelle directory conf.d / sources.d di chrony prima di accettare il nuovo file.",
"fileFont": true
},
{
"fileRich": "Riavvii dei servizi durante l’aggiornamento",
"answerRich": "<strong>Sì</strong> (predefinito)",
"whyRich": "Riavvia la maggior parte dei servizi senza riavviare l’host",
"fileFont": false
},
{
"fileRich": "<code>apt-listchanges</code>",
"answerRich": "Premere <kbd>q</kbd>",
"whyRich": "Chiude solo il pager; le informazioni mostrate riassumono il registro delle modifiche",
"fileFont": false
}
]
},
"inspectCalloutTitle": "Ispezione di uno specifico conflitto dpkg",
"inspectCalloutBody": "Alle domande dpkg sui file di configurazione, <strong>D</strong> mostra le differenze fra il tuo file e quello nuovo; <strong>Z</strong> apre una shell per esaminare il problema. Consentono di decidere senza tirare a indovinare.",
"phase4Heading": "Fase 4 — Postupgrade",
"phase4Intro": "Verifica che l’aggiornamento sia riuscito, riavvia con il kernel PVE 9 e conferma la versione. Puoi poi convertire i vecchi file <code>.list</code> rimasti nel formato deb822.",
"phase4Code": "# Step 14 — Re-run the readiness check (should be much cleaner now)\npve8to9 --full\n\n# Step 15 — Reboot to load the new kernel and PVE 9 daemons\nreboot\n\n# Step 16 — After reboot, confirm PVE 9.x\npveversion\n# Should show pve-manager/9.x.x\n\n# Step 17 — Optional: modernise the remaining legacy .list files to deb822\napt modernize-sources\n# (keeps .list backups as .bak)"
},
"clusterCeph": {
"heading": "Cluster e Ceph",
"clusterCalloutTitle": "Cluster: aggiornare i nodi uno alla volta",
"clusterCalloutBody": "Rilevato con <code>pvecm status</code>. <strong>Non</strong> aggiornare più nodi contemporaneamente. Sposta gli ospiti, aggiorna il nodo, riavvia e verifica l’appartenenza al cluster prima di proseguire. Durante l’aggiornamento funziona la migrazione live da versioni PVE precedenti a successive; la direzione inversa generalmente non è supportata. I gruppi HA diventano automaticamente regole HA quando tutti i nodi usano PVE 9.",
"cephCalloutTitle": "Ceph: aggiornare PRIMA Ceph, poi Proxmox",
"cephCalloutBody": "Ceph deve già usare 19.x Squid prima dell’aggiornamento Proxmox. Segui l’ordine ufficiale Quincy 17 → Reef 18 → Squid 19, aggiornando pacchetti e riavviando progressivamente i demoni Ceph nell’ordine documentato. Verifica <code>ceph --version</code> prima di ogni nodo Proxmox. Procedura completa: <cephlink>wiki per il passaggio da Ceph Reef a Squid</cephlink>."
},
"troubleshooting": {
"heading": "Risoluzione dei problemi",
"items": [
{
"title": "Lo script si interrompe: \"This script cannot be executed from the Proxmox web terminal\"",
"bodyRich": "Apri una connessione SSH o usa console / IPMI / iKVM e riprova da lì. Avvia prima <code>tmux new -s pveupgrade</code> per resistere a brevi interruzioni di rete."
},
{
"title": "pve8to9 segnala FAIL e l’opzione 1 di riparazione produce \"command not found\"",
"bodyRich": "Se l’errore cita <code>configure_repositories</code>, la copia dello script è obsoleta: la riparazione attuale usa cleanup_duplicate_repos e ensure_repositories. Aggiornala o esamina i comandi manuali con l’opzione 2. <code>apt-get update</code> aggiorna le liste dei pacchetti, ma non risolve ogni controllo bloccante."
},
{
"title": "La simulazione apt segnala \"proxmox-ve will be REMOVED\"",
"bodyRich": "I nuovi repository non sono raggiungibili o il nome della distribuzione non è stato sostituito. Controlla <code>cat /etc/apt/sources.list.d/proxmox.sources</code>: <code>Suites:</code> deve indicare <code>trixie</code>, non <code>bookworm</code>. <code>apt-cache policy proxmox-ve</code> deve mostrare un candidato 9.x dal nuovo repository."
},
{
"title": "dist-upgrade fallisce durante l’esecuzione",
"bodyRich": "Eseguire <code>apt-get -f install</code> per risolvere le dipendenze rotte, quindi eseguire nuovamente l'aggiornamento. Se ciò fallisce, controlla il registro a <code>/var/log/pve8-a-pve9-&lt;timestamp&gt;.log</code> — le ultime righe di solito indicano il pacchetto offensivo. Non riavviare fino a quando <code>dpkg -l | grep ^iU</code> ritorna vuoto (senza pacchetti semiinstallati)."
},
{
"title": "L'host EFI non si avvia dopo il riavvio",
"bodyRich": "L’installazione successiva di <code>grub-efi-amd64</code> risolve il problema. Se è stata saltata o è fallita, avvia l’ISO Proxmox in modalità ripristino, monta il filesystem root, esegui chroot e <code>apt-get install grub-efi-amd64 &amp;&amp; update-grub</code>."
},
{
"title": "GUI non si carica dopo l'aggiornamento",
"bodyRich": "Esegui <code>systemctl status pveproxy</code> e <code>systemctl restart pveproxy</code>. Se il problema persiste, cerca l’errore con <code>journalctl -u pveproxy -b</code>."
},
{
"title": "La rete non funziona dopo il riavvio",
"bodyRich": "Verifica che <code>/etc/network/interfaces</code> faccia riferimento a dispositivi esistenti e che <code>ifupdown2</code> sia installato: <code>apt install ifupdown2</code>. Se i nomi sono cambiati, vedi <netlink>Nomi persistenti delle interfacce</netlink>."
},
{
"title": "Cluster split-brain dopo l'aggiornamento di un nodo",
"bodyRich": "I cluster misti PVE 8 / PVE 9 sono supportati durante l’aggiornamento. Funziona la migrazione live da versioni precedenti a successive; la direzione inversa generalmente non è supportata. Se il nodo appare offline, verifica <code>corosync</code> e la configurazione QDevice / rete. Esegui <code>pvecm status</code> su ciascun nodo per confermare il quorum."
}
]
},
"files": {
"heading": "File coinvolti",
"code": "scripts/utilities/upgrade_pve8_to_pve9.sh # main upgrade orchestrator\nscripts/utilities/pve8to9_check.sh # pre-check (separate menu option)\nscripts/utilities/proxmox-upgrade-pve8-to-pve9-manual-guide.sh # 17-step runbook\nscripts/global/update-pve8.sh # PVE 8 worker (final patches)\n/etc/apt/sources.list # bookworm → trixie sed\n/etc/apt/sources.list.d/proxmox.sources # created (deb822 PVE 9)\n/etc/apt/sources.list.d/debian.sources # created (deb822 trixie)\n/etc/apt/sources.list.d/ceph.sources # created if Ceph\n/etc/apt/sources.list.d/*.list # legacy files commented out / removed\n/var/log/pve8-a-pve9-'<'timestamp'>'.log # full upgrade log"
},
"references": {
"heading": "Riferimenti ufficiali",
"intro": "La procedura manuale dello script segue queste fonti ufficiali. In caso di dubbi durante un aggiornamento, segui il wiki ufficiale: ProxMenux facilita l’esecuzione, Proxmox resta il riferimento.",
"items": [
{
"href": "https://pve.proxmox.com/wiki/Upgrade_from_8_to_9",
"title": "Aggiornamento da 8 a 9",
"desc": "La principale pagina wiki Proxmox per l'aggiornamento 8 → 9. Fonte di verità per ogni comando nella procedura manuale sopra."
},
{
"href": "https://pve.proxmox.com/wiki/Ceph_Reef_to_Squid",
"title": "Aggiornamento a Ceph Squid (19.x)",
"desc": "Passaggio preliminare obbligatorio per nodi Ceph iperconvergenti. Ceph deve essere 19.x Squid prima di PVE 9."
},
{
"href": "https://pve.proxmox.com/wiki/Roadmap",
"title": "Piano di sviluppo di Proxmox VE",
"desc": "Note di rilascio PVE 9 e modifiche rispetto a 8.x: da leggere prima di aggiornare."
},
{
"href": "https://www.debian.org/releases/trixie/releasenotes",
"title": "Note di rilascio di Debian Trixie",
"desc": "PVE 9 si basa su Debian Trixie. Le note Debian descrivono i cambiamenti del sistema operativo che interessano anche l’host."
},
{
"href": "https://forum.proxmox.com/forums/proxmox-ve-installation-and-configuration.16/",
"title": "forum di installazione Proxmox VE",
"desc": "Se qualcosa va storto durante l’aggiornamento, cerca prima nel forum: qualcuno potrebbe aver già incontrato lo stesso problema."
},
{
"href": "https://pve.proxmox.com/wiki/Backup_and_Restore",
"title": "Backup e ripristino",
"desc": "Il cambio di versione principale è irreversibile. Verifica i backup prima di iniziare."
}
]
},
"video": {
"heading": "Videoguida",
"intro": "Preferisci guardare l'aggiornamento eseguire end-to-end prima di farlo da soli? Questo passaggio dimostra il flusso di aggiornamento ProxMenux in tempo reale.",
"title": "ProxMenux — Videoguida al passaggio da Proxmox VE 8 a 9",
"caption": "Video esterno su YouTube. Riproduzione in modalità di privacy avanzata, senza cookie finché non avvii il video."
},
"related": {
"heading": "Correlati",
"items": [
{
"href": "/docs/utils/system-update",
"label": "Aggiornamento sistema Proxmox",
"tail": " — per gli aggiornamenti ordinari all’interno della stessa versione principale (8.4.1 → 8.4.5, ecc.)."
},
{
"href": "/docs/utils",
"label": "Panoramica delle utilità",
"tail": " — torna alla panoramica della sezione."
}
]
}
}
@@ -0,0 +1,161 @@
{
"meta": {
"title": "Creatore di ISO UUP Dump | Documentazione ProxMenux",
"description": "Crea una ISO di installazione di Windows aggiornata sull’host Proxmox con il creatore di ISO UUP Dump di ProxMenux. Automatizza l’installazione delle dipendenze, il download e la conversione dei file UUP in una ISO avviabile per creare una VM.",
"ogTitle": "Creatore di ISO UUP Dump | Documentazione ProxMenux",
"ogDescription": "Crea una ISO di Windows aggiornata con UUP Dump e ProxMenux. Dipendenze, download e conversione sono completamente automatizzati.",
"ogImageAlt": "ProxMenux — Creatore di ISO UUP Dump"
},
"header": {
"title": "Creatore di ISO UUP Dump",
"description": "Crea una ISO di installazione di Windows aggiornata sull’host Proxmox con UUP Dump. ProxMenux gestisce le dipendenze, scarica i file UUP in parallelo, esegue il convertitore UUP Dump e sposta la ISO nella directory di uscita scelta, che per impostazione predefinita è lo storage ISO Proxmox rilevato.",
"section": "Utilità"
},
"intro": {
"title": "Cosa fa questo script",
"body": "Fornisci l’URL generato da uupdump.net dopo aver scelto build, lingua ed edizione. Lo script installa le dipendenze mancanti, scarica il convertitore UUP Dump e i file UUP, crea una ISO Windows avviabile e la sposta nella directory di uscita scelta. Lo storage ISO Proxmox rilevato viene proposto come destinazione predefinita."
},
"hero": {
"imageAlt": "UUP Dump ISO Creator voce in ProxMenux",
"caption": "UUP Dump ISO Creator voce in ProxMenux"
},
"what": {
"heading": "Cos'è UUP Dump?",
"intro": "UUP Dump è un servizio della comunità che consente di scaricare i file originali Unified Update Platform (UUP) usati da Windows Update per distribuire Windows. Questi file possono essere assemblati in una normale ISO avviabile. Permette di ottenere:",
"items": [
"La build di Windows più recente, compresi i canali Insider Preview.",
"Una specifica build precedente non più elencata nella pagina di download Microsoft.",
"File puliti e non modificati provenienti direttamente dai server di Microsoft.",
"La combinazione desiderata di edizioni e lingue in una sola ISO."
],
"learnMore": "Scopri di più nella <extlink>pagina del progetto UUP Dump</extlink>."
},
"automates": {
"heading": "Cosa automatizza lo script"
},
"dependencies": {
"heading": "Dipendenze",
"intro": "Lo script controlla innanzitutto gli strumenti necessari per scaricare i file UUP e creare la ISO. Quelli mancanti vengono installati con <code>apt-get</code>:",
"headerPackage": "Pacchetto",
"headerRole": "Ruolo",
"rows": [
{
"pkg": "curl",
"roleRich": "Download HTTP (avvio iniziale del convertitore)."
},
{
"pkg": "aria2",
"roleRich": "Downloader parallelo utilizzato per ogni payload UUP."
},
{
"pkg": "cabextract",
"roleRich": "Estrae pacchetti Microsoft CAB."
},
{
"pkg": "wimtools",
"roleRich": "Costruisce <code>install.wim</code> (wimlib-imagex)."
},
{
"pkg": "genisoimage",
"roleRich": "Scrive la ISO avviabile finale (o <code>mkisofs</code>)."
},
{
"pkg": "chntpw",
"roleRich": "Modifica gli hive del registro di Windows durante la creazione."
}
],
"manualIntro": "Equivalente manuale — se avete mai bisogno di installarli voi stessi:",
"manualCode": "apt-get install curl aria2 cabextract wimtools genisoimage chntpw"
},
"flow": {
"heading": "Download e conversione",
"steps": [
"Rileva lo storage ISO Proxmox tramite <code>pvesm status -content iso</code> oppure usa <code>/var/lib/vz/template/iso</code> come alternativa.",
"Richiede una cartella di base per i file temporanei (default <code>/root/uup-temp</code>).",
"Scarica il convertitore UUP Dump da <code>git.uupdump.net</code>.",
"Estrae <code>id</code>, <code>pack</code> ed <code>edition</code> dall’URL incollato.",
"Chiama <code>https://uupdump.net/get.php?…&aria2=2</code> per generare un elenco di download di aria2.",
"Scarica tutti i file UUP in <code>UUPs/</code> con aria2, in parallelo e con possibilità di ripresa.",
"Esegue <code>convert.sh wim UUPs 1</code> dal convertitore per produrre l'ISO finale.",
"Sposta la ISO nella directory di uscita scelta ed elimina i file temporanei."
]
},
"aria2": {
"heading": "Opzioni di download aria2 utilizzate",
"code": "aria2c --no-conf --console-log-level=warn --log-level=info \\\n --log=aria2_download.log \\\n -x16 -s16 -j5 -c -R \\\n -d\"$destDir\" -i\"$tempScript\"",
"flags": [
"<code>-x16</code> — fino a 16 connessioni per server.",
"<code>-s16</code> — divide ogni file in 16 segmenti.",
"<code>-j5</code> — scarica 5 file in parallelo.",
"<code>-c</code> — riprende i download parziali.",
"<code>-R</code> — applica al file scaricato la data e l’ora del file remoto, quando disponibili."
],
"runtime": "La durata tipica è di circa 10 minuti e dipende soprattutto dalla velocità della connessione Internet e dal carico dei server di download UUP Dump."
},
"step1": {
"heading": "Passo 1 · Ottenere un UUP Dump URL",
"intro": "Prima di eseguire lo script è necessario un URL UUP Dump che include i parametri di query <code>id</code>, <code>pack</code> e <code>edition</code>. Generarlo su <extlink>uupdump.net</extlink>:",
"stepBadge": "Passaggio",
"items": [
{
"title": "Scegli una versione di Windows",
"img": "/iso-creator/step-1-select-version-windows.png",
"caption": "UUP Dump pagina principale — scegliere una versione di Windows",
"body": "Apri la home page di UUP Dump e scegli la versione di Windows che desideri."
},
{
"title": "Scegli una build specifica",
"img": "/iso-creator/step-2-select-version-windows.png",
"caption": "Scegli una build specifica",
"body": "Scegli la build: l’ultima disponibile, un canale Insider Preview o una build precedente ancora elencata."
},
{
"title": "Scegli una lingua",
"img": "/iso-creator/step-3-select-version-windows.png",
"caption": "Scegli una lingua",
"body": "Scegli la lingua da includere nella ISO."
},
{
"title": "Scegli le edizioni",
"img": "/iso-creator/step-4-select-version-windows.png",
"caption": "Scegli le edizioni da includere",
"body": "Scegli le edizioni da includere nella ISO (Home, Pro, Enterprise, …). Puoi combinarne diverse."
},
{
"title": "Copia l'URL",
"img": "/iso-creator/step-5-select-version-windows.png",
"caption": "Copia l'URL dalla barra degli indirizzi",
"bodyRich": "Nella pagina finale, copia l’URL <em>dalla barra degli indirizzi del browser</em>. Deve contenere <code>id=…</code>, <code>pack=…</code> ed <code>edition=…</code>. È la stringa che lo script analizzerà."
}
]
},
"step2": {
"heading": "Passo 2 · Eseguire il creatore",
"intro": "Con l'URL in mano, aprire ProxMenux e lanciare il creatore:",
"stepBadge": "Passaggio",
"items": [
{
"title": "Avviare UUP Dump ISO Creator",
"img": "/iso-creator/start-uupdump-iso-creator.png",
"caption": "Avviare UUP Dump ISO Creator da ProxMenux",
"bodyRich": "In ProxMenux, apri <strong>Utilities → UUP Dump ISO Creator</strong>. Lo script controlla dipendenze e directory ISO prima di chiedere i dati."
},
{
"title": "Incolla l'URL di UUP Dump",
"img": "/iso-creator/add-url-iso-creator.png",
"caption": "Incolla l'URL copiato da uupdump.net",
"body": "Incolla l’URL nella finestra di inserimento. Lo script verifica che i tre parametri richiesti siano presenti e si interrompe correttamente se ne manca uno."
},
{
"title": "Attendi il completamento della creazione",
"img": "/iso-creator/end-uupdump-iso-creator.png",
"caption": "Creazione completata: la ISO è pronta nello storage ISO Proxmox",
"bodyRich": "La console mostra l’avanzamento di aria2 e poi l’output del convertitore. La ISO completata viene spostata nella directory di uscita scelta. Se si trova in uno storage ISO Proxmox configurato, può essere selezionata da <strong>Create VM → System Windows → Install with ISO from UUP Dump</strong>."
}
]
},
"tempFiles": {
"title": "File temporanei",
"body": "La cartella temporanea predefinita è <code>/root/uup-temp</code>, con i download in <code>UUPs/</code> e il convertitore in <code>converter/</code>. Un percorso di base personalizzato riceve una sottocartella di sessione separata. I rami di creazione riuscita e di assenza di ISO generata eliminano la sessione temporanea. Errori o annullamenti precedenti possono lasciare file temporanei."
}
}