From 9f6296501a9f09980941094c8332742bd72d743c Mon Sep 17 00:00:00 2001 From: Jonatan <190036+jcastro@users.noreply.github.com> Date: Sat, 17 Oct 2026 15:08:54 +0200 Subject: [PATCH 1/4] docs: review utility documentation in all seven translations --- .github/workflows/test-i18n.yml | 10 + .../docs/utils/upgrade-pve8-pve9/page.tsx | 2 +- web/messages/de/docs/utils/export-vm.json | 145 ++++++++ web/messages/de/docs/utils/import-vm.json | 218 ++++++++++++ web/messages/de/docs/utils/index.json | 115 ++++++ web/messages/de/docs/utils/system-update.json | 168 +++++++++ web/messages/de/docs/utils/system-utils.json | 252 +++++++++++++ .../de/docs/utils/upgrade-pve8-pve9.json | 335 ++++++++++++++++++ .../de/docs/utils/uup-dump-iso-creator.json | 161 +++++++++ web/messages/en/docs/utils/export-vm.json | 8 +- web/messages/en/docs/utils/import-vm.json | 12 +- web/messages/en/docs/utils/index.json | 8 +- web/messages/en/docs/utils/system-update.json | 44 +-- web/messages/en/docs/utils/system-utils.json | 19 +- .../en/docs/utils/upgrade-pve8-pve9.json | 40 +-- .../en/docs/utils/uup-dump-iso-creator.json | 12 +- web/messages/es/docs/utils/export-vm.json | 30 +- web/messages/es/docs/utils/import-vm.json | 34 +- web/messages/es/docs/utils/index.json | 22 +- web/messages/es/docs/utils/system-update.json | 86 ++--- web/messages/es/docs/utils/system-utils.json | 37 +- .../es/docs/utils/upgrade-pve8-pve9.json | 56 +-- .../es/docs/utils/uup-dump-iso-creator.json | 28 +- web/messages/fr/docs/utils/export-vm.json | 145 ++++++++ web/messages/fr/docs/utils/import-vm.json | 218 ++++++++++++ web/messages/fr/docs/utils/index.json | 115 ++++++ web/messages/fr/docs/utils/system-update.json | 168 +++++++++ web/messages/fr/docs/utils/system-utils.json | 252 +++++++++++++ .../fr/docs/utils/upgrade-pve8-pve9.json | 335 ++++++++++++++++++ .../fr/docs/utils/uup-dump-iso-creator.json | 161 +++++++++ web/messages/it/docs/utils/export-vm.json | 145 ++++++++ web/messages/it/docs/utils/import-vm.json | 218 ++++++++++++ web/messages/it/docs/utils/index.json | 115 ++++++ web/messages/it/docs/utils/system-update.json | 168 +++++++++ web/messages/it/docs/utils/system-utils.json | 252 +++++++++++++ .../it/docs/utils/upgrade-pve8-pve9.json | 335 ++++++++++++++++++ .../it/docs/utils/uup-dump-iso-creator.json | 161 +++++++++ web/messages/pt/docs/utils/export-vm.json | 145 ++++++++ web/messages/pt/docs/utils/import-vm.json | 218 ++++++++++++ web/messages/pt/docs/utils/index.json | 115 ++++++ web/messages/pt/docs/utils/system-update.json | 168 +++++++++ web/messages/pt/docs/utils/system-utils.json | 252 +++++++++++++ .../pt/docs/utils/upgrade-pve8-pve9.json | 335 ++++++++++++++++++ .../pt/docs/utils/uup-dump-iso-creator.json | 161 +++++++++ web/messages/sk/docs/utils/export-vm.json | 145 ++++++++ web/messages/sk/docs/utils/import-vm.json | 218 ++++++++++++ web/messages/sk/docs/utils/index.json | 115 ++++++ web/messages/sk/docs/utils/system-update.json | 168 +++++++++ web/messages/sk/docs/utils/system-utils.json | 252 +++++++++++++ .../sk/docs/utils/upgrade-pve8-pve9.json | 335 ++++++++++++++++++ .../sk/docs/utils/uup-dump-iso-creator.json | 161 +++++++++ web/messages/sv/docs/utils/export-vm.json | 145 ++++++++ web/messages/sv/docs/utils/import-vm.json | 218 ++++++++++++ web/messages/sv/docs/utils/index.json | 115 ++++++ web/messages/sv/docs/utils/system-update.json | 168 +++++++++ web/messages/sv/docs/utils/system-utils.json | 252 +++++++++++++ .../sv/docs/utils/upgrade-pve8-pve9.json | 335 ++++++++++++++++++ .../sv/docs/utils/uup-dump-iso-creator.json | 161 +++++++++ 58 files changed, 8588 insertions(+), 224 deletions(-) create mode 100644 web/messages/de/docs/utils/export-vm.json create mode 100644 web/messages/de/docs/utils/import-vm.json create mode 100644 web/messages/de/docs/utils/index.json create mode 100644 web/messages/de/docs/utils/system-update.json create mode 100644 web/messages/de/docs/utils/system-utils.json create mode 100644 web/messages/de/docs/utils/upgrade-pve8-pve9.json create mode 100644 web/messages/de/docs/utils/uup-dump-iso-creator.json create mode 100644 web/messages/fr/docs/utils/export-vm.json create mode 100644 web/messages/fr/docs/utils/import-vm.json create mode 100644 web/messages/fr/docs/utils/index.json create mode 100644 web/messages/fr/docs/utils/system-update.json create mode 100644 web/messages/fr/docs/utils/system-utils.json create mode 100644 web/messages/fr/docs/utils/upgrade-pve8-pve9.json create mode 100644 web/messages/fr/docs/utils/uup-dump-iso-creator.json create mode 100644 web/messages/it/docs/utils/export-vm.json create mode 100644 web/messages/it/docs/utils/import-vm.json create mode 100644 web/messages/it/docs/utils/index.json create mode 100644 web/messages/it/docs/utils/system-update.json create mode 100644 web/messages/it/docs/utils/system-utils.json create mode 100644 web/messages/it/docs/utils/upgrade-pve8-pve9.json create mode 100644 web/messages/it/docs/utils/uup-dump-iso-creator.json create mode 100644 web/messages/pt/docs/utils/export-vm.json create mode 100644 web/messages/pt/docs/utils/import-vm.json create mode 100644 web/messages/pt/docs/utils/index.json create mode 100644 web/messages/pt/docs/utils/system-update.json create mode 100644 web/messages/pt/docs/utils/system-utils.json create mode 100644 web/messages/pt/docs/utils/upgrade-pve8-pve9.json create mode 100644 web/messages/pt/docs/utils/uup-dump-iso-creator.json create mode 100644 web/messages/sk/docs/utils/export-vm.json create mode 100644 web/messages/sk/docs/utils/import-vm.json create mode 100644 web/messages/sk/docs/utils/index.json create mode 100644 web/messages/sk/docs/utils/system-update.json create mode 100644 web/messages/sk/docs/utils/system-utils.json create mode 100644 web/messages/sk/docs/utils/upgrade-pve8-pve9.json create mode 100644 web/messages/sk/docs/utils/uup-dump-iso-creator.json create mode 100644 web/messages/sv/docs/utils/export-vm.json create mode 100644 web/messages/sv/docs/utils/import-vm.json create mode 100644 web/messages/sv/docs/utils/index.json create mode 100644 web/messages/sv/docs/utils/system-update.json create mode 100644 web/messages/sv/docs/utils/system-utils.json create mode 100644 web/messages/sv/docs/utils/upgrade-pve8-pve9.json create mode 100644 web/messages/sv/docs/utils/uup-dump-iso-creator.json diff --git a/.github/workflows/test-i18n.yml b/.github/workflows/test-i18n.yml index 2b3e4685..7f4dfb51 100644 --- a/.github/workflows/test-i18n.yml +++ b/.github/workflows/test-i18n.yml @@ -9,15 +9,20 @@ on: - 'AppImage/messages/**' - 'AppImage/lib/i18n/**' - 'AppImage/components/terminal-panel.tsx' + - 'web/**' - 'CONTRIBUTING.md' # Scheduler consumers and the offline extractor's .sh/.func inputs. - 'scripts/**/*.sh' - 'scripts/**/*.func' - 'scripts/**/*.py' - 'lang/*.json' + - 'menu' + - 'install_proxmenux.sh' + - 'install_proxmenux_beta.sh' - 'oci/src/**/*.py' - 'oci/catalog/**/*.json' - 'oci/remote/**/*.sh' + - 'oci/remote/**/*.py' push: branches: [main, develop] paths: @@ -27,15 +32,20 @@ on: - 'AppImage/messages/**' - 'AppImage/lib/i18n/**' - 'AppImage/components/terminal-panel.tsx' + - 'web/**' - 'CONTRIBUTING.md' # Scheduler consumers and the offline extractor's .sh/.func inputs. - 'scripts/**/*.sh' - 'scripts/**/*.func' - 'scripts/**/*.py' - 'lang/*.json' + - 'menu' + - 'install_proxmenux.sh' + - 'install_proxmenux_beta.sh' - 'oci/src/**/*.py' - 'oci/catalog/**/*.json' - 'oci/remote/**/*.sh' + - 'oci/remote/**/*.py' workflow_dispatch: permissions: diff --git a/web/app/[locale]/docs/utils/upgrade-pve8-pve9/page.tsx b/web/app/[locale]/docs/utils/upgrade-pve8-pve9/page.tsx index c61e3837..d272b910 100644 --- a/web/app/[locale]/docs/utils/upgrade-pve8-pve9/page.tsx +++ b/web/app/[locale]/docs/utils/upgrade-pve8-pve9/page.tsx @@ -110,7 +110,7 @@ export default async function UpgradePve8Pve9Page({ ) const cephlink = (chunks: React.ReactNode) => ( .ova-Datei oder als -ovf-Verzeichnis. Die Quell-VM wird dabei nicht verändert." + }, + "picker": { + "heading": "VM-Auswahl", + "body": "Beim Start zeigt das Skript alle VMs aus qm list mit VMID, Name und Status an. Wählen Sie die zu exportierende VM aus:", + "imgAlt": "Dialog zur Auswahl der zu exportierenden VM mit einer Liste aller VMs" + }, + "stopped": { + "heading": "Die VM muss gestoppt sein", + "intro": "Für ein konsistentes Festplattenabbild muss die VM gestoppt sein. Falls die ausgewählte VM läuft, bietet ProxMenux an, sie herunterzufahren:", + "items": [ + "Geordnetes Herunterfahren mit qm shutdown $VMID --timeout 120 (wartet 2 Minuten auf das Herunterfahren des Gasts über ACPI).", + "Nach Ablauf der Wartezeit wird ein erzwungener Stopp angeboten: qm stop $VMID (entspricht dem Abschalten der Stromversorgung).", + "Wenn Sie beide ablehnen, wird der Export abgebrochen - es werden keine Daten berührt." + ], + "warnTitle": "Ein erzwungener Stopp entspricht dem Abschalten der Stromversorgung", + "warnBody": "qm stop entspricht dem Ziehen des Netzsteckers. Beim nächsten Start kann eine Reparatur des Gastdateisystems nötig sein. Nutzen Sie nach Möglichkeit das geordnete Herunterfahren und erzwingen Sie den Stopp nur bei Gästen, die nicht reagieren." + }, + "format": { + "heading": "Formatauswahl: OVA vs. OVF", + "headerFormat": "Format", + "headerOutput": "Ausgabe", + "headerPros": "Vorteile", + "headerCons": "Nachteile", + "rows": [ + { + "format": "OVA", + "output": "name-vmid-ts.ova", + "pros": "Eine einzelne, in sich geschlossene Datei, die sich einfach verschieben, per sftp übertragen oder an ein Ticket anhängen lässt.", + "cons": "Benötigt ~220% der virtuellen Festplattengröße (zusätzlicher Platz für das TAR-Archiv während der Erstellung)." + }, + { + "format": "OVF", + "output": "name-vmid-ts-ovf/", + "pros": "~120% der virtuellen Festplattengröße. Leichter zu prüfen, da der Deskriptor reines XML ist. Kann vor dem Import bearbeitet werden.", + "cons": "Mehrere Dateien, die gemeinsam übertragen werden müssen." + } + ] + }, + "destination": { + "heading": "Zielverzeichnis", + "body": "Wählen Sie ein voreingestelltes Verzeichnis (/var/lib/vz/dump, /var/lib/vz/template/iso) oder geben Sie einen eigenen Pfad ein. Das Skript prüft vor dem Start, ob das Verzeichnis beschreibbar ist, und warnt bei knappem Speicherplatz.", + "calloutTitle": "Faustregel für freien Speicherplatz", + "calloutBody": "Planen Sie für den OVF-Export einer VM mit insgesamt 100 GB virtueller Festplattengröße ~120 GB freien Platz ein, für OVA ~220 GB. Bei weitgehend leeren Festplatten kann der tatsächliche Bedarf geringer sein. Das OVA-Archiv wird als unkomprimiertes TAR erstellt, während die temporären VMDK-Dateien noch vorhanden sind. Planen Sie daher Platz für beides ein. Geht der Platz während des Exports aus, räumt der EXIT-Handler das temporäre Verzeichnis auf und Sie müssen neu beginnen." + }, + "package": { + "heading": "Was im Paket landet", + "intro": "Für eine OVA / OVF namens myvm-100-2026-04-26_18-30-15:", + "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": "Was exportiert wird", + "items": [ + "Festplatten: Alle Einträge scsi*, sata*, virtio* und ide* in der VM-Konfiguration werden in VMDK im Format streamOptimized konvertiert.", + "vCPU-Anzahl (RASD ResourceType 3) und Arbeitsspeicher in MiB (ResourceType 4).", + "Anzahl der Netzwerkkarten (ResourceType 10, nur die Anzahl, nicht Bridge oder Modell).", + "VM-Name und ein Hinweis auf den Betriebssystemtyp." + ], + "notTitle": "Was nicht exportiert wird", + "notItems": [ + "CD-ROM- und ISO-Mounts (bewusst ausgeschlossen).", + "Cloud-init-Laufwerke (bewusst ausgeschlossen).", + "Die konkrete Bridge und das Modell der Netzwerkkarte (nur die Anzahl bleibt erhalten).", + "BIOS- / UEFI-Auswahl, die beim Import neu festgelegt werden muss.", + "Konfiguration der PCI-Durchreichung.", + "Snapshots - nur der aktuelle Zustand wird erfasst.", + "Optionen auf VM-Ebene (NUMA, hugepages, hotplug, …)." + ] + }, + "conversion": { + "heading": "Plattenumwandlung", + "intro": "Jede Festplatte wird konvertiert mit:", + "code": "qemu-img convert -p -O vmdk -o subformat=streamOptimized \\\n \"$source_path\" \\\n \"$work_dir/-disk.vmdk\"", + "outro": "streamOptimized ist ein in einem Durchlauf lesbares VMware-Format, das von ESXi 6.7+, VMware Workstation, VirtualBox und Proxmox selbst unterstützt wird. Es ist das am breitesten unterstützte VMDK-Unterformat und eignet sich für portable VMs. Der Nachteil: Es bietet keinen wahlfreien Zugriff und kann deshalb ohne Umwandlung nicht direkt eingebunden werden." + }, + "manifest": { + "heading": "SHA1-Manifest", + "intro": "Jedes Paket enthält eine .mf-Datei mit SHA1-Hashes des OVF-Deskriptors und jedes 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": "In der OVF-Spezifikation ist das Manifest optional; viele Importprogramme ignorieren es. Es hilft jedoch zu prüfen, ob das Paket unbeschädigt übertragen wurde. Prüfen Sie es manuell mit sha1sum -c file.mf." + }, + "import": { + "heading": "Importieren des Ergebnisses", + "intro": "Das exportierte Paket kann in folgende Systeme importiert werden:", + "items": [ + { + "href": "/docs/utils/import-vm", + "preRich": "Proxmox — verwenden Sie das zugehörige Werkzeug ", + "linkLabel": "VM von OVA / OVF importieren", + "tailRich": "." + }, + { + "tailRich": "VMware ESXi — Datacenter → Deploy OVF Template; wählen Sie die .ova- oder .ovf-Datei aus." + }, + { + "tailRich": "VMware Workstation / Fusion — Datei → Öffnen, wählen Sie .ova oder .ovf." + }, + { + "tailRich": "VirtualBox — Datei → Appliance importieren, .ova oder .ovf auswählen." + } + ] + }, + "troubleshoot": { + "heading": "Fehlerbehebung", + "noSpaceTitle": "qemu-img convert bricht während der Umwandlung mit \"No space left on device\" ab", + "noSpaceBody": "Am Ziel ist kein Speicherplatz mehr frei. Der EXIT-Handler räumt das temporäre Verzeichnis automatisch auf. Wählen Sie ein Ziel mit mehr freiem Platz (siehe Faustregel oben) und führen Sie den Export erneut aus.", + "unsupportedHwTitle": "Der Export ist abgeschlossen, aber VMware verweigert den Import mit \"Unsupported hardware family\"", + "unsupportedHwBody": "Einige ESXi-Versionen lehnen OVF-Deskriptoren ab, deren Hardwarefamilie sie nicht erkennen. Öffnen Sie die .ovf-Datei in einem Texteditor oder entpacken Sie zuerst die .ova-Datei. Suchen Sie <vssd:VirtualSystemType> und ändern Sie den Wert auf einen von ESXi akzeptierten Wert, etwa vmx-13 für ESXi 6.5+. Als schnelle Umgehung können Sie VirtualBox ausprobieren, das weniger streng prüft.", + "nicTitle": "Die importierte VM verwendet eine andere Netzwerkkarte oder einen anderen SCSI-Controller", + "nicBody": "Die OVF-Datei übernimmt die Anzahl der Netzwerkkarten, nicht deren ursprüngliches Modell. Prüfen Sie die Netzwerkeinstellungen der importierten VM im Zielhypervisor. Für die VMware-Kompatibilität deklariert der Export einen lsilogic-SCSI-Controller. Beim Rückimport in Proxmox können Sie VirtIO SCSI auswählen, wenn der Gast passende Treiber besitzt.", + "runningTitle": "Die VM lief und ich habe das Herunterfahren abgelehnt: Export abgebrochen", + "runningBody": "Das Skript kann kein konsistentes Abbild erstellen, während auf die Festplatten geschrieben wird. Bestätigen Sie beim nächsten Mal das Herunterfahren oder fahren Sie die VM zuvor manuell herunter (qm shutdown $VMID) und starten Sie den Export erneut.", + "slowTitle": "Die Festplattenumwandlung ist langsam", + "slowBody": "qemu-img convert arbeitet mit einem Thread und liest die Quelle mit voller Geschwindigkeit. Rechnen Sie bei einer 100-GB-Festplatte auf einer mechanischen Festplatte mit 15–30 Minuten. Von NVMe zu NVMe geht es 5–10-mal schneller. Die Festplatten einer VM werden nacheinander umgewandelt; die Dauer wächst linear mit der gesamten virtuellen Größe." + }, + "related": { + "heading": "Verwandte Themen", + "items": [ + { + "href": "/docs/utils/import-vm", + "label": "VM aus OVA / OVF importieren", + "tail": " — das passende Werkzeug für den Rückimport." + }, + { + "href": "/docs/utils", + "label": "Übersicht der Dienstprogramme", + "tail": " — zurück zur Abschnittsübersicht." + } + ] + } +} diff --git a/web/messages/de/docs/utils/import-vm.json b/web/messages/de/docs/utils/import-vm.json new file mode 100644 index 00000000..07d2a2ff --- /dev/null +++ b/web/messages/de/docs/utils/import-vm.json @@ -0,0 +1,218 @@ +{ + "meta": { + "title": "VM aus OVA / OVF importieren | ProxMenux-Dokumentation", + "description": "Importieren Sie eine VM aus VMware ESXi / Workstation / Fusion / VirtualBox / ProxMenux in Proxmox VE. Entpackt OVA automatisch, liest OVF-Metadaten, erstellt die VM und importiert jede Festplatte in das native Speicherformat (qcow2 / raw).", + "ogTitle": "VM aus OVA / OVF importieren | ProxMenux-Dokumentation", + "ogDescription": "Importieren Sie VMs aus VMware-, VirtualBox- oder ProxMenux-Exporten in Proxmox. Festplatten werden automatisch in das native Speicherformat umgewandelt." + }, + "header": { + "title": "VM von OVA / OVF importieren", + "description": "Importiert ein OVA / OVF-Paket in Proxmox VE: extrahiert OVA-Archive, analysiert den OVF-Deskriptor für vCPU / Speicher / NIC Anzahl und Festplattenreferenzen, erstellt dann die VM und importiert jede Festplatte über qm importdisk in den ausgewählten Speicher. Kompatibel mit Exporten von VMware (ESXi / Workstation / Fusion), VirtualBox und ProxMenux selbst.", + "section": "Dienstprogramme" + }, + "intro": { + "title": "Was das macht", + "body": "Erstellt eine vollständige VM in Proxmox aus einem portablen Paket. Nach dem Import ist die VM startbereit. Für Leistung und Kompatibilität sollten Sie Netzwerkkartenmodell, Firmware und Betriebssystemtyp anschließend prüfen und anpassen." + }, + "picker": { + "heading": "Dateiauswahl", + "intro": "Beim Start bietet das Skript zwei voreingestellte Verzeichnisse oder einen manuellen Pfad:", + "items": [ + "/var/lib/vz/dump — das Standardverzeichnis Proxmox vzdump Backup.", + "/var/lib/vz/template/iso — sinnvoll, wenn Sie die OVA-Datei per sftp dorthin übertragen haben.", + "Manueller Pfad - für OVA / OVF-Dateien an anderer Stelle auf dem Host." + ], + "outro": "Es listet dann jede .ova- und .ovf-Datei im ausgewählten Verzeichnis auf.", + "imageAlt": "Dateiauswahldialog für den VM-Import" + }, + "flow": { + "heading": "Wie der Import funktioniert", + "nodes": [ + { + "label": "OVA-/OVF-Eingabe", + "detail": ".ova → tar xf nach\n /tmp/.proxmenux-import-*\n.ovf → direkt verwenden", + "variant": "source" + }, + { + "label": "Analyse und Dialoge", + "detail": "AWK liest OVF\n(Name, vCPU, RAM, NICs,\nFestplatten). Auswahl von\nVMID / Speicher / Bridge", + "variant": "bridge" + }, + { + "label": "qm create + importdisk", + "detail": "qm create $VMID\nqm importdisk\n(VMDK → Speicherformat)\nqm set --scsiN", + "variant": "target" + } + ] + }, + "ovf": { + "heading": "OVF-Analyse", + "intro": "Ein gawk-Parser liest den OVF-Deskriptor und zieht die VM-Metadaten heraus. Der Parser verwendet die 3-Argumentform von match(), die gawk-spezifisch ist (mawk - die Standard-awk auf Debian / Proxmox - unterstützt sie nicht). Beim ersten Import installiert das Skript automatisch Gawk über das kanonische ensure_repositories + install_single_package-Paar, wenn es fehlt; nachfolgende Importe beginnen sofort. Felder extrahiert:", + "headerField": "Feld", + "headerSource": "Quelle in OVF", + "headerDefault": "Standardwert bei fehlendem Feld", + "rows": [ + { + "field": "VM-Name", + "source": " (erster Treffer)", + "default": "imported-vm" + }, + { + "field": "vCPU Anzahl", + "source": "RASD ResourceType 3 → VirtualQuantity", + "default": "1" + }, + { + "field": "Speicher (MiB)", + "source": "RASD ResourceType 4 → VirtualQuantity", + "default": "1024" + }, + { + "field": "NIC-Zahl", + "source": "Anzahl ResourceType 10", + "default": "1" + }, + { + "field": "OS-Typ", + "source": "/Linux/ oder /Windows/ in der Beschreibung", + "default": "other" + }, + { + "field": "Plattenreferenzen", + "source": "href Attribute enden mit .vmdk / .qcow2 / .img / .raw", + "default": "Keine (Import wird abgebrochen)" + } + ] + }, + "memWarn": { + "title": "Mehrdeutigkeit der Speichereinheit", + "body": "Der Parser rechnet erkannte Speichereinheiten in MiB um, darunter Bytes, KiB, MiB, GiB und unterstützte Textbezeichnungen. Fehlende oder unbekannte Einheiten werden als MiB behandelt. Vergleichen Sie nach dem Import qm config $VMID | grep memory mit dem dokumentierten RAM der Quell-VM und korrigieren Sie ihn bei Bedarf mit qm set $VMID --memory <MiB>." + }, + "dialog": { + "heading": "Importdialogfluss", + "items": [ + "VMID — vorgeschlagen wird die nächste freie ID (pvesh get /cluster/nextid).", + "VM-Name — voreingestellt ist der aus OVF gelesene Name; Sie können ihn ändern.", + "Zielspeicher — Auswahl aller Speicher mit dem Inhaltstyp images, ermittelt mit pvesm status -content images.", + "Netzwerk-Bridge — Auswahl der Bridges aus ip link show type bridge. Bei nur einer wird sie automatisch gewählt; der Standard ist vmbr0.", + "Bestätigung — zusammenfassender Dialog mit VMID, Name, vCPU, Speicher, NICs, Speicher, Bridge und der Liste der zu importierenden Festplatten. Abbrechen hier = nichts ändert sich." + ] + }, + "create": { + "heading": "VM Erstellung", + "intro": "Nach der Bestätigung läuft das Skript:", + "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": "SCSI-Controller ist standardmäßig lsi (LSI Logic) für VMDK-Kompatibilität. NICs standardmäßig e1000 (universelle Kompatibilität) auf der gewählten Brücke." + }, + "diskLoop": { + "heading": "Ablauf des Festplattenimports", + "intro": "Für jede Plattenreferenz im OVF:", + "items": [ + "qm importdisk $VMID $disk_path $STORAGE — importiert die Festplatte in einem vom Zielspeicher unterstützten Format und erstellt einen Eintrag unusedN: in der VM-Konfiguration.", + "Das Skript sucht mit grep nach dem gerade erstellten Verweis unusedN in der Konfiguration.", + "qm set $VMID --scsiN $unused_disk — verbindet die Festplatte als scsi0, scsi1, ...", + "qm set $VMID --delete unusedN — löscht den jetzt redundanten unbenutzten Marker." + ], + "outro": "Der Start wird auf die erste SCSI-Festplatte gesetzt: qm set $VMID --boot c --bootdisk scsi0." + }, + "postImport": { + "heading": "Empfohlene Anpassungen nach dem Import", + "intro": "Der Import verwendet bewusst breit kompatible Einstellungen, damit die VM möglichst beim ersten Versuch startet. Sobald Sie den erfolgreichen Start bestätigt haben, können Sie über die Proxmox-Oberfläche oder CLI bessere Einstellungen wählen:", + "headerSetting": "Einstellung", + "headerDefault": "Standard nach dem Import", + "headerRecommended": "Empfohlen (wenn Gast unterstützt)", + "rows": [ + { + "setting": "NIC-Modell", + "default": "e1000", + "recommended": "VirtIO (deutlich schneller, benötigt Treiber im Gastsystem)" + }, + { + "setting": "SCSI-Controller", + "default": "LSI", + "recommended": "VirtIO SCSI single (modernes Linux oder Windows mit VirtIO-Treibern)" + }, + { + "setting": "Firmware (BIOS / UEFI)", + "default": "Proxmox-Standard (BIOS)", + "recommended": "Firmware der Quell-VM übernehmen; bei Abweichungen kann der Start scheitern" + }, + { + "setting": "QEMU Gastagent", + "default": "Ausgeschaltet", + "recommendedRich": "Aktivieren und qemu-guest-agent im Gast installieren (bessere Sicherungen und IP-Meldung)" + }, + { + "setting": "OS-Typ", + "default": "l26 / win10 / other (heuristisch)", + "recommended": "Überprüfen Sie das tatsächliche Gast-Betriebssystem" + }, + { + "setting": "Anzeige", + "default": "Standard", + "recommended": "VirtIO-GPU oder SPICE (bessere Konsolenleistung)" + } + ] + }, + "fwWarn": { + "title": "Firmware-Mismatch = kein Boot", + "body": "Wenn die Quelle VM UEFI war, Proxmox sie jedoch als BIOS erstellt (oder umgekehrt), findet der Gast keine bootfähige Festplatte. Überprüfen Sie die Einstellungen des OVF oder des ursprünglichen VM für FirmwareType / Firmware und stellen Sie dasselbe in Proxmox ein: qm set $VMID --bios ovmf für UEFI; Standard ist seabios für BIOS." + }, + "notImported": { + "heading": "Was nicht importiert wird", + "items": [ + "Konkrete Netzwerk-Bridges — nur die Anzahl der Netzwerkkarten. Alle verwenden die beim Import ausgewählte Bridge.", + "Netzwerkkartenmodell — voreingestellt ist e1000.", + "BIOS / UEFI-Firmware Typ — Standard auf Proxmox Standard (BIOS).", + "Konfiguration der PCI-Durchreichung.", + "TPM (vTPM).", + "Cloud-init-Laufwerke.", + "Snapshots — nur der aktuelle Zustand.", + "USB / serielle / parallele Geräte deklariert im OVF.", + "VM Tags / Notizen / Start-on-Boot Optionen." + ] + }, + "troubleshoot": { + "heading": "Fehlerbehebung", + "orphanTitle": "VM erstellt, aber Festplattenimport fehlgeschlagen: teilweise VM bleibt zurück", + "orphanIntro": "Bei fehlgeschlagenem Import bietet das Skript an, die teilweise erstellte VM und ihre importierten Festplatten zu entfernen. Haben Sie abgelehnt oder ist die automatische Löschung fehlgeschlagen, prüfen Sie die VM und entfernen Sie sie manuell mit:", + "orphanCode": "qm destroy $VMID --destroy-unreferenced-disks 1", + "orphanOutro": "Beheben Sie dann die zugrunde liegende Ursache (wahrscheinlich Speicherplatz auf dem Zielspeicher) und importieren Sie erneut.", + "memTitle": "Importierte VM hat 8 MB RAM (oder 8 TB)", + "memIntro": "Der Parser rechnet erkannte AllocationUnits in MiB um. Fehlende oder unbekannte Einheiten behandelt er als MiB. Prüfen Sie die OVF-Datei und vergleichen Sie den importierten Wert mit der Quell-VM. Korrigieren Sie den Arbeitsspeicher bei Bedarf:", + "memCode": "qm set $VMID --memory 8192 # 8 GiB", + "bootTitle": "Importierte VM startet nicht: \"No bootable device\"", + "bootIntro": "Häufige Ursache: BIOS und UEFI passen nicht zusammen. Die Quell-VM verwendete UEFI, wurde in Proxmox aber mit BIOS erstellt. Stellen Sie die passende Firmware ein:", + "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": "Eine weitere häufige Ursache: Die Startreihenfolge verweist auf scsi0, das Betriebssystem liegt aber auf scsi1. Ändern Sie die Startreihenfolge unter den VM-Optionen.", + "bsodTitle": "Aus VMware exportierte Windows-VM zeigt beim ersten Start einen Bluescreen", + "bsodBody": "Windows reagiert empfindlich auf einen Wechsel des Festplattencontrollers. Installieren Sie entweder VirtIO-Treiber vor dem Export aus VMware oder behalten Sie zunächst den Standardcontroller lsi. Wechseln Sie erst nach erfolgreichem Gaststart und Installation der VirtIO-Treiber in Windows zu VirtIO SCSI.", + "zeroTitle": "OVF-Parser meldet 0 Festplatten", + "zeroBody": "Die OVF-Datei kann Festplattenverweise verwenden, die der Parser nicht erkennt. Öffnen Sie sie und suchen Sie für jede Festplatte einen Eintrag <File ovf:href=\"...vmdk\" ...>. Ist die Festplatte tatsächlich VMDK, hat aber eine ungewöhnliche Endung wie .dat, benennen Sie sie in .vmdk um und passen Sie den OVF-Verweis an. Umbenennen wandelt das Format nicht um.", + "awkTitle": "awk: Syntaxfehler bei oder nahe , — Parser schlägt bei jedem OVA / OVF fehl", + "awkIntro": "Der OVF-Parser verwendet gawk-spezifische Syntax: match() mit drei Argumenten. mawk, das standardmäßige awk unter Debian / Proxmox, unterstützt sie nicht. Aktuelle Skriptversionen installieren gawk beim ersten Einsatz automatisch über ensure_repositories + install_single_package. Bei einer älteren Kopie installieren Sie es manuell:", + "awkCode": "apt-get install -y gawk", + "awkOutro": "Dann führen Sie den Import erneut durch.", + "netTitle": "Netzwerk funktioniert nicht nach dem ersten Booten", + "netBody": "Das Netzwerkkartenmodell e1000 in Proxmox passt möglicherweise nicht zu den Gasttreibern, oder die gewählte Bridge ist falsch. Ändern Sie in der Hardwareansicht der VM das Modell unter Network Device → Model. Prüfen Sie außerdem ip a im Gast: Die Schnittstelle kann anders heißen, etwa ens18 statt eth0, während die Netzwerkkonfiguration noch den alten Namen verwendet." + }, + "files": { + "heading": "Beteiligte Dateien", + "code": "scripts/utilities/import_vm_ova_ovf.sh # this script\n/tmp/.proxmenux-import-*/ # temp extraction dir for OVA\n/etc/pve/nodes//qemu-server/.conf # created by qm create\n//-disk-. # disk images, format depends on storage" + }, + "related": { + "heading": "Verwandte Themen", + "items": [ + { + "href": "/docs/utils/export-vm", + "label": "VM nach OVA / OVF exportieren", + "tail": " — das passende Werkzeug für den Export." + }, + { + "href": "/docs/utils", + "label": "Übersicht der Dienstprogramme", + "tail": " — zurück zur Abschnittsübersicht." + } + ] + } +} diff --git a/web/messages/de/docs/utils/index.json b/web/messages/de/docs/utils/index.json new file mode 100644 index 00000000..fe45e4fc --- /dev/null +++ b/web/messages/de/docs/utils/index.json @@ -0,0 +1,115 @@ +{ + "meta": { + "title": "Proxmox-Dienstprogramme — UUP Dump, Upgrade von PVE 8 auf 9, OVA-Export/-Import | ProxMenux", + "description": "Dienstprogramme für den Proxmox-VE-Alltag: Windows-ISOs mit UUP Dump erstellen, ausgewählte CLI-Werkzeuge installieren, das Proxmox-System sicher aktualisieren, das Versionsupgrade von PVE 8 auf PVE 9 durchführen sowie VMs als OVA / OVF exportieren und aus VMware oder VirtualBox importieren.", + "ogTitle": "Proxmox-Dienstprogramme — UUP Dump, Upgrade von PVE 8 auf 9, OVA-Export/-Import", + "ogDescription": "Erstellen Sie Windows ISOs, installieren Sie CLI-Tools, führen Sie ein sicheres Update aus, aktualisieren Sie PVE 8 auf PVE 9, exportieren / importieren Sie OVA / OVF-VMs.", + "twitterTitle": "Proxmox Dienstprogramme | ProxMenux", + "twitterDescription": "ISO-Erstellung, CLI-Werkzeuge, Proxmox-Aktualisierung, Upgrade PVE 8→9, portable VMs im OVA- / OVF-Format." + }, + "header": { + "title": "Dienstprogramme und Werkzeuge", + "description": "Sechs Werkzeuge ergänzen den täglichen Proxmox-VE-Arbeitsablauf: ISO-Erstellung, Systemwartung und portable VMs. Jede Option ist unabhängig. Wählen Sie die benötigte aus; erst auf Ihre Anforderung wird etwas installiert.", + "section": "Dienstprogramme" + }, + "intro": { + "title": "Wofür dieses Menü ist", + "body": "Drei Gruppen unabhängiger, aber häufig benötigter Werkzeuge: eine Windows-ISO erstellen mit UUP Dump, den Proxmox-Host warten (CLI-Werkzeuge, Aktualisierungen und Versionsupgrade) und VMs importieren und exportieren mit dem Standardformat OVA / OVF." + }, + "opening": { + "heading": "Öffnen des Menüs", + "body": "Wählen Sie im Hauptmenü von ProxMenux Utilities. Sie werden sehen:", + "imageAlt": "Dienstprogrammmenü mit UUP Dump, Systemwerkzeugen, Aktualisierung, Versionsupgrade, Export und Import" + }, + "groups": { + "heading": "Drei Werkzeuggruppen", + "intro": "Die sechs Werkzeuge fallen in drei unabhängige Gruppen. Klicken Sie auf eine Karte unten, um zum passenden Abschnitt zu springen.", + "iso": { + "title": "ISO-Erstellung", + "body": "Erstellen Sie offizielle Windows ISOs von UUP Dump auf dem Proxmox-Host selbst.", + "bullets": [ + "Freigabelink von UUP Dump → bootfähige ISO", + "Abhängigkeiten automatisch installiert", + "Das Ergebnis wird im ISO-Vorlagenverzeichnis von Proxmox gespeichert" + ] + }, + "maintenance": { + "title": "Systemwartung", + "body": "Halten Sie den Host in gutem Zustand: mit CLI-Werkzeugen, regelmäßigen Aktualisierungen und dem Versionsupgrade, wenn es ansteht.", + "bullets": [ + "Installationsprogramm für Systemwerkzeuge (25 CLI-Werkzeuge)", + "Proxmox-Systemaktualisierung (apt + dist-upgrade)", + "Versionsupgrade PVE 8 → PVE 9" + ] + }, + "portability": { + "title": "VM Portabilität", + "body": "Bewegen Sie VMs in und aus Proxmox mit dem Standard-OVA / OVF-Format.", + "bullets": [ + "Proxmox-VM exportieren → OVA / OVF", + "OVA / OVF importieren → Proxmox-VM", + "Kompatibel mit VMware und VirtualBox" + ] + } + }, + "upgradeWarn": { + "title": "Das PVE 8 → 9 Upgrade ist destruktiv und nicht reversibel", + "body": "Ein Versionsupgrade ersetzt die Debian-Basis (Bookworm → Trixie) und die Proxmox-Komponenten direkt im bestehenden System. Es gibt keinen Rückweg. Sie benötigen vor dem Start geprüfte Sicherungen aller VMs und CTs sowie Zugriff über Konsole / IPMI / iKVM. Deshalb verweigert das Upgrade-Werkzeug die Ausführung im Proxmox-Webterminal." + }, + "isoSection": { + "heading": "ISO-Erstellung", + "body": "Erstellen Sie direkt auf dem Proxmox-Host eine neue, aktuelle Windows-Installations-ISO. Das Skript automatisiert den gesamten UUP-Dump-Ablauf: Installation der Abhängigkeiten (aria2c, cabextract, wimlib-imagex, …), paralleler Download der Aktualisierungsdateien mit aria2 und Umwandlung in eine bootfähige ISO. Diese wird unter /var/lib/vz/template/iso gespeichert und kann einer VM zugewiesen werden.", + "options": [ + { + "title": "UUP-Dump-ISO-Erstellung", + "description": "Erstellen Sie eine aktuelle Windows-Installations-ISO über einen Freigabelink von UUP Dump. Abhängigkeiten, Download und Umwandlung werden vollständig automatisch abgewickelt. Die fertige ISO wird unter /var/lib/vz/template/iso für die VM-Erstellung gespeichert.", + "href": "/docs/utils/UUp-Dump-ISO-Creator" + } + ] + }, + "maintenanceSection": { + "heading": "Systemwartung", + "body": "Drei Werkzeuge decken tägliche und gelegentliche Arbeiten am Host ab. Das Installationsprogramm für Systemwerkzeuge richtet die nach einer Neuinstallation benötigten CLI-Werkzeuge ein. Die Proxmox-Systemaktualisierung dient der wöchentlichen oder monatlichen Wartung. Das Upgrade von PVE 8 auf PVE 9 ist der große Wechsel beim nächsten Hauptversionszyklus. Zusätzliche Sicherheitsprüfungen sind vorgesehen, weil er nicht rückgängig gemacht werden kann.", + "options": [ + { + "title": "Installationsprogramm für Systemdienstprogramme", + "description": "Auswahl von 25 bewährten CLI-Werkzeugen (htop, btop, iperf3, jq, tmux, ncdu, ...) mit individueller Auswahl oder vordefinierten Gruppen (Basis, Entwicklung, Komprimierung, Multiplexer, Analyse, Netzwerk). Verwendet den standardisierten Ablauf mit Repository und Prüfbefehl.", + "href": "/docs/utils/system-utils" + }, + { + "title": "Proxmox-Systemupdate", + "description": "Repository-Prüfung + apt update + apt dist-upgrade mit Rückfrage vor dem Neustart. Erkennt die PVE-Hauptversion (8 oder 9), behält die konfigurierten Repositories bei und fragt nach, bevor ein Host ohne Abonnement auf das no-subscription-Repository umgestellt wird. Anschließend wird autoremove ausgeführt.", + "href": "/docs/utils/system-update" + }, + { + "title": "Aktualisieren Sie PVE 8 auf PVE 9", + "description": "Versionsupgrade (Debian Bookworm → Trixie + PVE 8 → 9). Vorabprüfungen, Repository-Migration, automatischer oder interaktiver Modus, Prüfung nach dem Upgrade und Neustart. Verweigert die Ausführung im Webterminal.", + "href": "/docs/utils/upgrade-pve8-pve9" + } + ] + }, + "portabilitySection": { + "heading": "VM Portabilität (OVA / OVF)", + "body": "OVA und OVF sind hypervisorübergreifende Paketformate des DMTF-Standards, die von VMware, VirtualBox und Proxmox unterstützt werden. Die beiden Werkzeuge ermöglichen Export und Rückimport: Eine aus Proxmox exportierte VM lässt sich wieder importieren und umgekehrt. Damit können Sie Arbeitslasten von ESXi migrieren, eine portable VM-Sicherung erstellen oder eine vorbereitete VM mit jemandem teilen, der VirtualBox nutzt.", + "options": [ + { + "title": "VM nach OVA / OVF exportieren", + "description": "Wandeln Sie eine Proxmox-VM in ein portables OVA-Archiv oder OVF-Verzeichnis um. DMTF-Standardschema, SHA1-Manifest, VMDK-Festplatten im Format streamOptimized. Importierbar in VMware (ESXi / Workstation / Fusion), VirtualBox und wieder in Proxmox.", + "href": "/docs/utils/export-vm" + }, + { + "title": "VM von OVA / OVF importieren", + "description": "Importieren Sie einen Export aus VMware / VirtualBox / ProxMenux in Proxmox. Das Werkzeug entpackt OVA automatisch, liest die OVF-Metadaten, erstellt die VM und importiert jede Festplatte in das native Format des Speichers.", + "href": "/docs/utils/import-vm" + } + ] + }, + "diskSpaceCallout": { + "title": "Eine Notiz zum Speicherplatz für den Export / Import", + "body": "Beide Werkzeuge wandeln Festplattenformate um: Der Export verwendet qemu-img convert -O vmdk -o subformat=streamOptimized, der Import qm importdisk für die Rückwandlung in das native Speicherformat (qcow2 / raw). Planen Sie für den Export ~120% der virtuellen Festplattengröße für OVF und ~220% für OVA ein. Das OVA-Archiv wird als unkomprimiertes TAR erstellt, während die temporären VMDK-Dateien noch vorhanden sind. Prüfen Sie vor dem Start, ob im Zielverzeichnis ausreichend Platz frei ist." + }, + "fitsTogether": { + "heading": "Wie das Menü zusammenpasst", + "body": "Jedes Werkzeug hat ein eigenes Skript unter scripts/utilities/. Die Proxmox-Systemaktualisierung ruft ein einziges Arbeitsskript unter scripts/global/ auf: update-pve-safe.sh erkennt die Hauptversion und verarbeitet PVE 8 und PVE 9. Das Upgrade PVE 8 → 9 bietet im eigenen Menü zwei weitere Aktionen: eine eigenständige Prüfung vor dem Upgrade (führt pve8to9 --full aus) und eine schreibgeschützte Anleitung für das manuelle Upgrade (17 Schritte). Damit können Benutzer den Ablauf prüfen oder von Hand ausführen." + } +} diff --git a/web/messages/de/docs/utils/system-update.json b/web/messages/de/docs/utils/system-update.json new file mode 100644 index 00000000..f9544cfc --- /dev/null +++ b/web/messages/de/docs/utils/system-update.json @@ -0,0 +1,168 @@ +{ + "meta": { + "title": "Proxmox-Systemaktualisierung | ProxMenux-Dokumentation", + "description": "Aktualisiert Pakete innerhalb der aktuellen Proxmox-Hauptversion mit apt-get update und apt full-upgrade -y. Prüft Speicherplatz und konfigurierte Repositories, versucht GPG-Schlüssel wiederherzustellen, prüft und repariert alte LVM-PV-Header, erstellt bei Bedarf verwaltete DKMS-Treiber neu, führt autoremove/autoclean aus und bietet einen nötigen Neustart an.", + "ogTitle": "Proxmox-Systemaktualisierung | ProxMenux-Dokumentation", + "ogDescription": "apt full-upgrade mit Repository-Prüfung, autoremove/autoclean und Rückfrage bei erforderlichem Neustart." + }, + "header": { + "title": "Proxmox-Systemupdate", + "description": "Ruft ein einziges Arbeitsskript (update-pve-safe.sh) auf, das die laufende Proxmox-Hauptversion erkennt. Konfigurierte Repositories werden über die Proxmox-API gelesen und beibehalten. Ein Host ohne Abonnement, der nur Enterprise verwendet, wird vor der Umstellung auf no-subscription gefragt. Das Arbeitsskript aktualisiert Pakete und erstellt von ProxMenux verwaltete DKMS-Treiber für einen bereitgestellten Kernel neu. Das Hauptskript bietet einen Neustart an, wenn die Neustartmarkierung existiert oder sich der neueste installierte vom laufenden Kernel unterscheidet. Bei ausstehenden Aktualisierungen lässt sich der Vorgang auch über Update Now im Kopfbereich von ProxMenux Monitor starten.", + "section": "Dienstprogramme" + }, + "calloutWhat": { + "title": "Was das macht", + "body": "Bringt den Host auf den neuesten Aktualisierungsstand seiner aktuellen Hauptversion. Führt kein Upgrade auf eine andere Hauptversion durch. Für PVE 8 → PVE 9 siehe Upgrade von PVE 8 auf PVE 9." + }, + "official": { + "heading": "Die offizielle Proxmox Empfehlung", + "intro": "Proxmox empfiehlt für die Aktualisierung eines laufenden Hosts innerhalb derselben Hauptversion diesen Befehl:", + "code": "apt update && apt full-upgrade -y", + "outro": "Diese eine Zeile ist der offizielle Befehl für aktuelle Proxmox-Versionen. Entscheidend ist außerdem, dass die Repositories bereinigt und die richtigen aktiviert sind und sich der Host anschließend in einem ordnungsgemäßen Zustand befindet." + }, + "onTop": { + "heading": "Was ProxMenux zusätzlich ausführt: am Skript geprüft", + "intro": "Verwendet denselben Vorgang apt full-upgrade, ergänzt um Repository-Prüfungen, DKMS-Neubau und anschließende Bereinigung. Die folgenden Schritte entsprechen scripts/utilities/proxmox_update.sh und seinem einzigen Arbeitsskript scripts/global/update-pve-safe.sh:", + "items": [ + "Erkennt die PVE-Hauptversion im Arbeitsskript (pveversion | grep -oP ''pve-manager/\\K[0-9]+''). Ein Skript verarbeitet PVE 8 und PVE 9. Die konfigurierten Repositories bleiben erhalten, sofern ein Host ohne Abonnement der angebotenen Umstellung nicht zustimmt.", + "Behält konfigurierte Repositories bei. ensure_repositories liest die Repositories und den Abonnementstatus über die Proxmox-Repository-API. Bei aktivem Abonnement oder bereits verwendetem no-subscription- oder Test-Repository wird nichts geändert. Ein Host ohne aktives Abonnement, dessen einziges Proxmox-Repository Enterprise ist, wird vor der Umstellung auf no-subscription gefragt. Bei Ablehnung endet die Aktualisierung, ohne eine Paketquelle zu ändern.", + "Führt die Aktualisierung ohne Interaktion aus mit DEBIAN_FRONTEND=noninteractive und --force-confdef --force-confold. Bei Entscheidungen zu dpkg-Konfigurationsdateien wird die Standardaktion gewählt, falls vorhanden; andernfalls bleibt die bestehende Datei erhalten.", + "Erzwingt keine optionalen Werkzeuge. Das Arbeitsskript installiert weder zfsutils-linux noch chrony, ifupdown2 oder ähnliche Pakete gegen die bestehende Auswahl. Wurde bei der Proxmox-Installation auf ein Paket verzichtet, bleibt das so. Fehlende Pakete werden in den übergeordneten Installationsabläufen angezeigt, nicht bei der Aktualisierung.", + "LVM-Metadatenprüfung und -reparatur. Erkennt alte PV-Header und führt vgck --updatemetadata sowie vgchange -ay für die betroffenen Volume-Gruppen aus. Dabei können LVM-Metadaten geändert werden; die Prüfung zeigt nicht nur Warnungen an.", + "Bereinigt anschließend: apt-get autoremove -y + apt-get autoclean -y.", + "DKMS-Neubau vor der Neustartabfrage. Das Arbeitsskript ruft pmx_rebuild_dkms_after_kernel auf, wenn ein neuerer installierter Kernel bereitsteht. Das Hauptskript prüft /var/run/reboot-required und vergleicht mit dpkg-query den von uname -r gemeldeten Kernel mit dem neuesten installierten Paket proxmox-kernel-*-pve-signed / pve-kernel-*-pve. Auf Hosts ohne needrestart kann die Markierung fehlen; der Kernelvergleich funktioniert trotzdem." + ] + }, + "calloutOneSentence": { + "title": "In einem Satz", + "body": "Aktualisiert Hostpakete, behält konfigurierte Repositories ohne Zustimmung zu einer Umstellung bei, prüft LVM-Metadaten, erstellt verwaltete DKMS-Treiber neu, bereinigt mit autoremove/autoclean und bietet bei Bedarf einen Neustart an." + }, + "confirm": { + "heading": "Bestätigungsdialog", + "intro": "Die Auswahl öffnet eine Zusammenfassung der geplanten Schritte und erfordert eine ausdrückliche Bestätigung:", + "imageAlt": "Bestätigungsdialog der Proxmox-Systemaktualisierung mit Repository-Prüfung, Paketaktualisierung und Bereinigung" + }, + "routes": { + "heading": "So ruft das Hauptskript das Arbeitsskript auf", + "nodes": { + "source": { + "label": "proxmox_update.sh", + "detail": "pveversion |\ngrep -oP ''pve-manager/\\K[0-9]+''" + }, + "bridge": { + "label": "Ein einziges Arbeitsskript", + "detail": "update-pve-safe.sh\n(erkennt PVE 8 / 9\nintern)" + }, + "target": { + "label": "Nach der Aktualisierung", + "detail": "apt-get autoremove\napt-get autoclean\nNeustartabfrage bei Bedarf" + } + } + }, + "worker": { + "heading": "Was das Arbeitsskript ausführt", + "intro": "Ein Arbeitsskript (scripts/global/update-pve-safe.sh) verarbeitet PVE 8 (bookworm) und PVE 9 (trixie). Es erkennt die Hauptversion intern und prüft die bestehende Repository-Konfiguration, ohne die Debian-Basisquellen neu zu schreiben. Die Schritte sind:", + "items": [ + "Vorabprüfungen. Prüft, ob mindestens ~1 GB in /var/cache/apt/archives frei ist. Bei zu wenig Platz wird frühzeitig mit einer klaren Meldung abgebrochen, damit der Vorgang nicht mitten in einer apt-Transaktion scheitert.", + "Repository-Prüfung. ensure_repositories liest Repositories und Abonnementstatus. Bei einem verwendbaren Proxmox-Repository wird nichts geändert. Ein Host ohne aktives Abonnement, der nur Enterprise verwendet, wird vor der Umstellung auf no-subscription gefragt. Bei Ablehnung endet die Aktualisierung.", + "apt update mit automatischer GPG-Wiederherstellung. Bei NO_PUBKEY für ein Repository, auch eines von Drittanbietern, importiert das Arbeitsskript den fehlenden Schlüssel und versucht es erneut, bevor es abbricht.", + "Ausstehende Aktualisierungen und Sicherheitsaktualisierungen. Zeigt an, wie viele Pakete geändert werden und wie viele davon aus der Sicherheitssuite stammen. Der Bestätigungsdialog enthält dadurch konkrete Zahlen.", + "Bestätigungsdialog. Nach dem Aktualisieren der Paketlisten verlangt das Arbeitsskript ein ausdrückliches Ja vor der Paketaktualisierung.", + "apt full-upgrade. Verwendet DEBIAN_FRONTEND=noninteractive und --force-confdef --force-confold. Dpkg folgt bei Entscheidungen zu Konfigurationsdateien seiner Standardaktion, falls vorhanden, und behält andernfalls die bestehende Datei bei.", + "LVM-Prüfung. lvm_repair_check aktualisiert VG-Metadaten, wenn an Gast-VMs (DSM, TrueNAS, Speicher-Appliances) durchgereichte Festplatten mit alten PV-Headern zurückkehren.", + "DKMS-Neubau für von ProxMenux verwaltete Treiber. Steht nach der Aktualisierung ein neuer Kernel bereit, liest pmx_rebuild_dkms_after_kernel die von ProxMenux installierten Treiber aus components_status.json (derzeit nvidia_driver → Modul nvidia und coral_driver → Modul gasket), installiert passende Kernel-Header (proxmox-headers-<newkver>, falls verfügbar, sonst pve-headers-<newkver>) und führt dkms autoinstall -k <newkver> aus. Zeigt dkms status die Module danach nicht für den neuen Kernel an, werden die jeweiligen Installationsprogramme mit --auto-reinstall erneut ausgeführt. Fehler werden protokolliert, brechen die Aktualisierung aber nicht ab; die Neustartabfrage wird dennoch erreicht.", + "Anschließende Bereinigung. apt-get autoremove + apt-get autoclean, bevor die Steuerung an das Hauptskript zurückgeht." + ] + }, + "post": { + "heading": "Bereinigung und Neustart nach dem Update", + "intro": "Nach Abschluss des Arbeitsskripts führt das Hauptskript Folgendes aus:", + "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": "Das Hauptskript prüft außerdem, ob ein Neustart erforderlich ist. Jedes dieser Signale löst die Abfrage aus:", + "items": [ + "/var/run/reboot-required existiert: Ein Paket oder Systemwerkzeug hat einen nötigen Neustart markiert.", + "Das neueste installierte Proxmox-Kernelpaket unterscheidet sich vom laufenden Kernel, ermittelt mit dpkg-query und uname -r." + ], + "outro": "Trifft eines der Signale zu, fragt ein whiptail-Dialog „Einige Änderungen erfordern einen Neustart. Möchten Sie jetzt neu starten?“. Lehnen Sie ab, um mit dem laufenden Kernel weiterzuarbeiten, bis Sie selbst neu starten, etwa in einem geplanten Wartungsfenster." + }, + "end": { + "heading": "Was Sie am Ende sehen", + "intro": "Nach Abschluss des Arbeitsskripts zeigt das Terminal die Bereinigungsausgabe und bei erforderlichem Neustart die entsprechende Abfrage an:", + "imageAlt": "Abschlussübersicht der Proxmox-Systemaktualisierung mit Bereinigungsausgabe und Neustartabfrage" + }, + "calloutDeclineReboot": { + "title": "Neustart nur mit gutem Grund aufschieben", + "body": "Die Installation eines neuen Pakets proxmox-kernel-* ersetzt den laufenden Kernel erst beim Neustart. Der neue Kernel und seine passenden Module werden beim nächsten Start aktiv. Planen Sie dafür ein geeignetes Wartungsfenster und prüfen Sie zuvor alle DKMS-Bauwarnungen." + }, + "noSub": { + "heading": "Wie das Arbeitsskript das Enterprise-Repository behandelt", + "intro": "Proxmox aktiviert das Enterprise-Repository standardmäßig. Ohne aktives Abonnement liefert es bei apt-get update den Fehler 401. Nur in diesem Fall und nach Rückfrage ändert das Arbeitsskript die Repositories über die Proxmox-Repository-API, die auch hinter Node → Updates → Repositories steht. Die einzelnen Fälle:", + "items": [ + "Mit aktivem Abonnement bleiben die Repositories unverändert und Enterprise liefert die Aktualisierungen.", + "Ist das no-subscription- oder Test-Repository bereits aktiviert, bleiben die Repositories unverändert, unabhängig von weiteren eingerichteten Quellen.", + "Bei fehlendem aktivem Abonnement und ausschließlich Enterprise-Repository bietet ein Dialog die Umstellung an. Bei Zustimmung wird die Enterprise-Quelle deaktiviert, no-subscription aktiviert und die Paketliste aktualisiert. Die Änderung wird in der Ansicht Changes von Audit & Report erfasst. Bei Ablehnung endet die Aktualisierung ohne Änderung einer Paketquelle.", + "Vorhandene Enterprise-Ceph-Quellen werden bei derselben Umstellung deaktiviert, ohne einen anderen Ceph-Kanal auszuwählen. Auf Hosts mit Ceph wird dessen Kanal separat konfiguriert.", + "Steht kein Terminal für die Rückfrage zur Verfügung, wird keine Paketquelle geändert. Die Aktualisierung endet mit einem Hinweis auf Node → Updates → Repositories." + ], + "outro": "Debian-Quellen und alle anderen Repository-Dateien werden bei der Aktualisierung nicht bearbeitet. Enthält ein Eintrag Enterprise zusammen mit weiteren Komponenten, wird er nicht umgestellt. Die Aktualisierung stoppt und fordert dazu auf, den Eintrag in der Proxmox-Repository-Ansicht aufzuteilen." + }, + "cluster": { + "heading": "Clusterüberlegungen", + "calloutTitle": "Auf Clustern: Aktualisieren Sie jeweils einen Knoten", + "calloutBody": "Führen Sie diese Option im Proxmox-Cluster auf einem Knoten nach dem anderen aus. Warten Sie jeweils den vollständigen Neustart ab, bevor Sie fortfahren. Migrieren Sie Gäste vorher vom Knoten, um clusterweite Dienstunterbrechungen zu vermeiden. Unterschiedliche Nebenversionen wie 8.4.1 und 8.4.5 können für einige Stunden parallel laufen; unterschiedliche laufende Kernel können bei HA-verwalteten Gästen unerwartetes Verhalten verursachen." + }, + "doesnt": { + "heading": "Was es nicht tut", + "items": [ + "Upgrade der Hauptversion. 8 → 9 ist ein eigener Vorgang; siehe Upgrade von PVE 8 auf PVE 9.", + "Backup. Keine Snapshots, kein Rollback. Apt Operationen sind nicht transaktional. Kombinieren Sie mit Ihrer normalen Backup-Disziplin (PBS, vzdump, ZFS Snapshots).", + "Aktualisierung von Containern / VMs. Nur der Host wird aktualisiert; die Gastsysteme bleiben unverändert.", + "Gezieltes Einspielen von Firmware. Dies ist kein Werkzeug zum Flashen von BIOS oder Gerätefirmware. Bereits installierte Firmware- oder CPU-Mikrocodepakete können weiterhin über apt aktualisiert werden." + ] + }, + "troubleshooting": { + "heading": "Fehlerbehebung", + "items": [ + { + "title": "apt update scheitert mit 401 Unauthorized", + "body": "Das Enterprise-Repository ist aktiviert, aber der Host hat kein aktives Abonnement. Das Arbeitsskript bietet vor apt-get update die Umstellung auf no-subscription an. Wurde sie abgelehnt, starten Sie die Aktualisierung erneut und stimmen Sie zu. Alternativ deaktivieren Sie Enterprise unter Node → Updates → Repositories und aktivieren no-subscription." + }, + { + "title": "dist-upgrade bleibt bei \"Configuring grub-pc\" hängen", + "body": "Falls eine interaktive GRUB-Abfrage erscheint, fragt sie nach den Geräten für den Bootloader. --force-confold gilt für Entscheidungen zu Konfigurationsdateien, nicht für diese Geräteauswahl. Wählen Sie mit Tab + Space die passenden Startfestplatten und dann OK. Die Auswahl lässt sich vorher mit dpkg-reconfigure grub-pc konfigurieren." + }, + { + "title": "Kernel aktualisiert, aber die neuen Module fehlen für einen Out-of-Tree-Treiber", + "body": "Für verwaltete Treiber (nvidia_driver und coral_driver) führt die Hilfsfunktion dkms autoinstall -k <newkver> aus und kann deren Installationsprogramme mit --auto-reinstall erneut starten. Prüfen Sie das Ergebnis mit dkms status. Der autoinstall-Befehl kann auch andere registrierte DKMS-Module neu erstellen. Der erneute Installer-Aufruf beschränkt sich auf die verwalteten Einträge in components_status.json. Prüfen Sie weiterhin fehlende Drittanbietermodule und erstellen Sie sie bei Bedarf mit dkms autoinstall neu." + }, + { + "title": "Die Neustartabfrage erschien nicht, obwohl ein neuer Kernel installiert wurde", + "body": "Die Signale gelten alternativ: /var/run/reboot-required oder ein Unterschied zwischen laufendem und neuestem installiertem Proxmox-Kernel. Das Hauptskript wertet keine linux-image-Einträge im apt-Protokoll aus. Prüfen Sie die laufende Version mit uname -r und die installierten Kernelpakete mit dpkg-query. Planen Sie einen nötigen Neustart oder führen Sie zum passenden Zeitpunkt shutdown -r now aus." + } + ] + }, + "files": { + "heading": "Beteiligte Dateien", + "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": "Verwandte Themen", + "items": [ + { + "href": "/docs/utils/upgrade-pve8-pve9", + "label": "Aktualisieren Sie PVE 8 auf PVE 9", + "tail": " — für das Upgrade der Hauptversion mit einem anderen Werkzeug und Sicherheitsmodell." + }, + { + "href": "/docs/utils/system-utils", + "label": "Installationsprogramm für Systemdienstprogramme", + "tail": " — zur Installation nützlicher CLI-Werkzeuge für Aktualisierungen (htop / btop / ncdu)." + }, + { + "href": "/docs/utils", + "label": "Übersicht der Dienstprogramme", + "tail": " — zurück zur Abschnittsübersicht." + } + ] + } +} diff --git a/web/messages/de/docs/utils/system-utils.json b/web/messages/de/docs/utils/system-utils.json new file mode 100644 index 00000000..0acc962f --- /dev/null +++ b/web/messages/de/docs/utils/system-utils.json @@ -0,0 +1,252 @@ +{ + "meta": { + "title": "Installationsprogramm für Systemwerkzeuge | ProxMenux-Dokumentation", + "description": "CLI-Werkzeuginstallation für Proxmox VE mit 25 Paketen in der zentralen Liste (htop, btop, iperf3, tmux, ...). Individuelle Auswahl, Gesamtinstallation und vordefinierte Gruppen (Basis, Entwicklung, Komprimierung, Multiplexer, Analyse, Netzwerk). Gruppen können zusätzliche Pakete enthalten. Verwendet ensure_repositories + install_single_package.", + "ogTitle": "Installationsprogramm für Systemwerkzeuge | ProxMenux-Dokumentation", + "ogDescription": "Installieren Sie kuratierte CLI-Tools auf Proxmox VE mit einem Klick oder einer benutzerdefinierten Auswahl." + }, + "header": { + "title": "Installationsprogramm für Systemdienstprogramme", + "description": "Auswahl der 25 CLI-Werkzeuge in der zentralen Liste PROXMENUX_UTILS. Bietet individuelle Auswahl, Gesamtinstallation, sechs vordefinierte Gruppen und eine Installationsprüfung. Gruppen können weitere Werkzeuge enthalten. Gemeinsame Hilfsfunktionen ensure_repositories() + install_single_package() sorgen für einheitliche Repository-Verwaltung und Paketmeldungen.", + "section": "Dienstprogramme" + }, + "info": { + "title": "Was das macht", + "body": "Installiert CLI-Werkzeuge aus einer Liste mit 25 Paketen. Jede Installation verwendet denselben Ablauf: ensure_repositories prüft ein nutzbares Proxmox-Repository für die laufende PVE-Hauptversion; anschließend installiert install_single_package das Paket und prüft, ob dessen Befehl in PATH liegt." + }, + "opening": { + "heading": "Installationsprogramm öffnen", + "intro": "Wählen Sie im Menü Utilities System Utilities Installer. Das Hauptmenü bietet neun Optionen:", + "imageAlt": "Menü System Utilities Installer mit benutzerdefinierter Auswahl, ALL, vordefinierten Gruppen und Verifizierung" + }, + "actions": { + "heading": "Die 9 Menüaktionen", + "headerOption": "Option", + "headerBehaviour": "Verhalten", + "rows": [ + { + "option": "1. Individuelle Auswahl", + "behaviourRich": "Auswahlliste aller 25 Pakete. Mit SPACE umschalten und mit ENTER bestätigen; nur ausgewählte Pakete werden installiert." + }, + { + "option": "2. Alle Werkzeuge installieren", + "behaviourRich": "Installiert alle Pakete aus PROXMENUX_UTILS in einem Durchgang. Geeignet nach einer neuen Proxmox-Installation." + }, + { + "option": "3. Grundlegend", + "behaviourRich": "grc, htop, tree, curl, wget" + }, + { + "option": "4. Entwicklung", + "behaviourRich": "git, vim, nano" + }, + { + "option": "5. Kompression", + "behaviourRich": "zip, unzip, rsync" + }, + { + "option": "6. Terminalmultiplexer", + "behaviourRich": "screen, tmux" + }, + { + "option": "7. Analyse", + "behaviourRich": "jq, ncdu, iotop" + }, + { + "option": "8. Netz", + "behaviourRich": "iperf3, nethogs, nmap, tcpdump, lsof" + }, + { + "option": "9. Installationen prüfen", + "behaviourRich": "Prüft für jeden Eintrag in PROXMENUX_UTILS, ob der zugehörige Prüfbefehl in PATH verfügbar ist, und zeigt eine Übersicht mit Verfügbar / Fehlend." + } + ] + }, + "packages": { + "heading": "Die 25 Pakete", + "intro": "In der gemeinsamen Datei scripts/global/utils-install-functions.sh als PROXMENUX_UTILS definiert (Format: package:verify_command:description). Andere ProxMenux-Skripte, etwa die Netzwerküberwachungsstarter für iftop / iptraf-ng / iperf3, verwenden diese Einträge ebenfalls, damit Paket und Prüfbefehl zusammenpassen.", + "headerPackage": "Paket", + "headerVerify": "Prüfbefehl", + "headerDescription": "Beschreibung", + "rows": [ + { + "package": "axel", + "verify": "axel", + "description": "Downloadbeschleuniger" + }, + { + "package": "aria2", + "verify": "aria2c", + "description": "Multisource-Downloader" + }, + { + "package": "btop", + "verify": "btop", + "description": "Moderner Ressourcenmonitor" + }, + { + "package": "cabextract", + "verify": "cabextract", + "description": "Extrahieren von CAB-Dateien" + }, + { + "package": "chntpw", + "verify": "chntpw", + "description": "Bearbeiten der Windows-Registrierung / Passwörter" + }, + { + "package": "dos2unix", + "verify": "dos2unix", + "description": "Konvertieren von DOS / Unix Textdateien" + }, + { + "package": "genisoimage", + "verify": "genisoimage", + "description": "ISO-Images erstellen" + }, + { + "package": "grc", + "verify": "grc", + "description": "Allgemeine farbige Hervorhebung von Protokollen" + }, + { + "package": "htop", + "verify": "htop", + "description": "Interaktiver Prozess-Viewer" + }, + { + "package": "iftop", + "verify": "iftop", + "description": "Echtzeit-Netzwerknutzung" + }, + { + "package": "intel-gpu-tools", + "verify": "intel_gpu_top", + "description": "Intel GPU Werkzeuge" + }, + { + "package": "iotop", + "verify": "iotop", + "description": "Festplatten-E/A überwachen" + }, + { + "package": "iperf3", + "verify": "iperf3", + "description": "Prüfung der Netzwerkbandbreite" + }, + { + "package": "ipset", + "verify": "ipset", + "description": "Verwalten von IP-Sets" + }, + { + "package": "iptraf-ng", + "verify": "iptraf-ng", + "description": "Netzüberwachungsinstrument" + }, + { + "package": "libguestfs-tools", + "verify": "virt-filesystems", + "description": "Werkzeuge für VM-Festplatten" + }, + { + "package": "msr-tools", + "verify": "rdmsr", + "description": "Zugriff auf CPU-MSRs" + }, + { + "package": "net-tools", + "verify": "netstat", + "description": "Ältere Netzwerkwerkzeuge" + }, + { + "package": "plocate", + "verify": "locate", + "description": "Dateien schnell finden" + }, + { + "package": "s-tui", + "verify": "s-tui", + "description": "Stress-Terminal UI" + }, + { + "package": "sshpass", + "verify": "sshpass", + "description": "Nicht-interaktives SSH-Login" + }, + { + "package": "tmux", + "verify": "tmux", + "description": "Terminal-Multiplexer" + }, + { + "package": "unzip", + "verify": "unzip", + "description": "ZIP-Dateien extrahieren" + }, + { + "package": "wimtools", + "verify": "wimlib-imagex", + "description": "Verwalten von WIM-Bildern" + }, + { + "package": "zip", + "verify": "zip", + "description": "ZIP-Dateien erstellen" + } + ] + }, + "howItWorks": { + "heading": "Wie eine einzelne Paketinstallation funktioniert", + "items": [ + "ensure_repositories erkennt PVE 8 oder 9 und liest die Repositories über die Proxmox-API. Bei einem nutzbaren Proxmox-Repository wird nichts geändert. Ein Host ohne aktives Abonnement, der nur Enterprise verwendet, wird vor der Umstellung auf no-subscription gefragt. Nach einer bestätigten Umstellung wird apt-get update ausgeführt.", + "install_single_package \"pkg\" \"verify_cmd\" \"description\" führt apt-get install -y \"$pkg\" mit Feedback aus (msg_info / msg_ok / msg_error)." + ], + "verifyIntro": "Nach der Installation wird der Verifizierungsbefehl mit command -v \"$verify_cmd\" überprüft. Drei Ergebnisse:", + "verifyOutcomes": [ + "0 (Erfolg): Befehl verfügbar, Paket gezählt als Erfolgreich.", + "1 (fehlgeschlagen): apt fehlgeschlagen, gezählt als Failed.", + "2 (Warnung): apt war erfolgreich, aber der erwartete Befehl wurde nicht in PATH gefunden. Das Paket zählt als Mit Warnungen." + ], + "summary": "Nach einer Gruppeninstallation oder individuellen Installation zeigt ein Dialog die Anzahl Erfolgreich / Mit Warnungen / Fehlgeschlagen." + }, + "verify": { + "heading": "Überprüfen Sie die Installationen", + "intro": "Option 9 liest nur: Sie durchläuft PROXMENUX_UTILS und führt für jeden Prüfbefehl command -v aus. Die Ausgabe sieht so aus:", + "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": "Nützlich vor Skripten, die diese Werkzeuge benötigen. Beispielsweise braucht uup_dump_iso_creator.sh die Befehle aria2c + cabextract + wimlib-imagex. Fehlt etwas, installieren Sie die passende Gruppe oder wählen Sie die fehlenden Pakete einzeln aus." + }, + "troubleshoot": { + "heading": "Fehlerbehebung", + "reposTitle": "„Repositories konnten nicht konfiguriert werden. Installation abgebrochen.“", + "reposBody": "Der Repository-Check wurde nicht bestanden: Der Wechsel zum No-Subscription-Repository wurde abgelehnt, der Subscription-Status konnte nicht gelesen werden oder ein Repository-Eintrag benötigt Aufmerksamkeit. Die darüber gedruckte Botschaft gibt die Ursache an. Die Repositories sind in Node → Updates → Repositories aufgeführt, und apt-get update von einer Konsole zeigt die Fehlermeldungen an.", + "warningsTitle": "Ein Paket wird \"Mit Warnungen\" gemeldet, aber der Befehl funktioniert, nachdem ich das Menü geschlossen habe", + "warningsBody": "Nach apt-get install führt die Hilfsfunktion hash -r aus, wartet kurz und prüft den erwarteten Befehl mit command -v. Eine Warnung bedeutet, dass diese Prüfung weiterhin fehlschlug; sie benennt keine Ursache. Versuchen Sie eine neue Shell und prüfen Sie Paketinstallation sowie PATH, falls der Befehl weiterhin fehlt.", + "hangsTitle": "Ein apt install hängt", + "hangsBody": "Höchstwahrscheinlich wird eine Debconf-Eingabeaufforderung hinter der stummgeschalteten Ausgabe blockiert. Das Skript wickelt alle apt-Aufrufe mit DEBIAN_FRONTEND=noninteractive ab, was normalerweise Aufforderungen unterdrückt, aber einige Pakete erfordern immer noch Benutzereingaben. Abbrechen mit Ctrl + C, führen Sie apt-get install -y <pkg> manuell aus einer Shell aus, um die Eingabeaufforderung zu sehen und zu entscheiden." + }, + "files": { + "heading": "Beteiligte Dateien", + "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": "Verwandte Themen", + "items": [ + { + "href": "/docs/utils/system-update", + "label": "Proxmox-Systemupdate", + "tailRich": "— für den eigentlichen apt dist-upgrade auf dem Host." + }, + { + "href": "/docs/network/monitoring", + "label": "Live-Überwachungswerkzeuge (Netzwerk)", + "tailRich": "- verwendet iftop / iptraf-ng / iperf3 aus derselben Liste." + }, + { + "href": "/docs/utils", + "label": "Übersicht der Dienstprogramme", + "tailRich": " — zurück zur Abschnittsübersicht." + } + ] + } +} diff --git a/web/messages/de/docs/utils/upgrade-pve8-pve9.json b/web/messages/de/docs/utils/upgrade-pve8-pve9.json new file mode 100644 index 00000000..774ea1e6 --- /dev/null +++ b/web/messages/de/docs/utils/upgrade-pve8-pve9.json @@ -0,0 +1,335 @@ +{ + "meta": { + "title": "PVE 8 auf PVE 9 aktualisieren | ProxMenux-Dokumentation", + "description": "Drei Wege von Proxmox VE 8 zu 9 (Debian Bookworm zu Trixie und PVE 8 zu 9): automatisch, interaktiv oder manuell nach der offiziellen Proxmox-Anleitung. Mit pve8to9-Vorabprüfung, Repository-Umstellung, dist-upgrade und abschließender Kontrolle. Start im Webterminal wird verweigert.", + "ogTitle": "PVE 8 auf PVE 9 aktualisieren | ProxMenux-Dokumentation", + "ogDescription": "Drei Verfahren (automatisch, interaktiv, manuell) für den Wechsel von Proxmox VE 8 auf 9." + }, + "header": { + "title": "Aktualisieren Sie PVE 8 auf PVE 9", + "description": "Führt das Upgrade von Proxmox VE 8 auf 9 nach der offiziellen Anleitung durch: Debian Bookworm zu Trixie und PVE 8 zu 9. Zur Auswahl stehen automatische, interaktive und manuelle Durchführung sowie eine separate Vorabprüfung. Der Start im Webterminal wird verweigert, da ein Verbindungsabbruch während des Upgrades den Host beschädigen kann.", + "section": "Dienstprogramme" + }, + "dangerCallout": { + "title": "Ein Wechsel der Hauptversion lässt sich nicht rückgängig machen", + "intro": "Dieser Vorgang ersetzt die Debian-Basis (Bookworm → Trixie) und den Proxmox-Softwarebestand auf dem bestehenden System. Es gibt keine Rückkehr zur alten Version. Vor dem Start:", + "items": [ + "Geprüfte Sicherungen aller VMs und CTs (PBS, vzdump, ZFS-Snapshots — auch die Wiederherstellung prüfen).", + "Konsolen- / IPMI- / iKVM-Zugang zum Host, falls SSH während des Upgrades ausfällt.", + "Der Host ist bereits auf PVE 8.4.x auf dem neuesten Stand (das Skript erzwingt dies).", + "Ceph (falls vorhanden) auf der Version 19.x Squid.", + "Mindestens 5 GB freier Speicher im Root-Dateisystem." + ] + }, + "modeMenu": { + "heading": "Das Menü zur Modusauswahl", + "intro": "Die Option öffnet ein Menü mit vier Einträgen: Automatisch, Interaktiv, Vorabprüfung und Manuelle Anleitung. Drei Optionen führen das Upgrade aus oder erklären es; die separate Prüfung kontrolliert die Voraussetzungen und kann Reparaturen anbieten.", + "imageAlt": "Modusauswahl für das PVE-8-auf-9-Upgrade: Automatisch, Interaktiv, Vorabprüfung und Manuelle Anleitung" + }, + "threeWays": { + "heading": "Drei Wege zum Upgrade", + "intro": "Automatisch und Interaktiv verwenden denselben Ablauf mit Vorabprüfung und abschließender Kontrolle. Sie unterscheiden sich beim Umgang mit dpkg-Rückfragen während dist-upgrade. Die manuelle Anleitung zeigt die Befehle samt Prüfungen; Sie müssen jeden Schritt selbst ausführen.", + "auto": { + "title": "Automatisch / unbeaufsichtigt", + "summary": "Setzt ASSUME_YES=1 + DEBIAN_FRONTEND=noninteractive. Bei geänderten Konfigurationsdateien verwendet dpkg seine Standardaktion, sofern vorhanden; andernfalls wird die vorhandene Datei beibehalten (--force-confold).", + "items": [ + "Am schnellsten — kein Warten auf Rückfragen", + "Geeignet für Standardinstallationen ohne angepasste Konfigurationsdateien", + "Risiko: Eine angepasste Datei bleibt ohne Rückfrage erhalten und kann neue Standardwerte überlagern" + ] + }, + "interactive": { + "title": "Interaktiv", + "summary": "Derselbe Ablauf, aber Sie beantworten jede dpkg-Rückfrage zu Konflikten bei Konfigurationsdateien. Langsamer, dafür mit voller Einsicht.", + "items": [ + "Sie sehen jeden config Konflikt und entscheiden", + "Am besten, wenn Sie /etc/lvm, /etc/ssh usw. angepasst haben.", + "Konsultieren Sie die Tabelle der empfohlenen Antworten im manuellen Verfahren unten" + ] + }, + "manual": { + "title": "Handbuch zur Aktualisierung", + "summary": "Zeigt das Verfahren in 17 Schritten nach dem offiziellen Proxmox-Wiki an, ohne es auszuführen. Führen Sie die Befehle selbst in einer separaten Shell aus.", + "items": [ + "Maximale Kontrolle - Sie geben jeden Befehl ein", + "Am besten, wenn Sie das Verfahren lernen möchten oder nichts vertrauen", + "Das Skript zeigt die Schritte an; nichts wird automatisch ausgeführt" + ] + } + }, + "precheckCallout": { + "title": "Plus einen separaten Pre-Check", + "body": "Option 3 — PVE-8-auf-9-Prüfung ausführen — startet die offizielle Prüfung pve8to9 --full, bietet geführte Reparaturen häufiger Probleme an und endet danach. Nutzen Sie sie vor dem Upgrade oder nach manuellen Reparaturen. Automatisch und Interaktiv führen sie ebenfalls aus; in der manuellen Anleitung führen Sie die Prüfung selbst aus." + }, + "webTerminal": { + "heading": "Warum das Web-Terminal blockiert ist", + "body": "Alle drei Upgrade-Modi erkennen termproxy / vncshell in der Kette übergeordneter Prozesse und verweigern den Start. Das Proxmox-Webterminal wird von pveproxy bereitgestellt, einem Dienst, der beim Upgrade aktualisiert wird. Sobald pveproxy neu startet, endet die Terminalsitzung und damit auch das darin laufende Upgrade-Skript. Der Host kann unvollständig aktualisiert zurückbleiben.", + "warningTitle": "SSH oder eine physische / IPMI- / iKVM-Konsole verwenden", + "warningBody": "SSH ist die übliche Wahl. Starten Sie die Sitzung in tmux oder screen, damit das Upgrade kurze Netzunterbrechungen übersteht. Erkennt das Skript eine einfache SSH-Shell, zeigt es zu Beginn einen Hinweis auf tmux/screen an." + }, + "auto": { + "heading": "Automatischer / unbeaufsichtigter Modus", + "intro": "Übliche Bestätigungen und Rückfragen zu Konfigurationsdateien verwenden die eingestellten Standardantworten. Blockierende Fehler der Vorabprüfung können weiterhin Eingriffe erfordern. Verwenden Sie den Modus für Standardinstallationen oder nachdem Sie die Auswirkungen auf angepasste Dateien geprüft haben.", + "behaviourHeading": "Besonderheiten des automatischen Modus", + "behaviourTable": { + "settingHeader": "Einstellung", + "effectHeader": "Wirkung", + "rows": [ + { + "settingRich": "ASSUME_YES=1", + "effectRich": "Interner Schalter — bestätigt die Ja/Nein-Rückfragen des Skripts automatisch" + }, + { + "settingRich": "DEBIAN_FRONTEND=noninteractive", + "effectRich": "apt / dpkg laufen ohne debconf-Rückfragen" + }, + { + "settingRich": "--force-confdef", + "effectRich": "Bei unveränderten Konfigurationsdateien: neue Version des Paketbetreuers installieren" + }, + { + "settingRich": "--force-confold", + "effectRich": "Bei geänderten Dateien: Standardaktion von dpkg verwenden, sofern vorhanden; andernfalls Ihre Version beibehalten." + } + ] + }, + "flowHeading": "Ablauf im automatischen Modus", + "flowIntro": "Sechs aufeinanderfolgende Phasen. Frühere Phasen können PVE-8-Pakete aktualisieren und Repository-Dateien schreiben. Ein Fehler hält den Ablauf an, macht diese Änderungen aber nicht rückgängig. Phase 5 führt dist-upgrade auf PVE 9 aus.", + "flowDiagram": "1. PRÜFUNGEN\ntermproxy / vncshell blockieren; PVE 9 ablehnen; Speicher und Verbindung prüfen.\nBei installiertem Ceph ist 19.x Squid erforderlich.\npve8to9 --full (kann Reparaturen anbieten).\n\n2. PVE 8 VORBEREITEN\nscripts/global/update-pve8.sh\nPVE-8-Pakete aktualisieren; systemctl restart pve-manager.\n\n3. REPOSITORIES UMSTELLEN\nBookworm → Trixie; deb822-Dateien .sources schreiben.\nAlte .list-Dateien auskommentieren; apt-get update.\n\n4. PVE-9-KANDIDAT PRÜFEN\napt-cache policy proxmox-ve\napt-get -s dist-upgrade\nAbbruch, wenn der Kandidat nicht 9.x ist oder proxmox-ve entfernt würde.\n\n5. UPGRADE\napt-get -y -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' dist-upgrade\nProtokoll: /var/log/pve8-a-pve9-'<'timestamp'>'.log\n\n6. PRÜFEN UND NEU STARTEN\nEFI: apt install grub-efi-amd64\npve8to9 --full; Ergebnis und Neustart-Rückfrage prüfen.", + "preflightHeading": "Vor dem Upgrade: diese Punkte werden geprüft", + "preflightTable": { + "checkHeader": "Prüfung", + "whyHeader": "Warum es wichtig ist", + "rows": [ + { + "checkRich": "Webterminal-Sperre", + "whyRich": "Verhindert, dass das Upgrade seine eigene Shell beendet" + }, + { + "checkRich": "Bereits auf 9.x", + "whyRich": "Abbruch, wenn der Host bereits PVE 9 ausführt (nichts zu tun)" + }, + { + "checkRich": "Neueste PVE-8.4.x-Version", + "whyRich": "Aktualisiert PVE 8 zunächst mit dem PVE-8-Aktualisierungsskript auf den neuesten Stand; für ältere 8.x-Versionen gelten andere Voraussetzungen" + }, + { + "checkRich": "pve8to9 --full", + "whyRich": "Proxmox-Prüfung der Upgrade-Voraussetzungen; FAIL-Meldungen blockieren das Upgrade bis zur Reparatur" + }, + { + "checkRich": "Speicherplatz", + "whyRich": "≥ 1024 MB frei in /var/cache/apt/archives für heruntergeladene .deb-Dateien" + }, + { + "checkRich": "Verbindungen", + "whyRich": "Ping auf download.proxmox.com — schlägt er fehl, wird nicht begonnen" + }, + { + "checkRich": "Ceph 19.x Squid", + "whyRich": "Installiertes Ceph muss bereits 19.x verwenden. PVE 9 kann nicht mit Ceph 17/18 betrieben werden. Die Optionen --ignore-ceph-check und --warn-ceph-check umgehen die Prüfung; nutzen Sie sie nur mit entsprechendem Fachwissen." + } + ] + }, + "distUpgradeHeading": "Der Befehl dist-upgrade (Auto-Modus)", + "distUpgradeCode": "apt-get -y \\\n -o Dpkg::Options::='--force-confdef' \\\n -o Dpkg::Options::='--force-confold' \\\n dist-upgrade", + "distUpgradeOutro": "Die Ausgabe erscheint in Echtzeit auf stdout und wird zugleich in /var/log/pve8-a-pve9-<timestamp>.log gespeichert. Sie sehen alles; nur die Rückfragen entfallen.", + "postHeading": "Post-Upgrade-Aufgaben (Automodus)", + "postItems": [ + "EFI-Hosts: installiert grub-efi-amd64 gemäß dem bekannten Problem in der Proxmox-Dokumentation. Das Paket wird beim Upgrade nicht automatisch installiert und kann für den nächsten Start erforderlich sein.", + "Zeitpunkt des Neustarts von pve-manager. Der ausdrückliche Neustart erfolgt bei der Vorbereitung von PVE 8, vor dem Paket-Upgrade auf Trixie/PVE 9.", + "pve8to9 --full erneut ausführen. Zeigt verbliebene Probleme. Bei FAIL-Meldungen erscheint das gleiche Reparaturmenü wie bei der Vorabprüfung.", + "Neustart-Rückfrage. Ein Neustart wird empfohlen, um den neuen Kernel und die Dienste zu laden. Lehnen Sie ihn nur aus einem konkreten Grund ab; der alte Kernel nach einem Hauptversionswechsel birgt Risiken." + ] + }, + "interactive": { + "heading": "Interaktiver Modus", + "intro": "Derselbe Ablauf wie im automatischen Modus: gleiche Vorabprüfungen, Repository-Umstellung und Abschlussprüfung. Der Unterschied liegt bei dist-upgrade: Sie beantworten jede dpkg-Rückfrage zu Konfigurationskonflikten selbst. ProxMenux verwendet apt-get dist-upgrade ohne die Optionen --force-conf*.", + "distUpgradeHeading": "Der Befehl dist-upgrade (interaktiver Modus)", + "distUpgradeCode": "apt-get dist-upgrade\n# (user answers each dpkg config-file conflict prompt as it appears)", + "whenHeading": "Wenn interaktiv die richtige Wahl ist", + "whenItems": [ + "Sie haben /etc/lvm/lvm.conf, /etc/ssh/sshd_config, /etc/default/grub oder eine andere Konfigurationsdatei angepasst, die vom Upgrade berührt wird.", + "Sie möchten sehen, welche Pakete Konfigurationskonflikte verursachen, und für jede Datei einzeln entscheiden.", + "Sie aktualisieren einen Produktionshost, bei dem versteckte Änderungen inakzeptabel sind." + ], + "promptCalloutTitle": "Was bei jeder Aufforderung zu antworten", + "promptCalloutBody": "Hier gelten die gleichen Empfehlungen wie im manuellen Verfahren: siehe Empfohlene Antworten auf dpkg-Rückfragen weiter unten. Mit D zeigen Sie die Unterschiede an; mit Z öffnen Sie eine Shell." + }, + "manual": { + "heading": "Manuelles Upgrade-Verfahren", + "intro": "Dies zeigt die Menüoption Manuelle Upgrade-Anleitung: die offizielle Proxmox-Anleitung für das Upgrade von 8 auf 9, in vier Phasen gegliedert. Das Skript zeigt die Befehle; Sie führen sie selbst in einer separaten Root-Shell aus. Volle Einsicht in jeden Schritt.", + "rootCalloutTitle": "Alle Befehle brauchen root", + "rootCalloutBody": "Verwenden Sie eine Root-Shell, auch für Umleitungen und Here-Dokumente. Bei sudo muss der gesamte Befehl mit Root-Rechten ausgeführt werden.", + "phase1Heading": "Phase 1 — Vorbereitung", + "phase1Intro": "PVE auf den neuesten Stand von 8.4.x bringen, Version und gegebenenfalls Ceph prüfen, die Proxmox-Vorabprüfung ausführen und einen Terminal-Multiplexer gegen Verbindungsabbrüche starten.", + "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": "Phase 2 — Repository-Umstellung", + "phase2Intro": "Alle Debian- und Proxmox-Repositories von Bookworm auf Trixie umstellen und Proxmox-Quellen ins deb822-Format überführen. Schritt 7 ODER 8 wählen, je nachdem, ob Sie ein Enterprise-Abonnement haben. Ohne Ceph Schritt 9 überspringen.", + "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": "Phase 3 — Das dist-upgrade", + "phase3Intro": "Das eigentliche Upgrade. Schritt 12 ist optional, aber empfohlen, um zahlreiche Audit-Meldungen zu unterdrücken. Schritt 13 dauert länger; beantworten Sie die dpkg-Rückfragen anhand der Tabelle. Schritt 13.1 betrifft nur EFI und folgt den offiziell bekannten Problemen.", + "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": "Empfohlene Antworten für die dpkg prompts", + "dpkgIntro": "Empfehlungen der offiziellen Proxmox-Anleitung: Y installiert die neue Datei des Paketbetreuers und überschreibt Ihre Datei; N behält Ihre Datei. Prüfen Sie bei Zweifeln zuerst die Unterschiede:", + "dpkgTable": { + "fileHeader": "Datei / prompt", + "answerHeader": "Empfohlene Antwort", + "whyHeader": "Warum", + "rows": [ + { + "fileRich": "/etc/issue", + "answerRich": "N (vorhandene Datei behalten)", + "whyRich": "Die gewohnte Anmeldeinformation bleibt erhalten", + "fileFont": true + }, + { + "fileRich": "/etc/lvm/lvm.conf", + "answerRich": "Y (Version des Paketbetreuers)", + "whyRich": "PVE 9 benötigt die neuen LVM-Standardwerte", + "fileFont": true + }, + { + "fileRich": "/etc/ssh/sshd_config", + "answerRich": "Y bei reinen Standardänderungen; angepasste Dateien zuerst prüfen", + "whyRich": "Lokale SSH-Einstellungen prüfen und den Zugang sichern, bevor die Datei ersetzt wird. Standardänderungen betreffen umbenannte Optionen und Kommentare.", + "fileFont": true + }, + { + "fileRich": "/etc/default/grub", + "answerRich": "N, falls angepasst", + "whyRich": "Hier stehen Startparameter, etwa für IOMMU und PCI-Passthrough", + "fileFont": true + }, + { + "fileRich": "/etc/chrony/chrony.conf", + "answerRich": "Y, falls unverändert; lokale Einstellungen zuvor sichern", + "whyRich": "Trixie aktualisiert die Zeitsynchronisation. Lokale Einstellungen vor Übernahme der neuen Datei in chronys Verzeichnisse conf.d / sources.d verschieben.", + "fileFont": true + }, + { + "fileRich": "Dienstneustarts während des Upgrades", + "answerRich": "Ja (Standard)", + "whyRich": "Die meisten Dienste werden ohne Neustart des Hosts neu geladen", + "fileFont": false + }, + { + "fileRich": "apt-listchanges", + "answerRich": "q drücken", + "whyRich": "Beendet nur den Pager; angezeigt wird die Zusammenfassung des Änderungsprotokolls", + "fileFont": false + } + ] + }, + "inspectCalloutTitle": "Prüfung eines spezifischen dpkg-Konflikts", + "inspectCalloutBody": "Bei einer dpkg-Rückfrage zu Konfigurationsdateien zeigt D die Unterschiede zwischen Ihrer Datei und der neuen Version; Z öffnet eine Shell für weitere Prüfungen. Beides hilft, eine fundierte Entscheidung zu treffen.", + "phase4Heading": "Phase 4 — Post-Upgrade", + "phase4Intro": "Erfolgreiches Upgrade prüfen, zum Laden des PVE-9-Kernels neu starten und die neue Version bestätigen. Verbliebene alte .list-Dateien können anschließend ins deb822-Format umgewandelt werden.", + "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 & Ceph", + "clusterCalloutTitle": "Cluster: Upgrade-Knoten nacheinander", + "clusterCalloutBody": "Erkannt über pvecm status. Nicht mehrere Knoten gleichzeitig aktualisieren. Gäste zuerst verschieben, den Knoten aktualisieren, neu starten und die Cluster-Mitgliedschaft prüfen. Erst dann fortfahren. Während des Upgrades funktioniert Live-Migration von älteren zu neueren PVE-Versionen; die Gegenrichtung wird grundsätzlich nicht unterstützt. HA-Gruppen werden automatisch in HA-Regeln umgewandelt, sobald alle Knoten PVE 9 verwenden.", + "cephCalloutTitle": "Ceph: ZUERST Ceph, danach Proxmox aktualisieren", + "cephCalloutBody": "Ceph muss vor dem Proxmox-Upgrade bereits 19.x Squid verwenden. Folgen Sie der offiziellen Reihenfolge Quincy 17 → Reef 18 → Squid 19: Pakete aktualisieren und Ceph-Daemons schrittweise in der dokumentierten Reihenfolge neu starten. Vor dem Upgrade jedes Proxmox-Knotens ceph --version prüfen. Vollständiges Verfahren: Wiki zum Upgrade von Ceph Reef auf Squid." + }, + "troubleshooting": { + "heading": "Fehlerbehebung", + "items": [ + { + "title": "Skript bricht ab: \"This script cannot be executed from the Proxmox web terminal\"", + "bodyRich": "Eine SSH-Verbindung oder Konsole / IPMI / iKVM verwenden und dort erneut starten. Mit tmux new -s pveupgrade übersteht die Sitzung kurze Netzunterbrechungen." + }, + { + "title": "pve8to9 meldet FAIL, automatische Reparatur mit Option 1 meldet \"command not found\"", + "bodyRich": "Erwähnt der Fehler configure_repositories, ist die Skriptkopie veraltet. Die aktuelle Reparatur verwendet cleanup_duplicate_repos und ensure_repositories. Kopie aktualisieren oder die manuellen Befehle mit Option 2 prüfen. apt-get update aktualisiert Paketlisten, behebt aber nicht jede blockierende Prüfung." + }, + { + "title": "apt-Simulation meldet \"proxmox-ve will be REMOVED\"", + "bodyRich": "Die neuen Repositories sind nicht erreichbar oder die Umstellung des Codenamens fehlt. cat /etc/apt/sources.list.d/proxmox.sources prüfen: Bei Suites: muss trixie statt bookworm stehen. apt-cache policy proxmox-ve muss einen 9.x-Kandidaten aus dem neuen Repository anzeigen." + }, + { + "title": "dist-upgrade scheitert teilweise", + "bodyRich": "Mit apt-get -f install beschädigte Abhängigkeiten beheben und das Upgrade erneut starten. Bei weiteren Fehlern die letzten Zeilen von /var/log/pve8-a-pve9-<timestamp>.log prüfen. Nicht neu starten, bevor dpkg -l | grep ^iU keine Ausgabe mehr liefert." + }, + { + "title": "EFI-Host startet nicht nach dem Neustart", + "bodyRich": "Nach dem Upgrade wird grub-efi-amd64 installiert. Falls dieser Schritt fehlte oder scheiterte, das Proxmox-Installations-ISO im Rettungsmodus starten, das Root-Dateisystem einhängen, chroot aufrufen und apt-get install grub-efi-amd64 && update-grub ausführen." + }, + { + "title": "GUI wird nach dem Upgrade nicht geladen", + "bodyRich": "systemctl status pveproxy und systemctl restart pveproxy ausführen. Besteht das Problem weiter, den Fehler mit journalctl -u pveproxy -b untersuchen." + }, + { + "title": "Netzwerk funktioniert nicht nach dem Neustart", + "bodyRich": "Prüfen, ob /etc/network/interfaces vorhandene Geräte nennt und ifupdown2 installiert ist: apt install ifupdown2. Bei geänderten Gerätenamen siehe Persistente Schnittstellennamen." + }, + { + "title": "Split-Brain im Cluster nach dem Upgrade eines Knotens", + "bodyRich": "Gemischte Cluster mit PVE 8 und PVE 9 werden während des Upgrades unterstützt. Live-Migration von älteren zu neueren Versionen funktioniert; die Gegenrichtung wird grundsätzlich nicht unterstützt. Bei einem offline angezeigten Knoten corosync und die QDevice-/Netzkonfiguration prüfen. Mit pvecm status auf jedem Knoten das Quorum bestätigen." + } + ] + }, + "files": { + "heading": "Beteiligte Dateien", + "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": "Offizielle Quellen", + "intro": "Das manuelle Verfahren des Skripts folgt diesen offiziellen Quellen. Bei Zweifeln während eines Upgrades gilt das offizielle Wiki; ProxMenux unterstützt die Durchführung, maßgeblich ist Proxmox.", + "items": [ + { + "href": "https://pve.proxmox.com/wiki/Upgrade_from_8_to_9", + "title": "Upgrade von 8 auf 9", + "desc": "Die Haupt-Proxmox-Wikiseite für das 8 → 9 Upgrade. Quelle der Wahrheit für jeden Befehl im manuellen Verfahren oben." + }, + { + "href": "https://pve.proxmox.com/wiki/Ceph_Reef_to_Squid", + "title": "Upgrade auf Ceph Squid (19.x)", + "desc": "Erforderlicher Vorbereitungsschritt für hyperkonvergente Ceph-Knoten. Vor PVE 9 muss Ceph 19.x Squid laufen." + }, + { + "href": "https://pve.proxmox.com/wiki/Roadmap", + "title": "Proxmox VE Fahrplan", + "desc": "Neuerungen von PVE 9 gegenüber 8.x. Vor dem Upgrade lesen, um die Änderungen zu kennen." + }, + { + "href": "https://www.debian.org/releases/trixie/releasenotes", + "title": "Versionshinweise zu Debian Trixie", + "desc": "PVE 9 basiert auf Debian Trixie. Die Debian-Versionshinweise erläutern Änderungen am Betriebssystem, die auch Ihren Host betreffen." + }, + { + "href": "https://forum.proxmox.com/forums/proxmox-ve-installation-and-configuration.16/", + "title": "Proxmox VE Installationsforum", + "desc": "Bei Problemen während des Upgrades zuerst dieses Forum durchsuchen. Möglicherweise ist das gleiche Problem bereits beschrieben." + }, + { + "href": "https://pve.proxmox.com/wiki/Backup_and_Restore", + "title": "Backup und Restore", + "desc": "Ein Major-Version-Upgrade ist nicht reversibel. Überprüfen Sie Ihre Backup-Disziplin vor dem Start." + } + ] + }, + "video": { + "heading": "Videoanleitung", + "intro": "Bevor Sie das Upgrade Ende-zu-Ende laufen sehen, bevor Sie es selbst tun? Dieser Walkthrough zeigt den ProxMenux Upgrade-Flow in Echtzeit.", + "title": "ProxMenux — Videoanleitung zum Upgrade von Proxmox VE 8 auf 9", + "caption": "Externes YouTube-Video. Wiedergabe im erweiterten Datenschutzmodus; Cookies erst nach dem Start der Wiedergabe." + }, + "related": { + "heading": "Verwandte Themen", + "items": [ + { + "href": "/docs/utils/system-update", + "label": "Proxmox-Systemupdate", + "tail": " — für reguläre Aktualisierungen innerhalb einer Hauptversion (8.4.1 → 8.4.5 usw.)." + }, + { + "href": "/docs/utils", + "label": "Übersicht der Dienstprogramme", + "tail": " — zurück zur Abschnittsübersicht." + } + ] + } +} diff --git a/web/messages/de/docs/utils/uup-dump-iso-creator.json b/web/messages/de/docs/utils/uup-dump-iso-creator.json new file mode 100644 index 00000000..b0f7b959 --- /dev/null +++ b/web/messages/de/docs/utils/uup-dump-iso-creator.json @@ -0,0 +1,161 @@ +{ + "meta": { + "title": "UUP-Dump-ISO-Erstellung | ProxMenux-Dokumentation", + "description": "Erstellen Sie mit der ProxMenux-UUP-Dump-ISO-Erstellung eine aktuelle Windows-Installations-ISO auf Ihrem Proxmox-Host. Installation der Abhängigkeiten, Download und Umwandlung der UUP-Dateien in eine bootfähige ISO für die VM-Erstellung werden automatisiert.", + "ogTitle": "UUP-Dump-ISO-Erstellung | ProxMenux-Dokumentation", + "ogDescription": "Erstellen Sie mit ProxMenux eine aktuelle Windows-ISO aus UUP Dump. Abhängigkeiten, Download und Umwandlung werden vollständig automatisiert.", + "ogImageAlt": "ProxMenux — UUP-Dump-ISO-Erstellung" + }, + "header": { + "title": "UUP-Dump-ISO-Erstellung", + "description": "Erstellen Sie mit UUP Dump eine aktuelle Windows-Installations-ISO auf Ihrem Proxmox-Host. ProxMenux verwaltet die Abhängigkeiten, lädt UUP-Dateien parallel herunter, führt den UUP-Dump-Konverter aus und verschiebt die ISO in das gewählte Ausgabeverzeichnis. Voreingestellt ist der erkannte Proxmox-ISO-Speicher.", + "section": "Dienstprogramme" + }, + "intro": { + "title": "Was dieses Skript macht", + "body": "Geben Sie eine von uupdump.net nach Auswahl von Build, Sprache und Edition erzeugte URL an. Das Skript installiert fehlende Abhängigkeiten, lädt den UUP-Dump-Konverter und die UUP-Dateien herunter, erstellt eine bootfähige Windows-ISO und verschiebt sie in das gewählte Ausgabeverzeichnis. Als Standardziel wird der erkannte Proxmox-ISO-Speicher angeboten." + }, + "hero": { + "imageAlt": "UUP Dump ISO Creator Eintrag in ProxMenux", + "caption": "UUP Dump ISO Creator Eintrag in ProxMenux" + }, + "what": { + "heading": "Was ist UUP Dump?", + "intro": "UUP Dump ist ein Community-Dienst zum Herunterladen der ursprünglichen Unified-Update-Platform-Dateien (UUP), mit denen Windows Update Windows bereitstellt. Daraus lässt sich eine normale bootfähige ISO erstellen. So erhalten Sie:", + "items": [ + "Der neueste Windows-Build (einschließlich Insider Preview-Kanäle).", + "Ein spezifischer historischer Build, der nicht mehr auf der Download-Seite von Microsoft aufgeführt ist.", + "Saubere, unveränderte Dateien, die direkt von den Servern von Microsoft stammen.", + "Die genaue Kombination von Editionen und Sprachen, die Sie in einer einzigen ISO wünschen." + ], + "learnMore": "Erfahren Sie mehr auf der UUP Dump Projektseite." + }, + "automates": { + "heading": "Was das Skript automatisiert" + }, + "dependencies": { + "heading": "Abhängigkeiten", + "intro": "Das erste, was das Skript tut, ist die Suche nach den Tools, die zum Herunterladen von UUP-Nutzlasten und zum Zusammenbauen der ISO erforderlich sind. Alle, die fehlen, werden mit apt-get installiert:", + "headerPackage": "Paket", + "headerRole": "Rolle", + "rows": [ + { + "pkg": "curl", + "roleRich": "HTTP-Downloads für den Start des Konverters." + }, + { + "pkg": "aria2", + "roleRich": "Paralleler Downloader für alle UUP-Dateien." + }, + { + "pkg": "cabextract", + "roleRich": "Extrahiert Microsoft CAB-Pakete." + }, + { + "pkg": "wimtools", + "roleRich": "Erstellt install.wim (wimlib-imagex)." + }, + { + "pkg": "genisoimage", + "roleRich": "Schreibt die endgültige bootfähige ISO (oder mkisofs)." + }, + { + "pkg": "chntpw", + "roleRich": "Passt Windows-Registrierungsstrukturen während der Erstellung an." + } + ], + "manualIntro": "Manuelles Äquivalent - wenn Sie sie jemals selbst installieren müssen:", + "manualCode": "apt-get install curl aria2 cabextract wimtools genisoimage chntpw" + }, + "flow": { + "heading": "Download und Konvertierung", + "steps": [ + "Erkennt den Proxmox ISO-Speicher (über pvesm status -content iso) oder fällt auf /var/lib/vz/template/iso zurück.", + "Bittet um einen Basisordner für temporäre Dateien (Standard /root/uup-temp).", + "Lädt den UUP-Dump-Konverter von git.uupdump.net herunter.", + "Liest id, pack und edition aus der eingefügten URL.", + "Ruft https://uupdump.net/get.php?…&aria2=2 auf, um eine aria2-Downloadliste zu erstellen.", + "Lädt alle UUP-Dateien mit aria2 nach UUPs/ herunter, parallel und fortsetzbar.", + "Führt convert.sh wim UUPs 1 aus dem Konverter aus, um die fertige ISO zu erstellen.", + "Verschiebt die ISO in das gewählte Ausgabeverzeichnis und entfernt temporäre Dateien." + ] + }, + "aria2": { + "heading": "Verwendete aria2-Downloadoptionen", + "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": [ + "-x16 — bis zu 16 Verbindungen pro Server.", + "-s16 — teilt jede Datei in 16 Segmente.", + "-j5 — 5 Dateien, die parallel heruntergeladen wurden.", + "-c — nimmt teilweise Downloads wieder auf.", + "-R — übernimmt den Zeitstempel der entfernten Datei für die heruntergeladene Datei, falls verfügbar." + ], + "runtime": "Die typische Laufzeit beträgt etwa 10 Minuten und hängt vor allem von der Internetgeschwindigkeit und der Auslastung der UUP-Dump-Downloadserver ab." + }, + "step1": { + "heading": "Schritt 1 · Erhalten Sie eine UUP Dump URL", + "intro": "Bevor Sie das Skript ausführen, benötigen Sie eine UUP-Dump-URL, die die Abfrageparameter id, pack und edition enthält. Generieren Sie es auf uupdump.net:", + "stepBadge": "Schritt", + "items": [ + { + "title": "Wählen Sie eine Windows-Version", + "img": "/iso-creator/step-1-select-version-windows.png", + "caption": "UUP Dump Hauptseite - Wählen Sie eine Windows-Version", + "body": "Öffnen Sie die UUP Dump-Homepage und wählen Sie die gewünschte Windows-Version aus." + }, + { + "title": "Wählen Sie einen bestimmten Build", + "img": "/iso-creator/step-2-select-version-windows.png", + "caption": "Wählen Sie einen bestimmten Build", + "body": "Wählen Sie den gewünschten Build: den neuesten, einen aus einem Insider-Preview-Kanal oder einen noch aufgeführten älteren Build." + }, + { + "title": "Wählen Sie eine Sprache", + "img": "/iso-creator/step-3-select-version-windows.png", + "caption": "Wählen Sie eine Sprache", + "body": "Wählen Sie die Sprache für die ISO." + }, + { + "title": "Editionen auswählen", + "img": "/iso-creator/step-4-select-version-windows.png", + "caption": "Wählen Sie die aufzunehmenden Editionen", + "body": "Wählen Sie die Editionen aus, um sie in die ISO zu bündeln (Home, Pro, Enterprise, ...). Sie können mehrere kombinieren." + }, + { + "title": "Kopieren der URL", + "img": "/iso-creator/step-5-select-version-windows.png", + "caption": "Kopieren der URL aus der Adressleiste", + "bodyRich": "Kopieren Sie auf der letzten Seite die URL aus der Adressleiste des Browsers. Sie muss id=…, pack=… und edition=… enthalten. Das Skript liest diese Zeichenfolge aus." + } + ] + }, + "step2": { + "heading": "Schritt 2 · ISO-Erstellung starten", + "intro": "Mit der URL in der Hand, öffnen Sie ProxMenux und starten Sie den Creator:", + "stepBadge": "Schritt", + "items": [ + { + "title": "Starten Sie UUP Dump ISO Creator", + "img": "/iso-creator/start-uupdump-iso-creator.png", + "caption": "Starten Sie UUP Dump ISO Creator von ProxMenux", + "bodyRich": "Öffnen Sie in ProxMenux Utilities → UUP Dump ISO Creator. Das Skript prüft vor der Eingabeaufforderung die Abhängigkeiten und das ISO-Speicherverzeichnis." + }, + { + "title": "Fügen Sie die UUP Dump URL ein", + "img": "/iso-creator/add-url-iso-creator.png", + "caption": "Fügen Sie die von uupdump.net kopierte URL ein", + "body": "Fügen Sie die URL in den Eingabedialog ein. Das Skript bestätigt, dass die drei erforderlichen Parameter vorhanden sind; wenn eines fehlt, wird es sauber abgebrochen." + }, + { + "title": "Warten Sie, bis der Build fertig ist", + "img": "/iso-creator/end-uupdump-iso-creator.png", + "caption": "Build fertig - ISO ist bereit im Proxmox ISO-Speicher", + "bodyRich": "Die Konsole zeigt den aria2-Fortschritt und anschließend die Ausgabe des Konverters. Die fertige ISO wird in das gewählte Ausgabeverzeichnis verschoben. Liegt sie in einem konfigurierten Proxmox-ISO-Speicher, lässt sie sich unter Create VM → System Windows → Install with ISO from UUP Dump auswählen." + } + ] + }, + "tempFiles": { + "title": "Temporäre Dateien", + "body": "Der temporäre Standardordner ist /root/uup-temp. Downloads liegen in UUPs/, der Konverter in converter/. Bei einem eigenen Basispfad wird ein separates Sitzungsunterverzeichnis angelegt. Nach erfolgreicher Erstellung oder im Zweig ohne erzeugte ISO wird die temporäre Sitzung entfernt. Bei früheren Fehlern oder einem Abbruch können temporäre Dateien zurückbleiben." + } +} diff --git a/web/messages/en/docs/utils/export-vm.json b/web/messages/en/docs/utils/export-vm.json index 66659468..86f3ee68 100644 --- a/web/messages/en/docs/utils/export-vm.json +++ b/web/messages/en/docs/utils/export-vm.json @@ -46,7 +46,7 @@ { "format": "OVF", "output": "name-vmid-ts-ovf/", - "pros": "~120% disk overhead. Easier to inspect (descriptor is plain XML). Can edit before importing.", + "pros": "~120% of virtual disk size. Easier to inspect (descriptor is plain XML). Can edit before importing.", "cons": "Multiple files — must transfer all of them together." } ] @@ -55,7 +55,7 @@ "heading": "Destination directory", "body": "Pick from presets (/var/lib/vz/dump, /var/lib/vz/template/iso) or enter a manual path. The script validates the directory is writeable and warns if free space looks tight before starting.", "calloutTitle": "Free space rule of thumb", - "calloutBody": "For an OVF export of a VM with disks totalling 100 GB virtual: budget ~120 GB free. For an OVA: budget ~220 GB. Sparse / mostly-empty disks may use less, but the conversion writes them out fully before the OVA TAR step compresses anything. If you run out of space mid-export, the temp directory is cleaned up by the EXIT trap and you start over." + "calloutBody": "For an OVF export of a VM with disks totalling 100 GB virtual: budget ~120 GB free. For an OVA: budget ~220 GB. Actual usage may be lower for mostly-empty disks. The OVA archive is created with uncompressed TAR while the temporary VMDK files still exist, so allow space for both. If you run out of space mid-export, the temp directory is cleaned up by the EXIT trap and you start over." }, "package": { "heading": "What ends up in the package", @@ -120,8 +120,8 @@ "noSpaceBody": "Destination ran out of space. The temp directory is auto-cleaned by the EXIT trap. Pick a destination with more headroom (rule of thumb above) and re-run.", "unsupportedHwTitle": "Export completes but VMware refuses to import: \"Unsupported hardware family\"", "unsupportedHwBody": "Some ESXi versions reject OVF descriptors that declare a hardware family they don't recognise. Open the .ovf in a text editor (or extract the .ova first), find <vssd:VirtualSystemType> and edit it to a value ESXi accepts (e.g. vmx-13 for ESXi 6.5+). For a quick workaround, try VirtualBox — it's more permissive.", - "nicTitle": "Imported VM in VMware has e1000 NIC but I want VirtIO", - "nicBody": "Expected — the OVF only stores the NIC count, not the model. Edit the imported VM's NIC settings in VMware after import. Same applies for SCSI controller (export uses lsilogic for VMware compatibility; change to VirtIO SCSI if your guest supports it).", + "nicTitle": "Imported VM uses a different NIC or SCSI controller", + "nicBody": "The OVF preserves the NIC count, not the original model. Review the imported VM’s network settings in the destination hypervisor. The export declares an lsilogic SCSI controller for VMware compatibility. When importing back into Proxmox, you can select VirtIO SCSI if the guest has suitable drivers.", "runningTitle": "VM was running and I declined to stop it — export aborted", "runningBody": "The script can't produce a consistent image while disks are being written. Either accept the shutdown prompt next time, or stop the VM manually first (qm shutdown $VMID) and re-run.", "slowTitle": "Disk conversion is slow", diff --git a/web/messages/en/docs/utils/import-vm.json b/web/messages/en/docs/utils/import-vm.json index 66637d61..4075942c 100644 --- a/web/messages/en/docs/utils/import-vm.json +++ b/web/messages/en/docs/utils/import-vm.json @@ -40,7 +40,7 @@ }, { "label": "qm create + importdisk", - "detail": "qm create $VMID\nqm importdisk\n(VMDK → qcow2)\nqm set --scsiN", + "detail": "qm create $VMID\nqm importdisk\n(VMDK → storage format)\nqm set --scsiN", "variant": "target" } ] @@ -86,7 +86,7 @@ }, "memWarn": { "title": "Memory unit ambiguity", - "body": "The parser assumes MiB. If the OVF declares memory in GB (e.g. some VMware exports do), the imported VM will have 1/1024th of the intended RAM. After import, double-check qm config $VMID | grep memory against the source VM's documented RAM and adjust with qm set $VMID --memory <MiB> if it's off by a factor of 1024 or 1024²." + "body": "The parser normalizes recognized memory units to MiB, including bytes, KiB, MiB, GiB and supported textual labels. Missing or unrecognized units are treated as MiB. After import, compare qm config $VMID | grep memory with the source VM’s documented RAM and, if needed, correct it using qm set $VMID --memory <MiB>." }, "dialog": { "heading": "Import dialog flow", @@ -108,7 +108,7 @@ "heading": "Disk import loop", "intro": "For each disk reference in the OVF:", "items": [ - "qm importdisk $VMID $disk_path $STORAGE — converts the VMDK to the storage-native format (e.g. qcow2 on local-lvm, raw on ZFS) and creates an unusedN: entry in the VM config.", + "qm importdisk $VMID $disk_path $STORAGE — imports the disk in a format supported by the target storage and creates an unusedN: entry in the VM configuration.", "The script greps the config for the just-created unusedN reference.", "qm set $VMID --scsiN $unused_disk — attaches the disk as scsi0, scsi1, …", "qm set $VMID --delete unusedN — clears the now-redundant unused marker." @@ -175,11 +175,11 @@ "troubleshoot": { "heading": "Troubleshooting", "orphanTitle": "VM was created but disk import failed — orphan VM left behind", - "orphanIntro": "Known limitation. The script doesn't auto-clean a partial import. Destroy the orphan with:", + "orphanIntro": "When an import fails, the script offers to remove the partial VM and its imported disks. If you declined, or automatic deletion failed, inspect the VM and remove it manually with:", "orphanCode": "qm destroy $VMID --destroy-unreferenced-disks 1", "orphanOutro": "Then fix the underlying cause (likely disk space on the target storage) and re-import.", "memTitle": "Imported VM has 8 MB of RAM (or 8 TB)", - "memIntro": "Memory unit ambiguity in the OVF parser. Off by a factor of 1024 → OVF used GB instead of MiB. Fix:", + "memIntro": "The parser converts recognized AllocationUnits to MiB. Missing or unsupported units are treated as MiB, so inspect the OVF and compare the imported setting with the source VM. Correct the memory if necessary:", "memCode": "qm set $VMID --memory 8192 # 8 GiB", "bootTitle": "Imported VM doesn't boot — \"No bootable device\"", "bootIntro": "Most common cause: BIOS / UEFI mismatch. The VM was UEFI but Proxmox created it as BIOS. Set the matching firmware:", @@ -188,7 +188,7 @@ "bsodTitle": "VMware-exported Windows VM imports but BSODs on first boot", "bsodBody": "Windows is sensitive to disk controller changes. Either: (a) install VirtIO drivers before exporting from VMware, or (b) keep the SCSI controller as lsi (the default) and only switch to VirtIO SCSI after the guest boots and you can install the VirtIO drivers in Windows.", "zeroTitle": "OVF parser reports 0 disks", - "zeroBody": "The OVF descriptor uses an unusual disk reference style. Open the .ovf in a text editor and confirm each disk has a <File ovf:href=\"...vmdk\" ...> entry. If the file extension is unusual (e.g. just .dat), rename it to .vmdk and update the OVF reference, then re-run.", + "zeroBody": "The OVF descriptor may use a disk reference style the parser does not recognize. Open the .ovf and look for each disk’s <File ovf:href=\"...vmdk\" ...> entry. If a disk really is VMDK but has an unusual extension such as .dat, rename it to .vmdk and update the OVF reference. Renaming does not convert a disk’s format.", "awkTitle": "awk: syntax error at or near , — parser fails on every OVA / OVF", "awkIntro": "The OVF parser uses gawk-specific syntax (3-argument match()) which mawk — the default awk on Debian / Proxmox — does not support. Recent versions of the script auto-install gawk on first use via the canonical ensure_repositories + install_single_package pair; if you're running an older copy, install it manually:", "awkCode": "apt-get install -y gawk", diff --git a/web/messages/en/docs/utils/index.json b/web/messages/en/docs/utils/index.json index 43c9340e..5df186a9 100644 --- a/web/messages/en/docs/utils/index.json +++ b/web/messages/en/docs/utils/index.json @@ -37,7 +37,7 @@ "title": "System maintenance", "body": "Keep the host healthy: CLI tooling, regular updates, and the major-version upgrade when it's time.", "bullets": [ - "System Utilities Installer (26 CLI tools)", + "System Utilities Installer (25 CLI tools)", "Proxmox System Update (apt + dist-upgrade)", "PVE 8 → PVE 9 major upgrade" ] @@ -73,7 +73,7 @@ "options": [ { "title": "System Utilities Installer", - "description": "Curated picker for 26 CLI tools (htop, btop, iperf3, jq, tmux, ncdu, ...) with custom selection or predefined groups (basic, dev, compression, multiplexers, analysis, network). Uses the canonical repo + verify-command flow.", + "description": "Curated picker for 25 CLI tools (htop, btop, iperf3, jq, tmux, ncdu, ...) with custom selection or predefined groups (basic, dev, compression, multiplexers, analysis, network). Uses the canonical repo + verify-command flow.", "href": "/docs/utils/system-utils" }, { @@ -106,10 +106,10 @@ }, "diskSpaceCallout": { "title": "A note on disk space for export / import", - "body": "Both tools convert disk formats: export uses qemu-img convert -O vmdk -o subformat=streamOptimized; import uses qm importdisk to convert back to the storage-native format (qcow2 / raw). Plan for ~120% of virtual disk size for OVF and ~220% for OVA — the conversion writes the full disk before any compression. Check the destination directory has the headroom before you start." + "body": "Both tools convert disk formats: export uses qemu-img convert -O vmdk -o subformat=streamOptimized; import uses qm importdisk to convert back to the storage-native format (qcow2 / raw). For export, plan for ~120% of virtual disk size for OVF and ~220% for OVA. The OVA archive uses uncompressed TAR and is created while the temporary VMDK files still exist. Check the destination directory has the headroom before you start." }, "fitsTogether": { "heading": "How the menu fits together", - "body": "Each tool has a dedicated script under scripts/utilities/. The Proxmox System Update is a wrapper that delegates to one of two worker scripts in scripts/global/ depending on the detected major version (PVE 8 or PVE 9). The PVE 8 → 9 upgrade exposes two extra menu actions inside its own flow — a stand-alone Pre-upgrade check (runs pve8to9 --full) and a read-only Manual upgrade guide (17-step runbook) — for users who want to inspect or operate by hand instead of the automated path." + "body": "Each tool has a dedicated script under scripts/utilities/. Proxmox System Update calls one safe worker in scripts/global/, update-pve-safe.sh, which detects the major version and handles both PVE 8 and PVE 9. The PVE 8 → 9 upgrade offers two extra actions in its own menu: a stand-alone Pre-upgrade check (runs pve8to9 --full) and a read-only Manual upgrade guide (17-step runbook), for users who want to inspect the process or carry it out by hand." } } diff --git a/web/messages/en/docs/utils/system-update.json b/web/messages/en/docs/utils/system-update.json index 38672793..dffc2bca 100644 --- a/web/messages/en/docs/utils/system-update.json +++ b/web/messages/en/docs/utils/system-update.json @@ -1,13 +1,13 @@ { "meta": { "title": "Proxmox System Update | ProxMenux Documentation", - "description": "Runs the official Proxmox upgrade sequence (apt update + apt full-upgrade -y) and adds the repo hygiene, essential-package check, LVM sanity scan, autoremove/autoclean and reboot prompt that the upgrade guide also recommends. Detects the running major version automatically.", + "description": "Updates packages within the current Proxmox major version with apt-get update and apt full-upgrade -y. Checks disk space and configured repositories, attempts GPG key recovery, checks and repairs old LVM PV headers, rebuilds managed DKMS drivers when needed, runs autoremove/autoclean and offers a reboot when required.", "ogTitle": "Proxmox System Update | ProxMenux Documentation", - "ogDescription": "Official apt full-upgrade / dist-upgrade wrapped with repo hygiene, autoremove and a smart reboot prompt." + "ogDescription": "apt full-upgrade with repository checks, autoremove/autoclean and a reboot prompt when required." }, "header": { "title": "Proxmox System Update", - "description": "Wrapper that delegates to a single safe worker (update-pve-safe.sh) which detects the running Proxmox major version by itself. The configured repositories are read through the Proxmox API and kept as they are; a host with no active subscription whose only Proxmox repository is Enterprise is asked before switching to no-subscription. All packages are upgraded, ProxMenux-managed DKMS drivers are rebuilt if a new kernel landed, and the reboot prompt fires only when the kernel actually changed. Also launchable from the Update Now button in the ProxMenux Monitor dashboard header when pending updates are detected.", + "description": "Delegates to a single worker (update-pve-safe.sh) that detects the running Proxmox major version. Configured repositories are read through the Proxmox API and preserved; an unsubscribed host with only Enterprise is asked before switching to no-subscription. The worker upgrades packages and rebuilds ProxMenux-managed DKMS drivers for a staged kernel. The wrapper offers a reboot when the system reboot marker exists or the newest installed kernel differs from the running kernel. Also available from Update Now in the ProxMenux Monitor header when pending updates are detected.", "section": "Utilities" }, "calloutWhat": { @@ -22,25 +22,25 @@ }, "onTop": { "heading": "What ProxMenux runs on top — verified against the script", - "intro": "This option runs exactly the apt command above, wrapped with the repo hygiene, DKMS rebuild for ProxMenux-managed drivers and post-upgrade cleanup the official upgrade guide also recommends. Everything below maps 1:1 to scripts/utilities/proxmox_update.sh and the single safe worker scripts/global/update-pve-safe.sh — nothing implied, every step is in the code:", + "intro": "Uses the same apt full-upgrade operation, with repository checks, DKMS rebuilding and post-update cleanup. The steps below correspond to scripts/utilities/proxmox_update.sh and its single worker scripts/global/update-pve-safe.sh:", "items": [ - "Detects the PVE major version from inside the worker (pveversion | grep -oP ''pve-manager/\\K[0-9]+'') and adapts the base Proxmox / Debian repo URLs (bookworm on PVE 8, trixie on PVE 9). There is no fan-out to per-version worker scripts — a single safe worker handles both.", + "Detects the PVE major version inside the worker (pveversion | grep -oP ''pve-manager/\\K[0-9]+''). A single worker handles PVE 8 and PVE 9; configured repositories are preserved unless an unsubscribed host accepts the offered switch.", "Keeps the configured repositories. ensure_repositories reads the repositories through the Proxmox repository API, together with the subscription status. A host with an active subscription, or one that already uses the no-subscription or test repository, is left unchanged. A host with no active subscription whose only Proxmox repository is Enterprise is asked whether to switch to no-subscription; declining stops the update with no source changed.", - "Runs the upgrade non-interactively with DEBIAN_FRONTEND=noninteractive and --force-confdef --force-confold — if a configuration file you already modified also changed upstream, your version stays in place. No silent overwrites of custom configs.", + "Runs the upgrade non-interactively with DEBIAN_FRONTEND=noninteractive and --force-confdef --force-confold. For dpkg conffile decisions, it accepts the default action when one exists; otherwise it keeps the existing configuration file.", "Skips forcing optional utilities. The safe worker does not push zfsutils-linux, chrony, ifupdown2 or similar packages onto the host — a Proxmox install that opted out of any of them keeps its choice. Missing packages are surfaced by the higher-level installer flows, not by the update path.", - "LVM metadata sanity check against stray PV headers from passthrough disks (warn-only, no automatic fix).", + "LVM metadata check and repair. Detects old PV headers and runs vgck --updatemetadata and vgchange -ay for the affected volume groups. This can change LVM metadata; it is not a warning-only scan.", "Cleans up afterwards: apt-get autoremove -y + apt-get autoclean -y.", - "DKMS rebuild before the reboot prompt. When the upgrade staged a new kernel, the wrapper calls pmx_rebuild_dkms_after_kernel to rebuild every driver that ProxMenux installed via DKMS against the incoming kernel version — so the modules are ready before the box comes back up. Reboot detection uses /var/run/reboot-required when needrestart is present, and falls back to a dpkg-query comparison between the running kernel and the newest installed proxmox-kernel-*-pve-signed / pve-kernel-*-pve package when it isn't — a signal that survives the many Proxmox hosts that ship without needrestart." + "DKMS rebuild before the reboot prompt. The worker calls pmx_rebuild_dkms_after_kernel when a newer installed kernel is staged. The wrapper checks /var/run/reboot-required and also uses dpkg-query to compare the kernel reported by uname -r with the newest installed proxmox-kernel-*-pve-signed / pve-kernel-*-pve package. The marker may be absent on hosts without needrestart; the kernel comparison still works in that case." ] }, "calloutOneSentence": { "title": "In one sentence", - "body": "Same upgrade Proxmox tells you to run, plus the repo cleanup, the essential-package check, the LVM sanity scan, the autoremove/autoclean afterwards, and a reboot prompt only when it matters." + "body": "Updates host packages, preserves configured repositories unless you accept a switch, checks LVM metadata, rebuilds managed DKMS drivers, cleans up with autoremove/autoclean and offers a reboot when needed." }, "confirm": { "heading": "Confirmation dialog", "intro": "Selecting the option opens a summary of what the worker will do, requiring an explicit confirmation:", - "imageAlt": "Proxmox System Update confirmation dialog listing repo hygiene, package updates, cleanup" + "imageAlt": "Proxmox System Update confirmation dialog with repository checks, package updates and cleanup" }, "routes": { "heading": "How the wrapper routes", @@ -61,14 +61,14 @@ }, "worker": { "heading": "What the worker does", - "intro": "A single worker (scripts/global/update-pve-safe.sh) handles both PVE 8 and PVE 9. It detects the major version internally and uses the version-appropriate codename (bookworm or trixie) for its base sources. The stages are:", + "intro": "One worker (scripts/global/update-pve-safe.sh) handles PVE 8 (bookworm) and PVE 9 (trixie). It detects the major version internally and checks the existing repository configuration without rewriting the Debian base sources. The stages are:", "items": [ "Sanity checks. Verifies at least ~1 GB free in /var/cache/apt/archives. Aborts early with a clear message when it fails, so the run doesn't die in the middle of an apt transaction.", "Repository check. ensure_repositories reads the repositories and the subscription status. On a host with a usable Proxmox repository it changes nothing; on a host with no active subscription and only the Enterprise repository it asks before switching to no-subscription, and stops the update when the answer is no.", "Apt update with GPG auto-recovery. On NO_PUBKEY for any repo (yours or a third-party one) the worker imports the missing key and retries automatically before failing.", "Pending upgrades + security count. Reports how many packages will change and how many of those come from the security suite, so the confirmation dialog has real numbers to show.", - "Confirmation dialog. The wrapper asks for an explicit yes before touching apt.", - "apt full-upgrade. Runs with DEBIAN_FRONTEND=noninteractive and --force-confdef --force-confold so any configuration file you customised keeps its current contents when upstream also changed it. Never overwrites operator-edited configs silently.", + "Confirmation dialog. After refreshing package lists, the worker asks for an explicit yes before running the package upgrade.", + "apt full-upgrade. Uses DEBIAN_FRONTEND=noninteractive and --force-confdef --force-confold. Dpkg follows its default action for conffile decisions when available and otherwise retains the existing file.", "LVM sanity check. lvm_repair_check refreshes VG metadata when disks passed through to guest VMs (DSM, TrueNAS, storage appliances) come back with old PV headers.", "DKMS rebuild for ProxMenux-managed drivers. When the upgrade staged a new kernel, pmx_rebuild_dkms_after_kernel reads components_status.json for the drivers ProxMenux installed (currently nvidia_driver → module nvidia, coral_driver → module gasket), installs the matching kernel headers (proxmox-headers-<newkver> when available, else pve-headers-<newkver>) and runs dkms autoinstall -k <newkver>. If dkms status then doesn't show the modules built against the new kernel, the worker falls back to re-running each installer with --auto-reinstall. Any failure is logged but does not abort the update — you land on the reboot prompt in every case.", "Post-cleanup. apt-get autoremove + apt-get autoclean before returning control to the wrapper." @@ -78,21 +78,21 @@ "heading": "Post-update cleanup & reboot", "intro": "After the worker exits, the wrapper runs:", "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": "Then it checks whether a reboot is needed. Two signals trigger the prompt:", + "afterCode": "The wrapper also checks whether a reboot is needed. Either of these signals triggers the prompt:", "items": [ - "/var/run/reboot-required exists (created by the kernel package post-install hook)", - "The update log contains linux-image entries (kernel was actually upgraded)" + "/var/run/reboot-required exists: a package or system tool has marked the host as needing a reboot.", + "The newest installed Proxmox kernel package differs from the running kernel, as determined by dpkg-query and uname -r." ], "outro": "If either is true, a whiptail dialog asks \"Some changes require a reboot to take effect. Do you want to restart now?\". Decline to keep running on the old kernel until you choose to reboot manually (e.g. during a planned maintenance window)." }, "end": { "heading": "What you see at the end", - "intro": "When the worker finishes, the terminal shows the cleanup output and (if the kernel changed) the reboot prompt:", + "intro": "When the worker finishes, the terminal shows the cleanup output and, if a reboot is required, the reboot prompt:", "imageAlt": "Proxmox System Update completion summary with cleanup output and reboot prompt" }, "calloutDeclineReboot": { "title": "Decline reboot only if you know why", - "body": "Running on an old kernel after upgrading linux-image-* means you're on a half-upgraded system: userspace is new, kernel is old. Most of the time things work, but ZFS modules, IOMMU groups, KSMBD and any out-of-tree drivers will only match the kernel they were built for — a mismatch produces obscure failures. Reboot at the earliest sensible moment." + "body": "Installing a new proxmox-kernel-* package does not replace the running kernel until you reboot. The new kernel and its matching modules become active on the next boot. Plan the reboot for a suitable maintenance window, and review any DKMS build warnings beforehand." }, "noSub": { "heading": "How the safe worker treats the Enterprise repository", @@ -117,7 +117,7 @@ "Major-version upgrade. 8 → 9 is a separate operation — see Upgrade PVE 8 to PVE 9.", "Backup. No snapshots, no rollback. Apt operations are not transactional. Combine with your normal backup discipline (PBS, vzdump, ZFS snapshots).", "Container / VM updates. Only the host is upgraded; guests are left alone.", - "Firmware updates. CPU microcode, NIC firmware, BIOS — out of scope." + "Dedicated firmware flashing. This is not a BIOS or device-firmware flashing tool. Installed firmware or CPU-microcode packages can still receive updates through apt." ] }, "troubleshooting": { @@ -129,15 +129,15 @@ }, { "title": "dist-upgrade hangs at \"Configuring grub-pc\"", - "body": "A dpkg prompt is asking which device(s) to install GRUB to. The wrapper passes --force-confold for config files but boot-loader install is a separate prompt. Use Tab + Space to select all your boot disks, then OK. Best avoided by selecting the boot disks once with dpkg-reconfigure grub-pc beforehand." + "body": "If an interactive GRUB prompt is visible, it asks which devices should receive the boot loader. The --force-confold option applies to configuration-file decisions, not to this device selection. Use Tab + Space to select the appropriate boot disks, then OK. You can configure this selection beforehand with dpkg-reconfigure grub-pc." }, { "title": "Kernel upgraded but the new modules are missing for an out-of-tree driver", - "body": "The drivers ProxMenux installed via DKMS (currently nvidia_driver and coral_driver) are rebuilt automatically at the end of the upgrade against the incoming kernel version, using dkms autoinstall -k <newkver> and, when needed, a fallback to each installer with --auto-reinstall. Confirm with dkms status. Third-party out-of-tree modules that aren't in ProxMenux's components_status.json registry (custom NIC drivers, hand-installed DKMS packages, …) still need a manual dkms autoinstall — the safe worker only touches what it originally installed." + "body": "For managed drivers (nvidia_driver and coral_driver), the helper runs dkms autoinstall -k <newkver> and can retry their installers with --auto-reinstall. Check the result with dkms status. The autoinstall command can also rebuild other registered DKMS modules; the installer fallback is limited to the managed entries in components_status.json. Inspect any third-party module that remains missing and rebuild it as needed with dkms autoinstall." }, { "title": "The reboot prompt didn't appear but I'm sure the kernel changed", - "body": "Two signals must agree (/var/run/reboot-required and linux-image in the upgrade log). If the marker file was cleared but the log is being parsed wrong, reboot manually with shutdown -r now. To confirm a kernel upgrade happened: grep linux-image /var/log/apt/history.log." + "body": "The signals are alternatives: /var/run/reboot-required or a difference between the running and newest installed Proxmox kernel. The wrapper does not parse linux-image entries in the apt log. Check the running version with uname -r and the installed kernel packages with dpkg-query. If a reboot is needed, schedule it or run shutdown -r now when ready." } ] }, diff --git a/web/messages/en/docs/utils/system-utils.json b/web/messages/en/docs/utils/system-utils.json index a31ecaa0..0dbcc67d 100644 --- a/web/messages/en/docs/utils/system-utils.json +++ b/web/messages/en/docs/utils/system-utils.json @@ -1,18 +1,18 @@ { "meta": { "title": "System Utilities Installer | ProxMenux Documentation", - "description": "Curated installer for 26 CLI utilities (htop, btop, iperf3, jq, tmux, ncdu, ...) on Proxmox VE. Custom selection or predefined groups (basic, dev, compression, multiplexers, analysis, network). Uses the canonical ensure_repositories + install_single_package flow.", + "description": "CLI utility installer for Proxmox VE, with 25 packages in the canonical list (htop, btop, iperf3, tmux, ...). Custom selection, install-all and predefined groups (basic, development, compression, multiplexers, analysis, network). Groups can include additional packages. Uses ensure_repositories + install_single_package.", "ogTitle": "System Utilities Installer | ProxMenux Documentation", "ogDescription": "Install curated CLI tools on Proxmox VE with one click or custom selection." }, "header": { "title": "System Utilities Installer", - "description": "Curated picker for 26 CLI utilities defined in the canonical PROXMENUX_UTILS list. Offers custom selection, install-all, six predefined groups and a verify-installations check. Uses the shared ensure_repositories() + install_single_package() pair so repo configuration and per-package feedback stay consistent across the project.", + "description": "Picker for 25 CLI utilities in the canonical PROXMENUX_UTILS list. Offers custom selection, install-all, six predefined groups and an installation check. Groups can include tools outside the canonical list. Uses shared ensure_repositories() + install_single_package() helpers for consistent repository handling and per-package feedback.", "section": "Utilities" }, "info": { "title": "What this does", - "body": "Installs CLI tools from a curated list of 26 packages. Every installation goes through the same canonical flow: ensure_repositories checks that the host has a usable Proxmox repository for the running PVE major version, then install_single_package runs the install and verifies the resulting command is in PATH." + "body": "Installs CLI tools from a list of 25 packages. Every installation uses the same flow: ensure_repositories checks that the host has a usable Proxmox repository for the running PVE major version, then install_single_package installs the package and checks that its command is in PATH." }, "opening": { "heading": "Opening the installer", @@ -26,7 +26,7 @@ "rows": [ { "option": "1. Custom selection", - "behaviourRich": "Dialog checklist of all 26 packages. Use SPACE to toggle, ENTER to confirm; only the selected ones are installed." + "behaviourRich": "Checklist of all 25 packages. Use SPACE to toggle and ENTER to confirm; only the selected packages are installed." }, { "option": "2. Install ALL utilities", @@ -63,7 +63,7 @@ ] }, "packages": { - "heading": "The 26 packages", + "heading": "The 25 packages", "intro": "Defined in the shared scripts/global/utils-install-functions.sh as PROXMENUX_UTILS (format: package:verify_command:description). Other ProxMenux scripts (e.g. the network monitoring launchers for iftop / iptraf-ng / iperf3) reuse entries from this list so package + verify command stay in sync.", "headerPackage": "Package", "headerVerify": "Verify command", @@ -193,11 +193,6 @@ "package": "zip", "verify": "zip", "description": "Create ZIP files" - }, - { - "package": "libguestfs-tools", - "verify": "virt-filesystems", - "description": "VM disk utilities" } ] }, @@ -211,7 +206,7 @@ "verifyOutcomes": [ "0 (success): command available, package counted as Successful.", "1 (failed): apt failed, counted as Failed.", - "2 (warning): apt succeeded but command not yet in PATH (hash refresh pending) — counted as With warnings." + "2 (warning): apt succeeded but the expected command was not found in PATH — counted as With warnings." ], "summary": "At the end of a group / custom install, a summary dialog shows Successful / With warnings / Failed counts." }, @@ -226,7 +221,7 @@ "reposTitle": "\"Failed to configure repositories. Installation aborted.\"", "reposBody": "The repository check did not pass: the switch to the no-subscription repository was declined, the subscription status could not be read, or a repository entry needs attention. The message printed above it states the cause. The repositories are listed in Node → Updates → Repositories, and apt-get update from a console shows the error apt reports.", "warningsTitle": "A package is reported \"With warnings\" but the command works after I close the menu", - "warningsBody": "Expected. After apt-get install, the new binary is on disk but the current shell's PATH cache (hash -t) doesn't know yet. ProxMenux runs hash -r after each install, but in some shells the refresh only takes effect on the next prompt. Open a new shell and the command will work.", + "warningsBody": "After apt-get install, the helper runs hash -r, waits briefly and checks the expected command with command -v. A warning means that check still failed; it does not identify the cause. Try a new shell, then check the package installation and PATH if the command is still missing.", "hangsTitle": "An apt install hangs", "hangsBody": "Most likely a debconf prompt is blocked behind the silenced output. The script wraps all apt calls with DEBIAN_FRONTEND=noninteractive, which usually suppresses prompts, but a few packages still require user input. Cancel with Ctrl+C, run apt-get install -y <pkg> manually from a shell to see the prompt and decide." }, diff --git a/web/messages/en/docs/utils/upgrade-pve8-pve9.json b/web/messages/en/docs/utils/upgrade-pve8-pve9.json index 036df1e3..11953036 100644 --- a/web/messages/en/docs/utils/upgrade-pve8-pve9.json +++ b/web/messages/en/docs/utils/upgrade-pve8-pve9.json @@ -23,15 +23,15 @@ }, "modeMenu": { "heading": "The mode menu", - "intro": "Launching the option opens a 4-way menu. The first three are different ways to perform the upgrade (pick the one that matches your comfort level); the fourth is a diagnostic that verifies the host is ready without changing anything:", + "intro": "Launching the option opens a four-way menu: Automatic, Interactive, Pre-check and Manual guide. Three choices perform the upgrade or show how to do it; the separate pre-check verifies readiness and may offer repairs.", "imageAlt": "PVE 8 to 9 upgrade mode menu with Automatic, Interactive, Pre-check and Manual guide options" }, "threeWays": { "heading": "Three ways to upgrade", - "intro": "Same end state, different level of operator involvement. None of them lets you skip the pre-flight safeguards or the post-upgrade verification — the difference is purely how the dpkg prompts during dist-upgrade are handled and whether you watch each step or hand it all off.", + "intro": "Automatic and Interactive run the same upgrade flow, including pre-checks and post-upgrade verification. They differ in how dpkg prompts during dist-upgrade are handled. The Manual guide displays commands for you to run, including the checks; you are responsible for completing each step.", "auto": { "title": "Automatic / Unattended", - "summary": "One-shot. Sets ASSUME_YES=1 + DEBIAN_FRONTEND=noninteractive; dpkg config-file conflicts default to keep current (--force-confold).", + "summary": "Sets ASSUME_YES=1 + DEBIAN_FRONTEND=noninteractive. For modified configuration files, dpkg uses its default action when available; otherwise it will keep the current file (--force-confold).", "items": [ "Fastest — no waiting for prompts", "Best for vanilla installs without custom config files", @@ -59,7 +59,7 @@ }, "precheckCallout": { "title": "Plus a separate Pre-check", - "body": "Option 3 of the menu — Run PVE 8 to 9 check — is not an upgrade mode. It runs Proxmox's official pve8to9 --full and offers guided remediation for the common blocking issues, then stops. Use it before committing to any of the three upgrade modes above. It also runs automatically as part of every upgrade flow, so this stand-alone option is for early verification or for re-running after manual fixes." + "body": "Option 3 — Run PVE 8 to 9 check — runs Proxmox’s official pve8to9 --full, offers guided repairs for common blocking issues, then stops. Use it before upgrading or after manual repairs. Automatic and Interactive also run this check; the Manual guide tells you to run it yourself." }, "webTerminal": { "heading": "Why the web terminal is blocked", @@ -69,7 +69,7 @@ }, "auto": { "heading": "Automatic / Unattended mode", - "intro": "The fully unattended path. Every dpkg prompt is auto-answered with safe defaults so the upgrade runs end-to-end without operator input. Use it on vanilla installs where you haven't hand-edited config files, or when you're running the upgrade as part of a maintenance window and just want it to finish.", + "intro": "Standard confirmation and configuration-file prompts use the configured defaults. Blocking pre-check failures may still require action. Use this mode for standard installations or after reviewing how the defaults affect your customised configuration files.", "behaviourHeading": "Auto-mode-specific behaviour", "behaviourTable": { "settingHeader": "Setting", @@ -89,13 +89,13 @@ }, { "settingRich": "--force-confold", - "effectRich": "For files you customised: keep your version — never overwrite" + "effectRich": "For modified files: use dpkg’s default action when available; otherwise keep your version." } ] }, "flowHeading": "Auto-mode flow", - "flowIntro": "Six sequential phases. Any failure in phases 1-4 aborts cleanly and the host stays on PVE 8 — nothing has been written yet. Phase 5 (dist-upgrade) is the point of no return.", - "flowDiagram": "┌─────────────────────────────────────────────────────────────────┐\n│ 1. PRE-FLIGHT CHECKS (read-only) │\n│─────────────────────────────────────────────────────────────────│\n│ • Block if running from web terminal (termproxy / vncshell) │\n│ • Abort if host already on PVE 9.x │\n│ • Verify ≥ 1024 MB free in /var/cache/apt/archives │\n│ • Ping download.proxmox.com │\n│ • If Ceph is installed: must already be on 19.x Squid │\n│ • Run pve8to9 --full → no FAILs (offer guided repair if any) │\n└────────────────────────────────┬────────────────────────────────┘\n │ all pass\n ▼\n┌─────────────────────────────────────────────────────────────────┐\n│ 2. BRING PVE 8 TO LATEST 8.4.x │\n│─────────────────────────────────────────────────────────────────│\n│ • Delegate to scripts/global/update-pve8.sh │\n│ • Final apt update + dist-upgrade on the 8.x branch │\n│ • Ensures the documented upgrade prerequisites are met │\n└────────────────────────────────┬────────────────────────────────┘\n │\n ▼\n┌─────────────────────────────────────────────────────────────────┐\n│ 3. REPOSITORY MIGRATION │\n│─────────────────────────────────────────────────────────────────│\n│ • sed 's/bookworm/trixie/g' on /etc/apt/sources.list │\n│ and any /etc/apt/sources.list.d/*.list │\n│ • Write deb822 .sources files for Proxmox + Debian + Ceph │\n│ • Try Enterprise repo → fall back to no-subscription on 401 │\n│ • Comment out legacy .list files (do not delete yet) │\n│ • apt-get update with retry logic │\n└────────────────────────────────┬────────────────────────────────┘\n │\n ▼\n┌─────────────────────────────────────────────────────────────────┐\n│ 4. VALIDATE BEFORE WRITING ANYTHING │\n│─────────────────────────────────────────────────────────────────│\n│ • apt-cache policy proxmox-ve → candidate must be 9.x │\n│ • apt-get -s dist-upgrade (dry-run) │\n│ → must NOT propose removing proxmox-ve │\n│ • Both must pass; otherwise abort with a clear message │\n└────────────────────────────────┬────────────────────────────────┘\n │ point of no return\n ▼\n┌─────────────────────────────────────────────────────────────────┐\n│ 5. RUN dist-upgrade (UNATTENDED) │\n│─────────────────────────────────────────────────────────────────│\n│ apt-get -y \\\\ │\n│ -o Dpkg::Options::='--force-confdef' \\\\ │\n│ -o Dpkg::Options::='--force-confold' \\\\ │\n│ dist-upgrade │\n│ │\n│ • Full Bookworm → Trixie + PVE 8 → 9 │\n│ • Output streams in real time │\n│ • Also tee'd to /var/log/pve8-a-pve9-'<'timestamp'>'.log │\n└────────────────────────────────┬────────────────────────────────┘\n │\n ▼\n┌─────────────────────────────────────────────────────────────────┐\n│ 6. POST-UPGRADE │\n│─────────────────────────────────────────────────────────────────│\n│ • EFI hosts: apt install grub-efi-amd64 │\n│ • systemctl restart pve-manager │\n│ • Re-run pve8to9 --full → confirm clean │\n│ • Reboot prompt (decline only if you have a reason) │\n└─────────────────────────────────────────────────────────────────┘", + "flowIntro": "Six sequential phases. Earlier phases can update PVE 8 packages and write repository configuration. A failure stops the flow but does not roll those changes back. Phase 5 runs the PVE 9 dist-upgrade.", + "flowDiagram": "1. CHECKS\nBlock termproxy / vncshell; reject PVE 9; check space and connectivity.\nRequire Ceph 19.x Squid when installed.\npve8to9 --full (may offer repairs).\n\n2. PREPARE PVE 8\nscripts/global/update-pve8.sh\nUpdate PVE 8 packages; systemctl restart pve-manager.\n\n3. MIGRATE REPOSITORIES\nBookworm → Trixie; write deb822 .sources files.\nComment legacy .list files; apt-get update.\n\n4. VALIDATE THE PVE 9 CANDIDATE\napt-cache policy proxmox-ve\napt-get -s dist-upgrade\nStop if the candidate is not 9.x or proxmox-ve would be removed.\n\n5. UPGRADE\napt-get -y -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' dist-upgrade\nLog: /var/log/pve8-a-pve9-'<'timestamp'>'.log\n\n6. VERIFY AND REBOOT\nEFI: apt install grub-efi-amd64\npve8to9 --full; review results and the reboot prompt.", "preflightHeading": "Pre-flight: what gets checked", "preflightTable": { "checkHeader": "Check", @@ -137,7 +137,7 @@ "postHeading": "Post-upgrade tasks (auto mode)", "postItems": [ "EFI hosts: installs grub-efi-amd64 (known issue per Proxmox docs — the upgrade doesn't pull it in automatically and the next boot would fail without it).", - "Restart pve-manager. Forces a clean reload of the new daemons.", + "Restart timing for pve-manager. The explicit restart is part of PVE 8 preparation, before the Trixie/PVE 9 package upgrade.", "Re-run pve8to9 --full. Surfaces any residual issues that the upgrade didn't resolve. If FAILs are reported, the same guided-repair menu as the pre-check appears.", "Reboot prompt. \"It is RECOMMENDED to reboot now to load the new kernel and services. Reboot now?\" Decline only if you have a specific reason — running on the old kernel after a major upgrade is risky." ] @@ -160,10 +160,10 @@ "heading": "Manual upgrade procedure", "intro": "This is what the Manual upgrade guide menu option displays — a faithful mirror of the official Proxmox 8-to-9 upgrade wiki organised in 4 phases. The script shows these commands; you type them yourself in a separate root shell. No automation — full visibility.", "rootCalloutTitle": "All commands need root", - "rootCalloutBody": "Run as root or prefix every command with sudo. The Proxmox host itself runs as root by default; only relevant if you locked it down.", + "rootCalloutBody": "Use a root shell for these commands, including redirections and here-documents. If you use sudo, ensure the entire command runs with root privileges.", "phase1Heading": "Phase 1 — Preparation", "phase1Intro": "Bring the host to the latest PVE 8.4.x, verify the version, validate Ceph (if used), run Proxmox's own pre-check, and start a terminal multiplexer to survive disconnections.", - "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_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", + "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": "Phase 2 — Repository migration", "phase2Intro": "Switch every Debian and Proxmox repository from the Bookworm codename to Trixie, and convert the Proxmox sources to the new deb822 format. Pick step 7 OR step 8 depending on whether you have an Enterprise subscription. Skip step 9 if you don't run 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", @@ -191,8 +191,8 @@ }, { "fileRich": "/etc/ssh/sshd_config", - "answerRich": "Y (maintainer)", - "whyRich": "Re-apply your customisations after", + "answerRich": "Y for default-only changes; inspect customised files first", + "whyRich": "Review local SSH settings and preserve access before replacing the file. The default-only changes include renamed options and comments.", "fileFont": true }, { @@ -203,8 +203,8 @@ }, { "fileRich": "/etc/chrony/chrony.conf", - "answerRich": "Y (maintainer)", - "whyRich": "Time sync defaults updated for Trixie", + "answerRich": "Y if unmodified; preserve local settings first", + "whyRich": "Trixie updates time-sync defaults. Move local settings into chrony’s conf.d / sources.d directories before accepting the new file.", "fileFont": true }, { @@ -230,9 +230,9 @@ "clusterCeph": { "heading": "Cluster & Ceph", "clusterCalloutTitle": "Cluster: upgrade nodes one at a time", - "clusterCalloutBody": "Detected via pvecm status. Do not upgrade more than one node at a time. Migrate guests off the node first, upgrade, reboot, verify the node is back in the cluster as PVE 9, only then move to the next node. Mixed PVE 8 / PVE 9 cluster works for the duration of the upgrade window, but live migration between mixed versions is not supported — only cold migration. HA groups will be migrated to the new HA rules format automatically.", + "clusterCalloutBody": "Detected via pvecm status. Do not upgrade more than one node at a time. Move guests off the node, upgrade, reboot and verify cluster membership before proceeding. During the upgrade, live migration from an older PVE version to a newer one works; the reverse direction is generally unsupported. HA groups migrate automatically to HA rules once all nodes run PVE 9.", "cephCalloutTitle": "Ceph: upgrade Ceph FIRST, then Proxmox", - "cephCalloutBody": "Ceph must already be on 19.x Squid before the Proxmox upgrade. The official order: Ceph 17/18 → Ceph 19 (per pveceph upgrade per node) → reboot for new Ceph daemons → Proxmox upgrade per node. Skipping the Ceph step leaves the cluster broken until you fix it from the console. Full Ceph procedure: Ceph Squid upgrade wiki." + "cephCalloutBody": "Ceph must already run 19.x Squid before upgrading Proxmox. Follow the official sequence: Quincy 17 → Reef 18 → Squid 19, updating packages and restarting Ceph daemons in the documented rolling order. Verify ceph --version before upgrading each Proxmox node. Follow the full procedure: Ceph Reef to Squid upgrade wiki." }, "troubleshooting": { "heading": "Troubleshooting", @@ -243,7 +243,7 @@ }, { "title": "pve8to9 reports FAIL and auto-repair Option 1 produces \"command not found\"", - "bodyRich": "Known bug — the auto-repair refers to a function (configure_repositories) that doesn't exist in the current codebase. Use Option 2 (show manual commands) and run them from a separate shell, or run the canonical fixes by hand: apt-get update, then re-run the upgrade." + "bodyRich": "If the error mentions configure_repositories, the script copy is outdated: the current repair uses cleanup_duplicate_repos and ensure_repositories. Update that copy or use Option 2 to review the manual commands. apt-get update refreshes package lists, but does not fix every blocking check." }, { "title": "apt simulation flags \"proxmox-ve will be REMOVED\"", @@ -267,7 +267,7 @@ }, { "title": "Cluster split-brain after upgrading one node", - "bodyRich": "Mixed PVE 8 / PVE 9 cluster is supported during the upgrade window but migration is cold-only. If the cluster shows the upgraded node as offline, check corosync on both: the QDevice / network config might have shifted. Run pvecm status on each node to confirm quorum." + "bodyRich": "Mixed PVE 8 / PVE 9 clusters are supported during the upgrade. Live migration from older to newer versions works; the reverse direction is generally unsupported. If the upgraded node appears offline, check corosync and the QDevice / network configuration. Run pvecm status on each node to confirm quorum." } ] }, @@ -285,7 +285,7 @@ "desc": "The main Proxmox wiki page for the 8 → 9 upgrade. Source of truth for every command in the manual procedure above." }, { - "href": "https://pve.proxmox.com/wiki/Ceph_Squid", + "href": "https://pve.proxmox.com/wiki/Ceph_Reef_to_Squid", "title": "Ceph Squid (19.x) upgrade", "desc": "Mandatory pre-step for hyper-converged Ceph nodes. Ceph must be on 19.x Squid before PVE 9." }, diff --git a/web/messages/en/docs/utils/uup-dump-iso-creator.json b/web/messages/en/docs/utils/uup-dump-iso-creator.json index bf6edb3a..4a859849 100644 --- a/web/messages/en/docs/utils/uup-dump-iso-creator.json +++ b/web/messages/en/docs/utils/uup-dump-iso-creator.json @@ -8,12 +8,12 @@ }, "header": { "title": "UUP Dump ISO Creator", - "description": "Build an up-to-date Windows installation ISO on your Proxmox host using UUP Dump. ProxMenux handles the dependencies, downloads the UUP files in parallel, runs the official converter and drops the final ISO into the Proxmox ISO storage — ready to attach to a new Windows VM.", + "description": "Build an up-to-date Windows installation ISO on your Proxmox host using UUP Dump. ProxMenux handles dependencies, downloads UUP files in parallel, runs the UUP Dump converter and moves the ISO to your chosen output directory, which defaults to the detected Proxmox ISO storage.", "section": "Utilities" }, "intro": { "title": "What this script does", - "body": "You provide a UUP Dump URL (the one uupdump.net generates after you pick the build, language and edition) and the script does the rest: installs any missing dependencies, downloads the UUP Dump converter, downloads every UUP payload file with aria2, assembles a bootable Windows ISO and moves it into the Proxmox ISO storage so the VM creator can mount it on first boot." + "body": "Provide a UUP Dump URL generated by uupdump.net after choosing a build, language and edition. The script installs missing dependencies, downloads the UUP Dump converter and UUP payloads, assembles a bootable Windows ISO and moves it to the output directory you selected. The detected Proxmox ISO storage is offered as the default destination." }, "hero": { "imageAlt": "UUP Dump ISO Creator entry in ProxMenux", @@ -77,7 +77,7 @@ "Calls https://uupdump.net/get.php?…&aria2=2 to generate an aria2 download list.", "Downloads every UUP payload into UUPs/ with aria2 (parallel, resumable).", "Runs convert.sh wim UUPs 1 from the converter to produce the final ISO.", - "Moves the ISO into the Proxmox ISO storage and cleans up temporary files." + "Moves the ISO to the chosen output directory and cleans up temporary files." ] }, "aria2": { @@ -88,7 +88,7 @@ "-s16 — splits each file into 16 segments.", "-j5 — 5 files downloaded in parallel.", "-c — resumes partial downloads.", - "-R — retries on failure." + "-R — applies the remote file’s timestamp to the downloaded file when available." ], "runtime": "Typical runtime is around 10 minutes, dominated by your internet link speed and UUP Dump's mirror load." }, @@ -150,12 +150,12 @@ "title": "Wait for the build to finish", "img": "/iso-creator/end-uupdump-iso-creator.png", "caption": "Build finished — ISO is ready in Proxmox ISO storage", - "bodyRich": "The console shows aria2 progress and then the converter output. When it finishes, the ISO lands in the detected Proxmox ISO storage and is ready to pick from Create VM → System Windows → Install with ISO from UUP Dump." + "bodyRich": "The console shows aria2 progress and then converter output. The finished ISO is moved to your chosen output directory. If it is in configured Proxmox ISO storage, it can be selected from Create VM → System Windows → Install with ISO from UUP Dump." } ] }, "tempFiles": { "title": "Temporary files", - "body": "By default, temporary files live under /root/uup-temp (uup-temp/ for downloads and uup-converter/ for the converter script). The creator cleans both after a successful run. On failure it still cleans up and returns you to the menu so a retry starts from scratch." + "body": "The default temporary folder is /root/uup-temp, with downloads in UUPs/ and the converter in converter/. A custom temporary base path gets a separate session subdirectory. The successful-build and no-ISO-generated branches remove the temporary session. Earlier failures or cancellation can leave temporary files behind." } } diff --git a/web/messages/es/docs/utils/export-vm.json b/web/messages/es/docs/utils/export-vm.json index 248823c0..ae8f23db 100644 --- a/web/messages/es/docs/utils/export-vm.json +++ b/web/messages/es/docs/utils/export-vm.json @@ -1,8 +1,8 @@ { "meta": { - "title": "Exportar VM a OVA / OVF | ProxMenux Documentation", + "title": "Exportar VM a OVA / OVF | Documentación de ProxMenux", "description": "Exporta una VM de Proxmox a un archivo OVA portable o un directorio OVF usando el esquema estándar DMTF. Discos VMDK en formato streamOptimized, manifiesto SHA1. Importable en VMware ESXi / Workstation / Fusion, VirtualBox y de vuelta a Proxmox.", - "ogTitle": "Exportar VM a OVA / OVF | ProxMenux Documentation", + "ogTitle": "Exportar VM a OVA / OVF | Documentación de ProxMenux", "ogDescription": "Convierte una VM de Proxmox en un paquete portable OVA / OVF compatible con VMware y VirtualBox." }, "header": { @@ -40,13 +40,13 @@ { "format": "OVA", "output": "name-vmid-ts.ova", - "pros": "Un único archivo — fácil de mover, sftp, adjuntar a un ticket. Autocontenido.", + "pros": "Un único archivo, fácil de mover, transferir por sftp o adjuntar a una incidencia. Contiene todo lo necesario.", "cons": "Necesita ~220% del tamaño virtual del disco (overhead de TAR durante la creación)." }, { "format": "OVF", "output": "name-vmid-ts-ovf/", - "pros": "~120% de overhead de disco. Más fácil de inspeccionar (el descriptor es XML plano). Editable antes de importar.", + "pros": "~120% del tamaño virtual del disco. Más fácil de inspeccionar (el descriptor es XML de texto). Se puede editar antes de importar.", "cons": "Varios archivos — hay que transferirlos todos juntos." } ] @@ -54,8 +54,8 @@ "destination": { "heading": "Directorio de destino", "body": "Elige entre presets (/var/lib/vz/dump, /var/lib/vz/template/iso) o introduce una ruta manual. El script valida que el directorio es escribible y avisa si el espacio libre va justo antes de empezar.", - "calloutTitle": "Regla del pulgar de espacio libre", - "calloutBody": "Para una exportación OVF de una VM con discos que suman 100 GB virtuales: presupuesta ~120 GB libres. Para OVA: presupuesta ~220 GB. Los discos sparse / mayormente vacíos pueden usar menos, pero la conversión los escribe enteros antes de que el paso TAR de OVA comprima nada. Si te quedas sin espacio a mitad de la exportación, el directorio temporal se limpia con el trap de EXIT y vuelves a empezar." + "calloutTitle": "Estimación orientativa del espacio libre", + "calloutBody": "Para exportar a OVF una VM cuyos discos suman 100 GB virtuales, reserva ~120 GB libres; para OVA, ~220 GB. El uso real puede ser menor si los discos están casi vacíos. El archivo OVA se crea con TAR sin compresión mientras aún existen los archivos VMDK temporales, por lo que hay que reservar espacio para ambos. Si te quedas sin espacio durante la exportación, el manejador de EXIT limpia el directorio temporal y tendrás que empezar de nuevo." }, "package": { "heading": "Qué acaba en el paquete", @@ -73,7 +73,7 @@ "notTitle": "Qué NO se exporta", "notItems": [ "Montajes de CD-ROM / ISO (excluidos por diseño).", - "Drives de cloud-init (excluidos por diseño).", + "Unidades de cloud-init (excluidas por diseño).", "Bridge / modelo específico de NIC (solo se preserva el recuento).", "Elección de BIOS / UEFI — hay que volver a configurarla al importar.", "Configuración de passthrough PCI.", @@ -95,7 +95,7 @@ }, "import": { "heading": "Importar el resultado", - "intro": "El paquete exportado lo pueden consumir:", + "intro": "El paquete exportado se puede importar en:", "items": [ { "href": "/docs/utils/import-vm", @@ -117,12 +117,12 @@ "troubleshoot": { "heading": "Solución de problemas", "noSpaceTitle": "qemu-img convert falla a mitad con \"No space left on device\"", - "noSpaceBody": "El destino se quedó sin espacio. El directorio temporal se limpia automáticamente con el trap de EXIT. Elige un destino con más margen (regla del pulgar más arriba) y vuelve a ejecutar.", + "noSpaceBody": "El destino se ha quedado sin espacio. El manejador de EXIT limpia automáticamente el directorio temporal. Elige un destino con más espacio libre (consulta la estimación anterior) y vuelve a ejecutar la herramienta.", "unsupportedHwTitle": "La exportación termina pero VMware se niega a importar: \"Unsupported hardware family\"", - "unsupportedHwBody": "Algunas versiones de ESXi rechazan descriptores OVF que declaran una hardware family que no reconocen. Abre el .ovf en un editor de texto (o extrae primero el .ova), busca <vssd:VirtualSystemType> y edítalo a un valor que ESXi acepte (p. ej. vmx-13 para ESXi 6.5+). Como solución rápida, prueba con VirtualBox — es más permisivo.", - "nicTitle": "La VM importada en VMware tiene NIC e1000 pero quiero VirtIO", - "nicBody": "Esperado — el OVF solo almacena el recuento de NICs, no el modelo. Edita la configuración de NIC de la VM importada en VMware después de importar. Lo mismo aplica para el controlador SCSI (la exportación usa lsilogic por compatibilidad con VMware; cámbialo a VirtIO SCSI si tu guest lo soporta).", - "runningTitle": "La VM estaba corriendo y decliné pararla — exportación abortada", + "unsupportedHwBody": "Algunas versiones de ESXi rechazan los descriptores OVF que declaran una familia de hardware que no reconocen. Abre el .ovf en un editor de texto (o extrae primero el .ova), busca <vssd:VirtualSystemType> y cambia su valor por uno que ESXi acepte (por ejemplo, vmx-13 para ESXi 6.5+). Como solución rápida, prueba con VirtualBox, que es más permisivo.", + "nicTitle": "La VM importada usa una NIC o un controlador SCSI diferente", + "nicBody": "El OVF conserva el número de NIC, pero no el modelo original. Revisa la configuración de red de la VM importada en el hipervisor de destino. La exportación declara un controlador SCSI lsilogic por compatibilidad con VMware. Al importar de vuelta a Proxmox, puedes seleccionar VirtIO SCSI si el sistema invitado tiene los controladores adecuados.", + "runningTitle": "La VM estaba en ejecución y rechacé detenerla: exportación cancelada", "runningBody": "El script no puede producir una imagen consistente mientras se escribe en los discos. O bien aceptas el prompt de apagado la próxima vez, o paras la VM manualmente primero (qm shutdown $VMID) y vuelves a ejecutar.", "slowTitle": "La conversión de discos es lenta", "slowBody": "qemu-img convert es de un solo hilo y lee el origen a velocidad máxima. Para un disco de 100 GB en disco mecánico, espera 15-30 minutos. NVMe a NVMe es 5-10x más rápido. Las VMs multi-disco se convierten secuencialmente — el tiempo escala linealmente con el tamaño virtual total." @@ -133,11 +133,11 @@ { "href": "/docs/utils/import-vm", "label": "Importar VM desde OVA / OVF", - "tail": " — el compañero del viaje de ida y vuelta." + "tail": " — la herramienta complementaria para volver a importar." }, { "href": "/docs/utils", - "label": "Resumen de Utilidades", + "label": "Resumen de utilidades", "tail": " — volver al resumen de la sección." } ] diff --git a/web/messages/es/docs/utils/import-vm.json b/web/messages/es/docs/utils/import-vm.json index d58336e3..73837aa7 100644 --- a/web/messages/es/docs/utils/import-vm.json +++ b/web/messages/es/docs/utils/import-vm.json @@ -1,8 +1,8 @@ { "meta": { - "title": "Importar VM desde OVA / OVF | ProxMenux Documentation", + "title": "Importar VM desde OVA / OVF | Documentación de ProxMenux", "description": "Importa una VM de VMware ESXi / Workstation / Fusion / VirtualBox / ProxMenux en Proxmox VE. Extrae OVA automáticamente, parsea los metadatos OVF, crea la VM e importa cada disco al formato nativo del almacenamiento (qcow2 / raw).", - "ogTitle": "Importar VM desde OVA / OVF | ProxMenux Documentation", + "ogTitle": "Importar VM desde OVA / OVF | Documentación de ProxMenux", "ogDescription": "Trae VMs de exportaciones de VMware, VirtualBox o ProxMenux a Proxmox. Los discos se convierten automáticamente al formato nativo del almacenamiento." }, "header": { @@ -40,7 +40,7 @@ }, { "label": "qm create + importdisk", - "detail": "qm create $VMID\nqm importdisk\n(VMDK → qcow2)\nqm set --scsiN", + "detail": "qm create $VMID\nqm importdisk\n(VMDK → formato del almacenamiento)\nqm set --scsiN", "variant": "target" } ] @@ -86,7 +86,7 @@ }, "memWarn": { "title": "Ambigüedad de unidad de memoria", - "body": "El parser asume MiB. Si el OVF declara la memoria en GB (p. ej. algunas exportaciones de VMware lo hacen), la VM importada tendrá 1/1024 de la RAM prevista. Tras la importación, contrasta qm config $VMID | grep memory contra la RAM documentada de la VM origen y ajusta con qm set $VMID --memory <MiB> si está desviada por un factor de 1024 o 1024²." + "body": "El analizador convierte las unidades de memoria reconocidas a MiB, incluidos bytes, KiB, MiB, GiB y las etiquetas de texto compatibles. Las unidades ausentes o no reconocidas se interpretan como MiB. Después de importar, compara qm config $VMID | grep memory con la RAM documentada de la VM de origen y, si hace falta, corrígela con qm set $VMID --memory <MiB>." }, "dialog": { "heading": "Flujo de diálogos de importación", @@ -108,7 +108,7 @@ "heading": "Bucle de importación de discos", "intro": "Para cada referencia de disco en el OVF:", "items": [ - "qm importdisk $VMID $disk_path $STORAGE — convierte el VMDK al formato nativo del almacenamiento (p. ej. qcow2 en local-lvm, raw en ZFS) y crea una entrada unusedN: en la configuración de la VM.", + "qm importdisk $VMID $disk_path $STORAGE — importa el disco en un formato compatible con el almacenamiento de destino y crea una entrada unusedN: en la configuración de la VM.", "El script busca con grep en la configuración la referencia unusedN recién creada.", "qm set $VMID --scsiN $unused_disk — asocia el disco como scsi0, scsi1, …", "qm set $VMID --delete unusedN — elimina el marcador unused ya redundante." @@ -130,7 +130,7 @@ { "setting": "Controlador SCSI", "default": "LSI", - "recommended": "VirtIO SCSI single (Linux moderno + Windows con drivers VirtIO)" + "recommended": "VirtIO SCSI single (Linux moderno o Windows con controladores VirtIO)" }, { "setting": "Firmware (BIOS / UEFI)", @@ -138,8 +138,8 @@ "recommended": "Igualar al firmware de la VM origen (desigualados = no arranca)" }, { - "setting": "QEMU guest agent", - "default": "Off", + "setting": "QEMU Agente invitado", + "default": "Desactivado", "recommendedRich": "On + instalar qemu-guest-agent en el guest (mejores backups, reporte de IP)" }, { @@ -148,8 +148,8 @@ "recommended": "Verificar contra el SO real del guest" }, { - "setting": "Display", - "default": "Default", + "setting": "Pantalla", + "default": "Por defecto", "recommended": "VirtIO-GPU o SPICE (mejor rendimiento de consola)" } ] @@ -166,7 +166,7 @@ "Tipo de firmware BIOS / UEFI — por defecto el de Proxmox (BIOS).", "Configuración de passthrough PCI.", "TPM (vTPM).", - "Drives de cloud-init.", + "Unidades cloud-init.", "Snapshots — solo el estado actual.", "Dispositivos USB / serie / paralelo declarados en el OVF.", "Tags de VM / notas / arranque al inicio." @@ -175,20 +175,20 @@ "troubleshoot": { "heading": "Solución de problemas", "orphanTitle": "La VM se creó pero la importación de discos falló — VM huérfana en el sistema", - "orphanIntro": "Limitación conocida. El script no limpia automáticamente una importación parcial. Destruye la huérfana con:", + "orphanIntro": "Si la importación falla, el script ofrece eliminar la VM parcial y sus discos importados. Si lo rechazaste o la eliminación automática falló, revisa la VM y elimínala manualmente con:", "orphanCode": "qm destroy $VMID --destroy-unreferenced-disks 1", "orphanOutro": "Después corrige la causa raíz (probablemente espacio en disco en el almacenamiento de destino) y vuelve a importar.", "memTitle": "La VM importada tiene 8 MB de RAM (o 8 TB)", - "memIntro": "Ambigüedad de unidad de memoria en el parser de OVF. Desviado por un factor de 1024 → el OVF usó GB en lugar de MiB. Arreglo:", + "memIntro": "El analizador convierte las AllocationUnits reconocidas a MiB. Si las unidades faltan o no son compatibles, las interpreta como MiB. Revisa el OVF, compara la memoria importada con la VM de origen y corrígela si hace falta:", "memCode": "qm set $VMID --memory 8192 # 8 GiB", "bootTitle": "La VM importada no arranca — \"No bootable device\"", "bootIntro": "Causa más común: desigualdad BIOS / UEFI. La VM era UEFI pero Proxmox la creó como BIOS. Configura el firmware coincidente:", "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": "Segunda más común: el orden de arranque apunta a scsi0 pero el disco real del SO es scsi1. Edita el orden de arranque en la pestaña VM Options.", "bsodTitle": "Una VM Windows exportada desde VMware se importa pero hace BSOD al primer arranque", - "bsodBody": "Windows es sensible a cambios de controlador de disco. Bien: (a) instala los drivers VirtIO antes de exportar desde VMware, o (b) mantén el controlador SCSI como lsi (el valor por defecto) y solo cambia a VirtIO SCSI tras que el guest arranque y puedas instalar los drivers VirtIO en Windows.", + "bsodBody": "Windows es sensible a los cambios de controlador de disco. Puedes (a) instalar los controladores VirtIO antes de exportar desde VMware o (b) mantener el controlador SCSI lsi predeterminado y cambiar a VirtIO SCSI después de arrancar el sistema invitado e instalar sus controladores VirtIO en Windows.", "zeroTitle": "El parser de OVF reporta 0 discos", - "zeroBody": "El descriptor OVF usa un estilo inusual de referencia a disco. Abre el .ovf en un editor de texto y confirma que cada disco tiene una entrada <File ovf:href=\"...vmdk\" ...>. Si la extensión del archivo es inusual (p. ej. solo .dat), renómbralo a .vmdk y actualiza la referencia en el OVF, después vuelve a ejecutar.", + "zeroBody": "El descriptor OVF puede usar referencias a discos que el analizador no reconoce. Abre el .ovf y busca la entrada <File ovf:href=\"...vmdk\" ...> de cada disco. Si el disco es realmente VMDK, pero tiene una extensión inusual como .dat, renómbralo a .vmdk y actualiza la referencia en el OVF. Renombrarlo no convierte su formato.", "awkTitle": "awk: syntax error at or near , — el parser falla en cada OVA / OVF", "awkIntro": "El parser de OVF usa sintaxis específica de gawk (match() con 3 argumentos) que mawk — el awk por defecto en Debian / Proxmox — no soporta. Versiones recientes del script instalan automáticamente gawk en el primer uso vía el par canónico ensure_repositories + install_single_package; si estás ejecutando una copia más antigua, instálalo manualmente:", "awkCode": "apt-get install -y gawk", @@ -206,11 +206,11 @@ { "href": "/docs/utils/export-vm", "label": "Exportar VM a OVA / OVF", - "tail": " — el compañero del viaje de ida y vuelta." + "tail": " — la herramienta complementaria para exportar." }, { "href": "/docs/utils", - "label": "Resumen de Utilidades", + "label": "Resumen de utilidades", "tail": " — volver al resumen de la sección." } ] diff --git a/web/messages/es/docs/utils/index.json b/web/messages/es/docs/utils/index.json index 7587393c..368a5ef3 100644 --- a/web/messages/es/docs/utils/index.json +++ b/web/messages/es/docs/utils/index.json @@ -8,13 +8,13 @@ "twitterDescription": "Creación de ISOs, herramientas CLI, actualización de Proxmox, salto PVE 8→9, portabilidad de VMs OVA / OVF." }, "header": { - "title": "Utilidades", + "title": "Utilidades y herramientas", "description": "Seis herramientas que completan el flujo de trabajo del día a día en Proxmox VE: creación de ISOs, mantenimiento del sistema y portabilidad de VMs. Cada opción es independiente — elige la que necesites; nada se instala hasta que lo pidas.", "section": "Utilidades" }, "intro": { "title": "Para qué sirve este menú", - "body": "Tres grupos de herramientas no relacionadas pero habitualmente necesarias: crear una ISO de Windows desde UUP Dump, mantener el host Proxmox (utilidades CLI, actualizaciones, el salto de versión mayor) y mover VMs dentro y fuera de Proxmox usando el formato estándar OVA / OVF." + "body": "Tres grupos de herramientas independientes pero de uso habitual: crear una ISO de Windows desde UUP Dump, mantener el host Proxmox (utilidades CLI, actualizaciones y el salto de versión mayor) e importar y exportar máquinas virtuales en Proxmox mediante el formato estándar OVA / OVF." }, "opening": { "heading": "Abrir el menú", @@ -30,14 +30,14 @@ "bullets": [ "Enlace compartido de UUP Dump → ISO arrancable", "Dependencias instaladas automáticamente", - "El resultado aterriza en la ruta de plantillas ISO de Proxmox" + "El resultado se guarda en la ruta de plantillas ISO de Proxmox" ] }, "maintenance": { "title": "Mantenimiento del sistema", "body": "Mantén el host sano: herramientas CLI, actualizaciones periódicas y el salto de versión mayor cuando toca.", "bullets": [ - "Instalador de utilidades del sistema (26 herramientas CLI)", + "Instalador de utilidades del sistema (25 herramientas CLI)", "Actualización del sistema Proxmox (apt + dist-upgrade)", "Salto de versión mayor PVE 8 → PVE 9" ] @@ -61,7 +61,7 @@ "body": "Crea una ISO de instalación de Windows actualizada directamente en el host Proxmox. El script automatiza todo el flujo de UUP Dump: instalación de dependencias (aria2c, cabextract, wimlib-imagex, …), descarga paralelizada de los archivos de actualización vía aria2 y conversión en una única ISO arrancable que aterriza en /var/lib/vz/template/iso lista para asociar a una VM.", "options": [ { - "title": "UUP Dump ISO Creator", + "title": "Creador de ISO UUP Dump", "description": "Crea una ISO de instalación de Windows actualizada desde un enlace compartido de UUP Dump. Dependencias, descarga y conversión totalmente automatizadas; la ISO resultante aterriza en /var/lib/vz/template/iso lista para crear una VM.", "href": "/docs/utils/UUp-Dump-ISO-Creator" } @@ -69,16 +69,16 @@ }, "maintenanceSection": { "heading": "Mantenimiento del sistema", - "body": "Tres herramientas cubren el trabajo del host del día a día y el ocasional. Instalador de utilidades del sistema configura las herramientas CLI que realmente usas tras una instalación recién hecha. Actualización del sistema Proxmox es la rutina semanal / mensual de higiene. Actualizar PVE 8 a PVE 9 es la gran mudanza una vez por ciclo mayor — se trata con compuertas de seguridad adicionales porque no es reversible.", + "body": "Tres herramientas cubren las tareas diarias y ocasionales del host. El Instalador de utilidades del sistema configura las herramientas CLI que usas tras una instalación nueva. La Actualización del sistema Proxmox sirve para el mantenimiento semanal o mensual. Actualizar PVE 8 a PVE 9 es el gran cambio de cada ciclo de versión mayor y cuenta con comprobaciones de seguridad adicionales porque no es reversible.", "options": [ { "title": "Instalador de utilidades del sistema", - "description": "Selector curado para 26 herramientas CLI (htop, btop, iperf3, jq, tmux, ncdu, ...) con selección personalizada o grupos predefinidos (básico, dev, compresión, multiplexores, análisis, red). Usa el flujo canónico de repo + comando de verificación.", + "description": "Selector de 25 herramientas CLI escogidas (htop, btop, iperf3, jq, tmux, ncdu, ...) con selección personalizada o grupos predefinidos (básico, desarrollo, compresión, multiplexores, análisis y red). Usa el flujo estándar de repositorio y comando de verificación.", "href": "/docs/utils/system-utils" }, { "title": "Actualización del sistema Proxmox", - "description": "Comprobación de repositorios + apt update + apt dist-upgrade con preguntar antes de reiniciar. Detecta la versión mayor de PVE (8 o 9), mantiene los repositorios configurados y pregunta antes de cambiar a sin suscripción un host que no la tiene, y después ejecuta autoremove.", + "description": "Comprobación de repositorios + apt update + apt dist-upgrade, con confirmación antes de reiniciar. Detecta la versión mayor de PVE (8 o 9), conserva los repositorios configurados y solicita confirmación antes de cambiar al repositorio no-subscription un host sin suscripción; después ejecuta autoremove.", "href": "/docs/utils/system-update" }, { @@ -99,17 +99,17 @@ }, { "title": "Importar VM desde OVA / OVF", - "description": "Trae una exportación de VMware / VirtualBox / ProxMenux de vuelta a Proxmox. Extrae OVA automáticamente, parsea los metadatos OVF, crea la VM e importa cada disco al formato nativo del almacenamiento.", + "description": "Importa en Proxmox una exportación de VMware / VirtualBox / ProxMenux. Extrae OVA automáticamente, analiza los metadatos OVF, crea la VM e importa cada disco en el formato nativo del almacenamiento.", "href": "/docs/utils/import-vm" } ] }, "diskSpaceCallout": { "title": "Nota sobre espacio en disco para exportar / importar", - "body": "Ambas herramientas convierten formatos de disco: la exportación usa qemu-img convert -O vmdk -o subformat=streamOptimized; la importación usa qm importdisk para convertir de vuelta al formato nativo del almacenamiento (qcow2 / raw). Planea ~120% del tamaño virtual del disco para OVF y ~220% para OVA — la conversión escribe el disco completo antes de cualquier compresión. Comprueba que el directorio de destino tiene margen antes de empezar." + "body": "Ambas herramientas convierten formatos de disco: la exportación usa qemu-img convert -O vmdk -o subformat=streamOptimized; la importación usa qm importdisk para volver al formato nativo del almacenamiento (qcow2 / raw). Para exportar, reserva ~120% del tamaño virtual del disco para OVF y ~220% para OVA. El archivo OVA usa TAR sin compresión y se crea mientras aún existen los archivos VMDK temporales. Comprueba que el directorio de destino tiene espacio suficiente antes de empezar." }, "fitsTogether": { "heading": "Cómo encaja el menú", - "body": "Cada herramienta tiene un script dedicado bajo scripts/utilities/. La Actualización del sistema Proxmox es un wrapper que delega en uno de dos scripts worker en scripts/global/ según la versión mayor detectada (PVE 8 o PVE 9). El salto PVE 8 → 9 expone dos acciones extra de menú dentro de su propio flujo — una Comprobación previa al upgrade independiente (ejecuta pve8to9 --full) y una Guía manual de upgrade de solo lectura (runbook de 17 pasos) — para los usuarios que quieren inspeccionar u operar a mano en lugar de la ruta automatizada." + "body": "Cada herramienta tiene un script dedicado en scripts/utilities/. La actualización del sistema Proxmox llama a un único script seguro de scripts/global/, update-pve-safe.sh, que detecta la versión mayor y gestiona tanto PVE 8 como PVE 9. La actualización PVE 8 → 9 ofrece dos acciones adicionales en su propio menú: una Comprobación previa a la actualización independiente (ejecuta pve8to9 --full) y una Guía de actualización manual de solo lectura (procedimiento de 17 pasos), para quienes quieran inspeccionar el proceso o realizarlo manualmente." } } diff --git a/web/messages/es/docs/utils/system-update.json b/web/messages/es/docs/utils/system-update.json index 49d4a35e..aa85497a 100644 --- a/web/messages/es/docs/utils/system-update.json +++ b/web/messages/es/docs/utils/system-update.json @@ -1,13 +1,13 @@ { "meta": { - "title": "Actualización del sistema Proxmox | ProxMenux Documentation", - "description": "Ejecuta la secuencia oficial de upgrade de Proxmox (apt update + apt full-upgrade -y) y añade la higiene de repos, comprobación de paquetes esenciales, escaneo de sanity de LVM, autoremove/autoclean y preguntar antes de reiniciar que la guía de upgrade también recomienda. Detecta la versión mayor en ejecución automáticamente.", - "ogTitle": "Actualización del sistema Proxmox | ProxMenux Documentation", - "ogDescription": "apt full-upgrade / dist-upgrade oficial envuelto con higiene de repos, autoremove y un preguntar antes de reiniciar inteligente." + "title": "Actualización del sistema Proxmox | Documentación de ProxMenux", + "description": "Actualiza los paquetes dentro de la versión mayor actual de Proxmox con apt-get update y apt full-upgrade -y. Comprueba el espacio en disco y los repositorios configurados, intenta recuperar las claves GPG, comprueba y repara cabeceras PV antiguas de LVM, recompila los controladores DKMS gestionados cuando hace falta, ejecuta autoremove/autoclean y ofrece reiniciar cuando es necesario.", + "ogTitle": "Actualización del sistema Proxmox | Documentación de ProxMenux", + "ogDescription": "apt full-upgrade con comprobación de repositorios, autoremove/autoclean y confirmación de reinicio cuando es necesario." }, "header": { "title": "Actualización del sistema Proxmox", - "description": "Wrapper que delega en un único worker seguro (update-pve-safe.sh) que detecta la versión mayor de Proxmox por sí mismo. Los repositorios configurados se leen a través de la API de Proxmox y se mantienen como están; en un host sin suscripción activa cuyo único repositorio de Proxmox es Enterprise se pregunta antes de cambiar a sin suscripción. Se actualizan todos los paquetes, se recompilan los drivers DKMS gestionados por ProxMenux si aterriza un kernel nuevo y el prompt de reinicio solo se dispara cuando el kernel realmente cambió. También lanzable desde el botón Update Now de la cabecera del dashboard de ProxMenux Monitor cuando se detectan actualizaciones pendientes.", + "description": "Delega en un único script (update-pve-safe.sh) que detecta la versión mayor de Proxmox en ejecución. Los repositorios configurados se leen mediante la API de Proxmox y se conservan; si un host sin suscripción solo tiene Enterprise, se pide confirmación antes de cambiar a no-subscription. El script actualiza los paquetes y recompila los controladores DKMS gestionados por ProxMenux para un kernel pendiente de arrancar. El script principal ofrece reiniciar si existe la marca de reinicio del sistema o si el kernel más reciente instalado difiere del que está en ejecución. También se puede iniciar desde Update Now en la cabecera de ProxMenux Monitor cuando se detectan actualizaciones pendientes.", "section": "Utilidades" }, "calloutWhat": { @@ -21,81 +21,81 @@ "outro": "Esa única línea es el comando oficial en cualquier release actual de Proxmox. La parte difícil no es el upgrade en sí; es asegurar que los repositorios están limpios, que están habilitados los correctos y que el host queda en un estado razonable después." }, "onTop": { - "heading": "Qué hace ProxMenux encima — verificado contra el script", - "intro": "Esta opción ejecuta exactamente el comando apt de arriba, envuelto con la higiene de repos, la recompilación DKMS de los drivers gestionados por ProxMenux y la limpieza post-upgrade que la guía oficial de upgrade también recomienda. Todo lo de abajo mapea 1:1 a scripts/utilities/proxmox_update.sh y al único worker seguro scripts/global/update-pve-safe.sh — nada implícito, cada paso está en el código:", + "heading": "Qué añade ProxMenux: verificado en el código", + "intro": "Usa la misma operación apt full-upgrade, con comprobación de repositorios, recompilación DKMS y limpieza posterior. Los pasos siguientes corresponden a scripts/utilities/proxmox_update.sh y a su único script de ejecución, scripts/global/update-pve-safe.sh:", "items": [ - "Detecta la versión mayor de PVE desde dentro del worker (pveversion | grep -oP ''pve-manager/\\K[0-9]+'') y adapta las URLs base de repo Proxmox / Debian (bookworm en PVE 8, trixie en PVE 9). No hay reparto a scripts worker por versión — un único worker seguro maneja ambas.", + "Detecta la versión mayor de PVE dentro del script (pveversion | grep -oP ''pve-manager/\\K[0-9]+''). Un único script gestiona PVE 8 y PVE 9; los repositorios configurados se conservan salvo que un host sin suscripción acepte el cambio ofrecido.", "Mantiene los repositorios configurados. ensure_repositories lee los repositorios a través de la API de repositorios de Proxmox, junto con el estado de la suscripción. Un host con suscripción activa, o que ya usa el repositorio sin suscripción o el de test, se deja sin cambios. En un host sin suscripción activa cuyo único repositorio de Proxmox es Enterprise se pregunta si se cambia a sin suscripción; al rechazarlo, la actualización se detiene sin modificar ninguna fuente.", - "Ejecuta el upgrade no interactivamente con DEBIAN_FRONTEND=noninteractive y --force-confdef --force-confold — si un archivo de configuración que ya modificaste también cambió upstream, tu versión se queda en su sitio. Sin sobrescrituras silenciosas de configuraciones propias.", - "No fuerza utilidades opcionales. El worker seguro no empuja zfsutils-linux, chrony, ifupdown2 ni paquetes similares al host — una instalación de Proxmox que optó por no tener alguno de ellos conserva su elección. La ausencia de paquetes la surface los flujos de instalación de alto nivel, no la ruta de actualización.", - "Comprobación de sanity de metadatos LVM contra cabeceras PV sueltas de discos en passthrough (solo aviso, sin arreglo automático).", + "Ejecuta la actualización sin interacción con DEBIAN_FRONTEND=noninteractive y --force-confdef --force-confold. Para las decisiones sobre archivos de configuración de dpkg, acepta la acción predeterminada si existe; en caso contrario conserva el archivo actual.", + "No fuerza la instalación de utilidades opcionales. El script no instala por la fuerza zfsutils-linux, chrony, ifupdown2 ni paquetes similares. Una instalación de Proxmox que haya prescindido de alguno mantiene esa elección. Los paquetes que faltan se señalan en los procesos de instalación superiores, no en el de actualización.", + "Comprobación y reparación de metadatos LVM. Detecta cabeceras PV antiguas y ejecuta vgck --updatemetadata y vgchange -ay para los grupos de volúmenes afectados. Puede cambiar metadatos LVM; no se limita a mostrar avisos.", "Limpia después: apt-get autoremove -y + apt-get autoclean -y.", - "Recompilación DKMS antes del prompt de reinicio. Cuando el upgrade dejó staged un kernel nuevo, el wrapper llama a pmx_rebuild_dkms_after_kernel para recompilar cada driver que ProxMenux instaló vía DKMS contra la versión del kernel entrante — así los módulos están listos antes de que la caja vuelva a arrancar. La detección de reinicio usa /var/run/reboot-required cuando needrestart está presente, y como fallback una comparación por dpkg-query entre el kernel en ejecución y el paquete proxmox-kernel-*-pve-signed / pve-kernel-*-pve más nuevo instalado cuando no lo está — señal que sobrevive a los muchos hosts Proxmox que se entregan sin needrestart." + "Recompilación DKMS antes de ofrecer el reinicio. El script de ejecución llama a pmx_rebuild_dkms_after_kernel cuando hay un kernel instalado más reciente pendiente de arrancar. El script principal comprueba /var/run/reboot-required y usa también dpkg-query para comparar el kernel que indica uname -r con el paquete proxmox-kernel-*-pve-signed / pve-kernel-*-pve más reciente instalado. La marca puede faltar en hosts sin needrestart; la comparación de kernels sigue funcionando en ese caso." ] }, "calloutOneSentence": { "title": "En una frase", - "body": "El mismo upgrade que Proxmox te dice que ejecutes, más la limpieza de repos, la comprobación de paquetes esenciales, el escaneo de sanity de LVM, el autoremove/autoclean después y un preguntar antes de reiniciar solo cuando toca." + "body": "Actualiza los paquetes del host, conserva los repositorios configurados salvo que aceptes un cambio, comprueba los metadatos LVM, recompila los controladores DKMS gestionados, limpia con autoremove/autoclean y ofrece reiniciar cuando es necesario." }, "confirm": { "heading": "Diálogo de confirmación", - "intro": "Seleccionar la opción abre un resumen de lo que va a hacer el worker, requiriendo una confirmación explícita:", - "imageAlt": "Diálogo de confirmación de Actualización del sistema Proxmox listando higiene de repos, actualizaciones de paquetes, limpieza" + "intro": "Al seleccionar la opción se abre un resumen de lo que hará el script y se solicita confirmación explícita:", + "imageAlt": "Diálogo de confirmación de la actualización del sistema Proxmox con comprobación de repositorios, actualización de paquetes y limpieza" }, "routes": { - "heading": "Cómo enruta el wrapper", + "heading": "Cómo se delega la ejecución", "nodes": { "source": { "label": "proxmox_update.sh", "detail": "pveversion |\ngrep -oP ''pve-manager/\\K[0-9]+''" }, "bridge": { - "label": "Único worker seguro", + "label": "Único script de ejecución", "detail": "update-pve-safe.sh\n(detecta PVE 8 / 9\ninternamente)" }, "target": { "label": "Post-actualización", - "detail": "apt-get autoremove\napt-get autoclean\nPreguntar antes de reiniciar si toca" + "detail": "apt-get autoremove\napt-get autoclean\nConfirmación de reinicio si es necesario" } } }, "worker": { - "heading": "Qué hace el worker", - "intro": "Un único worker (scripts/global/update-pve-safe.sh) maneja tanto PVE 8 como PVE 9. Detecta la versión mayor internamente y usa el codename propio de cada versión (bookworm o trixie) para sus fuentes base. Las etapas son:", + "heading": "Qué hace el script de ejecución", + "intro": "Un único script (scripts/global/update-pve-safe.sh) gestiona PVE 8 (bookworm) y PVE 9 (trixie). Detecta la versión mayor y comprueba la configuración actual de repositorios sin reescribir las fuentes base de Debian. Las etapas son:", "items": [ "Comprobaciones previas. Verifica al menos ~1 GB libres en /var/cache/apt/archives. Aborta pronto con un mensaje claro cuando falla, para que la ejecución no muera a mitad de una transacción apt.", "Comprobación de repositorios. ensure_repositories lee los repositorios y el estado de la suscripción. En un host con un repositorio de Proxmox utilizable no cambia nada; en un host sin suscripción activa y solo con el repositorio Enterprise pregunta antes de cambiar a sin suscripción, y detiene la actualización cuando la respuesta es no.", "Apt update con auto-recuperación de GPG. Ante un NO_PUBKEY de cualquier repo (los propios o uno de terceros), el worker importa la clave que falta y vuelve a intentar automáticamente antes de fallar.", "Actualizaciones pendientes + conteo de seguridad. Reporta cuántos paquetes van a cambiar y cuántos de esos vienen de la suite de seguridad, para que el diálogo de confirmación tenga números reales que mostrar.", - "Diálogo de confirmación. El wrapper pide un sí explícito antes de tocar apt.", - "apt full-upgrade. Se ejecuta con DEBIAN_FRONTEND=noninteractive y --force-confdef --force-confold para que cualquier archivo de configuración que personalizaste mantenga su contenido actual cuando upstream también lo cambió. Nunca sobrescribe silenciosamente configs editados por el usuario.", - "Comprobación de sanity LVM. lvm_repair_check refresca los metadatos de VG cuando discos en passthrough a VMs guest (DSM, TrueNAS, appliances de almacenamiento) vuelven con cabeceras PV antiguas.", - "Recompilación DKMS de los drivers gestionados por ProxMenux. Cuando el upgrade dejó staged un kernel nuevo, pmx_rebuild_dkms_after_kernel lee components_status.json para los drivers que ProxMenux instaló (actualmente nvidia_driver → módulo nvidia, coral_driver → módulo gasket), instala los headers de kernel correspondientes (proxmox-headers-<newkver> cuando está disponible, si no pve-headers-<newkver>) y ejecuta dkms autoinstall -k <newkver>. Si dkms status no muestra los módulos construidos contra el kernel nuevo, el worker cae a reejecutar cada instalador con --auto-reinstall. Cualquier fallo se registra pero no aborta la actualización — llegas al prompt de reinicio en todos los casos.", - "Post-limpieza. apt-get autoremove + apt-get autoclean antes de devolver el control al wrapper." + "Diálogo de confirmación. Tras refrescar las listas de paquetes, el script solicita un sí explícito antes de ejecutar la actualización de paquetes.", + "apt full-upgrade. Usa DEBIAN_FRONTEND=noninteractive y --force-confdef --force-confold. Dpkg aplica su acción predeterminada a las decisiones sobre archivos de configuración cuando existe; en caso contrario conserva el archivo actual.", + "Comprobación de LVM. lvm_repair_check actualiza los metadatos de los grupos de volúmenes cuando los discos cedidos directamente a máquinas virtuales (DSM, TrueNAS o dispositivos de almacenamiento) vuelven con cabeceras PV antiguas.", + "Recompilación DKMS de los controladores gestionados por ProxMenux. Cuando hay un kernel nuevo pendiente de arrancar, pmx_rebuild_dkms_after_kernel consulta en components_status.json los controladores instalados por ProxMenux (actualmente nvidia_driver → módulo nvidia y coral_driver → módulo gasket), instala las cabeceras correspondientes (proxmox-headers-<newkver> si está disponible; si no, pve-headers-<newkver>) y ejecuta dkms autoinstall -k <newkver>. Si dkms status no muestra los módulos compilados para el kernel nuevo, vuelve a ejecutar cada instalador con --auto-reinstall. Los fallos se registran sin cancelar la actualización, que continúa hasta la confirmación de reinicio.", + "Limpieza posterior. apt-get autoremove + apt-get autoclean antes de devolver el control al script principal." ] }, "post": { "heading": "Limpieza post-actualización y reinicio", - "intro": "Tras salir el worker, el wrapper ejecuta:", + "intro": "Cuando finaliza el script de ejecución, el script principal ejecuta:", "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": "Después comprueba si hace falta un reinicio. Dos señales disparan el prompt:", + "afterCode": "El script principal también comprueba si hace falta reiniciar. Cualquiera de estas señales activa la pregunta:", "items": [ - "/var/run/reboot-required existe (creado por el hook post-install del paquete del kernel)", - "El log del upgrade contiene entradas de linux-image (el kernel se actualizó de verdad)" + "Existe /var/run/reboot-required: un paquete o una herramienta del sistema ha marcado que el host necesita reiniciarse.", + "El paquete de kernel Proxmox más reciente instalado difiere del kernel en ejecución, según dpkg-query y uname -r." ], - "outro": "Si alguna es cierta, un diálogo whiptail pregunta \"Some changes require a reboot to take effect. Do you want to restart now?\". Decline para seguir corriendo en el kernel antiguo hasta que elijas reiniciar manualmente (p. ej. durante una ventana de mantenimiento planificada)." + "outro": "Si se cumple alguna condición, un diálogo de whiptail pregunta «Algunos cambios requieren reiniciar para aplicarse. ¿Quieres reiniciar ahora?». Recházalo para seguir con el kernel actual hasta que decidas reiniciar manualmente, por ejemplo durante una ventana de mantenimiento." }, "end": { "heading": "Qué ves al final", - "intro": "Cuando el worker termina, el terminal muestra la salida de la limpieza y (si el kernel cambió) el preguntar antes de reiniciar:", - "imageAlt": "Resumen de finalización de Actualización del sistema Proxmox con salida de limpieza y preguntar antes de reiniciar" + "intro": "Cuando termina el script de ejecución, el terminal muestra el resultado de la limpieza y, si hace falta reiniciar, la pregunta correspondiente:", + "imageAlt": "Resumen final de la actualización del sistema Proxmox con el resultado de la limpieza y la confirmación de reinicio" }, "calloutDeclineReboot": { - "title": "Decline el reinicio solo si sabes por qué", - "body": "Correr en un kernel antiguo tras actualizar linux-image-* significa que estás en un sistema medio actualizado: userspace nuevo, kernel viejo. La mayoría del tiempo las cosas funcionan, pero los módulos ZFS, grupos IOMMU, KSMBD y cualquier driver fuera del árbol solo cuadran con el kernel para el que fueron construidos — un desajuste produce fallos oscuros. Reinicia en el primer momento razonable." + "title": "Pospón el reinicio solo si sabes por qué", + "body": "Instalar un paquete proxmox-kernel-* nuevo no sustituye al kernel en ejecución hasta que reinicies. El nuevo kernel y sus módulos correspondientes se activan en el siguiente arranque. Planifica el reinicio para una ventana de mantenimiento adecuada y revisa antes los avisos de compilación DKMS." }, "noSub": { - "heading": "Cómo trata el worker seguro al repositorio Enterprise", + "heading": "Cómo trata el script al repositorio Enterprise", "intro": "Proxmox entrega los hosts con el repositorio Enterprise habilitado por defecto. Sin una suscripción activa, ese repositorio devuelve 401 en apt-get update. El worker seguro cambia los repositorios solo en ese caso, solo tras preguntar, y a través de la API de repositorios de Proxmox — la misma que hay detrás de Nodo → Actualizaciones → Repositorios. Lo que ocurre en cada caso:", "items": [ "Con una suscripción activa, los repositorios se dejan sin cambios y Enterprise dirige la actualización.", @@ -117,7 +117,7 @@ "Salto de versión mayor. 8 → 9 es una operación aparte — mira Actualizar PVE 8 a PVE 9.", "Backup. Sin snapshots, sin rollback. Las operaciones de apt no son transaccionales. Combínalo con tu disciplina normal de backups (PBS, vzdump, snapshots ZFS).", "Actualizaciones de contenedores / VMs. Solo se actualiza el host; los guests se quedan en paz.", - "Actualizaciones de firmware. Microcódigo de CPU, firmware de NIC, BIOS — fuera de alcance." + "Instalación específica de firmware. Esta herramienta no sirve para flashear BIOS ni firmware de dispositivos. Los paquetes de firmware o microcódigo de CPU ya instalados pueden recibir actualizaciones mediante apt." ] }, "troubleshooting": { @@ -129,21 +129,21 @@ }, { "title": "dist-upgrade se queda colgado en \"Configuring grub-pc\"", - "body": "Un prompt de dpkg está preguntando en qué dispositivo(s) instalar GRUB. El wrapper pasa --force-confold para archivos de configuración pero la instalación del cargador de arranque es un prompt aparte. Usa Tab + Space para seleccionar todos tus discos de arranque, después OK. Mejor evitarlo seleccionando los discos de arranque una vez con dpkg-reconfigure grub-pc de antemano." + "body": "Si aparece una pregunta interactiva de GRUB, solicita los dispositivos donde instalar el cargador de arranque. La opción --force-confold se aplica a decisiones sobre archivos de configuración, no a esta selección de dispositivos. Usa Tab + Space para seleccionar los discos de arranque adecuados y después OK. Puedes configurar esta selección de antemano con dpkg-reconfigure grub-pc." }, { "title": "El kernel se actualizó pero los nuevos módulos faltan para un driver fuera del árbol", - "body": "Los drivers que ProxMenux instaló vía DKMS (actualmente nvidia_driver y coral_driver) se recompilan automáticamente al final del upgrade contra la versión del kernel entrante, usando dkms autoinstall -k <newkver> y, si hace falta, un fallback a cada instalador con --auto-reinstall. Confirma con dkms status. Los módulos fuera del árbol de terceros que no están en el registro components_status.json de ProxMenux (drivers de NIC propios, paquetes DKMS instalados a mano, …) siguen necesitando un dkms autoinstall manual — el worker seguro solo toca lo que instaló originalmente." + "body": "Para los controladores gestionados (nvidia_driver y coral_driver), la función ejecuta dkms autoinstall -k <newkver> y puede volver a ejecutar sus instaladores con --auto-reinstall. Comprueba el resultado con dkms status. El comando autoinstall también puede recompilar otros módulos DKMS registrados; la ejecución alternativa de instaladores se limita a las entradas gestionadas de components_status.json. Revisa cualquier módulo de terceros que siga faltando y recompílalo con dkms autoinstall si hace falta." }, { - "title": "El preguntar antes de reiniciar no apareció pero estoy seguro de que el kernel cambió", - "body": "Tienen que coincidir dos señales (/var/run/reboot-required y linux-image en el log del upgrade). Si el archivo marcador se borró pero el log se está parseando mal, reinicia manualmente con shutdown -r now. Para confirmar que hubo una actualización de kernel: grep linux-image /var/log/apt/history.log." + "title": "No apareció la pregunta de reinicio, pero creo que se instaló un kernel nuevo", + "body": "Las señales son alternativas: /var/run/reboot-required o una diferencia entre el kernel en ejecución y el Proxmox más reciente instalado. El script principal no analiza entradas linux-image del registro de apt. Comprueba la versión en ejecución con uname -r y los paquetes de kernel instalados con dpkg-query. Si hace falta reiniciar, prográmalo o ejecuta shutdown -r now cuando estés listo." } ] }, "files": { "heading": "Archivos implicados", - "code": "scripts/utilities/proxmox_update.sh # este script (wrapper)\nscripts/global/update-pve-safe.sh # único worker seguro (PVE 8 + PVE 9)\nscripts/global/repository-functions.sh # ensure_repositories\nscripts/global/repository_policy.py # lee y cambia los repositorios a través de la API de Proxmox\nscripts/global/utils-install-functions.sh # pmx_rebuild_dkms_after_kernel\n/usr/local/share/proxmenux/components_status.json # registro de drivers DKMS gestionados por ProxMenux\n/etc/apt/sources.list.d/proxmox.sources # fuente sin suscripción, escrita por Proxmox al aceptar el cambio\n/var/run/reboot-required # se lee para decidir el prompt de reinicio\n# Fallback de reinicio cuando needrestart no está instalado:\n# dpkg-query -W 'proxmox-kernel-*-pve-signed' 'pve-kernel-*-pve' vs. uname -r" + "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": "Relacionado", @@ -156,11 +156,11 @@ { "href": "/docs/utils/system-utils", "label": "Instalador de utilidades del sistema", - "tail": " — para instalar las herramientas CLI que quieras alrededor de las actualizaciones (htop / btop / ncdu)." + "tail": " — para instalar herramientas CLI útiles durante las actualizaciones (htop / btop / ncdu)." }, { "href": "/docs/utils", - "label": "Resumen de Utilidades", + "label": "Resumen de utilidades", "tail": " — volver al resumen de la sección." } ] diff --git a/web/messages/es/docs/utils/system-utils.json b/web/messages/es/docs/utils/system-utils.json index 62cae0e0..fd654457 100644 --- a/web/messages/es/docs/utils/system-utils.json +++ b/web/messages/es/docs/utils/system-utils.json @@ -1,18 +1,18 @@ { "meta": { - "title": "Instalador de utilidades del sistema | ProxMenux Documentation", - "description": "Instalador curado para 26 utilidades CLI (htop, btop, iperf3, jq, tmux, ncdu, ...) en Proxmox VE. Selección personalizada o grupos predefinidos (básico, dev, compresión, multiplexores, análisis, red). Usa el flujo canónico ensure_repositories + install_single_package.", - "ogTitle": "Instalador de utilidades del sistema | ProxMenux Documentation", - "ogDescription": "Instala herramientas CLI curadas en Proxmox VE con un clic o con selección personalizada." + "title": "Instalador de utilidades del sistema | Documentación de ProxMenux", + "description": "Instalador de utilidades CLI para Proxmox VE, con 25 paquetes en la lista canónica (htop, btop, iperf3, tmux, ...). Selección personalizada, instalación completa y grupos predefinidos (básico, desarrollo, compresión, multiplexores, análisis y red). Los grupos pueden incluir paquetes adicionales. Usa ensure_repositories + install_single_package.", + "ogTitle": "Instalador de utilidades del sistema | Documentación de ProxMenux", + "ogDescription": "Instala una selección de herramientas CLI en Proxmox VE con un clic o mediante selección personalizada." }, "header": { "title": "Instalador de utilidades del sistema", - "description": "Selector curado para 26 utilidades CLI definidas en la lista canónica PROXMENUX_UTILS. Ofrece selección personalizada, instalar todo, seis grupos predefinidos y una comprobación de verificación de instalaciones. Usa el par compartido ensure_repositories() + install_single_package() para que la configuración de repos y el feedback por paquete se mantengan consistentes en todo el proyecto.", + "description": "Selector de las 25 utilidades CLI de la lista canónica PROXMENUX_UTILS. Ofrece selección personalizada, instalación completa, seis grupos predefinidos y comprobación de instalaciones. Los grupos pueden incluir herramientas ajenas a la lista canónica. Usa las funciones compartidas ensure_repositories() + install_single_package() para gestionar los repositorios y los mensajes de cada paquete de forma coherente.", "section": "Utilidades" }, "info": { "title": "Qué hace", - "body": "Instala herramientas CLI de una lista curada de 26 paquetes. Cada instalación pasa por el mismo flujo canónico: ensure_repositories comprueba que el host tiene un repositorio de Proxmox utilizable para la versión mayor de PVE en ejecución, después install_single_package ejecuta la instalación y verifica que el comando resultante esté en PATH." + "body": "Instala herramientas CLI de una lista de 25 paquetes. Cada instalación usa el mismo proceso: ensure_repositories comprueba que el host tenga un repositorio Proxmox utilizable para la versión mayor de PVE en ejecución; después install_single_package instala el paquete y comprueba que su comando esté en PATH." }, "opening": { "heading": "Abrir el instalador", @@ -26,7 +26,7 @@ "rows": [ { "option": "1. Selección personalizada", - "behaviourRich": "Checklist de diálogo con los 26 paquetes. Usa SPACE para alternar, ENTER para confirmar; solo se instalan los seleccionados." + "behaviourRich": "Lista de selección de los 25 paquetes. Usa SPACE para marcar y ENTER para confirmar; solo se instalan los paquetes seleccionados." }, { "option": "2. Instalar TODAS las utilidades", @@ -63,7 +63,7 @@ ] }, "packages": { - "heading": "Los 26 paquetes", + "heading": "Los 25 paquetes", "intro": "Definidos en el compartido scripts/global/utils-install-functions.sh como PROXMENUX_UTILS (formato: package:verify_command:description). Otros scripts de ProxMenux (p. ej. los lanzadores de monitorización de red para iftop / iptraf-ng / iperf3) reutilizan entradas de esta lista para que paquete + comando de verificación se mantengan sincronizados.", "headerPackage": "Paquete", "headerVerify": "Comando de verificación", @@ -193,11 +193,6 @@ "package": "zip", "verify": "zip", "description": "Crear archivos ZIP" - }, - { - "package": "libguestfs-tools", - "verify": "virt-filesystems", - "description": "Utilidades de disco de VM" } ] }, @@ -209,11 +204,11 @@ ], "verifyIntro": "Tras instalar, el comando de verificación se comprueba con command -v \"$verify_cmd\". Tres desenlaces:", "verifyOutcomes": [ - "0 (éxito): comando disponible, paquete contado como Successful.", - "1 (fallido): apt falló, contado como Failed.", - "2 (advertencia): apt tuvo éxito pero el comando aún no está en PATH (refresco de hash pendiente) — contado como With warnings." + "0 (correcto): comando disponible; el paquete se cuenta como Correcto.", + "1 (fallo): apt ha fallado; se cuenta como Fallido.", + "2 (advertencia): apt ha terminado correctamente, pero el comando esperado no se encuentra en PATH; se cuenta como Con advertencias." ], - "summary": "Al final de una instalación de grupo / personalizada, un diálogo de resumen muestra los conteos de Successful / With warnings / Failed." + "summary": "Al terminar una instalación de grupo o personalizada, un diálogo muestra los recuentos de Correctos / Con advertencias / Fallidos." }, "verify": { "heading": "Verificar instalaciones", @@ -223,16 +218,16 @@ }, "troubleshoot": { "heading": "Solución de problemas", - "reposTitle": "\"Failed to configure repositories. Installation aborted.\"", + "reposTitle": "«No se han podido configurar los repositorios. Instalación cancelada».", "reposBody": "La comprobación de repositorios no se superó: se rechazó el cambio al repositorio sin suscripción, no se pudo leer el estado de la suscripción o una entrada de repositorio requiere atención. El mensaje impreso justo encima indica la causa. Los repositorios se listan en Nodo → Actualizaciones → Repositorios, y apt-get update desde una consola muestra el error que reporta apt.", "warningsTitle": "Un paquete se reporta como \"With warnings\" pero el comando funciona tras cerrar el menú", - "warningsBody": "Esperado. Tras apt-get install, el nuevo binario está en disco pero la caché de PATH del shell actual (hash -t) aún no lo sabe. ProxMenux ejecuta hash -r tras cada instalación, pero en algunos shells el refresco solo surte efecto en el siguiente prompt. Abre un nuevo shell y el comando funcionará.", + "warningsBody": "Después de apt-get install, la función ejecuta hash -r, espera brevemente y comprueba el comando esperado con command -v. Una advertencia indica que esa comprobación sigue fallando, pero no identifica la causa. Prueba con una sesión de shell nueva y comprueba la instalación del paquete y PATH si el comando sigue faltando.", "hangsTitle": "Un apt install se queda colgado", "hangsBody": "Lo más probable es que un prompt de debconf esté bloqueado detrás de la salida silenciada. El script envuelve todas las llamadas de apt con DEBIAN_FRONTEND=noninteractive, que normalmente suprime los prompts, pero algunos paquetes aún requieren entrada del usuario. Cancela con Ctrl+C, ejecuta apt-get install -y <pkg> manualmente desde un shell para ver el prompt y decidir." }, "files": { "heading": "Archivos implicados", - "code": "scripts/utilities/system_utils.sh # este script\nscripts/global/utils-install-functions.sh # PROXMENUX_UTILS, install_single_package\nscripts/global/repository-functions.sh # ensure_repositories\nscripts/global/repository_policy.py # lee y cambia los repositorios a través de la API de Proxmox\n/etc/apt/sources.list.d/proxmox.sources # fuente sin suscripción, escrita por Proxmox al aceptar el cambio" + "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": "Relacionado", @@ -249,7 +244,7 @@ }, { "href": "/docs/utils", - "label": "Resumen de Utilidades", + "label": "Resumen de utilidades", "tailRich": " — volver al resumen de la sección." } ] diff --git a/web/messages/es/docs/utils/upgrade-pve8-pve9.json b/web/messages/es/docs/utils/upgrade-pve8-pve9.json index 69b0d2e4..19437fb3 100644 --- a/web/messages/es/docs/utils/upgrade-pve8-pve9.json +++ b/web/messages/es/docs/utils/upgrade-pve8-pve9.json @@ -1,8 +1,8 @@ { "meta": { - "title": "Actualizar PVE 8 a PVE 9 | ProxMenux Documentation", + "title": "Actualizar PVE 8 a PVE 9 | Documentación de ProxMenux", "description": "Tres formas de actualizar Proxmox VE 8 a 9 (Debian Bookworm a Trixie + PVE 8 a 9): Automática / Desatendida, Interactiva o a mano siguiendo el procedimiento oficial de Proxmox paso a paso. Comprobación previa pve8to9, migración de repositorios, dist-upgrade con valores por defecto seguros, validación post-upgrade. Se niega a ejecutarse desde el terminal web.", - "ogTitle": "Actualizar PVE 8 a PVE 9 | ProxMenux Documentation", + "ogTitle": "Actualizar PVE 8 a PVE 9 | Documentación de ProxMenux", "ogDescription": "Tres enfoques de upgrade (Auto / Interactiva / Manual) para la migración de versión mayor de Proxmox VE 8 a 9." }, "header": { @@ -23,15 +23,15 @@ }, "modeMenu": { "heading": "El menú de modo", - "intro": "Al lanzar la opción se abre un menú con 4 vías. Las tres primeras son formas distintas de realizar el upgrade (elige la que se ajusta a tu nivel de comodidad); la cuarta es un diagnóstico que verifica que el host está listo sin cambiar nada:", + "intro": "Esta opción abre un menú con cuatro entradas: Automático, Interactivo, Comprobación previa y Guía manual. Tres opciones realizan la actualización o explican cómo hacerla; la comprobación independiente verifica los requisitos y puede ofrecer reparaciones.", "imageAlt": "Menú de modo del upgrade PVE 8 a 9 con opciones Automática, Interactiva, Comprobación previa y Guía manual" }, "threeWays": { "heading": "Tres formas de actualizar", - "intro": "Mismo estado final, distinto nivel de implicación del operador. Ninguna deja saltarte las salvaguardas previas ni la verificación post-upgrade — la diferencia está puramente en cómo se manejan los prompts de dpkg durante dist-upgrade y si miras cada paso o lo delegas entero.", + "intro": "Los modos Automático e Interactivo ejecutan el mismo proceso, con comprobaciones previas y verificación posterior. Cambia cómo se responden las preguntas de dpkg durante dist-upgrade. La guía manual muestra los comandos, incluidas las comprobaciones, y tú debes completar cada paso.", "auto": { "title": "Automática / Desatendida", - "summary": "De un tirón. Establece ASSUME_YES=1 + DEBIAN_FRONTEND=noninteractive; los conflictos de archivos de configuración de dpkg toman por defecto mantener el actual (--force-confold).", + "summary": "Establece ASSUME_YES=1 + DEBIAN_FRONTEND=noninteractive. Para archivos de configuración modificados, dpkg utiliza su acción predeterminada si existe; en caso contrario, conserva el archivo actual (--force-confold).", "items": [ "Lo más rápido — sin esperas por prompts", "Mejor para instalaciones vanilla sin archivos de configuración personalizados", @@ -59,7 +59,7 @@ }, "precheckCallout": { "title": "Más una Comprobación previa aparte", - "body": "La opción 3 del menú — Ejecutar comprobación PVE 8 a 9 — no es un modo de upgrade. Ejecuta el pve8to9 --full oficial de Proxmox y ofrece reparación guiada para los problemas bloqueantes comunes, después se detiene. Úsala antes de comprometerte con cualquiera de los tres modos de arriba. También se ejecuta automáticamente como parte de cada flujo de upgrade, así que esta opción independiente es para verificación temprana o para volver a ejecutarla tras arreglos manuales." + "body": "La opción 3 — Ejecutar comprobación de PVE 8 a 9 — ejecuta la herramienta oficial pve8to9 --full, ofrece reparaciones guiadas para problemas habituales y después se detiene. Úsala antes de actualizar o tras reparar manualmente. Los modos Automático e Interactivo también la ejecutan; la guía manual indica que debes ejecutarla tú." }, "webTerminal": { "heading": "Por qué se bloquea el terminal web", @@ -69,7 +69,7 @@ }, "auto": { "heading": "Modo Automático / Desatendido", - "intro": "La ruta totalmente desatendida. Cada prompt de dpkg se autocontesta con valores por defecto seguros para que el upgrade corra de principio a fin sin entrada del operador. Úsalo en instalaciones vanilla donde no has editado a mano archivos de configuración, o cuando ejecutas el upgrade como parte de una ventana de mantenimiento y solo quieres que termine.", + "intro": "Las confirmaciones y las preguntas habituales sobre archivos de configuración usan las respuestas predeterminadas. Los fallos de las comprobaciones previas pueden requerir intervención. Usa este modo en instalaciones estándar o después de revisar cómo afectan esas respuestas a tus archivos personalizados.", "behaviourHeading": "Comportamiento específico del modo automático", "behaviourTable": { "settingHeader": "Ajuste", @@ -81,7 +81,7 @@ }, { "settingRich": "DEBIAN_FRONTEND=noninteractive", - "effectRich": "apt / dpkg corren sin abrir ningún prompt de debconf" + "effectRich": "apt / dpkg se ejecutan sin abrir preguntas de debconf" }, { "settingRich": "--force-confdef", @@ -89,13 +89,13 @@ }, { "settingRich": "--force-confold", - "effectRich": "Para archivos que personalizaste: mantener tu versión — nunca sobrescribir" + "effectRich": "Para archivos modificados: utiliza la acción predeterminada de dpkg si existe; en caso contrario, conserva tu versión." } ] }, "flowHeading": "Flujo del modo automático", - "flowIntro": "Seis fases secuenciales. Cualquier fallo en las fases 1-4 aborta limpiamente y el host se queda en PVE 8 — nada se ha escrito aún. La fase 5 (dist-upgrade) es el punto de no retorno.", - "flowDiagram": "┌─────────────────────────────────────────────────────────────────┐\n│ 1. PRE-FLIGHT CHECKS (read-only) │\n│─────────────────────────────────────────────────────────────────│\n│ • Block if running from web terminal (termproxy / vncshell) │\n│ • Abort if host already on PVE 9.x │\n│ • Verify ≥ 1024 MB free in /var/cache/apt/archives │\n│ • Ping download.proxmox.com │\n│ • If Ceph is installed: must already be on 19.x Squid │\n│ • Run pve8to9 --full → no FAILs (offer guided repair if any) │\n└────────────────────────────────┬────────────────────────────────┘\n │ all pass\n ▼\n┌─────────────────────────────────────────────────────────────────┐\n│ 2. BRING PVE 8 TO LATEST 8.4.x │\n│─────────────────────────────────────────────────────────────────│\n│ • Delegate to scripts/global/update-pve8.sh │\n│ • Final apt update + dist-upgrade on the 8.x branch │\n│ • Ensures the documented upgrade prerequisites are met │\n└────────────────────────────────┬────────────────────────────────┘\n │\n ▼\n┌─────────────────────────────────────────────────────────────────┐\n│ 3. REPOSITORY MIGRATION │\n│─────────────────────────────────────────────────────────────────│\n│ • sed 's/bookworm/trixie/g' on /etc/apt/sources.list │\n│ and any /etc/apt/sources.list.d/*.list │\n│ • Write deb822 .sources files for Proxmox + Debian + Ceph │\n│ • Try Enterprise repo → fall back to no-subscription on 401 │\n│ • Comment out legacy .list files (do not delete yet) │\n│ • apt-get update with retry logic │\n└────────────────────────────────┬────────────────────────────────┘\n │\n ▼\n┌─────────────────────────────────────────────────────────────────┐\n│ 4. VALIDATE BEFORE WRITING ANYTHING │\n│─────────────────────────────────────────────────────────────────│\n│ • apt-cache policy proxmox-ve → candidate must be 9.x │\n│ • apt-get -s dist-upgrade (dry-run) │\n│ → must NOT propose removing proxmox-ve │\n│ • Both must pass; otherwise abort with a clear message │\n└────────────────────────────────┬────────────────────────────────┘\n │ point of no return\n ▼\n┌─────────────────────────────────────────────────────────────────┐\n│ 5. RUN dist-upgrade (UNATTENDED) │\n│─────────────────────────────────────────────────────────────────│\n│ apt-get -y \\\\ │\n│ -o Dpkg::Options::='--force-confdef' \\\\ │\n│ -o Dpkg::Options::='--force-confold' \\\\ │\n│ dist-upgrade │\n│ │\n│ • Full Bookworm → Trixie + PVE 8 → 9 │\n│ • Output streams in real time │\n│ • Also tee'd to /var/log/pve8-a-pve9-'<'timestamp'>'.log │\n└────────────────────────────────┬────────────────────────────────┘\n │\n ▼\n┌─────────────────────────────────────────────────────────────────┐\n│ 6. POST-UPGRADE │\n│─────────────────────────────────────────────────────────────────│\n│ • EFI hosts: apt install grub-efi-amd64 │\n│ • systemctl restart pve-manager │\n│ • Re-run pve8to9 --full → confirm clean │\n│ • Reboot prompt (decline only if you have a reason) │\n└─────────────────────────────────────────────────────────────────┘", + "flowIntro": "Seis fases consecutivas. Las primeras pueden actualizar paquetes de PVE 8 y escribir la configuración de repositorios. Un fallo detiene el proceso, pero no revierte esos cambios. La fase 5 ejecuta dist-upgrade para PVE 9.", + "flowDiagram": "1. COMPROBACIONES\nBloquea termproxy / vncshell; rechaza PVE 9; comprueba espacio y conectividad.\nExige Ceph 19.x Squid si está instalado.\npve8to9 --full (puede ofrecer reparaciones).\n\n2. PREPARAR PVE 8\nscripts/global/update-pve8.sh\nActualiza los paquetes de PVE 8; systemctl restart pve-manager.\n\n3. MIGRAR REPOSITORIOS\nBookworm → Trixie; escribe archivos deb822 .sources.\nComenta los archivos .list antiguos; apt-get update.\n\n4. VALIDAR EL CANDIDATO DE PVE 9\napt-cache policy proxmox-ve\napt-get -s dist-upgrade\nSe detiene si el candidato no es 9.x o se eliminaría proxmox-ve.\n\n5. ACTUALIZAR\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. VERIFICAR Y REINICIAR\nEFI: apt install grub-efi-amd64\npve8to9 --full; revisa el resultado y la pregunta de reinicio.", "preflightHeading": "Comprobaciones previas: qué se chequea", "preflightTable": { "checkHeader": "Chequeo", @@ -137,9 +137,9 @@ "postHeading": "Tareas post-upgrade (modo automático)", "postItems": [ "Hosts EFI: instala grub-efi-amd64 (problema conocido según la documentación de Proxmox — el upgrade no lo trae automáticamente y el siguiente arranque fallaría sin él).", - "Reiniciar pve-manager. Fuerza una recarga limpia de los nuevos demonios.", + "Momento del reinicio de pve-manager. El reinicio explícito forma parte de la preparación de PVE 8, antes de actualizar los paquetes a Trixie/PVE 9.", "Volver a ejecutar pve8to9 --full. Saca a la luz cualquier problema residual que el upgrade no resolvió. Si se reportan FAILs, aparece el mismo menú de reparación guiada de la pre-comprobación.", - "Preguntar antes de reiniciar. \"It is RECOMMENDED to reboot now to load the new kernel and services. Reboot now?\" Decline solo si tienes una razón concreta — correr en el kernel antiguo tras un upgrade mayor es arriesgado." + "Pregunta de reinicio. Se recomienda reiniciar para cargar el nuevo núcleo y los servicios. Recházalo solo si tienes un motivo concreto: seguir con el núcleo anterior tras un cambio de versión principal supone un riesgo." ] }, "interactive": { @@ -147,7 +147,7 @@ "intro": "Mismo flujo general que el modo automático — mismas comprobaciones previas, misma migración de repositorios, misma verificación post-upgrade. La única diferencia está en el paso dist-upgrade: tú respondes cada prompt de conflicto de archivo de configuración de dpkg. ProxMenux pasa el upgrade a un apt-get dist-upgrade plano sin los flags --force-conf*.", "distUpgradeHeading": "El comando dist-upgrade (modo interactivo)", "distUpgradeCode": "apt-get dist-upgrade\n# (user answers each dpkg config-file conflict prompt as it appears)", - "whenHeading": "Cuándo es interactivo la opción correcta", + "whenHeading": "Cuándo elegir el modo interactivo", "whenItems": [ "Has personalizado /etc/lvm/lvm.conf, /etc/ssh/sshd_config, /etc/default/grub o cualquier otro archivo de configuración que el upgrade toca.", "Quieres ver exactamente qué paquetes introducen conflictos de configuración y decidir caso por caso.", @@ -160,10 +160,10 @@ "heading": "Procedimiento manual de upgrade", "intro": "Esto es lo que muestra la opción de menú Guía manual de upgrade — un espejo fiel del wiki oficial de upgrade Proxmox 8 a 9 organizado en 4 fases. El script muestra estos comandos; tú los tecleas en un shell root aparte. Sin automatización — visibilidad total.", "rootCalloutTitle": "Todos los comandos necesitan root", - "rootCalloutBody": "Ejecuta como root o prefija cada comando con sudo. El propio host Proxmox corre como root por defecto; solo es relevante si lo bloqueaste.", + "rootCalloutBody": "Usa una sesión de shell como root para estos comandos, incluidas las redirecciones y los documentos here-document. Si utilizas sudo, asegúrate de ejecutar el comando completo con privilegios de root.", "phase1Heading": "Fase 1 — Preparación", "phase1Intro": "Lleva el host a la última PVE 8.4.x, verifica la versión, valida Ceph (si se usa), ejecuta la pre-comprobación de la propia Proxmox y arranca un multiplexor de terminal para sobrevivir a desconexiones.", - "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_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", + "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 — Migración de repositorios", "phase2Intro": "Cambia cada repositorio Debian y Proxmox del codename Bookworm a Trixie y convierte las fuentes Proxmox al nuevo formato deb822. Elige el paso 7 O el paso 8 según si tienes una suscripción Enterprise. Sáltate el paso 9 si no usas 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", @@ -191,8 +191,8 @@ }, { "fileRich": "/etc/ssh/sshd_config", - "answerRich": "Y (mantenedor)", - "whyRich": "Vuelve a aplicar tus personalizaciones después", + "answerRich": "Y si solo hay cambios predeterminados; revisa antes los archivos personalizados", + "whyRich": "Revisa los ajustes locales de SSH y conserva el acceso antes de sustituir el archivo. Los cambios predeterminados incluyen opciones renombradas y comentarios.", "fileFont": true }, { @@ -203,8 +203,8 @@ }, { "fileRich": "/etc/chrony/chrony.conf", - "answerRich": "Y (mantenedor)", - "whyRich": "Valores por defecto de sincronización horaria actualizados para Trixie", + "answerRich": "Y si no lo modificaste; conserva antes los ajustes locales", + "whyRich": "Trixie actualiza los valores predeterminados de sincronización horaria. Traslada los ajustes locales a los directorios conf.d / sources.d de chrony antes de aceptar el archivo nuevo.", "fileFont": true }, { @@ -230,9 +230,9 @@ "clusterCeph": { "heading": "Clúster y Ceph", "clusterCalloutTitle": "Clúster: actualiza los nodos uno a uno", - "clusterCalloutBody": "Detectado vía pvecm status. No actualices más de un nodo a la vez. Migra los guests fuera del nodo primero, actualiza, reinicia, verifica que el nodo está de vuelta en el clúster como PVE 9, solo entonces pasa al siguiente nodo. Un clúster mezclado PVE 8 / PVE 9 funciona durante la ventana del upgrade, pero la migración en vivo entre versiones mezcladas no está soportada — solo migración en frío. Los grupos HA se migrarán automáticamente al nuevo formato de reglas HA.", + "clusterCalloutBody": "Se detecta mediante pvecm status. No actualices más de un nodo a la vez. Mueve sus máquinas, actualízalo, reinícialo y verifica su pertenencia al clúster antes de continuar. Durante la actualización funciona la migración en vivo desde versiones anteriores de PVE a posteriores; la dirección inversa generalmente no es compatible. Los grupos de HA se convierten automáticamente en reglas de HA cuando todos los nodos ejecutan PVE 9.", "cephCalloutTitle": "Ceph: actualiza Ceph PRIMERO, después Proxmox", - "cephCalloutBody": "Ceph debe estar ya en 19.x Squid antes del upgrade de Proxmox. El orden oficial: Ceph 17/18 → Ceph 19 (vía pveceph upgrade por nodo) → reinicio para los nuevos demonios Ceph → upgrade de Proxmox por nodo. Saltarse el paso de Ceph deja el clúster roto hasta que lo arregles desde la consola. Procedimiento completo de Ceph: wiki de upgrade Ceph Squid." + "cephCalloutBody": "Ceph debe ejecutar ya 19.x Squid antes de actualizar Proxmox. Sigue la secuencia oficial: Quincy 17 → Reef 18 → Squid 19, actualizando paquetes y reiniciando los demonios de Ceph de forma escalonada en el orden documentado. Comprueba ceph --version antes de actualizar cada nodo Proxmox. Sigue el procedimiento completo: guía de actualización de Ceph Reef a Squid." }, "troubleshooting": { "heading": "Solución de problemas", @@ -243,10 +243,10 @@ }, { "title": "pve8to9 reporta FAIL y la opción 1 de auto-reparación produce \"command not found\"", - "bodyRich": "Bug conocido — la auto-reparación se refiere a una función (configure_repositories) que no existe en el código actual. Usa la opción 2 (mostrar comandos manuales) y ejecútalos desde un shell aparte, o ejecuta los arreglos canónicos a mano: apt-get update, después vuelve a ejecutar el upgrade." + "bodyRich": "Si el error menciona configure_repositories, la copia del script está desactualizada: la reparación actual usa cleanup_duplicate_repos y ensure_repositories. Actualiza esa copia o usa la opción 2 para revisar los comandos manuales. apt-get update actualiza las listas de paquetes, pero no resuelve todos los bloqueos." }, { - "title": "La simulación de apt señala \"proxmox-ve will be REMOVED\"", + "title": "La simulación de apt indica \"proxmox-ve will be REMOVED\"", "bodyRich": "Los nuevos repos no son alcanzables o la sustitución de codename no surtió efecto. Comprueba cat /etc/apt/sources.list.d/proxmox.sources — la línea Suites: debe decir trixie, no bookworm. Confirma también que apt-cache policy proxmox-ve muestra un candidato 9.x del nuevo repo." }, { @@ -267,7 +267,7 @@ }, { "title": "Split-brain del clúster tras actualizar un nodo", - "bodyRich": "Un clúster mezclado PVE 8 / PVE 9 está soportado durante la ventana del upgrade pero la migración es solo en frío. Si el clúster muestra el nodo actualizado como offline, comprueba corosync en ambos: la configuración QDevice / de red puede haberse desplazado. Ejecuta pvecm status en cada nodo para confirmar el quórum." + "bodyRich": "Se admiten clústeres con PVE 8 y PVE 9 durante la actualización. Funciona la migración en vivo de versiones anteriores a posteriores; la dirección inversa generalmente no es compatible. Si el nodo actualizado aparece desconectado, revisa corosync y la configuración del QDevice y de la red. Ejecuta pvecm status en cada nodo para confirmar el quórum." } ] }, @@ -281,11 +281,11 @@ "items": [ { "href": "https://pve.proxmox.com/wiki/Upgrade_from_8_to_9", - "title": "Upgrade from 8 to 9", + "title": "Actualización de 8 a 9", "desc": "La página principal del wiki de Proxmox para el upgrade 8 → 9. Fuente de verdad de cada comando del procedimiento manual de arriba." }, { - "href": "https://pve.proxmox.com/wiki/Ceph_Squid", + "href": "https://pve.proxmox.com/wiki/Ceph_Reef_to_Squid", "title": "Upgrade Ceph Squid (19.x)", "desc": "Paso previo obligatorio para nodos hiperconvergentes con Ceph. Ceph debe estar en 19.x Squid antes de PVE 9." }, @@ -327,7 +327,7 @@ }, { "href": "/docs/utils", - "label": "Resumen de Utilidades", + "label": "Resumen de utilidades", "tail": " — volver al resumen de la sección." } ] diff --git a/web/messages/es/docs/utils/uup-dump-iso-creator.json b/web/messages/es/docs/utils/uup-dump-iso-creator.json index 3cf9bdfd..499a6665 100644 --- a/web/messages/es/docs/utils/uup-dump-iso-creator.json +++ b/web/messages/es/docs/utils/uup-dump-iso-creator.json @@ -1,19 +1,19 @@ { "meta": { - "title": "UUP Dump ISO Creator | ProxMenux Documentation", + "title": "Creador de ISO UUP Dump | Documentación de ProxMenux", "description": "Crea una ISO de instalación de Windows actualizada en tu host Proxmox usando el UUP Dump ISO Creator de ProxMenux. Automatiza la instalación de dependencias, descarga y conversión de archivos UUP en una ISO arrancable lista para crear una VM.", - "ogTitle": "UUP Dump ISO Creator | ProxMenux Documentation", + "ogTitle": "Creador de ISO UUP Dump | Documentación de ProxMenux", "ogDescription": "Crea una ISO de Windows actualizada desde UUP Dump usando ProxMenux. Dependencias, descarga y conversión totalmente automatizadas.", "ogImageAlt": "UUP Dump ISO Creator de ProxMenux" }, "header": { - "title": "UUP Dump ISO Creator", - "description": "Crea una ISO de instalación de Windows actualizada en tu host Proxmox usando UUP Dump. ProxMenux se encarga de las dependencias, descarga los archivos UUP en paralelo, ejecuta el conversor oficial y deja la ISO final en el almacenamiento de ISOs de Proxmox — lista para asociar a una nueva VM Windows.", + "title": "Creador de ISO UUP Dump", + "description": "Crea una ISO de instalación de Windows actualizada en tu host Proxmox con UUP Dump. ProxMenux gestiona las dependencias, descarga los archivos UUP en paralelo, ejecuta el conversor de UUP Dump y mueve la ISO al directorio de salida elegido, que por defecto es el almacenamiento de ISOs de Proxmox detectado.", "section": "Utilidades" }, "intro": { "title": "Qué hace este script", - "body": "Tú aportas una URL de UUP Dump (la que uupdump.net genera tras elegir build, idioma y edición) y el script hace el resto: instala las dependencias que falten, descarga el conversor de UUP Dump, descarga cada archivo de payload UUP con aria2, ensambla una ISO arrancable de Windows y la mueve al almacenamiento de ISOs de Proxmox para que el creador de VM pueda montarla en el primer arranque." + "body": "Proporciona una URL generada por uupdump.net tras elegir una compilación, un idioma y una edición. El script instala las dependencias que falten, descarga el conversor de UUP Dump y los archivos UUP, crea una ISO arrancable de Windows y la mueve al directorio de salida elegido. Como destino predeterminado ofrece el almacenamiento de ISOs de Proxmox detectado." }, "hero": { "imageAlt": "Entrada UUP Dump ISO Creator en ProxMenux", @@ -61,7 +61,7 @@ }, { "pkg": "chntpw", - "roleRich": "Ajusta hives del registro de Windows durante la construcción." + "roleRich": "Modifica las secciones del registro de Windows durante la creación." } ], "manualIntro": "Equivalente manual — si alguna vez necesitas instalarlas tú mismo:", @@ -73,22 +73,22 @@ "Detecta el almacenamiento de ISOs de Proxmox (vía pvesm status -content iso) o recae en /var/lib/vz/template/iso.", "Pregunta por una carpeta base para archivos temporales (por defecto /root/uup-temp).", "Descarga el conversor de UUP Dump desde git.uupdump.net.", - "Parsea id, pack y edition de la URL que pegas.", + "Extrae id, pack y edition de la URL pegada.", "Llama a https://uupdump.net/get.php?…&aria2=2 para generar una lista de descargas de aria2.", "Descarga cada payload UUP en UUPs/ con aria2 (paralelo, reanudable).", "Ejecuta convert.sh wim UUPs 1 del conversor para producir la ISO final.", - "Mueve la ISO al almacenamiento de ISOs de Proxmox y limpia los archivos temporales." + "Mueve la ISO al directorio de salida elegido y limpia los archivos temporales." ] }, "aria2": { - "heading": "Flags de descarga de Aria2 usados", + "heading": "Opciones de descarga de aria2 utilizadas", "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": [ "-x16 — hasta 16 conexiones por servidor.", "-s16 — divide cada archivo en 16 segmentos.", "-j5 — 5 archivos descargados en paralelo.", "-c — reanuda descargas parciales.", - "-R — reintenta tras fallos." + "-R — aplica al archivo descargado la fecha y hora del archivo remoto, si están disponibles." ], "runtime": "El tiempo típico ronda los 10 minutos, dominado por la velocidad de tu enlace de internet y la carga del mirror de UUP Dump." }, @@ -147,15 +147,15 @@ "body": "Pega la URL en el diálogo de entrada. El script valida que los tres parámetros requeridos están presentes; si falta alguno, aborta limpiamente." }, { - "title": "Espera a que termine la construcción", + "title": "Espera a que termine la creación", "img": "/iso-creator/end-uupdump-iso-creator.png", - "caption": "Construcción terminada — la ISO está lista en el almacenamiento de ISOs de Proxmox", - "bodyRich": "La consola muestra el progreso de aria2 y luego la salida del conversor. Cuando termina, la ISO aterriza en el almacenamiento de ISOs de Proxmox detectado y está lista para elegirse desde Create VM → System Windows → Install with ISO from UUP Dump." + "caption": "Creación terminada: la ISO está lista en el almacenamiento de ISOs de Proxmox", + "bodyRich": "La consola muestra el progreso de aria2 y después la salida del conversor. La ISO terminada se mueve al directorio de salida elegido. Si está en un almacenamiento de ISOs configurado en Proxmox, se puede seleccionar desde Create VM → System Windows → Install with ISO from UUP Dump." } ] }, "tempFiles": { "title": "Archivos temporales", - "body": "Por defecto, los archivos temporales viven bajo /root/uup-temp (uup-temp/ para descargas y uup-converter/ para el script conversor). El creador limpia ambos tras una ejecución exitosa. En caso de fallo igual limpia y te devuelve al menú para que un reintento empiece desde cero." + "body": "La carpeta temporal predeterminada es /root/uup-temp, con las descargas en UUPs/ y el conversor en converter/. Si eliges otra ruta base, se crea un subdirectorio de sesión independiente. Las ramas de creación correcta y de ausencia de ISO eliminan la sesión temporal. Los fallos o las cancelaciones anteriores pueden dejar archivos temporales." } } diff --git a/web/messages/fr/docs/utils/export-vm.json b/web/messages/fr/docs/utils/export-vm.json new file mode 100644 index 00000000..a1e411c0 --- /dev/null +++ b/web/messages/fr/docs/utils/export-vm.json @@ -0,0 +1,145 @@ +{ + "meta": { + "title": "Exporter une VM en OVA / OVF | Documentation ProxMenux", + "description": "Exportez une VM Proxmox vers une archive OVA portable ou un répertoire OVF avec le schéma DMTF standard. Disques VMDK au format streamOptimized et manifeste SHA1. Importable dans VMware ESXi / Workstation / Fusion, VirtualBox et à nouveau dans Proxmox.", + "ogTitle": "Exporter une VM en OVA / OVF | Documentation ProxMenux", + "ogDescription": "Convertissez une VM Proxmox en paquet OVA / OVF portable compatible avec VMware et VirtualBox." + }, + "header": { + "title": "Exportation de VM vers OVA / OVF", + "description": "Convertit une VM Proxmox en paquet OVA portable (archive TAR unique) ou OVF (descripteur et fichiers VMDK) avec le schéma OVF standard de DMTF. Les disques sont convertis avec qemu-img en VMDK au format streamOptimized. Le résultat peut être importé dans VMware (ESXi / Workstation / Fusion), VirtualBox et à nouveau dans Proxmox avec l’outil d’importation.", + "section": "Utilitaires" + }, + "intro": { + "title": "Ce que ça fait", + "body": "Lit la configuration d’une VM arrêtée, convertit chaque disque en VMDK au format streamOptimized, génère un descripteur OVF et un manifeste SHA1, puis regroupe le tout dans un fichier .ova unique ou un répertoire -ovf. La VM source n’est jamais modifiée." + }, + "picker": { + "heading": "Sélecteur de VM", + "body": "Au lancement, le script affiche toutes les VM de qm list avec leur VMID, leur nom et leur état. Choisissez celle à exporter :", + "imgAlt": "Boîte de dialogue de sélection de la VM à exporter, avec la liste de toutes les VM" + }, + "stopped": { + "heading": "La VM doit être arrêtée", + "intro": "Une image disque cohérente nécessite une VM arrêtée. Si la VM sélectionnée est en cours d’exécution, ProxMenux propose de l’arrêter :", + "items": [ + "Arrêt normal via qm shutdown $VMID --timeout 120 (attend 2 minutes l’arrêt ACPI du système invité).", + "Si le délai expire, propose un arrêt forcé : qm stop $VMID (équivalent à une coupure d’alimentation).", + "Si vous refusez les deux, l’export est annulé et aucune donnée n’est modifiée." + ], + "warnTitle": "L’arrêt forcé équivaut à une coupure d’alimentation", + "warnBody": "qm stop équivaut à débrancher l’alimentation. Le système invité peut nécessiter une réparation du système de fichiers au prochain démarrage. Privilégiez l’arrêt normal et réservez l’arrêt forcé aux systèmes invités qui ne répondent plus." + }, + "format": { + "heading": "Sélecteur de format : OVA vs OVF", + "headerFormat": "Format", + "headerOutput": "Sortie", + "headerPros": "Avantages", + "headerCons": "Inconvénients", + "rows": [ + { + "format": "OVA", + "output": "name-vmid-ts.ova", + "pros": "Un seul fichier autonome, facile à déplacer, à transférer par sftp ou à joindre à un ticket.", + "cons": "Nécessite ~220 % de la taille virtuelle du disque (espace supplémentaire pour l’archive TAR pendant sa création)." + }, + { + "format": "OVF", + "output": "name-vmid-ts-ovf/", + "pros": "~120 % de la taille virtuelle du disque. Plus facile à examiner, car le descripteur est en XML texte. Modifiable avant l’import.", + "cons": "Plusieurs fichiers, à transférer tous ensemble." + } + ] + }, + "destination": { + "heading": "Répertoire de destination", + "body": "Choisissez un chemin prédéfini (/var/lib/vz/dump, /var/lib/vz/template/iso) ou saisissez un chemin personnalisé. Le script vérifie que le répertoire est accessible en écriture et avertit si l’espace libre semble insuffisant avant de commencer.", + "calloutTitle": "Estimation de l’espace libre nécessaire", + "calloutBody": "Pour exporter en OVF une VM dont les disques totalisent 100 Go virtuels, prévoyez ~120 Go libres ; pour OVA, ~220 Go. L’espace réellement utilisé peut être inférieur pour des disques presque vides. L’archive OVA est créée en TAR non compressé alors que les fichiers VMDK temporaires sont encore présents : prévoyez donc de la place pour les deux. Si l’espace manque pendant l’export, le gestionnaire EXIT nettoie le répertoire temporaire et vous devez recommencer." + }, + "package": { + "heading": "Ce qui finit dans le paquet", + "intro": "Pour une OVA / OVF nommée myvm-100-2026-04-26_18-30-15:", + "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": "Ce qui est exporté", + "items": [ + "Disques : toutes les entrées scsi*, sata*, virtio* et ide* de la configuration de la VM, converties en VMDK au format streamOptimized.", + "Nombre de vCPU (RASD ResourceType 3) et mémoire en MiB (ResourceType 4).", + "Nombre de cartes réseau (ResourceType 10 : uniquement le nombre, sans le pont ni le modèle).", + "Nom de la VM et indication du type de système d’exploitation." + ], + "notTitle": "Ce qui n'est pas exporté", + "notItems": [ + "Montages CD-ROM / ISO (volontairement exclus).", + "Lecteurs cloud-init (volontairement exclus).", + "Pont et modèle précis de carte réseau (seul le nombre est conservé).", + "Choix BIOS / UEFI, à configurer à nouveau lors de l’import.", + "Configuration du passthrough PCI.", + "Snapshots — seul l'état actuel est capturé.", + "Options de niveau VM (NUMA, pages géantes, hotplug, ...)." + ] + }, + "conversion": { + "heading": "Conversion du disque", + "intro": "Chaque disque est converti avec :", + "code": "qemu-img convert -p -O vmdk -o subformat=streamOptimized \\\n \"$source_path\" \\\n \"$work_dir/-disk.vmdk\"", + "outro": "streamOptimized est le format VMware lisible en une seule passe, pris en charge par ESXi 6.7+, VMware Workstation, VirtualBox et Proxmox lui-même. C’est le sous-format VMDK le plus largement compatible, adapté à la portabilité. En contrepartie, il ne permet pas l’accès aléatoire et ne peut donc pas être monté directement sans conversion." + }, + "manifest": { + "heading": "Manifeste SHA1", + "intro": "Chaque paquet contient un fichier .mf avec les empreintes SHA1 du descripteur OVF et de chaque 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": "Facultatif dans la spécification OVF et ignoré par de nombreux outils, le manifeste permet toutefois de vérifier que le paquet a été transféré intact. Vérifiez-le manuellement avec sha1sum -c file.mf." + }, + "import": { + "heading": "Importation du résultat", + "intro": "Le paquet exporté peut être importé dans :", + "items": [ + { + "href": "/docs/utils/import-vm", + "preRich": "Proxmox — utilisez l’outil correspondant ", + "linkLabel": "Importer une VM depuis OVA / OVF", + "tailRich": "." + }, + { + "tailRich": "VMware ESXi — Datacenter → Deploy OVF Template ; sélectionnez le fichier .ova ou .ovf." + }, + { + "tailRich": "VMware Workstation / Fusion — File → Open ; sélectionnez le fichier .ova ou .ovf." + }, + { + "tailRich": "VirtualBox — File → Import Appliance ; sélectionnez le fichier .ova ou .ovf." + } + ] + }, + "troubleshoot": { + "heading": "Dépannage", + "noSpaceTitle": "qemu-img convert échoue en cours de conversion avec \"No space left on device\"", + "noSpaceBody": "Le répertoire de destination n’a plus d’espace libre. Le gestionnaire EXIT nettoie automatiquement le répertoire temporaire. Choisissez une destination avec davantage d’espace libre (voir l’estimation ci-dessus) et relancez l’export.", + "unsupportedHwTitle": "L’export se termine, mais VMware refuse l’import : \"Unsupported hardware family\"", + "unsupportedHwBody": "Certaines versions d’ESXi rejettent les descripteurs OVF qui déclarent une famille matérielle inconnue. Ouvrez le .ovf dans un éditeur de texte, ou extrayez d’abord le .ova, repérez <vssd:VirtualSystemType> et choisissez une valeur acceptée par ESXi, par exemple vmx-13 pour ESXi 6.5+. Pour contourner rapidement le problème, essayez VirtualBox, qui est plus permissif.", + "nicTitle": "La VM importée utilise une carte réseau ou un contrôleur SCSI différent", + "nicBody": "L’OVF conserve le nombre de cartes réseau, pas leur modèle d’origine. Vérifiez les paramètres réseau de la VM importée dans l’hyperviseur de destination. L’export déclare un contrôleur SCSI lsilogic pour la compatibilité VMware. Lors d’un retour dans Proxmox, vous pouvez choisir VirtIO SCSI si le système invité possède les pilotes adaptés.", + "runningTitle": "La VM était en cours d’exécution et j’ai refusé de l’arrêter : export annulé", + "runningBody": "Le script ne peut pas produire une image cohérente pendant l’écriture sur les disques. Acceptez la demande d’arrêt la prochaine fois, ou arrêtez d’abord la VM manuellement (qm shutdown $VMID), puis relancez l’export.", + "slowTitle": "La conversion du disque est lente", + "slowBody": "qemu-img convert utilise un seul thread et lit la source à pleine vitesse. Pour un disque de 100 Go sur un disque dur mécanique, comptez 15 à 30 minutes. Un transfert de NVMe à NVMe est 5 à 10 fois plus rapide. Les disques d’une VM sont convertis l’un après l’autre ; la durée augmente linéairement avec la taille virtuelle totale." + }, + "related": { + "heading": "Voir aussi", + "items": [ + { + "href": "/docs/utils/import-vm", + "label": "Importer une VM depuis OVA / OVF", + "tail": " — l’outil complémentaire pour réimporter la VM." + }, + { + "href": "/docs/utils", + "label": "Présentation des utilitaires", + "tail": " — retour à la présentation de la section." + } + ] + } +} diff --git a/web/messages/fr/docs/utils/import-vm.json b/web/messages/fr/docs/utils/import-vm.json new file mode 100644 index 00000000..dc31389c --- /dev/null +++ b/web/messages/fr/docs/utils/import-vm.json @@ -0,0 +1,218 @@ +{ + "meta": { + "title": "Importer une VM depuis OVA / OVF | Documentation ProxMenux", + "description": "Importez une VM VMware ESXi / Workstation / Fusion / VirtualBox / ProxMenux dans Proxmox VE. Extrait automatiquement OVA, analyse les métadonnées OVF, crée la VM et importe chaque disque au format natif du stockage (qcow2 / raw).", + "ogTitle": "Importer une VM depuis OVA / OVF | Documentation ProxMenux", + "ogDescription": "Importez dans Proxmox des VM exportées depuis VMware, VirtualBox ou ProxMenux. Les disques sont convertis automatiquement au format natif du stockage." + }, + "header": { + "title": "Importer une VM depuis OVA / OVF", + "description": "Importe un paquet OVA / OVF dans Proxmox VE : extrait les archives OVA, lit le descripteur OVF pour obtenir le nombre de vCPU, la mémoire, le nombre de cartes réseau et les références des disques, puis crée la VM et importe chaque disque avec qm importdisk vers le stockage choisi. Compatible avec les exports VMware (ESXi / Workstation / Fusion), VirtualBox et ProxMenux.", + "section": "Utilitaires" + }, + "intro": { + "title": "Ce que ça fait", + "body": "Crée une VM complète dans Proxmox depuis un paquet portable. Après l’import, elle est prête à démarrer. Quelques vérifications et réglages du modèle réseau, du firmware et du type de système sont recommandés pour les performances et la compatibilité." + }, + "picker": { + "heading": "Sélection de fichiers", + "intro": "Au lancement, le script propose deux répertoires prédéfinis ou un chemin manuel :", + "items": [ + "/var/lib/vz/dump — le répertoire de sauvegarde par défaut Proxmox vzdump.", + "/var/lib/vz/template/iso — utile si vous y avez transféré l’OVA par sftp.", + "Chemin manuel — pour les fichiers OVA / OVF n'importe où ailleurs sur l'hôte." + ], + "outro": "Il énumère ensuite chaque fichier .ova et .ovf dans le répertoire choisi.", + "imageAlt": "Dialogue de sélection du fichier de VM à importer" + }, + "flow": { + "heading": "Comment fonctionne l'importation", + "nodes": [ + { + "label": "Entrée OVA / OVF", + "detail": ".ova → tar xf vers\n /tmp/.proxmenux-import-*\n.ovf → utiliser sur place", + "variant": "source" + }, + { + "label": "Analyse et dialogues", + "detail": "AWK lit OVF\n(nom, vCPU, RAM, NIC,\nles disques). Choix de l'utilisateur\nVMID / stockage / pont", + "variant": "bridge" + }, + { + "label": "qm create + importdisk", + "detail": "qm create $VMID\nqm importdisk\n(VMDK → format du stockage)\nqm set --scsiN", + "variant": "target" + } + ] + }, + "ovf": { + "heading": "Analyse OVF", + "intro": "Un analyseur gawk lit le descripteur OVF et retire les métadonnées VM. L'analyseur utilise la forme d'argument 3 de match() spécifique à gawk (mawk, le awk par défaut sur Debian / Proxmox, ne le supporte pas). Lors de la première importation, le script auto-installe gawk via la paire canonique ensure_repositories + install_single_package s'il manque; les importations subséquentes commencent instantanément. Champs extraits:", + "headerField": "Champ", + "headerSource": "Source en OVF", + "headerDefault": "Par défaut si manquant", + "rows": [ + { + "field": "Nom VM", + "source": " (première correspondance)", + "default": "imported-vm" + }, + { + "field": "Nombre de vCPU", + "source": "RASD ResourceType 3 → VirtualQuantity", + "default": "1" + }, + { + "field": "Mémoire (MiB)", + "source": "RASD ResourceType 4 → VirtualQuantity", + "default": "1024" + }, + { + "field": "Nombre de NIC", + "source": "Nombre de ResourceType 10", + "default": "1" + }, + { + "field": "Type de système d’exploitation", + "source": "/Linux/ ou /Windows/ dans la description", + "default": "other" + }, + { + "field": "Références des disques", + "source": "attributs href se terminant par .vmdk / .qcow2 / .img / .raw", + "default": "aucun (importation avortée)" + } + ] + }, + "memWarn": { + "title": "Ambiguité de l'unité de mémoire", + "body": "L’analyseur convertit les unités mémoire reconnues en MiB, notamment les octets, KiB, MiB, GiB et les libellés textuels pris en charge. Les unités absentes ou inconnues sont traitées comme des MiB. Après l’import, comparez qm config $VMID | grep memory à la RAM documentée de la VM source et corrigez-la si nécessaire avec qm set $VMID --memory <MiB>." + }, + "dialog": { + "heading": "Étapes des dialogues d’importation", + "items": [ + "VMID — propose le prochain identifiant disponible (pvesh get /cluster/nextid).", + "Nom de la VM — reprend le nom lu dans l’OVF ; vous pouvez le modifier.", + "Stockage de destination — liste des stockages acceptant le contenu images, obtenue par pvesm status -content images.", + "Pont réseau — liste des ponts issue de ip link show type bridge. Un pont unique est choisi automatiquement ; la valeur par défaut est vmbr0.", + "Confirmation — boîte de dialogue sommaire avec VMID, nom, vCPU, mémoire, NIC, stockage, pont et la liste des disques à importer. Annuler ici = rien ne change." + ] + }, + "create": { + "heading": "Création de VM", + "intro": "Après confirmation, le script s'exécute :", + "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": "Le contrôleur SCSI par défaut est lsi (LSI Logic) pour la compatibilité VMDK. NICs par défaut à e1000 (compatibilité universelle) sur le pont choisi." + }, + "diskLoop": { + "heading": "Boucle d'importation de disque", + "intro": "Pour chaque référence disque dans l'OVF:", + "items": [ + "qm importdisk $VMID $disk_path $STORAGE — importe le disque dans un format accepté par le stockage de destination et crée une entrée unusedN: dans la configuration de la VM.", + "Le script recherche avec grep la référence unusedN qui vient d’être créée dans la configuration.", + "qm set $VMID --scsiN $unused_disk — fixe le disque comme scsi0, scsi1, ...", + "qm set $VMID --delete unusedN — efface le marqueur maintenant inutilisé." + ], + "outro": "Le démarrage est réglé sur le premier disque SCSI : qm set $VMID --boot c --bootdisk scsi0." + }, + "postImport": { + "heading": "Réglages recommandés après l’import", + "intro": "L’import utilise des réglages largement compatibles pour favoriser un premier démarrage réussi. Après l’avoir confirmé, choisissez des réglages plus performants depuis l’interface Proxmox ou la CLI :", + "headerSetting": "Réglage", + "headerDefault": "Par défaut après l'importation", + "headerRecommended": "Recommandé si le système invité le prend en charge", + "rows": [ + { + "setting": "Modèle NIC", + "default": "e1000", + "recommended": "VirtIO (bien plus rapide, nécessite un pilote dans le système invité)" + }, + { + "setting": "Contrôleur SCSI", + "default": "LSI", + "recommended": "VirtIO SCSI single (Linux récent ou Windows avec pilotes VirtIO)" + }, + { + "setting": "Micrologiciel (BIOS / UEFI)", + "default": "Par défaut Proxmox (BIOS)", + "recommended": "Reprendre le firmware de la VM source ; un mauvais choix empêche le démarrage" + }, + { + "setting": "QEMU agent invité", + "default": "Désactivé", + "recommendedRich": "Activer et installer qemu-guest-agent dans le système invité (meilleures sauvegardes, remontée des IP)" + }, + { + "setting": "Type de système d’exploitation", + "default": "l26 / win10 / other (heuristique)", + "recommended": "Vérifier par rapport à l'OS client réel" + }, + { + "setting": "Affichage", + "default": "Par défaut", + "recommended": "VirtIO-GPU ou SPICE (meilleure performance de la console)" + } + ] + }, + "fwWarn": { + "title": "Erreur de firmware = pas de démarrage", + "body": "Si la source VM était UEFI mais Proxmox la crée comme BIOS (ou vice-versa), l'invité ne trouvera pas de disque amorçable. Vérifiez les paramètres OVF ou VM d'origine pour FirmwareType / firmware et définissez la même chose dans Proxmox: qm set $VMID --bios ovmf pour UEFI; par défaut, seabios pour BIOS." + }, + "notImported": { + "heading": "Ce qui n'est pas importé", + "items": [ + "Ponts réseau précis — seul le nombre de cartes est conservé. Toutes utilisent le pont choisi lors de l’import.", + "Modèle NIC — par défaut pour e1000.", + "Type de firmware BIOS / UEFI — utilise la valeur Proxmox par défaut, BIOS.", + "Configuration du passthrough PCI.", + "TPM (vTPM).", + "Lecteurs cloud-init.", + "Snapshots — seul l'état actuel.", + "USB / série / dispositifs parallèles déclaré dans l'OVF.", + "VM tags / notes / options de démarrage." + ] + }, + "troubleshoot": { + "heading": "Dépannage", + "orphanTitle": "La VM est créée, mais l’import des disques échoue et laisse une VM partielle", + "orphanIntro": "Si l’import échoue, le script propose de supprimer la VM partielle et ses disques importés. Si vous avez refusé ou si la suppression automatique a échoué, examinez la VM et supprimez-la manuellement avec :", + "orphanCode": "qm destroy $VMID --destroy-unreferenced-disks 1", + "orphanOutro": "Ensuite, corrigez la cause sous-jacente (probablement l'espace disque sur le stockage cible) et réimportez.", + "memTitle": "La VM importée dispose de 8 Mo de RAM, ou de 8 To", + "memIntro": "L’analyseur convertit les AllocationUnits reconnues en MiB. Les unités absentes ou inconnues sont traitées comme des MiB. Examinez l’OVF et comparez la mémoire importée à celle de la VM source. Corrigez-la si nécessaire :", + "memCode": "qm set $VMID --memory 8192 # 8 GiB", + "bootTitle": "La VM importée ne démarre pas : \"No bootable device\"", + "bootIntro": "Cause fréquente : un mauvais choix BIOS / UEFI. La VM source utilisait UEFI, mais Proxmox l’a créée avec BIOS. Choisissez le firmware correspondant :", + "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": "Autre cause fréquente : l’ordre de démarrage vise scsi0 alors que le système est sur scsi1. Modifiez l’ordre dans l’onglet Options de la VM.", + "bsodTitle": "Une VM Windows exportée de VMware affiche un écran bleu au premier démarrage", + "bsodBody": "Windows est sensible au changement de contrôleur de disque. Installez les pilotes VirtIO avant l’export depuis VMware, ou conservez le contrôleur lsi par défaut. Passez à VirtIO SCSI seulement après un démarrage réussi et l’installation des pilotes VirtIO dans Windows.", + "zeroTitle": "L’analyseur OVF indique 0 disque", + "zeroBody": "L’OVF peut utiliser des références de disque inconnues de l’analyseur. Ouvrez-le et cherchez pour chaque disque une entrée <File ovf:href=\"...vmdk\" ...>. Si le disque est réellement VMDK, mais porte une extension inhabituelle comme .dat, renommez-le en .vmdk et actualisez la référence OVF. Le renommage ne convertit pas le format.", + "awkTitle": "awk: erreur de syntaxe à ou près , — l'analyseur échoue sur chaque OVA / OVF", + "awkIntro": "L’analyseur OVF utilise la syntaxe gawk de match() à trois arguments, absente de mawk, le awk par défaut sur Debian / Proxmox. Les versions récentes installent gawk automatiquement au premier usage via ensure_repositories + install_single_package. Avec une ancienne copie, installez-le manuellement :", + "awkCode": "apt-get install -y gawk", + "awkOutro": "Relancez ensuite l’import.", + "netTitle": "Réseau ne fonctionnant pas après le premier démarrage", + "netBody": "Le système invité peut ne pas avoir les pilotes du modèle réseau e1000, ou le pont choisi peut être incorrect. Dans l’onglet Hardware de la VM, changez Network Device → Model. Vérifiez aussi ip a dans le système invité : l’interface peut avoir changé de nom, par exemple ens18 au lieu d’eth0, alors que sa configuration utilise encore l’ancien." + }, + "files": { + "heading": "Fichiers concernés", + "code": "scripts/utilities/import_vm_ova_ovf.sh # this script\n/tmp/.proxmenux-import-*/ # temp extraction dir for OVA\n/etc/pve/nodes//qemu-server/.conf # created by qm create\n//-disk-. # disk images, format depends on storage" + }, + "related": { + "heading": "Voir aussi", + "items": [ + { + "href": "/docs/utils/export-vm", + "label": "Exportation de VM vers OVA / OVF", + "tail": " — l’outil complémentaire pour exporter la VM." + }, + { + "href": "/docs/utils", + "label": "Présentation des utilitaires", + "tail": " — retour à la présentation de la section." + } + ] + } +} diff --git a/web/messages/fr/docs/utils/index.json b/web/messages/fr/docs/utils/index.json new file mode 100644 index 00000000..07be051e --- /dev/null +++ b/web/messages/fr/docs/utils/index.json @@ -0,0 +1,115 @@ +{ + "meta": { + "title": "Utilitaires Proxmox — UUP Dump, migration de PVE 8 vers 9, export/import OVA | ProxMenux", + "description": "Utilitaires du quotidien pour Proxmox VE : créer des ISO Windows avec UUP Dump, installer une sélection d’outils CLI, mettre à jour le système Proxmox en toute sécurité, passer de PVE 8 à PVE 9, exporter des VM en OVA / OVF et importer des VM OVA / OVF depuis VMware ou VirtualBox.", + "ogTitle": "Utilitaires Proxmox — UUP Dump, migration de PVE 8 vers 9, export/import OVA", + "ogDescription": "Créez des ISO Windows, installez des outils CLI, lancez une mise à jour sûre, passez de PVE 8 à PVE 9 et exportez ou importez des VM OVA / OVF.", + "twitterTitle": "Utilitaires Proxmox | ProxMenux", + "twitterDescription": "Création d’ISO, outils CLI, mise à jour Proxmox, migration PVE 8→9 et portabilité des VM OVA / OVF." + }, + "header": { + "title": "Utilitaires et outils", + "description": "Six outils complètent les tâches quotidiennes dans Proxmox VE : création d’ISO, maintenance du système et portabilité des VM. Chaque option est indépendante : choisissez celle qui vous convient ; rien n’est installé sans votre demande.", + "section": "Utilitaires" + }, + "intro": { + "title": "À quoi sert ce menu", + "body": "Trois groupes d’outils indépendants mais souvent utiles : créer une ISO Windows avec UUP Dump, entretenir l’hôte Proxmox (outils CLI, mises à jour et changement de version majeure) et importer et exporter des VM dans Proxmox au format standard OVA / OVF." + }, + "opening": { + "heading": "Ouverture du menu", + "body": "Dans le menu principal de ProxMenux, sélectionnez Utilities. Voici ce qui s’affiche :", + "imageAlt": "Menu des utilitaires avec UUP Dump, outils système, mise à jour, changement de version, export et import" + }, + "groups": { + "heading": "Trois groupes d'outils", + "intro": "Les six outils se divisent en trois groupes indépendants. Cliquez sur une carte ci-dessous pour passer à la section correspondante.", + "iso": { + "title": "Création ISO", + "body": "Créez des ISO Windows officielles avec UUP Dump directement sur l’hôte Proxmox.", + "bullets": [ + "Lien partagé UUP Dump → ISO amorçable", + "Dépendances installées automatiquement", + "Le résultat est enregistré dans le répertoire des modèles ISO de Proxmox" + ] + }, + "maintenance": { + "title": "Entretien du système", + "body": "Maintenez l’hôte en bon état : outils CLI, mises à jour régulières et passage à la version majeure suivante le moment venu.", + "bullets": [ + "Installateur d’utilitaires système (25 outils CLI)", + "Mise à jour du système Proxmox (apt + dist-upgrade)", + "PVE 8 → PVE 9 mise à jour majeure" + ] + }, + "portability": { + "title": "Portabilité des VM", + "body": "Importez et exportez des VM dans Proxmox au format standard OVA / OVF.", + "bullets": [ + "Exporter une VM Proxmox → OVA / OVF", + "Importer OVA / OVF → VM Proxmox", + "Compatible avec VMware et VirtualBox" + ] + } + }, + "upgradeWarn": { + "title": "La mise à jour PVE 8 → 9 est destructrice et non réversible", + "body": "Un changement de version majeure remplace sur place la base Debian (Bookworm → Trixie) et les composants Proxmox. Aucun retour arrière n’est prévu : vous devez disposer de sauvegardes vérifiées de chaque VM et CT et d’un accès console / IPMI / iKVM avant de commencer. C’est pourquoi l’outil refuse de s’exécuter depuis le terminal web Proxmox." + }, + "isoSection": { + "heading": "Création ISO", + "body": "Créez une nouvelle ISO d’installation de Windows à jour directement sur l’hôte Proxmox. Le script automatise tout le processus UUP Dump : installation des dépendances (aria2c, cabextract, wimlib-imagex, …), téléchargement parallèle des fichiers de mise à jour avec aria2 et conversion en une ISO amorçable. Elle est enregistrée dans /var/lib/vz/template/iso, prête à être associée à une VM.", + "options": [ + { + "title": "Créateur d’ISO UUP Dump", + "description": "Créez une ISO d’installation de Windows à jour depuis un lien partagé UUP Dump. Les dépendances, le téléchargement et la conversion sont entièrement automatisés ; l’ISO obtenue est enregistrée dans /var/lib/vz/template/iso, prête pour la création d’une VM.", + "href": "/docs/utils/UUp-Dump-ISO-Creator" + } + ] + }, + "maintenanceSection": { + "heading": "Entretien du système", + "body": "Trois outils couvrent les tâches quotidiennes et occasionnelles sur l’hôte. L’Installateur d’utilitaires système installe les outils CLI utiles après une nouvelle installation. La Mise à jour du système Proxmox assure l’entretien hebdomadaire ou mensuel. Le Passage de PVE 8 à PVE 9 est le grand changement de chaque cycle de version majeure, avec des contrôles de sécurité supplémentaires car il n’est pas réversible.", + "options": [ + { + "title": "Installateur des utilitaires système", + "description": "Sélecteur de 25 outils CLI choisis (htop, btop, iperf3, jq, tmux, ncdu, ...) avec sélection personnalisée ou groupes prédéfinis (base, développement, compression, multiplexeurs, analyse, réseau). Utilise le processus standard avec dépôt et commande de vérification.", + "href": "/docs/utils/system-utils" + }, + { + "title": "Mise à jour du système Proxmox", + "description": "Vérification des dépôts + apt update + apt dist-upgrade, avec confirmation avant le redémarrage. Détecte la version majeure de PVE (8 ou 9), conserve les dépôts configurés et demande confirmation avant de faire passer un hôte sans abonnement au dépôt no-subscription, puis exécute autoremove.", + "href": "/docs/utils/system-update" + }, + { + "title": "Mettre à niveau le PVE 8 vers le PVE 9", + "description": "Changement de version majeure (Debian Bookworm → Trixie + PVE 8 → 9). Vérifications préalables, migration des dépôts, mode automatisé ou interactif, validation après la migration et redémarrage. Refuse de s’exécuter depuis le terminal web.", + "href": "/docs/utils/upgrade-pve8-pve9" + } + ] + }, + "portabilitySection": { + "heading": "Portabilité VM (OVA / OVF)", + "body": "OVA et OVF sont des formats de paquetage entre hyperviseurs définis par la norme DMTF et pris en charge par VMware, VirtualBox et Proxmox. Les deux outils permettent un aller-retour : une VM exportée de Proxmox peut y être réimportée, et inversement. Utilisez-les pour migrer des charges depuis ESXi, créer une sauvegarde portable d’une VM ou partager une VM préparée avec un utilisateur de VirtualBox.", + "options": [ + { + "title": "Exportation de VM vers OVA / OVF", + "description": "Convertissez une VM Proxmox en archive OVA portable ou en répertoire OVF. Schéma DMTF standard, manifeste SHA1 et disques VMDK au format streamOptimized. Importable dans VMware (ESXi / Workstation / Fusion), VirtualBox et à nouveau dans Proxmox.", + "href": "/docs/utils/export-vm" + }, + { + "title": "Importer une VM depuis OVA / OVF", + "description": "Importez dans Proxmox une exportation VMware / VirtualBox / ProxMenux. L’outil extrait automatiquement l’archive OVA, analyse les métadonnées OVF, crée la VM et importe chaque disque au format natif du stockage.", + "href": "/docs/utils/import-vm" + } + ] + }, + "diskSpaceCallout": { + "title": "Une note sur l'espace disque pour l'exportation / l'importation", + "body": "Les deux outils convertissent les formats de disque : l’export utilise qemu-img convert -O vmdk -o subformat=streamOptimized et l’import utilise qm importdisk pour revenir au format natif du stockage (qcow2 / raw). Pour l’export, prévoyez ~120 % de la taille virtuelle du disque pour OVF et ~220 % pour OVA. L’archive OVA utilise un TAR non compressé et est créée alors que les fichiers VMDK temporaires sont encore présents. Vérifiez que le répertoire de destination dispose de suffisamment d’espace avant de commencer." + }, + "fitsTogether": { + "heading": "Organisation du menu", + "body": "Chaque outil possède un script dédié dans scripts/utilities/. La mise à jour du système Proxmox appelle un seul script sécurisé dans scripts/global/, update-pve-safe.sh, qui détecte la version majeure et gère PVE 8 et PVE 9. Le passage PVE 8 → 9 propose deux actions supplémentaires dans son propre menu : une Vérification avant migration indépendante (exécute pve8to9 --full) et un Guide de migration manuelle en lecture seule (procédure en 17 étapes), pour contrôler le processus ou l’effectuer manuellement." + } +} diff --git a/web/messages/fr/docs/utils/system-update.json b/web/messages/fr/docs/utils/system-update.json new file mode 100644 index 00000000..5888fd02 --- /dev/null +++ b/web/messages/fr/docs/utils/system-update.json @@ -0,0 +1,168 @@ +{ + "meta": { + "title": "Mise à jour du système Proxmox | Documentation ProxMenux", + "description": "Met à jour les paquets dans la version majeure actuelle de Proxmox avec apt-get update et apt full-upgrade -y. Vérifie l’espace disque et les dépôts configurés, tente de récupérer les clés GPG, vérifie et répare les anciens en-têtes PV LVM, reconstruit les pilotes DKMS gérés si nécessaire, exécute autoremove/autoclean et propose un redémarrage lorsque nécessaire.", + "ogTitle": "Mise à jour du système Proxmox | Documentation ProxMenux", + "ogDescription": "apt full-upgrade avec vérification des dépôts, autoremove/autoclean et proposition de redémarrage si nécessaire." + }, + "header": { + "title": "Mise à jour du système Proxmox", + "description": "Appelle un seul script d’exécution (update-pve-safe.sh) qui détecte la version majeure de Proxmox. Les dépôts configurés sont lus via l’API Proxmox et conservés ; un hôte sans abonnement utilisant uniquement Enterprise doit confirmer avant le passage à no-subscription. Le script met à jour les paquets et reconstruit les pilotes DKMS gérés par ProxMenux pour un noyau en attente de démarrage. Le script principal propose un redémarrage si le marqueur système existe ou si le dernier noyau installé diffère du noyau en cours. Le processus est aussi accessible depuis Update Now dans l’en-tête de ProxMenux Monitor lorsque des mises à jour sont détectées.", + "section": "Utilitaires" + }, + "calloutWhat": { + "title": "Ce que ça fait", + "body": "Met l’hôte au dernier niveau de correctifs de sa version majeure actuelle. Il ne change pas de version majeure ; pour PVE 8 → PVE 9, consultez Passer de PVE 8 à PVE 9." + }, + "official": { + "heading": "La recommandation officielle de Proxmox", + "intro": "Pour mettre à jour un hôte dans la même version majeure, Proxmox recommande d’exécuter :", + "code": "apt update && apt full-upgrade -y", + "outro": "Cette ligne est la commande officielle pour les versions actuelles de Proxmox. Il faut également vérifier que les dépôts sont propres, que les bons sont activés et que l’hôte reste dans un état cohérent après la mise à jour." + }, + "onTop": { + "heading": "Ce que ProxMenux ajoute : vérifié dans le script", + "intro": "Utilise la même opération apt full-upgrade, avec vérification des dépôts, reconstruction DKMS et nettoyage après mise à jour. Les étapes suivantes correspondent à scripts/utilities/proxmox_update.sh et à son unique script d’exécution scripts/global/update-pve-safe.sh :", + "items": [ + "Détecte la version majeure de PVE dans le script d’exécution (pveversion | grep -oP ''pve-manager/\\K[0-9]+''). Un seul script gère PVE 8 et PVE 9 ; les dépôts configurés sont conservés, sauf si un hôte sans abonnement accepte le changement proposé.", + "Conserve les dépôts configurés. ensure_repositories lit les dépôts via l’API Proxmox et vérifie l’abonnement. Avec un abonnement actif ou un dépôt no-subscription ou test déjà utilisé, rien ne change. Un hôte sans abonnement actif utilisant uniquement Enterprise doit confirmer le passage à no-subscription. Un refus arrête la mise à jour sans modifier les sources.", + "Exécute la mise à jour sans interaction avec DEBIAN_FRONTEND=noninteractive et --force-confdef --force-confold. Pour les fichiers de configuration dpkg, l’action par défaut est acceptée si elle existe ; sinon, le fichier actuel est conservé.", + "N’impose pas les utilitaires facultatifs. Le script n’installe pas de force zfsutils-linux, chrony, ifupdown2 ou des paquets similaires. Une installation Proxmox qui a choisi de s’en passer conserve ce choix. Les paquets manquants sont signalés dans les processus d’installation supérieurs, pas lors de la mise à jour.", + "Vérification et réparation des métadonnées LVM. Détecte les anciens en-têtes PV et exécute vgck --updatemetadata et vgchange -ay sur les groupes de volumes concernés. Cela peut modifier les métadonnées LVM ; il ne s’agit pas d’une simple vérification avec avertissement.", + "Nettoye ensuite: apt-get autoremove -y + apt-get autoclean -y.", + "Reconstruction DKMS avant la proposition de redémarrage. Le script d’exécution appelle pmx_rebuild_dkms_after_kernel lorsqu’un noyau installé plus récent est en attente. Le script principal vérifie /var/run/reboot-required et utilise dpkg-query pour comparer le noyau indiqué par uname -r avec le dernier paquet proxmox-kernel-*-pve-signed / pve-kernel-*-pve installé. Le marqueur peut manquer sur les hôtes sans needrestart ; la comparaison des noyaux fonctionne tout de même." + ] + }, + "calloutOneSentence": { + "title": "En une phrase", + "body": "Met à jour les paquets de l’hôte, conserve les dépôts sauf changement accepté, vérifie les métadonnées LVM, reconstruit les pilotes DKMS gérés, nettoie avec autoremove/autoclean et propose un redémarrage si nécessaire." + }, + "confirm": { + "heading": "Boîte de dialogue de confirmation", + "intro": "La sélection de l’option ouvre un résumé des actions prévues et demande une confirmation explicite :", + "imageAlt": "Boîte de dialogue de confirmation de mise à jour Proxmox avec vérification des dépôts, mise à jour des paquets et nettoyage" + }, + "routes": { + "heading": "Comment le script principal délègue l’exécution", + "nodes": { + "source": { + "label": "proxmox_update.sh", + "detail": "pveversion |\ngrep -oP ''pve-manager/\\K[0-9]+''" + }, + "bridge": { + "label": "Un seul script d’exécution", + "detail": "update-pve-safe.sh\n(détecte PVE 8 / 9\nen interne)" + }, + "target": { + "label": "Après la mise à jour", + "detail": "apt-get autoremove\napt-get autoclean\nRedémarrage proposé si nécessaire" + } + } + }, + "worker": { + "heading": "Ce que fait le script d’exécution", + "intro": "Un seul script (scripts/global/update-pve-safe.sh) gère PVE 8 (bookworm) et PVE 9 (trixie). Il détecte la version majeure et vérifie les dépôts existants sans réécrire les sources Debian de base. Les étapes sont les suivantes :", + "items": [ + "Vérifications préalables. Vérifie qu’il reste au moins ~1 Go dans /var/cache/apt/archives. Sinon, le processus s’arrête immédiatement avec un message clair afin d’éviter un échec au milieu d’une opération apt.", + "Vérification des dépôts. ensure_repositories lit les dépôts et l’état de l’abonnement. Avec un dépôt Proxmox utilisable, rien ne change. Sur un hôte sans abonnement actif utilisant uniquement Enterprise, le passage à no-subscription doit être confirmé ; un refus arrête la mise à jour.", + "apt update avec récupération automatique GPG. En cas de NO_PUBKEY pour un dépôt, y compris tiers, le script importe la clé manquante et réessaie automatiquement avant de signaler un échec.", + "Mises à jour en attente et de sécurité. Indique combien de paquets vont changer et combien proviennent de la suite de sécurité, afin d’afficher des chiffres concrets dans le dialogue de confirmation.", + "Boîte de dialogue de confirmation. Après l’actualisation des listes de paquets, le script demande un oui explicite avant de mettre à jour les paquets.", + "apt full-upgrade. Utilise DEBIAN_FRONTEND=noninteractive et --force-confdef --force-confold. Dpkg suit son action par défaut pour les fichiers de configuration lorsqu’elle existe ; sinon, il conserve le fichier actuel.", + "Vérification LVM. lvm_repair_check actualise les métadonnées des groupes de volumes lorsque des disques transmis directement à des VM invitées (DSM, TrueNAS ou appliances de stockage) reviennent avec d’anciens en-têtes PV.", + "Reconstruction DKMS des pilotes gérés par ProxMenux. Lorsqu’un nouveau noyau est en attente de démarrage, pmx_rebuild_dkms_after_kernel lit les pilotes installés par ProxMenux dans components_status.json (actuellement nvidia_driver → module nvidia et coral_driver → module gasket), installe les en-têtes correspondants (proxmox-headers-<newkver> si disponible, sinon pve-headers-<newkver>) et exécute dkms autoinstall -k <newkver>. Si dkms status ne montre pas les modules construits pour le nouveau noyau, les installateurs sont relancés avec --auto-reinstall. Les échecs sont consignés sans interrompre la mise à jour, qui atteint tout de même la proposition de redémarrage.", + "Nettoyage final. apt-get autoremove + apt-get autoclean avant de rendre la main au script principal." + ] + }, + "post": { + "heading": "Nettoyage et redémarrage après mise à jour", + "intro": "Après la fin du script d’exécution, le script principal exécute :", + "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": "Le script principal vérifie aussi si un redémarrage est nécessaire. Chacun de ces signaux déclenche la proposition :", + "items": [ + "/var/run/reboot-required existe : un paquet ou un outil système a indiqué qu’un redémarrage est nécessaire.", + "Le dernier paquet de noyau Proxmox installé diffère du noyau en cours, selon dpkg-query et uname -r." + ], + "outro": "Si l’une des conditions est remplie, une boîte de dialogue whiptail demande « Certains changements nécessitent un redémarrage. Voulez-vous redémarrer maintenant ? ». Refusez pour continuer avec le noyau en cours jusqu’au redémarrage manuel, par exemple pendant une fenêtre de maintenance prévue." + }, + "end": { + "heading": "Ce que vous voyez à la fin", + "intro": "À la fin du script d’exécution, le terminal affiche le résultat du nettoyage et, si nécessaire, la proposition de redémarrage :", + "imageAlt": "Résumé final de la mise à jour Proxmox avec résultat du nettoyage et proposition de redémarrage" + }, + "calloutDeclineReboot": { + "title": "Reportez le redémarrage seulement pour une raison précise", + "body": "Installer un nouveau paquet proxmox-kernel-* ne remplace pas le noyau en cours avant le redémarrage. Le nouveau noyau et ses modules correspondants deviennent actifs au démarrage suivant. Prévoyez une fenêtre de maintenance adaptée et examinez auparavant les avertissements de compilation DKMS." + }, + "noSub": { + "heading": "Traitement du dépôt Enterprise par le script", + "intro": "Proxmox active par défaut le dépôt Enterprise. Sans abonnement actif, ce dépôt renvoie 401 lors de apt-get update. Le script ne modifie les dépôts que dans ce cas et après confirmation, via l’API Proxmox utilisée par Node → Updates → Repositories. Voici les différents cas :", + "items": [ + "Avec un abonnement actif, les dépôts sont conservés et Enterprise fournit les mises à jour.", + "Si le dépôt no-subscription ou test est déjà activé, les dépôts sont conservés, quelles que soient les autres sources configurées.", + "Avec aucun abonnement actif et uniquement le dépôt Enterprise, un dialogue propose le changement. Accepter désactive Enterprise, active no-subscription et actualise les listes de paquets. Le changement est consigné dans la vue Changes d’Audit & Report. Refuser arrête la mise à jour sans modifier les sources.", + "Les sources Ceph Enterprise présentes sont désactivées lors du même changement, sans choisir un autre canal Ceph. Sur un hôte utilisant Ceph, son canal se configure séparément.", + "Si aucun terminal ne permet de demander confirmation, aucune source n’est modifiée et la mise à jour s’arrête avec un message renvoyant à Node → Updates → Repositories." + ], + "outro": "Les sources Debian et tous les autres fichiers de dépôts ne sont jamais modifiés par ce processus. Une entrée mêlant Enterprise à d’autres composants n’est pas changée : la mise à jour s’arrête et demande de séparer cette entrée depuis la vue des dépôts Proxmox." + }, + "cluster": { + "heading": "Précautions pour les clusters", + "calloutTitle": "Sur les clusters : mettre à jour un noeud à la fois", + "calloutBody": "Dans un cluster Proxmox, exécutez cette option sur un nœud à la fois et attendez la fin du redémarrage avant de passer au suivant. Migrez d’abord les systèmes invités hors du nœud pour éviter une interruption de service dans le cluster. Des versions mineures différentes, comme 8.4.1 et 8.4.5, peuvent cohabiter pendant quelques heures ; des noyaux en cours différents peuvent entraîner un comportement inattendu pour les systèmes invités gérés par HA." + }, + "doesnt": { + "heading": "Ce qu'il ne fait pas", + "items": [ + "Changement de version majeure. Le passage 8 → 9 est une opération distincte ; voir Passer de PVE 8 à PVE 9.", + "Sauvegarde. Aucune capture d’état ni retour arrière. Les opérations apt ne sont pas transactionnelles. Conservez vos sauvegardes habituelles (PBS, vzdump, instantanés ZFS).", + "Mises à jour des conteneurs / VM. Seul l’hôte est mis à jour ; les systèmes invités restent inchangés.", + "Écriture dédiée de firmware. Cet outil ne sert pas à flasher le BIOS ou le firmware des appareils. Les paquets de firmware ou de microcode CPU déjà installés peuvent néanmoins être mis à jour par apt." + ] + }, + "troubleshooting": { + "heading": "Dépannage", + "items": [ + { + "title": "apt update échoue avec 401 Unauthorized", + "body": "Le dépôt Enterprise est activé sans abonnement actif. Avant apt-get update, le script propose le passage à no-subscription. Si vous avez refusé, relancez la mise à jour et acceptez, ou désactivez Enterprise dans Node → Updates → Repositories et activez no-subscription." + }, + { + "title": "dist-upgrade reste bloqué sur \"Configuring grub-pc\"", + "body": "Si une question interactive GRUB est visible, elle demande les appareils où installer le chargeur de démarrage. L’option --force-confold concerne les fichiers de configuration, pas ce choix d’appareils. Sélectionnez les disques de démarrage appropriés avec Tab + Space, puis OK. Vous pouvez configurer ce choix à l’avance avec dpkg-reconfigure grub-pc." + }, + { + "title": "Le noyau a été mis à jour, mais les nouveaux modules d’un pilote externe manquent", + "body": "Pour les pilotes gérés (nvidia_driver et coral_driver), la fonction exécute dkms autoinstall -k <newkver> et peut relancer leurs installateurs avec --auto-reinstall. Vérifiez le résultat avec dkms status. La commande autoinstall peut aussi reconstruire d’autres modules DKMS enregistrés ; la relance des installateurs se limite aux entrées gérées de components_status.json. Examinez les modules tiers encore manquants et reconstruisez-les si nécessaire avec dkms autoinstall." + }, + { + "title": "L'invite de redémarrage n'est pas apparue mais je suis sûr que le noyau a changé", + "body": "Les signaux sont alternatifs : /var/run/reboot-required ou une différence entre le noyau en cours et le dernier noyau Proxmox installé. Le script principal ne recherche pas les entrées linux-image dans le journal apt. Vérifiez la version en cours avec uname -r et les paquets de noyau installés avec dpkg-query. Prévoyez le redémarrage nécessaire ou exécutez shutdown -r now au moment voulu." + } + ] + }, + "files": { + "heading": "Fichiers concernés", + "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": "Voir aussi", + "items": [ + { + "href": "/docs/utils/upgrade-pve8-pve9", + "label": "Mettre à niveau le PVE 8 vers le PVE 9", + "tail": "— pour la mise à niveau de la version majeure (outil différent, modèle de sécurité différent)." + }, + { + "href": "/docs/utils/system-utils", + "label": "Installateur des utilitaires système", + "tail": " — pour installer des outils CLI utiles pendant les mises à jour (htop / btop / ncdu)." + }, + { + "href": "/docs/utils", + "label": "Présentation des utilitaires", + "tail": " — retour à la présentation de la section." + } + ] + } +} diff --git a/web/messages/fr/docs/utils/system-utils.json b/web/messages/fr/docs/utils/system-utils.json new file mode 100644 index 00000000..fa41fa31 --- /dev/null +++ b/web/messages/fr/docs/utils/system-utils.json @@ -0,0 +1,252 @@ +{ + "meta": { + "title": "Installateur d’utilitaires système | Documentation ProxMenux", + "description": "Installateur d’outils CLI pour Proxmox VE, avec 25 paquets dans la liste de référence (htop, btop, iperf3, tmux, ...). Sélection personnalisée, installation complète et groupes prédéfinis (base, développement, compression, multiplexeurs, analyse, réseau). Les groupes peuvent inclure d’autres paquets. Utilise ensure_repositories + install_single_package.", + "ogTitle": "Installateur d’utilitaires système | Documentation ProxMenux", + "ogDescription": "Installez une sélection d’outils CLI sur Proxmox VE en un clic ou par sélection personnalisée." + }, + "header": { + "title": "Installateur des utilitaires système", + "description": "Sélecteur des 25 utilitaires CLI de la liste de référence PROXMENUX_UTILS. Propose une sélection personnalisée, une installation complète, six groupes prédéfinis et une vérification des installations. Les groupes peuvent inclure des outils hors de la liste. Utilise les fonctions communes ensure_repositories() + install_single_package() pour une gestion cohérente des dépôts et des messages par paquet.", + "section": "Utilitaires" + }, + "info": { + "title": "Ce que ça fait", + "body": "Installe des outils CLI depuis une liste de 25 paquets. Chaque installation suit le même processus : ensure_repositories vérifie que l’hôte dispose d’un dépôt Proxmox utilisable pour sa version majeure de PVE, puis install_single_package installe le paquet et vérifie que sa commande est dans PATH." + }, + "opening": { + "heading": "Ouverture de l'installateur", + "intro": "Dans le menu Utilities, choisissez System Utilities Installer. Le menu principal propose neuf options :", + "imageAlt": "Menu d’installation des utilitaires système avec sélection personnalisée, ALL, groupes prédéfinis et vérification" + }, + "actions": { + "heading": "Les 9 actions du menu", + "headerOption": "Option", + "headerBehaviour": "Comportement", + "rows": [ + { + "option": "1. Sélection personnalisée", + "behaviourRich": "Liste de sélection des 25 paquets. Utilisez SPACE pour cocher et ENTER pour confirmer ; seuls les paquets sélectionnés sont installés." + }, + { + "option": "2. Installer TOUS les utilitaires", + "behaviourRich": "Installe en une fois tous les paquets de PROXMENUX_UTILS. À utiliser après une nouvelle installation Proxmox." + }, + { + "option": "3. Niveau de base", + "behaviourRich": "grc, htop, tree, curl, wget" + }, + { + "option": "4. Développement", + "behaviourRich": "git, vim, nano" + }, + { + "option": "5. Compression", + "behaviourRich": "zip, unzip, rsync" + }, + { + "option": "6. Multiplexeurs terminaux", + "behaviourRich": "screen, tmux" + }, + { + "option": "7. Analyse", + "behaviourRich": "jq, ncdu, iotop" + }, + { + "option": "8. Réseau", + "behaviourRich": "iperf3, nethogs, nmap, tcpdump, lsof" + }, + { + "option": "9. Vérifier les installations", + "behaviourRich": "Parcourt chaque entrée de PROXMENUX_UTILS, vérifie la présence de la commande dans PATH et affiche un résumé Disponible / Manquant." + } + ] + }, + "packages": { + "heading": "Les 25 paquets", + "intro": "Définis dans le fichier commun scripts/global/utils-install-functions.sh sous le nom PROXMENUX_UTILS (format : package:verify_command:description). Les autres scripts ProxMenux, notamment les lanceurs réseau iftop / iptraf-ng / iperf3, réutilisent ces entrées pour garder les paquets et leurs commandes de vérification synchronisés.", + "headerPackage": "Paquet", + "headerVerify": "Commande de vérification", + "headerDescription": "Description", + "rows": [ + { + "package": "axel", + "verify": "axel", + "description": "Accélérateur de téléchargement" + }, + { + "package": "aria2", + "verify": "aria2c", + "description": "Téléchargeur multisource" + }, + { + "package": "btop", + "verify": "btop", + "description": "Outil moderne de suivi des ressources" + }, + { + "package": "cabextract", + "verify": "cabextract", + "description": "Extraire les fichiers CAB" + }, + { + "package": "chntpw", + "verify": "chntpw", + "description": "Modifier le registre Windows / mots de passe" + }, + { + "package": "dos2unix", + "verify": "dos2unix", + "description": "Convertir les fichiers texte DOS / Unix" + }, + { + "package": "genisoimage", + "verify": "genisoimage", + "description": "Créer des images ISO" + }, + { + "package": "grc", + "verify": "grc", + "description": "Coloriseur de journal générique" + }, + { + "package": "htop", + "verify": "htop", + "description": "Affichage interactif des processus" + }, + { + "package": "iftop", + "verify": "iftop", + "description": "Utilisation en temps réel du réseau" + }, + { + "package": "intel-gpu-tools", + "verify": "intel_gpu_top", + "description": "Outils Intel GPU" + }, + { + "package": "iotop", + "verify": "iotop", + "description": "Surveillance des entrées/sorties disque" + }, + { + "package": "iperf3", + "verify": "iperf3", + "description": "Essai de bande passante réseau" + }, + { + "package": "ipset", + "verify": "ipset", + "description": "Gérer les ensembles IP" + }, + { + "package": "iptraf-ng", + "verify": "iptraf-ng", + "description": "Outil de surveillance du réseau" + }, + { + "package": "libguestfs-tools", + "verify": "virt-filesystems", + "description": "Utilitaires de disque VM" + }, + { + "package": "msr-tools", + "verify": "rdmsr", + "description": "Accès aux MSR du CPU" + }, + { + "package": "net-tools", + "verify": "netstat", + "description": "Outils de réseautage hérités" + }, + { + "package": "plocate", + "verify": "locate", + "description": "Localiser les fichiers rapidement" + }, + { + "package": "s-tui", + "verify": "s-tui", + "description": "Stress-Terminal UI" + }, + { + "package": "sshpass", + "verify": "sshpass", + "description": "Connexion SSH non interactive" + }, + { + "package": "tmux", + "verify": "tmux", + "description": "Multiplexeur terminal" + }, + { + "package": "unzip", + "verify": "unzip", + "description": "Extraire les fichiers ZIP" + }, + { + "package": "wimtools", + "verify": "wimlib-imagex", + "description": "Gérer les images WIM" + }, + { + "package": "zip", + "verify": "zip", + "description": "Créer des fichiers ZIP" + } + ] + }, + "howItWorks": { + "heading": "Comment fonctionne l’installation d’un paquet", + "items": [ + "ensure_repositories détecte PVE 8 ou 9 et lit les dépôts via l’API Proxmox. Avec un dépôt Proxmox utilisable, rien ne change. Un hôte sans abonnement actif utilisant uniquement Enterprise doit confirmer le passage à no-subscription ; apt-get update s’exécute après le changement accepté.", + "install_single_package \"pkg\" \"verify_cmd\" \"description\" exécute apt-get install -y \"$pkg\" avec rétroaction (msg_info / msg_ok / msg_error)." + ], + "verifyIntro": "Après l’installation, la commande est vérifiée avec command -v \"$verify_cmd\". Trois résultats possibles :", + "verifyOutcomes": [ + "0 (succès): commande disponible, paquet compté comme Succès.", + "1 (échec): apt a échoué, compté comme Échec.", + "2 (avertissement) : apt a réussi, mais la commande attendue n’a pas été trouvée dans PATH ; le paquet est compté comme Avec avertissements." + ], + "summary": "À la fin d’une installation personnalisée ou par groupe, un dialogue affiche les nombres de paquets Réussis / Avec avertissements / En échec." + }, + "verify": { + "heading": "Vérifier les installations", + "intro": "L’option 9 est en lecture seule : elle parcourt PROXMENUX_UTILS et exécute command -v pour chaque commande de vérification. Voici la sortie :", + "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 avant d’exécuter des scripts qui dépendent de ces outils. Par exemple, uup_dump_iso_creator.sh nécessite aria2c + cabextract + wimlib-imagex. S’il manque un outil, installez le groupe correspondant ou sélectionnez les paquets manquants." + }, + "troubleshoot": { + "heading": "Dépannage", + "reposTitle": "« Impossible de configurer les dépôts. Installation annulée. »", + "reposBody": "La vérification des dépôts a échoué : le passage à no-subscription a été refusé, l’état de l’abonnement est illisible ou une entrée nécessite une intervention. Le message précédent indique la cause. Consultez Node → Updates → Repositories et lancez apt-get update dans une console pour voir l’erreur apt.", + "warningsTitle": "Un paquet est signalé \"Avec avertissements\" mais la commande fonctionne après que je ferme le menu", + "warningsBody": "Après apt-get install, la fonction exécute hash -r, attend brièvement et vérifie la commande attendue avec command -v. Un avertissement signifie que la vérification échoue encore, sans en identifier la cause. Essayez un nouveau shell, puis vérifiez le paquet installé et PATH si la commande manque toujours.", + "hangsTitle": "Une installation apt reste bloquée", + "hangsBody": "Il est fort probable que l'invite debconf soit bloquée derrière la sortie silencieuse. Le script enveloppe tous les appels apt avec DEBIAN_FRONTEND=noninteractive, ce qui supprime généralement les invites, mais quelques paquets nécessitent toujours une entrée utilisateur. Annuler avec Ctrl+C, exécuter apt-get install -y <pkg> manuellement à partir d'un shell pour voir l'invite et décider." + }, + "files": { + "heading": "Fichiers concernés", + "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": "Voir aussi", + "items": [ + { + "href": "/docs/utils/system-update", + "label": "Mise à jour du système Proxmox", + "tailRich": "— pour le apt dist-upgrade réel sur l'hôte." + }, + { + "href": "/docs/network/monitoring", + "label": "Outils de surveillance en direct (réseau)", + "tailRich": "— utilise iftop / iptraf-ng / iperf3 de cette même liste." + }, + { + "href": "/docs/utils", + "label": "Présentation des utilitaires", + "tailRich": " — retour à la présentation de la section." + } + ] + } +} diff --git a/web/messages/fr/docs/utils/upgrade-pve8-pve9.json b/web/messages/fr/docs/utils/upgrade-pve8-pve9.json new file mode 100644 index 00000000..5feeb7cd --- /dev/null +++ b/web/messages/fr/docs/utils/upgrade-pve8-pve9.json @@ -0,0 +1,335 @@ +{ + "meta": { + "title": "Passer de PVE 8 à PVE 9 | Documentation ProxMenux", + "description": "Trois méthodes pour passer de Proxmox VE 8 à 9 (Debian Bookworm vers Trixie et PVE 8 vers 9) : automatique, interactive ou manuelle, selon la procédure officielle Proxmox. Contrôle pve8to9, migration des dépôts, dist-upgrade et vérification finale. Refuse de démarrer depuis le terminal web.", + "ogTitle": "Passer de PVE 8 à PVE 9 | Documentation ProxMenux", + "ogDescription": "Trois méthodes (automatique, interactive, manuelle) pour passer de Proxmox VE 8 à 9." + }, + "header": { + "title": "Mettre à niveau le PVE 8 vers le PVE 9", + "description": "Effectue le passage de Proxmox VE 8 à 9 selon la procédure officielle : Debian Bookworm vers Trixie et PVE 8 vers 9. Trois méthodes sont disponibles, ainsi qu’un contrôle préalable indépendant. Le terminal web est refusé, car une déconnexion pendant l’opération peut laisser l’hôte inutilisable.", + "section": "Utilitaires" + }, + "dangerCallout": { + "title": "Un changement de version majeure est irréversible", + "intro": "Cette opération remplace sur place la base Debian (Bookworm → Trixie) et les composants Proxmox. Il n’existe aucune procédure de retour en arrière. Avant de commencer :", + "items": [ + "Sauvegardes vérifiées de chaque VM et CT (PBS, vzdump, instantanés ZFS — vérifiez aussi leur restauration).", + "Accès console / IPMI / iKVM à l’hôte en cas de coupure SSH pendant la mise à niveau.", + "L'hôte déjà mis à jour sur PVE 8.4.x (le script l'applique).", + "Ceph (le cas échéant) sur la version 19.x Squid.", + "Au moins 5 Go libres sur le système de fichiers racine." + ] + }, + "modeMenu": { + "heading": "Le menu mode", + "intro": "L’option ouvre un menu à quatre entrées : Automatique, Interactif, Contrôle préalable et Guide manuel. Trois choix effectuent la mise à niveau ou expliquent comment procéder ; le contrôle indépendant vérifie les prérequis et peut proposer des réparations.", + "imageAlt": "Menu de passage de PVE 8 à 9 : Automatique, Interactif, Contrôle préalable et Guide manuel" + }, + "threeWays": { + "heading": "Trois façons de mettre à niveau", + "intro": "Les modes Automatique et Interactif suivent le même déroulement, avec contrôles préalables et vérification finale. Ils diffèrent dans les réponses aux questions de dpkg pendant dist-upgrade. Le guide manuel affiche les commandes et les contrôles ; vous devez exécuter chaque étape.", + "auto": { + "title": "Automatique / Sans surveillance", + "summary": "Définit ASSUME_YES=1 + DEBIAN_FRONTEND=noninteractive. Pour les fichiers de configuration modifiés, dpkg utilise son action par défaut si elle existe ; sinon, il conserve le fichier actuel (--force-confold).", + "items": [ + "Le plus rapide — aucune attente des réponses", + "Adapté aux installations standard sans fichiers de configuration personnalisés", + "Risque : une configuration personnalisée est conservée sans question et peut masquer les nouvelles valeurs par défaut" + ] + }, + "interactive": { + "title": "Interactif", + "summary": "Même déroulement, mais vous répondez à chaque question de dpkg sur les conflits de configuration. Plus lent, avec une visibilité maximale.", + "items": [ + "Vous voyez chaque conflit de config et décidez", + "Meilleure quand vous avez personnalisé /etc/lvm, /etc/ssh, etc.", + "Consulter le tableau des réponses recommandées dans la procédure manuelle ci-dessous" + ] + }, + "manual": { + "title": "Guide de mise à jour manuelle", + "summary": "Affiche la procédure en 17 étapes conforme au wiki officiel Proxmox, sans l’exécuter. Lancez vous-même les commandes dans un autre shell.", + "items": [ + "Contrôle maximal — vous tapez chaque commande", + "Mieux quand vous voulez apprendre la procédure ou vous ne faites confiance à rien", + "Le script affiche les étapes; rien n'est exécuté automatiquement" + ] + } + }, + "precheckCallout": { + "title": "Plus une vérification préalable séparée", + "body": "L’option 3 — Exécuter le contrôle PVE 8 vers 9 — lance l’outil officiel pve8to9 --full, propose des réparations guidées pour les problèmes courants, puis s’arrête. Utilisez-la avant la mise à niveau ou après des réparations manuelles. Les modes Automatique et Interactif la lancent aussi ; le guide manuel vous indique de l’exécuter." + }, + "webTerminal": { + "heading": "Pourquoi le terminal web est bloqué", + "body": "Les trois modes détectent termproxy / vncshell dans la chaîne des processus parents et refusent de démarrer. Le terminal web dépend de pveproxy, un service mis à jour pendant l’opération. Au redémarrage de pveproxy, la session se ferme, ainsi que le script lancé dedans. L’hôte peut rester partiellement mis à niveau.", + "warningTitle": "Utilisez SSH ou une console physique / IPMI / iKVM", + "warningBody": "SSH est le choix habituel. Lancez-le dans tmux ou screen pour résister aux brèves coupures réseau. Si le script détecte un simple shell SSH, il affiche d’abord un rappel concernant tmux/screen." + }, + "auto": { + "heading": "Mode automatique / sans surveillance", + "intro": "Les confirmations et les questions habituelles sur les fichiers de configuration utilisent les réponses par défaut. Des échecs bloquants du contrôle préalable peuvent encore demander une intervention. Réservez ce mode aux installations standard, ou examinez d’abord l’effet des réponses sur vos fichiers personnalisés.", + "behaviourHeading": "Comportement propre au mode automatique", + "behaviourTable": { + "settingHeader": "Réglage", + "effectHeader": "Effet", + "rows": [ + { + "settingRich": "ASSUME_YES=1", + "effectRich": "Option interne — confirme automatiquement les questions oui/non du script" + }, + { + "settingRich": "DEBIAN_FRONTEND=noninteractive", + "effectRich": "apt / dpkg s’exécutent sans ouvrir de question debconf" + }, + { + "settingRich": "--force-confdef", + "effectRich": "Pour les fichiers de configuration intacts: installez la nouvelle version du responsable" + }, + { + "settingRich": "--force-confold", + "effectRich": "Pour les fichiers modifiés : action par défaut de dpkg si elle existe ; sinon, conservation de votre version." + } + ] + }, + "flowHeading": "Déroulement du mode automatique", + "flowIntro": "Six phases successives. Les premières peuvent mettre à jour des paquets PVE 8 et écrire la configuration des dépôts. Un échec arrête le déroulement sans annuler ces modifications. La phase 5 lance dist-upgrade vers PVE 9.", + "flowDiagram": "1. CONTRÔLES\nBloque termproxy / vncshell ; refuse PVE 9 ; vérifie espace et connectivité.\nExige Ceph 19.x Squid s’il est installé.\npve8to9 --full (peut proposer des réparations).\n\n2. PRÉPARER PVE 8\nscripts/global/update-pve8.sh\nMet à jour les paquets PVE 8 ; systemctl restart pve-manager.\n\n3. MIGRER LES DÉPÔTS\nBookworm → Trixie ; écrit les fichiers deb822 .sources.\nCommente les anciens fichiers .list ; apt-get update.\n\n4. VALIDER LE CANDIDAT PVE 9\napt-cache policy proxmox-ve\napt-get -s dist-upgrade\nArrêt si le candidat n’est pas 9.x ou si proxmox-ve serait supprimé.\n\n5. METTRE À NIVEAU\napt-get -y -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' dist-upgrade\nJournal : /var/log/pve8-a-pve9-'<'timestamp'>'.log\n\n6. VÉRIFIER ET REDÉMARRER\nEFI : apt install grub-efi-amd64\npve8to9 --full ; examiner le résultat et la demande de redémarrage.", + "preflightHeading": "Contrôles avant la mise à niveau", + "preflightTable": { + "checkHeader": "Vérifier", + "whyHeader": "Pourquoi ça compte ?", + "rows": [ + { + "checkRich": "Blocage du terminal web", + "whyRich": "Empêche la mise à niveau de fermer le shell qui l’exécute" + }, + { + "checkRich": "Déjà sur 9.x", + "whyRich": "Avorte si l'hôte exécute déjà PVE 9 (rien à faire)" + }, + { + "checkRich": "Dernière version de PVE 8.4.x", + "whyRich": "Met d’abord PVE 8 à jour avec son script dédié ; les anciennes versions 8.x ont des prérequis différents" + }, + { + "checkRich": "pve8to9 --full", + "whyRich": "Contrôle des prérequis fourni par Proxmox ; les erreurs FAIL bloquent la mise à niveau jusqu’à leur correction" + }, + { + "checkRich": "Espace disque", + "whyRich": "≥ 1024 Mo libres dans /var/cache/apt/archives pour les fichiers .deb téléchargés" + }, + { + "checkRich": "Connectivité", + "whyRich": "Ping vers download.proxmox.com — en cas d’échec, l’opération ne démarre pas" + }, + { + "checkRich": "Ceph 19.x Squid", + "whyRich": "Si Ceph est installé, il doit déjà être en 19.x. PVE 9 ne fonctionne pas avec Ceph 17/18. Les options --ignore-ceph-check et --warn-ceph-check contournent le contrôle ; utilisez-les seulement en connaissance de cause." + } + ] + }, + "distUpgradeHeading": "La commande dist-upgrade (mode automatique)", + "distUpgradeCode": "apt-get -y \\\n -o Dpkg::Options::='--force-confdef' \\\n -o Dpkg::Options::='--force-confold' \\\n dist-upgrade", + "distUpgradeOutro": "La sortie apparaît en temps réel sur stdout et est aussi enregistrée dans /var/log/pve8-a-pve9-<timestamp>.log. Tout reste visible ; seules les questions sont supprimées.", + "postHeading": "Tâches après mise à niveau (mode automatique)", + "postItems": [ + "Hôtes EFI : installe grub-efi-amd64, conformément au problème connu décrit par Proxmox. La mise à niveau ne l’installe pas automatiquement et il peut être nécessaire au prochain démarrage.", + "Moment du redémarrage de pve-manager. Ce redémarrage explicite intervient pendant la préparation de PVE 8, avant la mise à niveau des paquets vers Trixie/PVE 9.", + "Relance pve8to9 --full. Signale les problèmes restants. Des erreurs FAIL affichent le même menu de réparation que le contrôle préalable.", + "Demande de redémarrage. Il est recommandé de redémarrer pour charger le nouveau noyau et les services. Ne refusez que pour une raison précise : garder l’ancien noyau après un changement de version majeure présente un risque." + ] + }, + "interactive": { + "heading": "Mode interactif", + "intro": "Même déroulement que le mode automatique : mêmes contrôles, migration des dépôts et vérification finale. La différence concerne dist-upgrade : vous répondez vous-même à chaque conflit de configuration signalé par dpkg. ProxMenux lance apt-get dist-upgrade sans les options --force-conf*.", + "distUpgradeHeading": "La commande dist-upgrade (mode interactif)", + "distUpgradeCode": "apt-get dist-upgrade\n# (user answers each dpkg config-file conflict prompt as it appears)", + "whenHeading": "Quand interactif est le bon choix", + "whenItems": [ + "Vous avez personnalisé /etc/lvm/lvm.conf, /etc/ssh/sshd_config, /etc/default/grub ou tout autre fichier de configuration qui est touché par la mise à jour.", + "Vous souhaitez voir les paquets responsables des conflits et décider pour chaque fichier.", + "Vous mettez à niveau un hôte de production où tout changement caché est inacceptable." + ], + "promptCalloutTitle": "Que répondre à chaque fois", + "promptCalloutBody": "Les mêmes recommandations que pour la procédure manuelle s’appliquent : voir Réponses recommandées aux questions de dpkg ci-dessous. Saisissez D pour examiner les différences, ou Z pour ouvrir un shell." + }, + "manual": { + "heading": "Procédure de mise à niveau manuelle", + "intro": "Voici ce qu’affiche l’option Guide de mise à niveau manuelle : le wiki officiel Proxmox de passage de 8 à 9, organisé en quatre phases. Le script affiche les commandes ; vous les exécutez dans un autre shell root. Chaque étape reste visible.", + "rootCalloutTitle": "Toutes les commandes ont besoin de root", + "rootCalloutBody": "Utilisez un shell root pour ces commandes, y compris les redirections et les documents here-document. Avec sudo, assurez-vous que la commande entière bénéficie des privilèges root.", + "phase1Heading": "Phase 1 — Préparation", + "phase1Intro": "Mettez l’hôte à jour vers la dernière PVE 8.4.x, vérifiez la version et Ceph si utilisé, lancez le contrôle Proxmox, puis un multiplexeur de terminal pour résister aux déconnexions.", + "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": "Phase 2 — Migration des dépôts", + "phase2Intro": "Remplacez Bookworm par Trixie dans tous les dépôts Debian et Proxmox, puis convertissez les sources Proxmox au format deb822. Choisissez l’étape 7 OU 8 selon votre abonnement Enterprise. Ignorez l’étape 9 sans 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": "Phase 3 — Le dist-upgrade", + "phase3Intro": "La mise à niveau elle-même. L’étape 12, facultative mais recommandée, réduit les messages d’audit. L’étape 13 est longue : répondez aux questions de dpkg avec le tableau ci-dessous. L’étape 13.1 concerne uniquement EFI et suit les problèmes connus officiels.", + "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": "Réponses recommandées pour les invites dpkg", + "dpkgIntro": "Réponses préconisées par Proxmox : Y installe le nouveau fichier du responsable du paquet et remplace le vôtre ; N conserve votre fichier. En cas de doute, examinez d’abord les différences :", + "dpkgTable": { + "fileHeader": "Fichier / invite", + "answerHeader": "Réponse recommandée", + "whyHeader": "Pourquoi", + "rows": [ + { + "fileRich": "/etc/issue", + "answerRich": "N (conserver le fichier actuel)", + "whyRich": "Bannière que vous voyez habituellement", + "fileFont": true + }, + { + "fileRich": "/etc/lvm/lvm.conf", + "answerRich": "Y (version du responsable du paquet)", + "whyRich": "PVE 9 a besoin des nouvelles valeurs LVM par défaut", + "fileFont": true + }, + { + "fileRich": "/etc/ssh/sshd_config", + "answerRich": "Y pour les seuls changements par défaut ; examinez les fichiers personnalisés", + "whyRich": "Vérifiez les réglages SSH locaux et préservez l’accès avant de remplacer le fichier. Les changements par défaut incluent des options renommées et des commentaires.", + "fileFont": true + }, + { + "fileRich": "/etc/default/grub", + "answerRich": "N si personnalisé", + "whyRich": "Contient les paramètres de démarrage, notamment IOMMU et le passthrough PCI", + "fileFont": true + }, + { + "fileRich": "/etc/chrony/chrony.conf", + "answerRich": "Y si non modifié ; préservez d’abord vos réglages locaux", + "whyRich": "Trixie actualise les réglages de synchronisation horaire. Déplacez les réglages locaux dans conf.d / sources.d de chrony avant d’accepter le nouveau fichier.", + "fileFont": true + }, + { + "fileRich": "Redémarrages de services pendant la mise à niveau", + "answerRich": "Oui (par défaut)", + "whyRich": "Relance la plupart des services sans redémarrer l’hôte", + "fileFont": false + }, + { + "fileRich": "apt-listchanges", + "answerRich": "Appuyez sur q", + "whyRich": "Quitte uniquement le pager ; les informations affichées résument le journal des modifications", + "fileFont": false + } + ] + }, + "inspectCalloutTitle": "Inspection d'un conflit dpkg spécifique", + "inspectCalloutBody": "À une question de dpkg sur un fichier de configuration, saisissez D pour comparer les versions ou Z pour ouvrir un shell et examiner le problème. Cela permet de décider plutôt que de deviner.", + "phase4Heading": "Phase 4 — après la mise à niveau", + "phase4Intro": "Vérifiez la réussite de la mise à niveau, redémarrez sur le noyau PVE 9 et confirmez la version. Vous pouvez ensuite convertir les anciens fichiers .list restants au format 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 & Ceph", + "clusterCalloutTitle": "Cluster: mise à niveau des nœuds un à la fois", + "clusterCalloutBody": "Détecté par pvecm status. Ne mettez pas plusieurs nœuds à niveau simultanément. Déplacez les invités, mettez le nœud à niveau, redémarrez et vérifiez son appartenance au cluster avant de continuer. Pendant l’opération, la migration à chaud d’une ancienne version de PVE vers une plus récente fonctionne ; le sens inverse n’est généralement pas pris en charge. Les groupes HA deviennent automatiquement des règles HA lorsque tous les nœuds utilisent PVE 9.", + "cephCalloutTitle": "Ceph : mettre Ceph à niveau D’ABORD, puis Proxmox", + "cephCalloutBody": "Ceph doit déjà utiliser 19.x Squid avant la mise à niveau Proxmox. Suivez l’ordre officiel Quincy 17 → Reef 18 → Squid 19, avec mise à jour des paquets et redémarrages échelonnés des démons Ceph dans l’ordre documenté. Vérifiez ceph --version avant chaque nœud Proxmox. Procédure complète : wiki de passage de Ceph Reef à Squid." + }, + "troubleshooting": { + "heading": "Dépannage", + "items": [ + { + "title": "Le script s’arrête : \"This script cannot be executed from the Proxmox web terminal\"", + "bodyRich": "Utilisez une connexion SSH ou une console / IPMI / iKVM, puis relancez le script. Lancez d’abord tmux new -s pveupgrade pour résister aux courtes coupures réseau." + }, + { + "title": "pve8to9 signale FAIL et l’option 1 de réparation produit \"command not found\"", + "bodyRich": "Si l’erreur mentionne configure_repositories, la copie du script est ancienne : la réparation actuelle utilise cleanup_duplicate_repos et ensure_repositories. Actualisez-la ou examinez les commandes manuelles avec l’option 2. apt-get update actualise les listes de paquets sans résoudre tous les contrôles bloquants." + }, + { + "title": "La simulation apt signale \"proxmox-ve will be REMOVED\"", + "bodyRich": "Les nouveaux dépôts sont inaccessibles ou le nom de version n’a pas changé. Vérifiez cat /etc/apt/sources.list.d/proxmox.sources : la ligne Suites: doit contenir trixie, et non bookworm. apt-cache policy proxmox-ve doit proposer une version 9.x du nouveau dépôt." + }, + { + "title": "dist-upgrade échoue en cours d’exécution", + "bodyRich": "Exécutez apt-get -f install pour résoudre les dépendances cassées, puis réexécutez la mise à jour. Si cela échoue, vérifiez le journal à /var/log/pve8-a-pve9-<timestamp>.log — les dernières lignes indiquent habituellement le paquet offensif. Ne redémarrez pas avant que dpkg -l | grep ^iU ne retourne vide (pas de paquets semi-installés)." + }, + { + "title": "L'hôte EFI ne démarre pas après le redémarrage", + "bodyRich": "L’installation de grub-efi-amd64 après la mise à niveau traite ce problème. Si elle a été omise ou a échoué, démarrez sur l’ISO Proxmox en mode secours, montez la racine, utilisez chroot et lancez apt-get install grub-efi-amd64 && update-grub." + }, + { + "title": "GUI ne se charge pas après la mise à niveau", + "bodyRich": "Exécutez systemctl status pveproxy et systemctl restart pveproxy. Si le problème persiste, cherchez l’erreur dans journalctl -u pveproxy -b." + }, + { + "title": "Le réseau ne fonctionne pas après le redémarrage", + "bodyRich": "Vérifiez que /etc/network/interfaces référence des périphériques existants et que ifupdown2 est installé : apt install ifupdown2. Si les noms ont changé, voir Noms d’interfaces persistants." + }, + { + "title": "Split-brain du cluster après la mise à niveau d’un nœud", + "bodyRich": "Les clusters mixtes PVE 8 / PVE 9 sont pris en charge pendant la mise à niveau. La migration à chaud d’une ancienne version vers une plus récente fonctionne ; le sens inverse n’est généralement pas pris en charge. Si un nœud apparaît hors ligne, vérifiez corosync et la configuration QDevice / réseau. Exécutez pvecm status sur chaque nœud pour confirmer le quorum." + } + ] + }, + "files": { + "heading": "Fichiers concernés", + "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": "Références officielles", + "intro": "La procédure manuelle du script suit ces sources officielles. En cas de doute pendant une mise à niveau, suivez le wiki officiel : ProxMenux facilite l’exécution, Proxmox fait référence.", + "items": [ + { + "href": "https://pve.proxmox.com/wiki/Upgrade_from_8_to_9", + "title": "Mise à niveau de 8 à 9", + "desc": "La page wiki Proxmox principale pour la mise à jour 8 → 9. Source de vérité pour chaque commande dans la procédure manuelle ci-dessus." + }, + { + "href": "https://pve.proxmox.com/wiki/Ceph_Reef_to_Squid", + "title": "Mise à niveau vers Ceph Squid (19.x)", + "desc": "Étape préalable obligatoire pour les nœuds Ceph hyperconvergés. Ceph doit être en 19.x Squid avant PVE 9." + }, + { + "href": "https://pve.proxmox.com/wiki/Roadmap", + "title": "Feuille de route Proxmox VE", + "desc": "Notes de version PVE 9 et changements depuis 8.x : à lire avant la mise à niveau." + }, + { + "href": "https://www.debian.org/releases/trixie/releasenotes", + "title": "Notes de publication de Debian Trixie", + "desc": "PVE 9 repose sur Debian Trixie. Consultez les notes Debian pour les changements du système d’exploitation qui concernent aussi votre hôte." + }, + { + "href": "https://forum.proxmox.com/forums/proxmox-ve-installation-and-configuration.16/", + "title": "Forum d'installation Proxmox VE", + "desc": "En cas de problème pendant la mise à niveau, cherchez d’abord dans ce forum : le même cas a peut-être déjà été rencontré." + }, + { + "href": "https://pve.proxmox.com/wiki/Backup_and_Restore", + "title": "Sauvegarde et restauration", + "desc": "Une mise à jour en version majeure n'est pas réversible. Vérifiez votre discipline de sauvegarde avant de commencer." + } + ] + }, + "video": { + "heading": "Visite vidéo", + "intro": "Vous préférez regarder la mise à jour de bout en bout avant de le faire vous-même ? Ce parcours démontre le flux de mise à niveau ProxMenux en temps réel.", + "title": "ProxMenux — Mise à niveau de Proxmox VE 8 à 9", + "caption": "Vidéo externe YouTube. Lecture en mode de confidentialité avancée ; aucun cookie avant de lancer la lecture." + }, + "related": { + "heading": "Voir aussi", + "items": [ + { + "href": "/docs/utils/system-update", + "label": "Mise à jour du système Proxmox", + "tail": " — pour les mises à jour ordinaires au sein d’une même version majeure (8.4.1 → 8.4.5, etc.)." + }, + { + "href": "/docs/utils", + "label": "Présentation des utilitaires", + "tail": " — retour à la présentation de la section." + } + ] + } +} diff --git a/web/messages/fr/docs/utils/uup-dump-iso-creator.json b/web/messages/fr/docs/utils/uup-dump-iso-creator.json new file mode 100644 index 00000000..1260b659 --- /dev/null +++ b/web/messages/fr/docs/utils/uup-dump-iso-creator.json @@ -0,0 +1,161 @@ +{ + "meta": { + "title": "Créateur d’ISO UUP Dump | Documentation ProxMenux", + "description": "Créez une ISO d’installation de Windows à jour sur l’hôte Proxmox avec le créateur d’ISO UUP Dump de ProxMenux. Il automatise l’installation des dépendances, le téléchargement et la conversion des fichiers UUP en ISO amorçable pour créer une VM.", + "ogTitle": "Créateur d’ISO UUP Dump | Documentation ProxMenux", + "ogDescription": "Créez une ISO Windows à jour avec UUP Dump et ProxMenux. Dépendances, téléchargement et conversion entièrement automatisés.", + "ogImageAlt": "ProxMenux — Créateur d’ISO UUP Dump" + }, + "header": { + "title": "Créateur d’ISO UUP Dump", + "description": "Créez une ISO d’installation de Windows à jour sur l’hôte Proxmox avec UUP Dump. ProxMenux gère les dépendances, télécharge les fichiers UUP en parallèle, exécute le convertisseur UUP Dump et déplace l’ISO vers le répertoire de sortie choisi. Par défaut, il s’agit du stockage ISO Proxmox détecté.", + "section": "Utilitaires" + }, + "intro": { + "title": "Ce que ce script fait", + "body": "Fournissez l’URL générée par uupdump.net après le choix de la version, de la langue et de l’édition. Le script installe les dépendances manquantes, télécharge le convertisseur UUP Dump et les fichiers UUP, crée une ISO Windows amorçable et la déplace vers le répertoire de sortie choisi. Le stockage ISO Proxmox détecté est proposé par défaut." + }, + "hero": { + "imageAlt": "UUP Dump ISO Creator entrée dans ProxMenux", + "caption": "UUP Dump ISO Creator entrée dans ProxMenux" + }, + "what": { + "heading": "Qu'est-ce que UUP Dump?", + "intro": "UUP Dump est un service communautaire qui permet de télécharger les fichiers bruts de la plateforme Unified Update Platform (UUP), utilisés par Windows Update pour distribuer Windows. Ces fichiers peuvent être assemblés en une ISO amorçable standard. Vous pouvez ainsi obtenir :", + "items": [ + "La toute dernière version de Windows (y compris les canaux Insider Preview).", + "Une version précise plus ancienne qui n’apparaît plus sur la page de téléchargement Microsoft.", + "Des fichiers intacts et non modifiés, provenant directement des serveurs Microsoft.", + "La combinaison exacte d'éditions et de langues que vous voulez en une seule ISO." + ], + "learnMore": "En savoir plus sur la page de projet UUP Dump." + }, + "automates": { + "heading": "Ce que le script automatise" + }, + "dependencies": { + "heading": "Dépendances", + "intro": "La première chose que le script fait est de vérifier les outils nécessaires pour télécharger les charges utiles UUP et assembler l'ISO. Tous ceux qui manquent sont installés avec apt-get:", + "headerPackage": "Paquet", + "headerRole": "Rôle", + "rows": [ + { + "pkg": "curl", + "roleRich": "Téléchargements HTTP pour initialiser le convertisseur." + }, + { + "pkg": "aria2", + "roleRich": "Téléchargeur parallèle utilisé pour chaque charge utile UUP." + }, + { + "pkg": "cabextract", + "roleRich": "Extrait les paquets Microsoft CAB." + }, + { + "pkg": "wimtools", + "roleRich": "Construit install.wim (wimlib-imagex)." + }, + { + "pkg": "genisoimage", + "roleRich": "Écrit l’ISO amorçable finale (ou mkisofs)." + }, + { + "pkg": "chntpw", + "roleRich": "Modifie les ruches du registre Windows pendant la création." + } + ], + "manualIntro": "Équivalent manuel — si vous avez besoin de les installer vous-même:", + "manualCode": "apt-get install curl aria2 cabextract wimtools genisoimage chntpw" + }, + "flow": { + "heading": "Téléchargement et conversion", + "steps": [ + "Détecte le stockage ISO Proxmox via pvesm status -content iso, ou utilise /var/lib/vz/template/iso en repli.", + "Demande un dossier de base pour les fichiers temporaires (/root/uup-temp par défaut).", + "Téléchargez le convertisseur UUP Dump de git.uupdump.net.", + "Extrait id, pack et edition de l’URL collée.", + "Appelle https://uupdump.net/get.php?…&aria2=2 pour générer une liste de téléchargement aria2.", + "Télécharge tous les fichiers UUP dans UUPs/ avec aria2, en parallèle et avec reprise possible.", + "Exécute convert.sh wim UUPs 1 à partir du convertisseur pour produire l'ISO finale.", + "Déplace l’ISO vers le répertoire de sortie choisi et nettoie les fichiers temporaires." + ] + }, + "aria2": { + "heading": "Options de téléchargement aria2 utilisées", + "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": [ + "-x16 — jusqu'à 16 connexions par serveur.", + "-s16 — divise chaque fichier en 16 segments.", + "-j5 — télécharge 5 fichiers en parallèle.", + "-c — reprend les téléchargements partiels.", + "-R — applique au fichier téléchargé l’horodatage du fichier distant, s’il est disponible." + ], + "runtime": "La durée habituelle est d’environ 10 minutes et dépend surtout du débit Internet et de la charge des serveurs de téléchargement UUP Dump." + }, + "step1": { + "heading": "Étape 1 · Obtenez une URL UUP Dump", + "intro": "Avant d'exécuter le script, vous avez besoin d'une URL UUP Dump qui inclut les paramètres de requête id, pack et edition. Générer sur uupdump.net:", + "stepBadge": "Étape", + "items": [ + { + "title": "Choisissez une version Windows", + "img": "/iso-creator/step-1-select-version-windows.png", + "caption": "UUP Dump page principale — choisissez une version Windows", + "body": "Ouvrez la page d'accueil UUP Dump et choisissez la version Windows que vous voulez." + }, + { + "title": "Choisissez une version précise", + "img": "/iso-creator/step-2-select-version-windows.png", + "caption": "Choisissez une version précise", + "body": "Choisissez la version : la plus récente, un canal Insider Preview ou une version plus ancienne encore répertoriée." + }, + { + "title": "Choisir une langue", + "img": "/iso-creator/step-3-select-version-windows.png", + "caption": "Choisir une langue", + "body": "Choisissez la langue à inclure dans l’ISO." + }, + { + "title": "Choisir les éditions", + "img": "/iso-creator/step-4-select-version-windows.png", + "caption": "Choisissez les éditions à inclure", + "body": "Choisissez les éditions à regrouper dans l'ISO (Home, Pro, Enterprise, ...). Vous pouvez en combiner plusieurs." + }, + { + "title": "Copier l'URL", + "img": "/iso-creator/step-5-select-version-windows.png", + "caption": "Copier l'URL de la barre d'adresses", + "bodyRich": "Sur la dernière page, copiez l’URL depuis la barre d’adresse du navigateur. Elle doit contenir id=…, pack=… et edition=…. C’est cette chaîne que le script analyse." + } + ] + }, + "step2": { + "heading": "Étape 2 · Exécuter le créateur", + "intro": "Avec l'URL en main, ouvrez ProxMenux et lancez le créateur :", + "stepBadge": "Étape", + "items": [ + { + "title": "Démarrer UUP Dump ISO Creator", + "img": "/iso-creator/start-uupdump-iso-creator.png", + "caption": "Démarrer UUP Dump ISO Creator à partir de ProxMenux", + "bodyRich": "Dans ProxMenux, ouvrez Utilities → UUP Dump ISO Creator. Le script vérifie les dépendances et le répertoire ISO avant de demander les informations." + }, + { + "title": "Coller l'URL UUP Dump", + "img": "/iso-creator/add-url-iso-creator.png", + "caption": "Coller l'URL que vous avez copiée depuis uupdump.net", + "body": "Collez l’URL dans le champ de saisie. Le script vérifie la présence des trois paramètres requis et s’arrête proprement s’il en manque un." + }, + { + "title": "Attendez la fin de la création", + "img": "/iso-creator/end-uupdump-iso-creator.png", + "caption": "Création terminée : l’ISO est prête dans le stockage ISO Proxmox", + "bodyRich": "La console affiche la progression aria2 puis la sortie du convertisseur. L’ISO terminée est déplacée vers le répertoire de sortie choisi. Si elle se trouve dans un stockage ISO Proxmox configuré, vous pouvez la sélectionner dans Create VM → System Windows → Install with ISO from UUP Dump." + } + ] + }, + "tempFiles": { + "title": "Fichiers temporaires", + "body": "Le dossier temporaire par défaut est /root/uup-temp, avec les téléchargements dans UUPs/ et le convertisseur dans converter/. Un chemin de base personnalisé reçoit un sous-dossier de session distinct. Les branches de création réussie et d’absence d’ISO générée suppriment la session temporaire. Une erreur ou une annulation plus tôt peut laisser des fichiers temporaires." + } +} diff --git a/web/messages/it/docs/utils/export-vm.json b/web/messages/it/docs/utils/export-vm.json new file mode 100644 index 00000000..8d1fc5d0 --- /dev/null +++ b/web/messages/it/docs/utils/export-vm.json @@ -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 .ova o in una directory -ovf. La VM di origine non viene mai modificata." + }, + "picker": { + "heading": "Selettore di VM", + "body": "All’avvio, lo script elenca tutte le VM di qm list 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 qm shutdown $VMID --timeout 120 (attende 2 minuti l’arresto ACPI del sistema guest).", + "Se scade il tempo di attesa, propone un arresto forzato: qm stop $VMID (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": "qm stop 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 (/var/lib/vz/dump, /var/lib/vz/template/iso) 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 myvm-100-2026-04-26_18-30-15:", + "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": [ + "Dischi: tutte le voci scsi*, sata*, virtio* e ide* nella configurazione della VM, convertite in VMDK streamOptimized.", + "Numero di vCPU (RASD ResourceType 3) e memoria in MiB (ResourceType 4).", + "Numero di schede di rete (ResourceType 10: solo il numero, senza bridge o modello).", + "Nome della VM 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/-disk.vmdk\"", + "outro": "streamOptimized è 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 .mf 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 sha1sum -c file.mf." + }, + "import": { + "heading": "Importazione del risultato", + "intro": "Il pacchetto esportato può essere importato in:", + "items": [ + { + "href": "/docs/utils/import-vm", + "preRich": "Proxmox — usa lo strumento corrispondente ", + "linkLabel": "Importa VM da OVA / OVF", + "tailRich": "." + }, + { + "tailRich": "VMware ESXi — Datacenter → Deploy OVF Template; seleziona il file .ova o .ovf." + }, + { + "tailRich": "VMware Workstation / Fusion — File → Open; seleziona il file .ova o .ovf." + }, + { + "tailRich": "VirtualBox — 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 <vssd:VirtualSystemType> e imposta un valore accettato da ESXi, ad esempio vmx-13 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 VirtIO SCSI 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 (qm shutdown $VMID) e ripeti l’esportazione.", + "slowTitle": "La conversione del disco è lenta", + "slowBody": "qemu-img convert 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." + } + ] + } +} diff --git a/web/messages/it/docs/utils/import-vm.json b/web/messages/it/docs/utils/import-vm.json new file mode 100644 index 00000000..4677ef21 --- /dev/null +++ b/web/messages/it/docs/utils/import-vm.json @@ -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": [ + "/var/lib/vz/dump — la directory di backup Proxmox vzdump predefinita.", + "/var/lib/vz/template/iso — 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 .ova e .ovf 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 gawk legge il descrittore OVF ed estrae i metadati della VM. Usa match() con tre argomenti, una funzione specifica di gawk non supportata da mawk, il awk predefinito in Debian / Proxmox. Se manca, alla prima importazione gawk viene installato con ensure_repositories + install_single_package; le importazioni successive non richiedono questo passaggio. Campi estratti:", + "headerField": "Campo", + "headerSource": "Fonte in OVF", + "headerDefault": "Predefinito se manca", + "rows": [ + { + "field": "Nome VM", + "source": " (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 MiB, inclusi byte, KiB, MiB, GiB e le etichette testuali supportate. Le unità mancanti o sconosciute sono trattate come MiB. Dopo l’importazione, confronta qm config $VMID | grep memory con la RAM documentata della VM di origine e, se serve, correggila con qm set $VMID --memory <MiB>." + }, + "dialog": { + "heading": "Sequenza delle finestre di importazione", + "items": [ + "VMID — propone il prossimo identificativo disponibile (pvesh get /cluster/nextid).", + "Nome della VM — usa il nome letto nell’OVF; puoi modificarlo.", + "Storage di destinazione — elenco degli storage con contenuto images, ottenuto da pvesm status -content images.", + "Bridge di rete — elenco dei bridge da ip link show type bridge. Se ne esiste uno solo, viene scelto automaticamente; il valore predefinito è vmbr0.", + "Conferma — 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 lsi (LSI Logic) per la compatibilità VMDK. NIC di default a e1000 (compatibilità universale) sul ponte scelto." + }, + "diskLoop": { + "heading": "loop di importazione del disco", + "intro": "Per ogni riferimento del disco nell'OVF:", + "items": [ + "qm importdisk $VMID $disk_path $STORAGE — importa il disco in un formato supportato dallo storage di destinazione e crea una voce unusedN: nella configurazione della VM.", + "Lo script cerca con grep nella configurazione il riferimento unusedN appena creato.", + "qm set $VMID --scsiN $unused_disk — collega il disco come scsi0, scsi1, ...", + "qm set $VMID --delete unusedN — elimina il marcatore inutilizzato ormai ridondante." + ], + "outro": "Boot è impostato sul primo disco SCSI: qm set $VMID --boot c --bootdisk scsi0." + }, + "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 qemu-guest-agent 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 FirmwareType / firmware nell’OVF o nella VM originale e usa la stessa scelta in Proxmox: qm set $VMID --bios ovmf per UEFI; il valore predefinito per BIOS è seabios." + }, + "notImported": { + "heading": "Cosa NON viene importato", + "items": [ + "Bridge di rete specifici — viene conservato solo il numero di schede. Tutte usano il bridge scelto durante l’importazione.", + "Modello della scheda di rete — usa e1000 come valore predefinito.", + "Tipo di firmware BIOS / UEFI — usa il valore predefinito Proxmox, BIOS.", + "Configurazione del passthrough PCI.", + "TPM (vTPM).", + "Unità cloud-init.", + "Snapshots — solo lo stato attuale.", + "USB / dispositivi seriali / paralleli dichiarati nell'OVF.", + "VM tag / note / start-on-boot 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 prima dell’esportazione da VMware oppure mantieni il controller lsi 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 <File ovf:href=\"...vmdk\" ...>. Se il disco è davvero VMDK, ma ha un’estensione insolita come .dat, rinominalo in .vmdk 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 match() con tre argomenti, non supportata da mawk, il awk predefinito di Debian / Proxmox. Le versioni recenti installano gawk al primo utilizzo tramite ensure_repositories + install_single_package. 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 ip a 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//qemu-server/.conf # created by qm create\n//-disk-. # 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." + } + ] + } +} diff --git a/web/messages/it/docs/utils/index.json b/web/messages/it/docs/utils/index.json new file mode 100644 index 00000000..5fb109b1 --- /dev/null +++ b/web/messages/it/docs/utils/index.json @@ -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: creare una ISO di Windows con UUP Dump, gestire la manutenzione dell’host Proxmox (utilità CLI, aggiornamenti e passaggio di versione principale) e importare ed esportare VM in Proxmox nel formato standard OVA / OVF." + }, + "opening": { + "heading": "Apertura del menu", + "body": "Dal menu principale di ProxMenux, seleziona Utilities. 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 backup verificati di ogni VM e CT e accesso tramite console / IPMI / iKVM. 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 /var/lib/vz/template/iso, 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’Installatore di utilità di sistema configura gli strumenti CLI utili dopo una nuova installazione. L’Aggiornamento del sistema Proxmox esegue la manutenzione settimanale o mensile. Il Passaggio da PVE 8 a PVE 9 è 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 qemu-img convert -O vmdk -o subformat=streamOptimized; l’importazione usa qm importdisk per tornare al formato nativo dello storage (qcow2 / raw). Per esportare, prevedi ~120% della dimensione virtuale del disco per OVF e ~220% 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 scripts/utilities/. L’aggiornamento del sistema Proxmox richiama un unico script sicuro in scripts/global/, 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 Controllo preliminare all’aggiornamento indipendente (esegue pve8to9 --full) e una Guida all’aggiornamento manuale in sola lettura (procedura di 17 passaggi), per chi vuole esaminare il processo o eseguirlo a mano." + } +} diff --git a/web/messages/it/docs/utils/system-update.json b/web/messages/it/docs/utils/system-update.json new file mode 100644 index 00000000..993dfb6b --- /dev/null +++ b/web/messages/it/docs/utils/system-update.json @@ -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 (update-pve-safe.sh) 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 Update Now 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. non si aggiorna tra le versioni principali: per PVE 8 → PVE 9 vedere Aggiornamento da PVE 8 a PVE 9." + }, + "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 la stessa operazione apt full-upgrade, con controlli dei repository, ricompilazione DKMS e pulizia finale. I passaggi seguenti corrispondono a scripts/utilities/proxmox_update.sh e al suo unico script operativo scripts/global/update-pve-safe.sh:", + "items": [ + "Rileva la versione principale di PVE nello script operativo (pveversion | grep -oP ''pve-manager/\\K[0-9]+''). Un unico script gestisce PVE 8 e PVE 9; i repository vengono conservati, a meno che un host senza abbonamento accetti il cambio proposto.", + "Conserva i repository configurati. ensure_repositories 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.", + "Esegue l’aggiornamento senza interazione con DEBIAN_FRONTEND=noninteractive e --force-confdef --force-confold. Per le decisioni sui file di configurazione dpkg accetta l’azione predefinita, se presente; altrimenti conserva il file esistente.", + "Non impone le utilità facoltative. Lo script non forza l’installazione di zfsutils-linux, chrony, ifupdown2 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.", + "Controllo e riparazione dei metadati LVM. 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.", + "Pulizia finale: apt-get autoremove -y + apt-get autoclean -y.", + "Ricompilazione DKMS prima della richiesta di riavvio. Lo script operativo richiama pmx_rebuild_dkms_after_kernel quando è pronto un kernel installato più recente. Lo script principale controlla /var/run/reboot-required e usa dpkg-query per confrontare il kernel indicato da uname -r con il pacchetto proxmox-kernel-*-pve-signed / pve-kernel-*-pve installato più recente. Il marcatore può mancare sugli host senza needrestart; 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 (scripts/global/update-pve-safe.sh) gestisce PVE 8 (bookworm) e PVE 9 (trixie). Rileva la versione principale e controlla i repository esistenti senza riscrivere le sorgenti di base Debian. Le fasi sono:", + "items": [ + "Controlli preliminari. Verifica che ci sia almeno ~1 GB libero in /var/cache/apt/archives. In caso contrario si interrompe subito con un messaggio chiaro, per evitare un errore nel mezzo di un’operazione apt.", + "Controllo dei repository. ensure_repositories 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.", + "apt update con recupero automatico GPG. In caso di NO_PUBKEY per un repository, anche di terze parti, lo script importa la chiave mancante e riprova automaticamente prima di segnalare l’errore.", + "Aggiornamenti in sospeso e di sicurezza. Indica quanti pacchetti cambieranno e quanti provengono dalla suite di sicurezza, per mostrare numeri concreti nella finestra di conferma.", + "Finestra di conferma. Dopo aver aggiornato gli elenchi dei pacchetti, lo script chiede un sì esplicito prima di aggiornarli.", + "apt full-upgrade. Usa DEBIAN_FRONTEND=noninteractive e --force-confdef --force-confold. Dpkg segue l’azione predefinita per i file di configurazione, se presente; altrimenti conserva il file esistente.", + "Controllo LVM. lvm_repair_check 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.", + "Ricompilazione DKMS dei driver gestiti da ProxMenux. Quando è pronto un nuovo kernel, pmx_rebuild_dkms_after_kernel legge i driver installati da ProxMenux in components_status.json (attualmente nvidia_driver → modulo nvidia e coral_driver → modulo gasket), installa gli header corrispondenti (proxmox-headers-<newkver> se disponibile, altrimenti pve-headers-<newkver>) ed esegue dkms autoinstall -k <newkver>. Se dkms status non mostra i moduli compilati per il nuovo kernel, richiama ogni installatore con --auto-reinstall. Gli errori vengono registrati senza interrompere l’aggiornamento, che arriva comunque alla richiesta di riavvio.", + "Pulizia finale. apt-get autoremove + apt-get autoclean 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 /var/run/reboot-required: 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 dpkg-query e uname -r." + ], + "outro": "Se una delle condizioni è vera, una finestra whiptail chiede «Alcune modifiche richiedono un riavvio. Vuoi riavviare ora?». 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 proxmox-kernel-* 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 apt-get update. Lo script modifica i repository solo in questo caso e dopo conferma, tramite l’API Proxmox usata da Node → Updates → Repositories. Ecco i diversi casi:", + "items": [ + "Con un abbonamento attivo, i repository restano invariati ed Enterprise fornisce gli aggiornamenti.", + "Con il repository no-subscription o test già abilitato, i repository restano invariati, qualunque altra sorgente sia configurata.", + "Con nessun abbonamento attivo e il solo repository Enterprise, 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 Changes di Audit & Report. Rifiutando, l’aggiornamento termina senza modificare le sorgenti.", + "Le sorgenti Ceph Enterprise 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 non è disponibile un terminale per chiedere conferma, nessuna sorgente viene modificata e l’aggiornamento termina con un messaggio che rimanda a Node → Updates → Repositories." + ], + "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 un nodo alla volta 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": [ + "Passaggio di versione principale. Il passaggio 8 → 9 è un’operazione separata; vedi Aggiornamento da PVE 8 a PVE 9.", + "Backup. Nessuna snapshot, nessun rollback. Le operazioni Apt non sono transazionali. Combina con la tua normale disciplina di backup (PBS, vzdump, snapshot ZFS).", + "Aggiornamenti di container / VM. Viene aggiornato solo l’host; i sistemi guest restano invariati.", + "Scrittura dedicata del firmware. 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 apt-get update, lo script propone il passaggio a no-subscription. Se hai rifiutato, ripeti l’aggiornamento e accetta, oppure disabilita Enterprise in Node → Updates → Repositories 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 --force-confold riguarda i file di configurazione, non questa selezione. Usa Tab + Space per scegliere i dischi di avvio appropriati, poi OK. Puoi configurare la scelta in anticipo con dpkg-reconfigure grub-pc." + }, + { + "title": "Il kernel è stato aggiornato, ma mancano i nuovi moduli di un driver esterno", + "body": "Per i driver gestiti (nvidia_driver e coral_driver), la funzione esegue dkms autoinstall -k <newkver> e può ripetere gli installatori con --auto-reinstall. Controlla il risultato con dkms status. Il comando autoinstall può ricompilare anche altri moduli DKMS registrati; gli installatori alternativi sono limitati alle voci gestite di components_status.json. Esamina eventuali moduli di terze parti ancora mancanti e ricompilali se necessario con dkms autoinstall." + }, + { + "title": "Il prompt del riavvio non è apparso ma sono sicuro che il kernel sia cambiato", + "body": "I segnali sono alternativi: /var/run/reboot-required 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 uname -r e i pacchetti del kernel installati con dpkg-query. Programma il riavvio necessario o esegui shutdown -r now 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." + } + ] + } +} diff --git a/web/messages/it/docs/utils/system-utils.json b/web/messages/it/docs/utils/system-utils.json new file mode 100644 index 00000000..006cc41b --- /dev/null +++ b/web/messages/it/docs/utils/system-utils.json @@ -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: ensure_repositories verifica che l’host abbia un repository Proxmox utilizzabile per la versione principale di PVE; poi install_single_package installa il pacchetto e controlla che il comando sia in PATH." + }, + "opening": { + "heading": "Apertura dell'installatore", + "intro": "Dal menu Utilità, scegliere System Utilities Installer. 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 PROXMENUX_UTILS. Utilizzare dopo una nuova installazione Proxmox." + }, + { + "option": "3. Base", + "behaviourRich": "grc, htop, tree, curl, wget" + }, + { + "option": "4. Sviluppo", + "behaviourRich": "git, vim, nano" + }, + { + "option": "5. Compressione", + "behaviourRich": "zip, unzip, rsync" + }, + { + "option": "6. Multiplexer di terminale", + "behaviourRich": "screen, tmux" + }, + { + "option": "7. Analisi", + "behaviourRich": "jq, ncdu, iotop" + }, + { + "option": "8. Rete", + "behaviourRich": "iperf3, nethogs, nmap, tcpdump, lsof" + }, + { + "option": "9. Verifica installazioni", + "behaviourRich": "Esamina ogni voce di PROXMENUX_UTILS, controlla se il comando di verifica è in PATH e mostra un riepilogo Disponibile / Mancante." + } + ] + }, + "packages": { + "heading": "I 25 pacchetti", + "intro": "Definiti nel file condiviso scripts/global/utils-install-functions.sh come PROXMENUX_UTILS (formato: package:verify_command:description). 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": [ + "ensure_repositories 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; apt-get update viene eseguito dopo il cambio accettato.", + "install_single_package \"pkg\" \"verify_cmd\" \"description\" gestisce apt-get install -y \"$pkg\" con feedback (msg_info / msg_ok / msg_error)." + ], + "verifyIntro": "Dopo l'installazione, il comando di verifica viene controllato con command -v \"$verify_cmd\". Tre risultati:", + "verifyOutcomes": [ + "0 (successo): comando disponibile; il pacchetto è conteggiato come Riuscito.", + "1 (errore): apt non è riuscito; il pacchetto è conteggiato come Non riuscito.", + "2 (avviso): apt è riuscito, ma il comando atteso non è stato trovato in PATH; il pacchetto è conteggiato come Con avvisi." + ], + "summary": "Al termine di un’installazione personalizzata o di gruppo, una finestra mostra i conteggi Riusciti / Con avvisi / Non riusciti." + }, + "verify": { + "heading": "Verifica installazioni", + "intro": "L’opzione 9 è in sola lettura: esamina PROXMENUX_UTILS ed esegue command -v 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. uup_dump_iso_creator.sh ha bisogno di aria2c + cabextract + wimlib-imagex). 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 Node → Updates → Repositories; apt-get update 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 apt-get install, la funzione esegue hash -r, attende brevemente e verifica il comando atteso con command -v. 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 DEBIAN_FRONTEND=noninteractive per le chiamate apt, che di solito evita le domande, ma alcuni pacchetti richiedono comunque dati. Annulla con Ctrl+C ed esegui apt-get install -y <pkg> 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 apt dist-upgrade 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." + } + ] + } +} diff --git a/web/messages/it/docs/utils/upgrade-pve8-pve9.json b/web/messages/it/docs/utils/upgrade-pve8-pve9.json new file mode 100644 index 00000000..b97f0fa5 --- /dev/null +++ b/web/messages/it/docs/utils/upgrade-pve8-pve9.json @@ -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. Non è previsto un ripristino alla versione precedente. Prima di iniziare:", + "items": [ + "Backup verificati di ogni VM e CT (PBS, vzdump, snapshot ZFS — verificare anche il ripristino).", + "Accesso console / IPMI / iKVM 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 5 GB liberi nel filesystem root." + ] + }, + "modeMenu": { + "heading": "Il menu della modalità", + "intro": "L’opzione apre quattro voci: Automatico, Interattivo, Controllo preliminare e Guida manuale. Tre scelte eseguono l’aggiornamento o spiegano come procedere; il controllo indipendente verifica 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 dist-upgrade. La guida manuale mostra i comandi, inclusi i controlli: occorre eseguire ogni passaggio personalmente.", + "auto": { + "title": "Automatico / Senza intervento", + "summary": "Imposta ASSUME_YES=1 + DEBIAN_FRONTEND=noninteractive. Per i file di configurazione modificati, dpkg usa l’azione predefinita se disponibile; altrimenti conserva il file attuale (--force-confold).", + "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 /etc/lvm, /etc/ssh, 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 — Esegui controllo PVE da 8 a 9 — avvia lo strumento ufficiale pve8to9 --full, propone riparazioni guidate per problemi comuni e poi si ferma. 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 termproxy / vncshell nella catena dei processi padre e rifiutano l’avvio. Il terminale web dipende da pveproxy, servizio aggiornato durante l’operazione. Al riavvio di pveproxy 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 tmux o screen 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": "ASSUME_YES=1", + "effectRich": "Opzione interna — conferma automaticamente le domande sì/no dello script" + }, + { + "settingRich": "DEBIAN_FRONTEND=noninteractive", + "effectRich": "apt / dpkg vengono eseguiti senza aprire domande debconf" + }, + { + "settingRich": "--force-confdef", + "effectRich": "Per i file di configurazione intatti: installa la nuova versione del manutentore" + }, + { + "settingRich": "--force-confold", + "effectRich": "Per i file modificati: azione predefinita di dpkg se disponibile; altrimenti conserva la tua versione." + } + ] + }, + "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 dist-upgrade 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": "Blocco del terminale web", + "whyRich": "Evita che l’aggiornamento termini la shell che lo esegue" + }, + { + "checkRich": "Già alla versione 9.x", + "whyRich": "Interrompe se l'host gestisce già PVE 9 (niente da fare)" + }, + { + "checkRich": "Ultima versione di PVE 8.4.x", + "whyRich": "Aggiorna prima PVE 8 all’ultima revisione tramite il relativo script; le vecchie versioni 8.x hanno requisiti diversi" + }, + { + "checkRich": "pve8to9 --full", + "whyRich": "Controllo dei requisiti fornito da Proxmox; gli errori FAIL bloccano l’aggiornamento finché non vengono corretti" + }, + { + "checkRich": "Spazio su disco", + "whyRich": "≥ 1024 MB liberi in /var/cache/apt/archives per i file .deb scaricati" + }, + { + "checkRich": "Connettività", + "whyRich": "Ping a download.proxmox.com — se fallisce, l’operazione non parte" + }, + { + "checkRich": "Ceph 19.x Squid", + "whyRich": "Se Ceph è installato, deve già essere alla versione 19.x. PVE 9 non funziona con Ceph 17/18. Esistono le opzioni --ignore-ceph-check e --warn-ceph-check 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 /var/log/pve8-a-pve9-<timestamp>.log. È tutto visibile; vengono omesse solo le domande.", + "postHeading": "Operazioni successive all’aggiornamento (modalità automatica)", + "postItems": [ + "Host EFI: installa grub-efi-amd64 come indicato tra i problemi noti di Proxmox. Non viene installato automaticamente durante l’aggiornamento e può essere necessario per il prossimo avvio.", + "Quando viene riavviato pve-manager. Il riavvio esplicito avviene durante la preparazione di PVE 8, prima dell’aggiornamento dei pacchetti a Trixie/PVE 9.", + "Esegue di nuovo pve8to9 --full. Segnala i problemi rimasti. In presenza di FAIL compare lo stesso menu di riparazione dei controlli preliminari.", + "Richiesta di riavvio. 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 modalità automatica: controlli preliminari, migrazione dei repository e verifica finale identici. Cambia il passaggio dist-upgrade: rispondi personalmente a ogni conflitto di configurazione segnalato da dpkg. ProxMenux esegue apt-get dist-upgrade senza le opzioni --force-conf*.", + "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 /etc/lvm/lvm.conf, /etc/ssh/sshd_config, /etc/default/grub 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 Risposte consigliate alle domande dpkg più avanti. Digita D per vedere le differenze o Z per aprire una shell." + }, + "manual": { + "heading": "Procedura di aggiornamento manuale", + "intro": "Questo è ciò che mostra l’opzione Guida all’aggiornamento manuale: il wiki ufficiale Proxmox per il passaggio da 8 a 9, diviso in quattro fasi. Lo script mostra 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 sudo, 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. Scegli il passaggio 7 OPPURE 8 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: Y installa il nuovo file del manutentore, sovrascrivendo il tuo; N 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": "N (conserva il file attuale)", + "whyRich": "Banner che sei abituato a vedere", + "fileFont": true + }, + { + "fileRich": "/etc/lvm/lvm.conf", + "answerRich": "Y (versione del manutentore)", + "whyRich": "PVE 9 richiede i nuovi valori LVM predefiniti", + "fileFont": true + }, + { + "fileRich": "/etc/ssh/sshd_config", + "answerRich": "Y 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": "N se personalizzato", + "whyRich": "Contiene i parametri di avvio, come IOMMU e passthrough PCI", + "fileFont": true + }, + { + "fileRich": "/etc/chrony/chrony.conf", + "answerRich": "Y 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": "Sì (predefinito)", + "whyRich": "Riavvia la maggior parte dei servizi senza riavviare l’host", + "fileFont": false + }, + { + "fileRich": "apt-listchanges", + "answerRich": "Premere q", + "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, D mostra le differenze fra il tuo file e quello nuovo; Z 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 .list 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 pvecm status. Non 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 ceph --version prima di ogni nodo Proxmox. Procedura completa: wiki per il passaggio da Ceph Reef a Squid." + }, + "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 tmux new -s pveupgrade 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 configure_repositories, 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. apt-get update 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 cat /etc/apt/sources.list.d/proxmox.sources: Suites: deve indicare trixie, non bookworm. apt-cache policy proxmox-ve deve mostrare un candidato 9.x dal nuovo repository." + }, + { + "title": "dist-upgrade fallisce durante l’esecuzione", + "bodyRich": "Eseguire apt-get -f install per risolvere le dipendenze rotte, quindi eseguire nuovamente l'aggiornamento. Se ciò fallisce, controlla il registro a /var/log/pve8-a-pve9-<timestamp>.log — le ultime righe di solito indicano il pacchetto offensivo. Non riavviare fino a quando dpkg -l | grep ^iU ritorna vuoto (senza pacchetti semiinstallati)." + }, + { + "title": "L'host EFI non si avvia dopo il riavvio", + "bodyRich": "L’installazione successiva di grub-efi-amd64 risolve il problema. Se è stata saltata o è fallita, avvia l’ISO Proxmox in modalità ripristino, monta il filesystem root, esegui chroot e apt-get install grub-efi-amd64 && update-grub." + }, + { + "title": "GUI non si carica dopo l'aggiornamento", + "bodyRich": "Esegui systemctl status pveproxy e systemctl restart pveproxy. Se il problema persiste, cerca l’errore con journalctl -u pveproxy -b." + }, + { + "title": "La rete non funziona dopo il riavvio", + "bodyRich": "Verifica che /etc/network/interfaces faccia riferimento a dispositivi esistenti e che ifupdown2 sia installato: apt install ifupdown2. Se i nomi sono cambiati, vedi Nomi persistenti delle interfacce." + }, + { + "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 corosync e la configurazione QDevice / rete. Esegui pvecm status 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." + } + ] + } +} diff --git a/web/messages/it/docs/utils/uup-dump-iso-creator.json b/web/messages/it/docs/utils/uup-dump-iso-creator.json new file mode 100644 index 00000000..61d3c22d --- /dev/null +++ b/web/messages/it/docs/utils/uup-dump-iso-creator.json @@ -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 pagina del progetto UUP Dump." + }, + "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 apt-get:", + "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 install.wim (wimlib-imagex)." + }, + { + "pkg": "genisoimage", + "roleRich": "Scrive la ISO avviabile finale (o mkisofs)." + }, + { + "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 pvesm status -content iso oppure usa /var/lib/vz/template/iso come alternativa.", + "Richiede una cartella di base per i file temporanei (default /root/uup-temp).", + "Scarica il convertitore UUP Dump da git.uupdump.net.", + "Estrae id, pack ed edition dall’URL incollato.", + "Chiama https://uupdump.net/get.php?…&aria2=2 per generare un elenco di download di aria2.", + "Scarica tutti i file UUP in UUPs/ con aria2, in parallelo e con possibilità di ripresa.", + "Esegue convert.sh wim UUPs 1 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": [ + "-x16 — fino a 16 connessioni per server.", + "-s16 — divide ogni file in 16 segmenti.", + "-j5 — scarica 5 file in parallelo.", + "-c — riprende i download parziali.", + "-R — 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 id, pack e edition. Generarlo su uupdump.net:", + "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 dalla barra degli indirizzi del browser. Deve contenere id=…, pack=… ed edition=…. È 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 Utilities → UUP Dump ISO Creator. 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 Create VM → System Windows → Install with ISO from UUP Dump." + } + ] + }, + "tempFiles": { + "title": "File temporanei", + "body": "La cartella temporanea predefinita è /root/uup-temp, con i download in UUPs/ e il convertitore in converter/. 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." + } +} diff --git a/web/messages/pt/docs/utils/export-vm.json b/web/messages/pt/docs/utils/export-vm.json new file mode 100644 index 00000000..57dcdfdf --- /dev/null +++ b/web/messages/pt/docs/utils/export-vm.json @@ -0,0 +1,145 @@ +{ + "meta": { + "title": "Exportar VM para OVA / OVF | Documentação ProxMenux", + "description": "Exporte uma VM Proxmox para um arquivo OVA portátil ou um diretório OVF com o esquema padrão DMTF. Discos VMDK no formato streamOptimized e manifesto SHA1. Importável no VMware ESXi / Workstation / Fusion, VirtualBox e novamente no Proxmox.", + "ogTitle": "Exportar VM para OVA / OVF | Documentação ProxMenux", + "ogDescription": "Converta uma VM Proxmox num pacote OVA / OVF portátil compatível com VMware e VirtualBox." + }, + "header": { + "title": "Exportar VM para OVA / OVF", + "description": "Converte uma VM Proxmox num pacote OVA portátil (um único arquivo TAR) ou OVF (descritor e ficheiros VMDK) com o esquema OVF padrão DMTF. Os discos são convertidos com qemu-img para VMDK streamOptimized. O resultado pode ser importado no VMware (ESXi / Workstation / Fusion), VirtualBox e novamente no Proxmox através da ferramenta de importação.", + "section": "Utilitários" + }, + "intro": { + "title": "O que isto faz", + "body": "Lê a configuração de uma VM parada, converte cada disco para VMDK streamOptimized, gera um descritor OVF e um manifesto SHA1 e reúne tudo num único ficheiro .ova ou num diretório -ovf. A VM de origem nunca é modificada." + }, + "picker": { + "heading": "Seletor de VM", + "body": "Ao iniciar, o script lista todas as VMs de qm list com VMID, nome e estado. Escolha a que pretende exportar:", + "imgAlt": "Janela de seleção da VM a exportar com a lista de todas as VMs" + }, + "stopped": { + "heading": "A VM tem de estar parada", + "intro": "Uma imagem de disco consistente exige uma VM parada. Se a VM selecionada estiver em execução, o ProxMenux propõe desligá-la:", + "items": [ + "Encerramento normal através de qm shutdown $VMID --timeout 120 (aguarda 2 minutos pelo encerramento ACPI do sistema convidado).", + "Se o tempo de espera terminar, propõe uma paragem forçada: qm stop $VMID (equivale a cortar a alimentação).", + "Se você recusar ambos, a exportação é interrompida — nenhum dado é tocado." + ], + "warnTitle": "A paragem forçada equivale a cortar a alimentação", + "warnBody": "qm stop equivale a desligar a alimentação à força. O sistema convidado pode precisar de reparar o sistema de ficheiros no arranque seguinte. Prefira o encerramento normal e reserve a paragem forçada para sistemas convidados que não respondem." + }, + "format": { + "heading": "Selector de formato: OVA vs OVF", + "headerFormat": "Formato", + "headerOutput": "Saída", + "headerPros": "Vantagens", + "headerCons": "Desvantagens", + "rows": [ + { + "format": "OVA", + "output": "name-vmid-ts.ova", + "pros": "Um único ficheiro autónomo, fácil de mover, transferir por sftp ou anexar a um pedido de suporte.", + "cons": "Requer ~220% do tamanho virtual do disco (espaço adicional para o arquivo TAR durante a criação)." + }, + { + "format": "OVF", + "output": "name-vmid-ts-ovf/", + "pros": "~120% do tamanho virtual do disco. Mais fácil de inspecionar, pois o descritor é XML em texto. Pode ser editado antes da importação.", + "cons": "Vários ficheiros, que têm de ser transferidos em conjunto." + } + ] + }, + "destination": { + "heading": "Diretório de destino", + "body": "Escolha um caminho predefinido (/var/lib/vz/dump, /var/lib/vz/template/iso) ou introduza um caminho personalizado. O script verifica se o diretório permite escrita e avisa se o espaço livre parecer insuficiente antes de começar.", + "calloutTitle": "Estimativa do espaço livre necessário", + "calloutBody": "Para exportar em OVF uma VM cujos discos somam 100 GB virtuais, reserve ~120 GB livres; para OVA, ~220 GB. A utilização real pode ser menor para discos quase vazios. O arquivo OVA é criado com TAR sem compressão enquanto os ficheiros VMDK temporários ainda existem, pelo que deve reservar espaço para ambos. Se o espaço acabar durante a exportação, o gestor de EXIT limpa o diretório temporário e terá de recomeçar." + }, + "package": { + "heading": "O que acaba no pacote", + "intro": "Para um OVA/OVF denominado myvm-100-2026-04-26_18-30-15:", + "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": "O que é exportado", + "items": [ + "Discos: todas as entradas scsi*, sata*, virtio* e ide* da configuração da VM, convertidas para VMDK streamOptimized.", + "Número de vCPUs (RASD ResourceType 3) e memória em MiB (ResourceType 4).", + "Número de placas de rede (ResourceType 10: apenas o número, sem a bridge ou o modelo).", + "Nome da VM e indicação do tipo de sistema operativo." + ], + "notTitle": "O que não é exportado", + "notItems": [ + "Montagens CD-ROM / ISO (excluídas intencionalmente).", + "Unidades cloud-init (excluídas intencionalmente).", + "Bridge e modelo específicos da placa de rede (apenas o número é conservado).", + "Escolha BIOS / UEFI, a configurar novamente na importação.", + "Configuração de passthrough PCI.", + "Instantâneos — apenas o estado atual é capturado.", + "Opções de nível VM (NUMA, páginas enormes, hotplug, ...)." + ] + }, + "conversion": { + "heading": "Conversão de disco", + "intro": "Cada disco é convertido com:", + "code": "qemu-img convert -p -O vmdk -o subformat=streamOptimized \\\n \"$source_path\" \\\n \"$work_dir/-disk.vmdk\"", + "outro": "streamOptimized é o formato VMware legível numa única passagem, suportado pelo ESXi 6.7+, VMware Workstation, VirtualBox e pelo próprio Proxmox. É o subformato VMDK com maior compatibilidade e adequado à portabilidade. A desvantagem é não permitir acesso aleatório, pelo que não pode ser montado diretamente sem conversão." + }, + "manifest": { + "heading": "Manifesto SHA1", + "intro": "Cada pacote inclui um ficheiro .mf com os hashes SHA1 do descritor OVF e de cada 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": "É opcional na especificação OVF e muitos programas ignoram-no, mas permite verificar se o pacote foi transferido intacto. Verifique manualmente com sha1sum -c file.mf." + }, + "import": { + "heading": "Importar o resultado", + "intro": "O pacote exportado pode ser importado em:", + "items": [ + { + "href": "/docs/utils/import-vm", + "preRich": "Proxmox — use a ferramenta correspondente ", + "linkLabel": "Importar VM de OVA / OVF", + "tailRich": "." + }, + { + "tailRich": "VMware ESXi — Datacenter → Deploy OVF Template; selecione o ficheiro .ova ou .ovf." + }, + { + "tailRich": "VMware Workstation / Fusion — File → Open; selecione o ficheiro .ova ou .ovf." + }, + { + "tailRich": "VirtualBox — File → Import Appliance; selecione o ficheiro .ova ou .ovf." + } + ] + }, + "troubleshoot": { + "heading": "Resolução de Problemas", + "noSpaceTitle": "qemu-img convert falha durante a conversão com \"No space left on device\"", + "noSpaceBody": "O destino ficou sem espaço livre. O gestor de EXIT limpa automaticamente o diretório temporário. Escolha um destino com mais espaço livre (consulte a estimativa acima) e repita a exportação.", + "unsupportedHwTitle": "A exportação termina, mas o VMware recusa a importação: \"Unsupported hardware family\"", + "unsupportedHwBody": "Algumas versões do ESXi rejeitam descritores OVF que declaram uma família de hardware desconhecida. Abra o .ovf num editor de texto, ou extraia primeiro o .ova, procure <vssd:VirtualSystemType> e defina um valor aceite pelo ESXi, como vmx-13 para ESXi 6.5+. Para contornar rapidamente o problema, experimente o VirtualBox, que é mais permissivo.", + "nicTitle": "A VM importada usa uma placa de rede ou um controlador SCSI diferente", + "nicBody": "O OVF conserva o número de placas de rede, mas não o modelo original. Reveja as definições de rede da VM importada no hipervisor de destino. A exportação declara um controlador SCSI lsilogic para compatibilidade com o VMware. Ao importar novamente no Proxmox, pode escolher VirtIO SCSI se o sistema convidado tiver os controladores adequados.", + "runningTitle": "A VM estava em execução e recusei pará-la: exportação cancelada", + "runningBody": "O script não consegue produzir uma imagem consistente enquanto há escrita nos discos. Aceite o pedido de encerramento na próxima vez, ou desligue primeiro a VM manualmente (qm shutdown $VMID) e repita a exportação.", + "slowTitle": "A conversão do disco é lenta", + "slowBody": "qemu-img convert usa uma única thread e lê a origem à velocidade máxima. Para um disco de 100 GB num disco rígido mecânico, conte com 15–30 minutos. De NVMe para NVMe é 5–10 vezes mais rápido. Os discos de uma VM são convertidos em sequência; o tempo aumenta linearmente com o tamanho virtual total." + }, + "related": { + "heading": "Relacionado", + "items": [ + { + "href": "/docs/utils/import-vm", + "label": "Importar VM de OVA / OVF", + "tail": " — a ferramenta complementar para voltar a importar a VM." + }, + { + "href": "/docs/utils", + "label": "Visão geral dos utilitários", + "tail": " — voltar ao panorama da secção." + } + ] + } +} diff --git a/web/messages/pt/docs/utils/import-vm.json b/web/messages/pt/docs/utils/import-vm.json new file mode 100644 index 00000000..f6af45ce --- /dev/null +++ b/web/messages/pt/docs/utils/import-vm.json @@ -0,0 +1,218 @@ +{ + "meta": { + "title": "Importar VM de OVA / OVF | Documentação ProxMenux", + "description": "Importe uma VM VMware ESXi / Workstation / Fusion / VirtualBox / ProxMenux no Proxmox VE. Extrai OVA automaticamente, analisa metadados OVF, cria a VM e importa cada disco no formato nativo do armazenamento (qcow2 / raw).", + "ogTitle": "Importar VM de OVA / OVF | Documentação ProxMenux", + "ogDescription": "Importe no Proxmox VMs exportadas do VMware, VirtualBox ou ProxMenux. Os discos são convertidos automaticamente para o formato nativo do armazenamento." + }, + "header": { + "title": "Importar VM de OVA / OVF", + "description": "Importa um pacote OVA / OVF no Proxmox VE: extrai arquivos OVA, lê no descritor OVF o número de vCPUs, memória, placas de rede e referências dos discos, cria a VM e importa cada disco com qm importdisk para o armazenamento escolhido. Compatível com exportações VMware (ESXi / Workstation / Fusion), VirtualBox e ProxMenux.", + "section": "Utilitários" + }, + "intro": { + "title": "O que isto faz", + "body": "Cria uma VM completa no Proxmox a partir de um pacote portátil. Após a importação, está pronta para arrancar; recomendam-se verificações e ajustes do modelo de placa de rede, firmware e tipo de sistema para desempenho e compatibilidade." + }, + "picker": { + "heading": "Selector de ficheiros", + "intro": "No lançamento, o script oferece dois diretórios predefinidos ou um caminho manual:", + "items": [ + "/var/lib/vz/dump — o diretório de backup padrão do Proxmox vzdump.", + "/var/lib/vz/template/iso — útil se transferiu o OVA para aí por sftp.", + "Caminho manual — para arquivos OVA / OVF em qualquer outro lugar no host." + ], + "outro": "Ele então lista todos os arquivos .ova e .ovf no diretório escolhido.", + "imageAlt": "Janela de seleção do ficheiro da VM a importar" + }, + "flow": { + "heading": "Como funciona a importação", + "nodes": [ + { + "label": "Entrada OVA / OVF", + "detail": ".ova → tar xf para\n /tmp/.proxmenux-import-*\n.ovf → usar no local", + "variant": "source" + }, + { + "label": "Processar + diálogos", + "detail": "AWK lê OVF\n(nome, vCPU, RAM, NICs,\ndiscos). Escolha de\nVMID / armazenamento / bridge", + "variant": "bridge" + }, + { + "label": "qm create + importdisk", + "detail": "qm create $VMID\nqm importdisk\n(VMDK → formato do armazenamento)\nqm set --scsiN", + "variant": "target" + } + ] + }, + "ovf": { + "heading": "Processamento OVF", + "intro": "Um analisador gawk lê o descritor OVF e retira os metadados VM. O analisador usa a forma de 3-argumento do match() que é específica do gawk (mawk — o awk padrão no Debian / Proxmox — não o suporta). Na primeira importação, o script auto-instala gawk através do par canônico ensure_repositories + install_single_package se estiver faltando; as importações subsequentes começam instantaneamente. Campos extraídos:", + "headerField": "Campo", + "headerSource": "Fonte em OVF", + "headerDefault": "Predefinição se faltar", + "rows": [ + { + "field": "Nome VM", + "source": " (primeira correspondência)", + "default": "imported-vm" + }, + { + "field": "Contagem de vCPU", + "source": "RASD ResourceType 3 → VirtualQuantity", + "default": "1" + }, + { + "field": "Memória (MiB)", + "source": "RASD ResourceType 4 → VirtualQuantity", + "default": "1024" + }, + { + "field": "Contagem NIC", + "source": "contagem de ResourceType 10", + "default": "1" + }, + { + "field": "Tipo de sistema operacional", + "source": "/Linux/ ou /Windows/ na descrição", + "default": "other" + }, + { + "field": "Referências do disco", + "source": "atributos href terminando em .vmdk / .qcow2 / .img / .raw", + "default": "nenhum (importação aborta)" + } + ] + }, + "memWarn": { + "title": "Ambiguidade da unidade de memória", + "body": "O analisador converte as unidades de memória reconhecidas para MiB, incluindo bytes, KiB, MiB, GiB e as etiquetas de texto suportadas. As unidades em falta ou desconhecidas são tratadas como MiB. Após importar, compare qm config $VMID | grep memory com a RAM documentada da VM de origem e, se necessário, corrija com qm set $VMID --memory <MiB>." + }, + "dialog": { + "heading": "Fluxo de diálogo de importação", + "items": [ + "VMID — propõe o próximo identificador disponível (pvesh get /cluster/nextid).", + "Nome da VM — usa o nome lido no OVF; pode alterá-lo.", + "Armazenamento de destino — lista dos armazenamentos com conteúdo images, obtida por pvesm status -content images.", + " Ponte de rede — menu de pontes (de ip link show type bridge); escolhe automaticamente se existir apenas um; o padrão é vmbr0.", + "Confirmação — diálogo sumário com VMID, nome, vCPU, memória, NICs, armazenamento, ponte e a lista de discos a serem importados. Cancelar aqui = nada muda." + ] + }, + "create": { + "heading": "Criação de VM", + "intro": "Após a confirmação, o script é executado:", + "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": "Controlador SCSI padrão para lsi (LSI Logic) para compatibilidade VMDK. NICs padrão para e1000 (compatibilidade universal) na ponte escolhida." + }, + "diskLoop": { + "heading": "Loop de importação de disco", + "intro": "Para cada referência de disco no OVF:", + "items": [ + "qm importdisk $VMID $disk_path $STORAGE — importa o disco num formato suportado pelo armazenamento de destino e cria uma entrada unusedN: na configuração da VM.", + "O script procura com grep na configuração a referência unusedN acabada de criar.", + "qm set $VMID --scsiN $unused_disk — liga o disco como scsi0, scsi1, ...", + "qm set $VMID --delete unusedN — elimina o marcador unused que deixou de ser necessário." + ], + "outro": "A inicialização é definida para o primeiro disco SCSI: qm set $VMID --boot c --bootdisk scsi0." + }, + "postImport": { + "heading": "Ajustes recomendados após a importação", + "intro": "A importação usa configurações amplamente compatíveis para favorecer o arranque à primeira tentativa. Depois de confirmar o arranque, escolha configurações mais eficientes pela interface Proxmox ou CLI:", + "headerSetting": "Configuração", + "headerDefault": "Predefinição após a importação", + "headerRecommended": "Recomendado se suportado pelo sistema convidado", + "rows": [ + { + "setting": "Modelo NIC", + "default": "e1000", + "recommended": "VirtIO (muito mais rápido, exige controlador no sistema convidado)" + }, + { + "setting": "Controlador SCSI", + "default": "LSI", + "recommended": "VirtIO SCSI single (Linux recente ou Windows com controladores VirtIO)" + }, + { + "setting": "Firmware (BIOS / UEFI)", + "default": "Por omissão do Proxmox (BIOS)", + "recommended": "Use o firmware da VM de origem; uma escolha incorreta impede o arranque" + }, + { + "setting": "Agente convidado QEMU", + "default": "Desligado", + "recommendedRich": "Ativar e instalar qemu-guest-agent no sistema convidado (melhores cópias de segurança e indicação dos IPs)" + }, + { + "setting": "Tipo de sistema operacional", + "default": "l26 / win10 / other (heurística)", + "recommended": "Verifique contra o sistema operacional convidado real" + }, + { + "setting": "Visualização", + "default": "Padrão", + "recommended": "VirtIO-GPU ou SPICE (melhor desempenho da consola)" + } + ] + }, + "fwWarn": { + "title": "Firmware mismatch = nenhuma inicialização", + "body": "Se a VM de origem usava UEFI mas o Proxmox a cria com BIOS, ou vice-versa, o sistema convidado não encontra um disco de arranque. Verifique FirmwareType / firmware no OVF ou nas configurações originais e use a mesma escolha no Proxmox: qm set $VMID --bios ovmf para UEFI; o valor predefinido para BIOS é seabios." + }, + "notImported": { + "heading": "O QUE NÃO É IMPORTADO", + "items": [ + "Bridges de rede específicas — apenas o número de placas é preservado. Todas usam a bridge escolhida na importação.", + "Modelo da placa de rede — usa e1000 por predefinição.", + "Tipo de firmware BIOS / UEFI — usa a predefinição Proxmox, BIOS.", + "Configuração de passthrough PCI.", + "TPM (vTPM).", + "Unidades cloud-init.", + "Snapshots — apenas o estado atual.", + "USB / serial / dispositivos paralelos declarados no OVF.", + "Opções de etiquetas / notas / arranque automático da VM." + ] + }, + "troubleshoot": { + "heading": "Resolução de Problemas", + "orphanTitle": "A VM foi criada mas a importação dos discos falhou: ficou uma VM parcial", + "orphanIntro": "Quando a importação falha, o script propõe remover a VM parcial e os discos importados. Se recusou ou a eliminação automática falhou, inspecione a VM e remova-a manualmente com:", + "orphanCode": "qm destroy $VMID --destroy-unreferenced-disks 1", + "orphanOutro": "Em seguida, corrija a causa subjacente (provavelmente espaço em disco no armazenamento alvo) e re-importação.", + "memTitle": "VM importado tem 8 MB de RAM (ou 8 TB)", + "memIntro": "O analisador converte as AllocationUnits reconhecidas para MiB. Unidades em falta ou desconhecidas são tratadas como MiB. Inspecione o OVF e compare a memória importada com a VM de origem. Corrija se necessário:", + "memCode": "qm set $VMID --memory 8192 # 8 GiB", + "bootTitle": "A VM importada não arranca: \"No bootable device\"", + "bootIntro": "Uma causa frequente é uma diferença BIOS / UEFI. A VM usava UEFI, mas o Proxmox criou-a com BIOS. Configure o firmware correspondente:", + "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": "Outra causa frequente: a ordem de arranque aponta para scsi0, mas o disco do sistema é scsi1. Altere a ordem no separador Opções da VM.", + "bsodTitle": "Uma VM Windows exportada do VMware apresenta um ecrã azul no primeiro arranque", + "bsodBody": "O Windows é sensível a mudanças do controlador de disco. Instale os controladores VirtIO antes de exportar do VMware, ou mantenha o controlador lsi predefinido. Mude para VirtIO SCSI só depois de arrancar o sistema convidado e instalar os controladores VirtIO no Windows.", + "zeroTitle": "O analisador OVF indica 0 discos", + "zeroBody": "O OVF pode usar referências de disco que o analisador não reconhece. Abra-o e procure uma entrada <File ovf:href=\"...vmdk\" ...> para cada disco. Se o disco for realmente VMDK mas tiver uma extensão invulgar como .dat, mude-a para .vmdk e atualize a referência OVF. Mudar o nome não converte o formato.", + "awkTitle": "awk: erro de sintaxe em ou próximo , — o analisador falha em cada OVA / OVF", + "awkIntro": "O analisador OVF usa a sintaxe gawk de match() com três argumentos, não suportada pelo mawk, o awk predefinido no Debian / Proxmox. As versões recentes instalam gawk no primeiro uso por ensure_repositories + install_single_package. Se usa uma cópia antiga, instale-o manualmente:", + "awkCode": "apt-get install -y gawk", + "awkOutro": "Depois repita a importação.", + "netTitle": "A rede não funciona após a primeira inicialização", + "netBody": "O sistema convidado pode não ter controladores para o modelo e1000, ou a bridge escolhida pode estar errada. No separador Hardware da VM, altere Network Device → Model. Verifique também ip a no sistema convidado: a interface pode chamar-se ens18 em vez de eth0, enquanto a configuração de rede ainda usa o nome antigo." + }, + "files": { + "heading": "Ficheiros envolvidos", + "code": "scripts/utilities/import_vm_ova_ovf.sh # this script\n/tmp/.proxmenux-import-*/ # temp extraction dir for OVA\n/etc/pve/nodes//qemu-server/.conf # created by qm create\n//-disk-. # disk images, format depends on storage" + }, + "related": { + "heading": "Relacionado", + "items": [ + { + "href": "/docs/utils/export-vm", + "label": "Exportar VM para OVA / OVF", + "tail": " — a ferramenta complementar para exportar a VM." + }, + { + "href": "/docs/utils", + "label": "Visão geral dos utilitários", + "tail": " — voltar ao panorama da secção." + } + ] + } +} diff --git a/web/messages/pt/docs/utils/index.json b/web/messages/pt/docs/utils/index.json new file mode 100644 index 00000000..9511ecf8 --- /dev/null +++ b/web/messages/pt/docs/utils/index.json @@ -0,0 +1,115 @@ +{ + "meta": { + "title": "Utilitários Proxmox — UUP Dump, atualização de PVE 8 para 9, exportação/importação OVA | ProxMenux", + "description": "Utilitários do dia a dia para Proxmox VE: criar ISOs do Windows com o UUP Dump, instalar uma seleção de ferramentas CLI, atualizar o sistema Proxmox com segurança, passar do PVE 8 para o PVE 9, exportar VMs para OVA / OVF e importar VMs OVA / OVF do VMware ou VirtualBox.", + "ogTitle": "Utilitários Proxmox — UUP Dump, atualização de PVE 8 para 9, exportação/importação OVA", + "ogDescription": "Crie ISOs do Windows, instale ferramentas CLI, execute uma atualização segura, passe do PVE 8 para o PVE 9 e exporte ou importe VMs OVA / OVF.", + "twitterTitle": "Utilitários Proxmox | ProxMenux", + "twitterDescription": "Criação de ISOs, ferramentas CLI, atualização do Proxmox, passagem PVE 8→9 e portabilidade de VMs OVA / OVF." + }, + "header": { + "title": "Utilitários e Ferramentas", + "description": "Seis ferramentas complementam as tarefas diárias no Proxmox VE: criação de ISOs, manutenção do sistema e portabilidade de VMs. Cada opção é independente: escolha a que precisa; nada é instalado sem que o solicite.", + "section": "Utilitários" + }, + "intro": { + "title": "Para que serve este menu", + "body": "Três grupos de ferramentas independentes, mas frequentemente necessárias: criar uma ISO do Windows com o UUP Dump, manter o host Proxmox (utilitários CLI, atualizações e passagem de versão principal) e importar e exportar VMs no Proxmox através do formato padrão OVA / OVF." + }, + "opening": { + "heading": "Abrir o menu", + "body": "No menu principal do ProxMenux, selecione Utilities. Você verá isto:", + "imageAlt": "Menu de utilitários com UUP Dump, utilitários de sistema, atualização, passagem de versão, exportação e importação" + }, + "groups": { + "heading": "Três grupos de ferramentas", + "intro": "As seis ferramentas estão divididas em três grupos independentes. Clique num cartão abaixo para ir para a secção correspondente.", + "iso": { + "title": "Criação ISO", + "body": "Crie ISOs oficiais do Windows do UUP Dump no próprio host Proxmox.", + "bullets": [ + "Link partilhado do UUP Dump → ISO de arranque", + "Dependências instaladas automaticamente", + "O resultado é guardado no diretório de modelos ISO do Proxmox" + ] + }, + "maintenance": { + "title": "Manutenção do sistema", + "body": "Mantenha o host saudável: ferramentas CLI, atualizações regulares e atualização de versão principal quando chegar a hora.", + "bullets": [ + "Instalador de utilitários de sistema (25 ferramentas CLI)", + "Atualização do Sistema Proxmox (apt + dist-upgrade)", + "Atualização de versão principal PVE 8 → PVE 9" + ] + }, + "portability": { + "title": "Portabilidade VM", + "body": "Mover VMs para dentro e para fora do Proxmox usando o formato padrão OVA / OVF.", + "bullets": [ + "Exportação Proxmox VM → OVA / OVF", + "Importar OVA / OVF → Proxmox VM", + "Compatível com VMware e VirtualBox" + ] + } + }, + "upgradeWarn": { + "title": "A atualização PVE 8 → 9 é destrutiva e não reversível", + "body": "Uma atualização de versão principal substitui no local a base Debian (Bookworm → Trixie) e os componentes Proxmox. Não existe um caminho de reversão: antes de começar, precisa de cópias de segurança verificadas de cada VM e CT e de acesso por consola / IPMI / iKVM. Por isso, a ferramenta recusa a execução no terminal web do Proxmox." + }, + "isoSection": { + "heading": "Criação ISO", + "body": "Crie uma nova ISO de instalação do Windows atualizada diretamente no host Proxmox. O script automatiza todo o processo UUP Dump: instalação de dependências (aria2c, cabextract, wimlib-imagex, …), transferência paralela dos ficheiros de atualização com aria2 e conversão numa única ISO de arranque. A ISO é guardada em /var/lib/vz/template/iso, pronta para associar a uma VM.", + "options": [ + { + "title": "Criador de ISO do UUP Dump", + "description": "Crie uma ISO de instalação do Windows atualizada a partir de um link partilhado do UUP Dump. As dependências, a transferência e a conversão são totalmente automatizadas; a ISO resultante é guardada em /var/lib/vz/template/iso, pronta para criar uma VM.", + "href": "/docs/utils/UUp-Dump-ISO-Creator" + } + ] + }, + "maintenanceSection": { + "heading": "Manutenção do sistema", + "body": "Três ferramentas cobrem as tarefas diárias e ocasionais no host. O Instalador de utilitários de sistema configura as ferramentas CLI úteis após uma nova instalação. A Atualização do sistema Proxmox trata da manutenção semanal ou mensal. A Atualização do PVE 8 para o PVE 9 é a grande mudança de cada ciclo de versão principal, com verificações de segurança adicionais por não ser reversível.", + "options": [ + { + "title": "Instalador de utilitários de sistema", + "description": "Seletor de 25 ferramentas CLI escolhidas (htop, btop, iperf3, jq, tmux, ncdu, ...) com seleção personalizada ou grupos predefinidos (básico, desenvolvimento, compressão, multiplexadores, análise e rede). Usa o fluxo padrão com repositório e comando de verificação.", + "href": "/docs/utils/system-utils" + }, + { + "title": "Atualização do sistema Proxmox", + "description": "Verificação dos repositórios + apt update + apt dist-upgrade, com confirmação antes de reiniciar. Deteta a versão principal do PVE (8 ou 9), mantém os repositórios configurados e pede confirmação antes de mudar um host sem subscrição para o repositório no-subscription; depois executa autoremove.", + "href": "/docs/utils/system-update" + }, + { + "title": "Atualize PVE 8 para PVE 9", + "description": "Atualização de versão principal (Debian Bookworm → Trixie + PVE 8 → 9). Verificações prévias, migração dos repositórios, modo automatizado ou interativo, validação final e reinício. Recusa a execução no terminal web.", + "href": "/docs/utils/upgrade-pve8-pve9" + } + ] + }, + "portabilitySection": { + "heading": "Portabilidade VM (OVA / OVF)", + "body": "OVA e OVF são formatos de empacotamento entre hipervisores definidos pelo padrão DMTF e suportados pelo VMware, VirtualBox e Proxmox. As duas ferramentas permitem exportar e voltar a importar: uma VM exportada do Proxmox pode ser importada novamente, e vice-versa. Use-as para migrar cargas de trabalho do ESXi, criar uma cópia de segurança portátil de uma VM ou partilhar uma VM preparada com alguém que usa VirtualBox.", + "options": [ + { + "title": "Exportar VM para OVA / OVF", + "description": "Converta uma VM Proxmox num arquivo OVA portátil ou num diretório OVF. Esquema padrão DMTF, manifesto SHA1 e discos VMDK no formato streamOptimized. Importável no VMware (ESXi / Workstation / Fusion), VirtualBox e novamente no Proxmox.", + "href": "/docs/utils/export-vm" + }, + { + "title": "Importar VM de OVA / OVF", + "description": "Importe no Proxmox uma exportação do VMware / VirtualBox / ProxMenux. A ferramenta extrai automaticamente o OVA, analisa os metadados OVF, cria a VM e importa cada disco no formato nativo do armazenamento.", + "href": "/docs/utils/import-vm" + } + ] + }, + "diskSpaceCallout": { + "title": "Nota sobre o espaço em disco para exportação / importação", + "body": "As duas ferramentas convertem formatos de disco: a exportação usa qemu-img convert -O vmdk -o subformat=streamOptimized; a importação usa qm importdisk para voltar ao formato nativo do armazenamento (qcow2 / raw). Para exportar, reserve ~120% do tamanho virtual do disco para OVF e ~220% para OVA. O arquivo OVA usa TAR sem compressão e é criado enquanto os ficheiros VMDK temporários ainda existem. Verifique se o diretório de destino tem espaço livre suficiente antes de começar." + }, + "fitsTogether": { + "heading": "Como o menu se encaixa", + "body": "Cada ferramenta tem um script dedicado em scripts/utilities/. A atualização do sistema Proxmox chama um único script seguro em scripts/global/, update-pve-safe.sh, que deteta a versão principal e trata do PVE 8 e do PVE 9. A atualização PVE 8 → 9 oferece duas ações adicionais no seu próprio menu: uma Verificação prévia à atualização independente (executa pve8to9 --full) e um Guia de atualização manual só de leitura (procedimento de 17 passos), para quem quer inspecionar o processo ou executá-lo manualmente." + } +} diff --git a/web/messages/pt/docs/utils/system-update.json b/web/messages/pt/docs/utils/system-update.json new file mode 100644 index 00000000..a311a1ca --- /dev/null +++ b/web/messages/pt/docs/utils/system-update.json @@ -0,0 +1,168 @@ +{ + "meta": { + "title": "Atualização do sistema Proxmox | Documentação ProxMenux", + "description": "Atualiza os pacotes dentro da versão principal atual do Proxmox com apt-get update e apt full-upgrade -y. Verifica o espaço em disco e os repositórios configurados, tenta recuperar chaves GPG, verifica e repara cabeçalhos PV LVM antigos, recompila os controladores DKMS geridos quando necessário, executa autoremove/autoclean e propõe reiniciar quando é preciso.", + "ogTitle": "Atualização do sistema Proxmox | Documentação ProxMenux", + "ogDescription": "apt full-upgrade com verificação de repositórios, autoremove/autoclean e pedido de reinício quando necessário." + }, + "header": { + "title": "Atualização do sistema Proxmox", + "description": "Chama um único script de execução (update-pve-safe.sh) que deteta a versão principal do Proxmox. Os repositórios são lidos através da API Proxmox e preservados; um host sem subscrição que use apenas Enterprise tem de confirmar a mudança para no-subscription. O script atualiza pacotes e recompila os controladores DKMS geridos pelo ProxMenux para um kernel preparado para o próximo arranque. O script principal propõe reiniciar se existir o marcador de sistema ou se o kernel instalado mais recente diferir do que está em execução. Também pode ser iniciado em Update Now, no cabeçalho do ProxMenux Monitor, quando há atualizações pendentes.", + "section": "Utilitários" + }, + "calloutWhat": { + "title": "O que isto faz", + "body": "Leva o host para o nível de patch mais recente de sua versão principal atual. não atualiza entre versões principais — para PVE 8 → PVE 9 consulte Atualizar PVE 8 para PVE 9." + }, + "official": { + "heading": "A recomendação oficial da Proxmox", + "intro": "A própria orientação de atualização do Proxmox para um host em execução (na mesma versão principal) deve ser executada:", + "code": "apt update && apt full-upgrade -y", + "outro": "Esta linha é o comando oficial nas versões atuais do Proxmox. É igualmente necessário garantir que os repositórios estão corretos, que os adequados estão ativos e que o host fica num estado coerente após a atualização." + }, + "onTop": { + "heading": "O que o ProxMenux acrescenta: verificado no script", + "intro": "Usa a mesma operação apt full-upgrade, com verificação dos repositórios, recompilação DKMS e limpeza final. Os passos seguintes correspondem a scripts/utilities/proxmox_update.sh e ao seu único script de execução scripts/global/update-pve-safe.sh:", + "items": [ + "Deteta a versão principal do PVE no script de execução (pveversion | grep -oP ''pve-manager/\\K[0-9]+''). Um único script trata do PVE 8 e do PVE 9; os repositórios são preservados, salvo se um host sem subscrição aceitar a mudança proposta.", + "Mantém os repositórios configurados. ensure_repositories lê os repositórios e o estado da subscrição através da API Proxmox. Com uma subscrição ativa ou um repositório no-subscription ou test já utilizado, nada muda. Um host sem subscrição ativa que use apenas Enterprise tem de confirmar a mudança para no-subscription. Se recusar, a atualização termina sem alterar as fontes.", + "Executa a atualização sem interação com DEBIAN_FRONTEND=noninteractive e --force-confdef --force-confold. Para decisões sobre ficheiros de configuração dpkg, aceita a ação predefinida quando existe; caso contrário, mantém o ficheiro atual.", + "Não impõe utilitários opcionais. O script não força a instalação de zfsutils-linux, chrony, ifupdown2 ou pacotes semelhantes. Se a instalação Proxmox optou por dispensar algum deles, essa escolha mantém-se. Os pacotes em falta são indicados nos processos de instalação superiores, não na atualização.", + "Verificação e reparação de metadados LVM. Deteta cabeçalhos PV antigos e executa vgck --updatemetadata e vgchange -ay nos grupos de volumes afetados. Pode alterar metadados LVM; não é uma verificação que apenas emite avisos.", + "Limpa depois: apt-get autoremove -y + apt-get autoclean -y.", + "Recompilação DKMS antes do pedido de reinício. O script de execução chama pmx_rebuild_dkms_after_kernel quando está preparado um kernel instalado mais recente. O script principal verifica /var/run/reboot-required e usa dpkg-query para comparar o kernel indicado por uname -r com o pacote proxmox-kernel-*-pve-signed / pve-kernel-*-pve instalado mais recente. O marcador pode não existir em hosts sem needrestart; a comparação dos kernels continua a funcionar." + ] + }, + "calloutOneSentence": { + "title": "Em uma frase", + "body": "Atualiza os pacotes do host, preserva os repositórios salvo uma mudança aceite, verifica os metadados LVM, recompila os controladores DKMS geridos, limpa com autoremove/autoclean e propõe reiniciar quando necessário." + }, + "confirm": { + "heading": "Janela de confirmação", + "intro": "A seleção da opção abre um resumo das ações previstas e exige uma confirmação explícita:", + "imageAlt": "Janela de confirmação da atualização Proxmox com verificação dos repositórios, atualização dos pacotes e limpeza" + }, + "routes": { + "heading": "Como o script principal delega a execução", + "nodes": { + "source": { + "label": "proxmox_update.sh", + "detail": "pveversion |\ngrep -oP ''pve-manager/\\K[0-9]+''" + }, + "bridge": { + "label": "Um único script de execução", + "detail": "update-pve-safe.sh\n(detecta PVE 8 / 9\ninternamente)" + }, + "target": { + "label": "Após a atualização", + "detail": "apt-get autoremove\napt-get autoclean\nPedido de reinício se necessário" + } + } + }, + "worker": { + "heading": "O que faz o script de execução", + "intro": "Um único script (scripts/global/update-pve-safe.sh) trata do PVE 8 (bookworm) e do PVE 9 (trixie). Deteta a versão principal e verifica os repositórios existentes sem reescrever as fontes base do Debian. As etapas são:", + "items": [ + "Verificações prévias. Verifica se há pelo menos ~1 GB livre em /var/cache/apt/archives. Caso contrário, termina de imediato com uma mensagem clara para evitar falhar a meio de uma operação apt.", + "Verificação dos repositórios. ensure_repositories lê os repositórios e o estado da subscrição. Com um repositório Proxmox utilizável, nada muda. Num host sem subscrição ativa que use apenas Enterprise, pede confirmação antes de passar a no-subscription e interrompe a atualização em caso de recusa.", + "apt update com recuperação automática GPG. Perante NO_PUBKEY num repositório, incluindo de terceiros, o script importa a chave em falta e tenta novamente antes de apresentar uma falha.", + "Atualizações pendentes e de segurança. Indica quantos pacotes vão mudar e quantos provêm da suite de segurança, para apresentar números concretos na janela de confirmação.", + "Janela de confirmação. Depois de atualizar as listas de pacotes, o script exige um sim explícito antes de atualizar os pacotes.", + "apt full-upgrade. Usa DEBIAN_FRONTEND=noninteractive e --force-confdef --force-confold. O dpkg segue a ação predefinida para os ficheiros de configuração quando existe; caso contrário, conserva o ficheiro atual.", + "Verificação LVM. lvm_repair_check atualiza os metadados dos grupos de volumes quando discos atribuídos diretamente a VMs convidadas (DSM, TrueNAS ou appliances de armazenamento) regressam com cabeçalhos PV antigos.", + "Recompilação DKMS dos controladores geridos pelo ProxMenux. Quando há um kernel novo preparado, pmx_rebuild_dkms_after_kernel lê os controladores instalados pelo ProxMenux em components_status.json (atualmente nvidia_driver → módulo nvidia e coral_driver → módulo gasket), instala os cabeçalhos correspondentes (proxmox-headers-<newkver> quando disponível; caso contrário, pve-headers-<newkver>) e executa dkms autoinstall -k <newkver>. Se dkms status não mostrar os módulos compilados para o novo kernel, volta a executar cada instalador com --auto-reinstall. As falhas são registadas sem interromper a atualização, que chega na mesma ao pedido de reinício.", + "Limpeza final. apt-get autoremove + apt-get autoclean antes de devolver o controlo ao script principal." + ] + }, + "post": { + "heading": "Limpeza e reinício após a atualização", + "intro": "Quando o script de execução termina, o script principal executa:", + "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": "O script principal também verifica se é preciso reiniciar. Qualquer um destes sinais faz aparecer o pedido:", + "items": [ + "Existe /var/run/reboot-required: um pacote ou uma ferramenta do sistema marcou a necessidade de reiniciar o host.", + "O pacote de kernel Proxmox instalado mais recente difere do kernel em execução, segundo dpkg-query e uname -r." + ], + "outro": "Se alguma condição for verdadeira, uma janela whiptail pergunta «Algumas alterações exigem um reinício. Pretende reiniciar agora?». Recuse para continuar com o kernel atual até reiniciar manualmente, por exemplo numa janela de manutenção planeada." + }, + "end": { + "heading": "O que vês no fim", + "intro": "Quando o script de execução termina, o terminal apresenta o resultado da limpeza e, se necessário, o pedido de reinício:", + "imageAlt": "Resumo de conclusão da atualização do sistema Proxmox com saída de limpeza e prompt de reinicialização" + }, + "calloutDeclineReboot": { + "title": "Adie o reinício apenas por um motivo concreto", + "body": "Instalar um novo pacote proxmox-kernel-* não substitui o kernel em execução até reiniciar. O novo kernel e os módulos correspondentes ficam ativos no próximo arranque. Planeie o reinício para uma janela de manutenção adequada e reveja antes os avisos de compilação DKMS." + }, + "noSub": { + "heading": "Como o script trata o repositório Enterprise", + "intro": "O Proxmox ativa o repositório Enterprise por predefinição. Sem subscrição ativa, esse repositório devolve 401 em apt-get update. O script só altera os repositórios nesse caso e após confirmação, através da API Proxmox usada por Node → Updates → Repositories. Estes são os casos possíveis:", + "items": [ + "Com uma subscrição ativa, os repositórios mantêm-se e o Enterprise fornece as atualizações.", + "Com o repositório no-subscription ou test já ativo, os repositórios mantêm-se, independentemente de outras fontes configuradas.", + "Sem subscrição ativa e apenas com o repositório Enterprise, uma janela propõe a mudança. Aceitar desativa Enterprise, ativa no-subscription e atualiza as listas de pacotes. A mudança é registada na vista Changes de Audit & Report. Recusar termina a atualização sem alterar as fontes.", + "As fontes Ceph Enterprise existentes são desativadas na mesma mudança, sem escolher outro canal Ceph. Um host que use Ceph configura o respetivo canal separadamente.", + "Se não houver um terminal para pedir confirmação, nenhuma fonte é alterada e a atualização termina com uma mensagem que remete para Node → Updates → Repositories." + ], + "outro": "As fontes Debian e todos os outros ficheiros de repositórios nunca são alterados por este processo. Uma entrada que misture Enterprise com outros componentes não é mudada: a atualização termina e pede para separar a entrada na vista de repositórios Proxmox." + }, + "cluster": { + "heading": "Considerações para clusters", + "calloutTitle": "Em clusters: atualizar um nó de cada vez", + "calloutBody": "Num cluster Proxmox, execute esta opção em um nó de cada vez e espere pelo fim do reinício antes de passar ao seguinte. Migre primeiro os sistemas convidados para fora do nó, para evitar interrupções de serviço no cluster. Versões secundárias diferentes, como 8.4.1 e 8.4.5, podem coexistir durante algumas horas; kernels em execução diferentes podem causar comportamentos inesperados em sistemas convidados geridos por HA." + }, + "doesnt": { + "heading": "O que não faz", + "items": [ + "Atualização de versão principal. A passagem 8 → 9 é uma operação separada; consulte Atualizar do PVE 8 para o PVE 9.", + "Backup. Sem instantâneos, sem retrocesso. As operações Apt não são transacionais. Combine com sua disciplina de backup normal (PBS, vzdump, ZFS instantâneos).", + "Atualizações de contentores / VMs. Só o host é atualizado; os sistemas convidados mantêm-se.", + "Gravação dedicada de firmware. Esta ferramenta não serve para gravar BIOS ou firmware de dispositivos. Os pacotes de firmware ou microcódigo CPU já instalados podem receber atualizações através de apt." + ] + }, + "troubleshooting": { + "heading": "Resolução de Problemas", + "items": [ + { + "title": "apt update falha com 401 Unauthorized", + "body": "O repositório Enterprise está ativo, mas o host não tem subscrição ativa. Antes de apt-get update, o script propõe passar a no-subscription. Se recusou, repita a atualização e aceite, ou desative Enterprise em Node → Updates → Repositories e ative no-subscription." + }, + { + "title": "dist-upgrade trava em \"Configuring grub-pc\"", + "body": "Se aparecer uma pergunta interativa do GRUB, pede os dispositivos onde instalar o gestor de arranque. A opção --force-confold aplica-se aos ficheiros de configuração, não à escolha dos dispositivos. Use Tab + Space para selecionar os discos de arranque adequados e depois OK. Pode configurar esta escolha antes com dpkg-reconfigure grub-pc." + }, + { + "title": "O Kernel atualizou, mas faltam os novos módulos para um driver fora da árvore", + "body": "Para os controladores geridos (nvidia_driver e coral_driver), a função executa dkms autoinstall -k <newkver> e pode repetir os instaladores com --auto-reinstall. Verifique o resultado com dkms status. O comando autoinstall também pode recompilar outros módulos DKMS registados; os instaladores alternativos limitam-se às entradas geridas de components_status.json. Inspecione os módulos de terceiros ainda em falta e recompile-os se necessário com dkms autoinstall." + }, + { + "title": "O prompt de reinicialização não apareceu, mas tenho certeza que o kernel mudou", + "body": "Os sinais são alternativos: /var/run/reboot-required ou uma diferença entre o kernel em execução e o kernel Proxmox instalado mais recente. O script principal não analisa entradas linux-image no registo apt. Verifique a versão em execução com uname -r e os pacotes de kernel instalados com dpkg-query. Planeie o reinício necessário ou execute shutdown -r now quando estiver pronto." + } + ] + }, + "files": { + "heading": "Ficheiros envolvidos", + "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": "Relacionado", + "items": [ + { + "href": "/docs/utils/upgrade-pve8-pve9", + "label": "Atualize PVE 8 para PVE 9", + "tail": " — para a actualização da versão principal (ferramenta diferente, modelo de segurança diferente)." + }, + { + "href": "/docs/utils/system-utils", + "label": "Instalador de utilitários de sistema", + "tail": " — para instalar ferramentas CLI úteis durante as atualizações (htop / btop / ncdu)." + }, + { + "href": "/docs/utils", + "label": "Visão geral dos utilitários", + "tail": " — voltar ao panorama da secção." + } + ] + } +} diff --git a/web/messages/pt/docs/utils/system-utils.json b/web/messages/pt/docs/utils/system-utils.json new file mode 100644 index 00000000..43209771 --- /dev/null +++ b/web/messages/pt/docs/utils/system-utils.json @@ -0,0 +1,252 @@ +{ + "meta": { + "title": "Instalador de utilitários de sistema | Documentação ProxMenux", + "description": "Instalador de utilitários CLI para Proxmox VE, com 25 pacotes na lista de referência (htop, btop, iperf3, tmux, ...). Seleção personalizada, instalação completa e grupos predefinidos (básico, desenvolvimento, compressão, multiplexadores, análise e rede). Os grupos podem incluir pacotes adicionais. Usa ensure_repositories + install_single_package.", + "ogTitle": "Instalador de utilitários de sistema | Documentação ProxMenux", + "ogDescription": "Instale ferramentas CLI com curadoria em Proxmox VE com um clique ou seleção personalizada." + }, + "header": { + "title": "Instalador de utilitários de sistema", + "description": "Seletor dos 25 utilitários CLI da lista de referência PROXMENUX_UTILS. Oferece seleção personalizada, instalação completa, seis grupos predefinidos e verificação das instalações. Os grupos podem incluir ferramentas fora da lista. Usa as funções partilhadas ensure_repositories() + install_single_package() para gerir repositórios e mensagens por pacote de forma coerente.", + "section": "Utilitários" + }, + "info": { + "title": "O que isto faz", + "body": "Instala ferramentas CLI de uma lista de 25 pacotes. Todas as instalações seguem o mesmo processo: ensure_repositories verifica um repositório Proxmox utilizável para a versão principal de PVE em execução; depois install_single_package instala o pacote e verifica se o comando está em PATH." + }, + "opening": { + "heading": "Abrir o instalador", + "intro": "No menu Utilities, escolha System Utilities Installer. O menu principal tem nove opções:", + "imageAlt": "Menu Instalador de Utilitários de Sistema com seleção personalizada, ALL, grupos predefinidos e verificar" + }, + "actions": { + "heading": "As 9 ações do menu", + "headerOption": "Opção", + "headerBehaviour": "Comportamento", + "rows": [ + { + "option": "1. Seleção personalizada", + "behaviourRich": "Lista de seleção dos 25 pacotes. Use SPACE para marcar e ENTER para confirmar; só os pacotes selecionados são instalados." + }, + { + "option": "2. Instalar todos os utilitários", + "behaviourRich": "Instalação única de cada pacote em PROXMENUX_UTILS. Use após uma instalação nova do Proxmox." + }, + { + "option": "3. Básico", + "behaviourRich": "grc, htop, tree, curl, wget" + }, + { + "option": "4. Desenvolvimento", + "behaviourRich": "git, vim, nano" + }, + { + "option": "5. Compressão", + "behaviourRich": "zip, unzip, rsync" + }, + { + "option": "6. Multiplexadores de terminal", + "behaviourRich": "screen, tmux" + }, + { + "option": "7. Análise", + "behaviourRich": "jq, ncdu, iotop" + }, + { + "option": "8. Rede", + "behaviourRich": "iperf3, nethogs, nmap, tcpdump, lsof" + }, + { + "option": "9. Verificar as instalações", + "behaviourRich": "Percorre cada entrada de PROXMENUX_UTILS, verifica se o comando está em PATH e apresenta um resumo Disponível / Em falta." + } + ] + }, + "packages": { + "heading": "Os 25 pacotes", + "intro": "Definidos no ficheiro partilhado scripts/global/utils-install-functions.sh como PROXMENUX_UTILS (formato: package:verify_command:description). Outros scripts ProxMenux, como os que iniciam iftop / iptraf-ng / iperf3, reutilizam estas entradas para manter os pacotes e comandos de verificação sincronizados.", + "headerPackage": "Pacote", + "headerVerify": "Comando de verificação", + "headerDescription": "Descrição", + "rows": [ + { + "package": "axel", + "verify": "axel", + "description": "Acelerador de transferências" + }, + { + "package": "aria2", + "verify": "aria2c", + "description": "Downloader multi-fonte" + }, + { + "package": "btop", + "verify": "btop", + "description": "Monitor de recursos moderno" + }, + { + "package": "cabextract", + "verify": "cabextract", + "description": "Extrair arquivos CAB" + }, + { + "package": "chntpw", + "verify": "chntpw", + "description": "Editar o registro do Windows / senhas" + }, + { + "package": "dos2unix", + "verify": "dos2unix", + "description": "Converter arquivos de texto DOS / Unix" + }, + { + "package": "genisoimage", + "verify": "genisoimage", + "description": "Criar imagens ISO" + }, + { + "package": "grc", + "verify": "grc", + "description": "Colorador de log genérico" + }, + { + "package": "htop", + "verify": "htop", + "description": "Visualizador interativo de processos" + }, + { + "package": "iftop", + "verify": "iftop", + "description": "Utilização da rede em tempo real" + }, + { + "package": "intel-gpu-tools", + "verify": "intel_gpu_top", + "description": "Ferramentas Intel GPU" + }, + { + "package": "iotop", + "verify": "iotop", + "description": "Monitorar a utilização de E/S do disco" + }, + { + "package": "iperf3", + "verify": "iperf3", + "description": "Teste de largura de banda de rede" + }, + { + "package": "ipset", + "verify": "ipset", + "description": "Gerenciar conjuntos de IP" + }, + { + "package": "iptraf-ng", + "verify": "iptraf-ng", + "description": "Ferramenta de monitorização da rede" + }, + { + "package": "libguestfs-tools", + "verify": "virt-filesystems", + "description": "Utilitários de disco VM" + }, + { + "package": "msr-tools", + "verify": "rdmsr", + "description": "Acesso aos registos MSR da CPU" + }, + { + "package": "net-tools", + "verify": "netstat", + "description": "Ferramentas de rede legadas" + }, + { + "package": "plocate", + "verify": "locate", + "description": "Localizar arquivos rapidamente" + }, + { + "package": "s-tui", + "verify": "s-tui", + "description": "Stress-Terminal UI" + }, + { + "package": "sshpass", + "verify": "sshpass", + "description": "Autenticação não interactiva do SSH" + }, + { + "package": "tmux", + "verify": "tmux", + "description": "Multiplexador de terminal" + }, + { + "package": "unzip", + "verify": "unzip", + "description": "Extrair arquivos ZIP" + }, + { + "package": "wimtools", + "verify": "wimlib-imagex", + "description": "Gerenciar imagens WIM" + }, + { + "package": "zip", + "verify": "zip", + "description": "Criar arquivos ZIP" + } + ] + }, + "howItWorks": { + "heading": "Como funciona a instalação de um pacote", + "items": [ + "ensure_repositories deteta PVE 8 ou 9 e lê os repositórios através da API Proxmox. Com um repositório Proxmox utilizável, nada muda. Um host sem subscrição ativa que use apenas Enterprise tem de confirmar a mudança para no-subscription; apt-get update é executado após a mudança aceite.", + "install_single_package \"pkg\" \"verify_cmd\" \"description\" executa apt-get install -y \"$pkg\" com feedback (msg_info / msg_ok / msg_error)." + ], + "verifyIntro": "Após a instalação, o comando é verificado com command -v \"$verify_cmd\". Três resultados possíveis:", + "verifyOutcomes": [ + "0 (sucesso): comando disponível, pacote contado como Sucesso.", + "1 (falhou): apt falhou, contado como Falhou.", + "2 (aviso): apt terminou com sucesso, mas o comando esperado não foi encontrado em PATH; conta como Com avisos." + ], + "summary": "No fim de uma instalação personalizada ou de grupo, uma janela apresenta os totais Com sucesso / Com avisos / Com falha." + }, + "verify": { + "heading": "Verifique as instalações", + "intro": "A opção 9 é só de leitura: percorre PROXMENUX_UTILS e executa command -v para cada comando de verificação. O resultado é semelhante a:", + "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": "Útil antes de executar scripts que dependem destas ferramentas (por exemplo. uup_dump_iso_creator.sh precisa de aria2c + cabextract + wimlib-imagex). Se algo estiver faltando, execute a instalação do grupo correspondente ou escolha os pacotes em falta através da seleção personalizada." + }, + "troubleshoot": { + "heading": "Resolução de Problemas", + "reposTitle": "\"Falhou em configurar repositórios. Instalação cancelada.\"", + "reposBody": "A verificação do repositório não passou: a mudança para o repositório sem assinatura foi recusada, o status da assinatura não pôde ser lido, ou uma entrada de repositório precisa de atenção. A mensagem impressa acima indica a causa. Os repositórios estão listados em Node → Atualizações → Repositórios e apt-get update de um console mostra os relatórios de erro apt.", + "warningsTitle": "Um pacote é relatado \"Com avisos\", mas o comando funciona depois de fechar o menu", + "warningsBody": "Após apt-get install, a função executa hash -r, espera brevemente e verifica o comando esperado com command -v. Um aviso significa que essa verificação continua a falhar, sem identificar a causa. Experimente uma nova shell e verifique a instalação do pacote e PATH se o comando continuar em falta.", + "hangsTitle": "Uma instalação apt trava", + "hangsBody": "Provavelmente há uma pergunta debconf oculta pela saída silenciada. O script usa DEBIAN_FRONTEND=noninteractive nas chamadas apt, o que normalmente evita perguntas, mas alguns pacotes ainda exigem dados. Cancele com Ctrl+C e execute apt-get install -y <pkg> manualmente numa shell para ver a pergunta e decidir." + }, + "files": { + "heading": "Ficheiros envolvidos", + "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": "Relacionado", + "items": [ + { + "href": "/docs/utils/system-update", + "label": "Atualização do sistema Proxmox", + "tailRich": " — para o apt dist-upgrade efectivo no hospedeiro." + }, + { + "href": "/docs/network/monitoring", + "label": "Ferramentas de monitorização ao vivo (rede)", + "tailRich": " — utiliza iftop / iptraf-ng / iperf3 desta mesma lista." + }, + { + "href": "/docs/utils", + "label": "Visão geral dos utilitários", + "tailRich": " — voltar ao panorama da secção." + } + ] + } +} diff --git a/web/messages/pt/docs/utils/upgrade-pve8-pve9.json b/web/messages/pt/docs/utils/upgrade-pve8-pve9.json new file mode 100644 index 00000000..2b2c3423 --- /dev/null +++ b/web/messages/pt/docs/utils/upgrade-pve8-pve9.json @@ -0,0 +1,335 @@ +{ + "meta": { + "title": "Atualizar PVE 8 para PVE 9 | Documentação do ProxMenux", + "description": "Três formas de passar do Proxmox VE 8 para 9 (Debian Bookworm para Trixie e PVE 8 para 9): automática, interativa ou manual, seguindo o procedimento oficial. Verificação pve8to9, migração dos repositórios, dist-upgrade e validação final. A execução no terminal web é bloqueada.", + "ogTitle": "Atualizar PVE 8 para PVE 9 | Documentação do ProxMenux", + "ogDescription": "Três métodos (automático, interativo e manual) para passar do Proxmox VE 8 para 9." + }, + "header": { + "title": "Atualize PVE 8 para PVE 9", + "description": "Executa a atualização do Proxmox VE 8 para 9 segundo o procedimento oficial: Debian Bookworm para Trixie e PVE 8 para 9. Oferece métodos automático, interativo e manual, além de uma verificação prévia independente. Bloqueia o terminal web porque uma desconexão durante a atualização pode deixar o anfitrião inutilizável.", + "section": "Utilitários" + }, + "dangerCallout": { + "title": "Uma atualização de versão principal é irreversível", + "intro": "Esta operação substitui a base Debian (Bookworm → Trixie) e os componentes Proxmox no próprio sistema. Não existe um procedimento de reversão. Antes de começar:", + "items": [ + "Cópias de segurança verificadas de cada VM e CT (PBS, vzdump, snapshots ZFS — verifique também o restauro).", + "Acesso por consola / IPMI / iKVM ao anfitrião caso a ligação SSH seja interrompida.", + "O host já está atualizado em PVE 8.4.x (o script obriga isso).", + "Ceph (se presente) na versão 19.x Squid.", + "Pelo menos 5 GB livres no sistema de ficheiros raiz." + ] + }, + "modeMenu": { + "heading": "O menu modo", + "intro": "A opção abre quatro entradas: Automático, Interativo, Verificação prévia e Guia manual. Três opções executam a atualização ou explicam como fazê-la; a verificação independente confirma os requisitos e pode propor reparações.", + "imageAlt": "Menu de atualização do PVE 8 para 9 com modos automático, interativo, verificação prévia e guia manual" + }, + "threeWays": { + "heading": "Três maneiras de atualizar", + "intro": "Os modos Automático e Interativo seguem o mesmo processo, com verificações prévias e validação final. Diferem nas respostas às perguntas do dpkg durante dist-upgrade. O guia manual mostra os comandos, incluindo as verificações; cabe-lhe executar todos os passos.", + "auto": { + "title": "Automático / Sem assistência", + "summary": "Define ASSUME_YES=1 + DEBIAN_FRONTEND=noninteractive. Para ficheiros de configuração modificados, o dpkg usa a ação predefinida se existir; caso contrário, mantém o ficheiro atual (--force-confold).", + "items": [ + "O mais rápido — sem esperar por instruções", + "Adequado para instalações padrão sem ficheiros de configuração personalizados", + "Risco: uma configuração personalizada é mantida sem perguntas e pode ocultar os novos valores predefinidos" + ] + }, + "interactive": { + "title": "Interactiva", + "summary": "O mesmo processo, mas o utilizador responde a cada pergunta do dpkg sobre conflitos de configuração. Mais lento, com visibilidade máxima.", + "items": [ + "Você vê cada conflito de configuração e decide", + "Melhor quando você tiver personalizado /etc/lvm, /etc/ssh, etc.", + "Consulte a tabela de respostas recomendadas no procedimento manual abaixo" + ] + }, + "manual": { + "title": "Guia de atualização manual", + "summary": "Apresenta, sem executar, o procedimento oficial Proxmox em 17 passos. Execute os comandos manualmente numa shell separada.", + "items": [ + "Controle máximo — você digita cada comando", + "Melhor quando você quer aprender o procedimento ou você não confia em nada", + "O script exibe as etapas; nada é executado automaticamente" + ] + } + }, + "precheckCallout": { + "title": "Mais uma pré- verificação separada", + "body": "A opção 3 — Executar verificação do PVE 8 para 9 — inicia a ferramenta oficial pve8to9 --full, propõe reparações guiadas para problemas comuns e depois termina. Utilize-a antes de atualizar ou após reparações manuais. Os modos automático e interativo também a executam; o guia manual indica que deve executá-la pessoalmente." + }, + "webTerminal": { + "heading": "Por que o terminal web está bloqueado", + "body": "Os três modos detetam termproxy / vncshell na cadeia de processos ascendentes e recusam iniciar. O terminal web depende de pveproxy, um serviço atualizado durante o processo. Quando pveproxy reinicia, a sessão termina e o script que nela decorre também. O anfitrião pode ficar parcialmente atualizado.", + "warningTitle": "Utilize SSH ou uma consola física / IPMI / iKVM", + "warningBody": "SSH é a opção habitual. Inicie a sessão dentro de tmux ou screen para resistir a breves interrupções de rede. Se detetar uma shell SSH simples, o script apresenta primeiro um lembrete sobre tmux/screen." + }, + "auto": { + "heading": "Modo automático / sem vigilância", + "intro": "As confirmações e perguntas habituais sobre ficheiros de configuração usam as respostas predefinidas. As falhas bloqueantes das verificações podem continuar a exigir intervenção. Utilize este modo em instalações padrão ou depois de avaliar o efeito das respostas nos ficheiros personalizados.", + "behaviourHeading": "Comportamento específico do modo automático", + "behaviourTable": { + "settingHeader": "Configuração", + "effectHeader": "Efeito", + "rows": [ + { + "settingRich": "ASSUME_YES=1", + "effectRich": "Opção interna — confirma automaticamente as perguntas sim/não do script" + }, + { + "settingRich": "DEBIAN_FRONTEND=noninteractive", + "effectRich": "apt / dpkg são executados sem abrir perguntas do debconf" + }, + { + "settingRich": "--force-confdef", + "effectRich": "Para arquivos de configuração intocados: instale a nova versão do mantenedor" + }, + { + "settingRich": "--force-confold", + "effectRich": "Para ficheiros modificados: ação predefinida do dpkg, se existir; caso contrário, manter a sua versão." + } + ] + }, + "flowHeading": "Processo do modo automático", + "flowIntro": "Seis fases consecutivas. As primeiras podem atualizar pacotes PVE 8 e escrever a configuração dos repositórios. Uma falha interrompe o processo sem reverter essas alterações. A fase 5 executa dist-upgrade para PVE 9.", + "flowDiagram": "1. VERIFICAÇÕES\nBloqueia termproxy / vncshell; rejeita PVE 9; verifica espaço e conectividade.\nExige Ceph 19.x Squid se estiver instalado.\npve8to9 --full (pode propor reparações).\n\n2. PREPARAR PVE 8\nscripts/global/update-pve8.sh\nAtualiza os pacotes PVE 8; systemctl restart pve-manager.\n\n3. MIGRAR REPOSITÓRIOS\nBookworm → Trixie; escreve ficheiros deb822 .sources.\nComenta os ficheiros .list antigos; apt-get update.\n\n4. VALIDAR O CANDIDATO PVE 9\napt-cache policy proxmox-ve\napt-get -s dist-upgrade\nPara se o candidato não for 9.x ou se proxmox-ve fosse removido.\n\n5. ATUALIZAR\napt-get -y -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' dist-upgrade\nRegisto: /var/log/pve8-a-pve9-'<'timestamp'>'.log\n\n6. VERIFICAR E REINICIAR\nEFI: apt install grub-efi-amd64\npve8to9 --full; examine os resultados e a pergunta de reinício.", + "preflightHeading": "Verificações antes da atualização", + "preflightTable": { + "checkHeader": "Verificar", + "whyHeader": "Por que importa", + "rows": [ + { + "checkRich": "Bloco do terminal web", + "whyRich": "Impede que a atualização termine a shell que a executa" + }, + { + "checkRich": "Já em 9.x", + "whyRich": "Interrompe se a máquina já executar PVE 9 (nada a fazer)" + }, + { + "checkRich": "Versão mais recente do PVE 8.4.x", + "whyRich": "Atualiza primeiro o PVE 8 para a última revisão com o respetivo script; versões 8.x antigas têm requisitos diferentes" + }, + { + "checkRich": "pve8to9 --full", + "whyRich": "Verificação dos requisitos pelo Proxmox; os erros FAIL bloqueiam a atualização até serem corrigidos" + }, + { + "checkRich": "Espaço em disco", + "whyRich": "≥ 1024 MB livres em /var/cache/apt/archives para os ficheiros .deb transferidos" + }, + { + "checkRich": "Conectividade", + "whyRich": "Ping a download.proxmox.com — se falhar, a operação não começa" + }, + { + "checkRich": "Ceph 19.x Squid", + "whyRich": "Se o Ceph estiver instalado, já deve estar em 19.x. O PVE 9 não funciona com Ceph 17/18. As opções --ignore-ceph-check e --warn-ceph-check permitem ignorar a verificação; utilize-as apenas com conhecimento das consequências." + } + ] + }, + "distUpgradeHeading": "O comando dist-upgrade (modo automático)", + "distUpgradeCode": "apt-get -y \\\n -o Dpkg::Options::='--force-confdef' \\\n -o Dpkg::Options::='--force-confold' \\\n dist-upgrade", + "distUpgradeOutro": "O resultado aparece em tempo real no stdout e é também guardado em /var/log/pve8-a-pve9-<timestamp>.log. Tudo fica visível; só as perguntas são suprimidas.", + "postHeading": "Tarefas de pós- atualização (modo automático)", + "postItems": [ + "Anfitriões EFI: instala grub-efi-amd64, de acordo com o problema conhecido na documentação Proxmox. A atualização não o instala automaticamente e pode ser necessário no próximo arranque.", + "Momento do reinício de pve-manager. O reinício explícito faz parte da preparação do PVE 8, antes da atualização dos pacotes para Trixie/PVE 9.", + "Volta a executar pve8to9 --full. Mostra problemas restantes. Os erros FAIL apresentam o mesmo menu de reparação da verificação prévia.", + "Pergunta de reinício. Recomenda-se reiniciar para carregar o novo kernel e os serviços. Recuse apenas por um motivo concreto: manter o kernel antigo após uma atualização de versão principal apresenta riscos." + ] + }, + "interactive": { + "heading": "Modo interativo", + "intro": "O mesmo processo do modo automático: verificações, migração dos repositórios e validação final iguais. A diferença está em dist-upgrade: responde pessoalmente a cada conflito de configuração do dpkg. O ProxMenux executa apt-get dist-upgrade sem as opções --force-conf*.", + "distUpgradeHeading": "O comando dist-upgrade (modo interativo)", + "distUpgradeCode": "apt-get dist-upgrade\n# (user answers each dpkg config-file conflict prompt as it appears)", + "whenHeading": "Quando interativo é a escolha certa", + "whenItems": [ + "Você personalizou /etc/lvm/lvm.conf, /etc/ssh/sshd_config, /etc/default/grub ou qualquer outro arquivo de configuração que seja tocado pela atualização.", + "Pretende ver que pacotes causam conflitos e decidir para cada ficheiro.", + "Você está atualizando um host de produção onde qualquer alteração oculta é inaceitável." + ], + "promptCalloutTitle": "O que responder em cada alerta", + "promptCalloutBody": "Aplicam-se as mesmas recomendações da operação manual: consulte Respostas recomendadas às perguntas do dpkg abaixo. Introduza D para ver as diferenças ou Z para abrir uma shell." + }, + "manual": { + "heading": "Procedimento de actualização manual", + "intro": "É isto que mostra a opção Guia de atualização manual: o wiki oficial Proxmox para passar de 8 para 9, organizado em quatro fases. O script mostra os comandos; executa-os pessoalmente numa shell root separada. Cada passo é visível.", + "rootCalloutTitle": "Todos os comandos precisam de root", + "rootCalloutBody": "Utilize uma shell root para estes comandos, incluindo redirecionamentos e documentos here-document. Com sudo, garanta que todo o comando é executado com privilégios root.", + "phase1Heading": "Fase 1 — Preparação", + "phase1Intro": "Atualize o anfitrião para a última PVE 8.4.x, confirme a versão e o Ceph se utilizado, execute a verificação Proxmox e inicie um multiplexador de terminal para resistir a desconexões.", + "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 — Migração do repositório", + "phase2Intro": "Mude todos os repositórios Debian e Proxmox de Bookworm para Trixie e converta as fontes Proxmox para deb822. Escolha o passo 7 OU 8 conforme a subscrição Enterprise. Ignore o passo 9 se não utilizar 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 — Dist-upgrade", + "phase3Intro": "A atualização propriamente dita. O passo 12 é opcional mas recomendado para reduzir mensagens de auditoria. O 13 demora mais: responda às perguntas do dpkg com a tabela. O 13.1 aplica-se apenas a EFI e segue os problemas conhecidos oficiais.", + "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": "Respostas recomendadas para as prompts dpkg", + "dpkgIntro": "Respostas recomendadas pelo Proxmox: Y instala o novo ficheiro do responsável pelo pacote, substituindo o seu; N mantém o ficheiro atual. Em caso de dúvida, veja primeiro as diferenças:", + "dpkgTable": { + "fileHeader": "Ficheiro / prompt", + "answerHeader": "Resposta recomendada", + "whyHeader": "Porquê?", + "rows": [ + { + "fileRich": "/etc/issue", + "answerRich": "N (manter o ficheiro atual)", + "whyRich": "Banner você está acostumado a ver", + "fileFont": true + }, + { + "fileRich": "/etc/lvm/lvm.conf", + "answerRich": "Y (versão do responsável pelo pacote)", + "whyRich": "O PVE 9 precisa dos novos valores LVM predefinidos", + "fileFont": true + }, + { + "fileRich": "/etc/ssh/sshd_config", + "answerRich": "Y para alterações apenas predefinidas; examine primeiro os ficheiros personalizados", + "whyRich": "Reveja as definições SSH locais e preserve o acesso antes de substituir o ficheiro. As alterações padrão incluem opções renomeadas e comentários.", + "fileFont": true + }, + { + "fileRich": "/etc/default/grub", + "answerRich": "N se personalizado", + "whyRich": "Contém parâmetros de arranque, como IOMMU e passthrough PCI", + "fileFont": true + }, + { + "fileRich": "/etc/chrony/chrony.conf", + "answerRich": "Y se não foi modificado; preserve primeiro as definições locais", + "whyRich": "O Trixie atualiza os valores de sincronização horária. Mova as definições locais para conf.d / sources.d do chrony antes de aceitar o novo ficheiro.", + "fileFont": true + }, + { + "fileRich": "Reinícios de serviços durante a atualização", + "answerRich": "Sim (predefinição)", + "whyRich": "Reinicia a maioria dos serviços sem reiniciar o anfitrião", + "fileFont": false + }, + { + "fileRich": "apt-listchanges", + "answerRich": "Pressione q", + "whyRich": "Fecha apenas o pager; as informações apresentadas resumem o registo de alterações", + "fileFont": false + } + ] + }, + "inspectCalloutTitle": "Inspecionando um conflito dpkg específico", + "inspectCalloutBody": "Numa pergunta do dpkg sobre configuração, D mostra as diferenças entre o ficheiro atual e o novo; Z abre uma shell para investigar. Assim pode decidir sem adivinhar.", + "phase4Heading": "Fase 4 — Após a atualização", + "phase4Intro": "Confirme que a atualização terminou corretamente, reinicie com o kernel PVE 9 e verifique a versão. Depois pode converter os antigos ficheiros .list restantes para 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: atualizar um nó de cada vez", + "clusterCalloutBody": "Detetado por pvecm status. Não atualize vários nós ao mesmo tempo. Mova os convidados, atualize o nó, reinicie e confirme a participação no cluster antes de continuar. Durante a atualização, funciona a migração em direto de versões PVE anteriores para posteriores; o sentido inverso geralmente não é suportado. Os grupos HA são convertidos automaticamente em regras HA quando todos os nós utilizam PVE 9.", + "cephCalloutTitle": "Ceph: atualizar Ceph PRIMEIRO, depois Proxmox", + "cephCalloutBody": "O Ceph já deve estar em 19.x Squid antes de atualizar o Proxmox. Siga a sequência oficial Quincy 17 → Reef 18 → Squid 19, atualizando pacotes e reiniciando os daemons Ceph de forma gradual pela ordem documentada. Confirme ceph --version antes de cada nó Proxmox. Procedimento completo: wiki de atualização de Ceph Reef para Squid." + }, + "troubleshooting": { + "heading": "Resolução de Problemas", + "items": [ + { + "title": "O script interrompe a execução: \"This script cannot be executed from the Proxmox web terminal\"", + "bodyRich": "Abra uma ligação SSH ou utilize consola / IPMI / iKVM e execute novamente. Inicie primeiro tmux new -s pveupgrade para resistir a breves interrupções de rede." + }, + { + "title": "pve8to9 indica FAIL e a opção 1 de reparação produz \"command not found\"", + "bodyRich": "Se o erro mencionar configure_repositories, a cópia do script está desatualizada: a reparação atual usa cleanup_duplicate_repos e ensure_repositories. Atualize-a ou consulte os comandos manuais na opção 2. apt-get update atualiza as listas de pacotes, mas não corrige todas as verificações bloqueantes." + }, + { + "title": "A simulação apt indica \"proxmox-ve will be REMOVED\"", + "bodyRich": "Os novos repositórios estão inacessíveis ou o nome da distribuição não foi substituído. Verifique cat /etc/apt/sources.list.d/proxmox.sources: a linha Suites: deve indicar trixie, não bookworm. apt-cache policy proxmox-ve deve apresentar um candidato 9.x do novo repositório." + }, + { + "title": "dist-upgrade falha a meio", + "bodyRich": "Execute apt-get -f install para resolver dependências quebradas e, em seguida, execute novamente a atualização. Se isso falhar, verifique o log no /var/log/pve8-a-pve9-<timestamp>.log — as últimas linhas geralmente apontam o pacote ofensivo. Não reiniciar até que o dpkg -l | grep ^iU retorne vazio (sem pacotes semi-instalados)." + }, + { + "title": "A máquina EFI não inicializa após reiniciar", + "bodyRich": "A instalação posterior de grub-efi-amd64 resolve este problema. Se foi omitida ou falhou, arranque com o ISO Proxmox em modo de recuperação, monte o sistema raiz, execute chroot e apt-get install grub-efi-amd64 && update-grub." + }, + { + "title": "GUI não carrega após a atualização", + "bodyRich": "Execute systemctl status pveproxy e systemctl restart pveproxy. Se o problema continuar, procure o erro em journalctl -u pveproxy -b." + }, + { + "title": "A rede não funciona após reiniciar", + "bodyRich": "Confirme que /etc/network/interfaces referencia dispositivos existentes e que ifupdown2 está instalado: apt install ifupdown2. Se os nomes mudaram, consulte Nomes persistentes de interfaces." + }, + { + "title": "Split-brain no cluster após atualizar um nó", + "bodyRich": "Os clusters mistos PVE 8 / PVE 9 são suportados durante a atualização. Funciona a migração em direto de versões anteriores para posteriores; o sentido inverso geralmente não é suportado. Se o nó aparecer desligado, verifique corosync e a configuração QDevice / rede. Execute pvecm status em cada nó para confirmar o quórum." + } + ] + }, + "files": { + "heading": "Ficheiros envolvidos", + "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": "Referências oficiais", + "intro": "O procedimento manual do script segue estas fontes oficiais. Em caso de dúvida numa atualização, siga o wiki oficial: o ProxMenux ajuda na execução, mas a referência é o Proxmox.", + "items": [ + { + "href": "https://pve.proxmox.com/wiki/Upgrade_from_8_to_9", + "title": "Atualização de 8 para 9", + "desc": "A página principal do wiki Proxmox para a atualização 8 → 9. Fonte da verdade para cada comando no procedimento manual acima." + }, + { + "href": "https://pve.proxmox.com/wiki/Ceph_Reef_to_Squid", + "title": "Atualização para Ceph Squid (19.x)", + "desc": "Passo prévio obrigatório para nós Ceph hiperconvergentes. O Ceph deve estar em 19.x Squid antes do PVE 9." + }, + { + "href": "https://pve.proxmox.com/wiki/Roadmap", + "title": "Roteiro Proxmox VE", + "desc": "Notas de lançamento do PVE 9 e alterações desde 8.x: leia antes de atualizar." + }, + { + "href": "https://www.debian.org/releases/trixie/releasenotes", + "title": "Notas de lançamento do Debian Trixie", + "desc": "O PVE 9 baseia-se no Debian Trixie. As notas Debian descrevem alterações do sistema operativo que também afetam o anfitrião." + }, + { + "href": "https://forum.proxmox.com/forums/proxmox-ve-installation-and-configuration.16/", + "title": "Fórum de instalação Proxmox VE", + "desc": "Se algo correr mal durante a atualização, pesquise primeiro neste fórum: alguém pode já ter encontrado o mesmo problema." + }, + { + "href": "https://pve.proxmox.com/wiki/Backup_and_Restore", + "title": "Backup e Restauração", + "desc": "Uma atualização de versão principal não é reversível. Verifique sua disciplina de backup antes de começar." + } + ] + }, + "video": { + "heading": "Guia em vídeo", + "intro": "Prefere ver o upgrade correr de ponta a ponta antes de fazê-lo sozinho? Este passeio demonstra o fluxo de atualização ProxMenux em tempo real.", + "title": "ProxMenux — Guia em vídeo para atualizar Proxmox VE 8 para 9", + "caption": "Vídeo externo no YouTube. Reprodução no modo de privacidade avançada, sem cookies até iniciar o vídeo." + }, + "related": { + "heading": "Relacionado", + "items": [ + { + "href": "/docs/utils/system-update", + "label": "Atualização do sistema Proxmox", + "tail": " — para atualizações regulares dentro da mesma versão principal (8.4.1 → 8.4.5, etc.)." + }, + { + "href": "/docs/utils", + "label": "Visão geral dos utilitários", + "tail": " — voltar à visão geral da secção." + } + ] + } +} diff --git a/web/messages/pt/docs/utils/uup-dump-iso-creator.json b/web/messages/pt/docs/utils/uup-dump-iso-creator.json new file mode 100644 index 00000000..a568110a --- /dev/null +++ b/web/messages/pt/docs/utils/uup-dump-iso-creator.json @@ -0,0 +1,161 @@ +{ + "meta": { + "title": "Criador de ISO do UUP Dump | Documentação ProxMenux", + "description": "Crie uma ISO de instalação do Windows atualizada no host Proxmox com o criador de ISO do UUP Dump do ProxMenux. Automatiza a instalação de dependências, a transferência e a conversão dos ficheiros UUP numa ISO de arranque para criar uma VM.", + "ogTitle": "Criador de ISO do UUP Dump | Documentação ProxMenux", + "ogDescription": "Crie uma ISO do Windows atualizada do UUP Dump usando ProxMenux. Dependências, download e conversão são totalmente automatizados.", + "ogImageAlt": "ProxMenux — Criador de ISO do UUP Dump" + }, + "header": { + "title": "Criador de ISO do UUP Dump", + "description": "Crie uma ISO de instalação do Windows atualizada no host Proxmox com o UUP Dump. O ProxMenux gere as dependências, transfere os ficheiros UUP em paralelo, executa o conversor UUP Dump e move a ISO para o diretório de saída escolhido, que por predefinição é o armazenamento ISO Proxmox detetado.", + "section": "Utilitários" + }, + "intro": { + "title": "O que este script faz", + "body": "Forneça o URL gerado por uupdump.net após escolher a compilação, a língua e a edição. O script instala as dependências em falta, transfere o conversor UUP Dump e os ficheiros UUP, cria uma ISO de arranque do Windows e move-a para o diretório de saída escolhido. O armazenamento ISO Proxmox detetado é proposto como destino predefinido." + }, + "hero": { + "imageAlt": "UUP Dump ISO Creator entrada em ProxMenux", + "caption": "UUP Dump ISO Creator entrada em ProxMenux" + }, + "what": { + "heading": "O que é UUP Dump?", + "intro": "O UUP Dump é um serviço da comunidade que permite transferir os ficheiros originais Unified Update Platform (UUP) usados pelo Windows Update para distribuir o Windows. Estes ficheiros podem ser reunidos numa ISO de arranque padrão. Permite obter:", + "items": [ + "A mais recente compilação do Windows (incluindo canais de visualização do Insider).", + "Uma compilação histórica específica que não está mais listada na página de download da Microsoft.", + "Arquivos limpos e não modificados foram obtidos diretamente dos servidores da Microsoft.", + "A combinação exata de edições e idiomas que você deseja em uma única ISO." + ], + "learnMore": "Saiba mais sobre a página de projeto UUP Dump." + }, + "automates": { + "heading": "O que o script automatiza" + }, + "dependencies": { + "heading": "Dependências", + "intro": "O script começa por verificar as ferramentas necessárias para transferir os ficheiros UUP e criar a ISO. As que faltam são instaladas com apt-get:", + "headerPackage": "Pacote", + "headerRole": "Papel", + "rows": [ + { + "pkg": "curl", + "roleRich": "Transferências HTTP para iniciar o conversor." + }, + { + "pkg": "aria2", + "roleRich": "Downloader paralelo usado para cada carga útil UUP." + }, + { + "pkg": "cabextract", + "roleRich": "Extrai pacotes do Microsoft CAB." + }, + { + "pkg": "wimtools", + "roleRich": "Cria install.wim (wimlib-imagex)." + }, + { + "pkg": "genisoimage", + "roleRich": "Escreve a ISO final inicializável (ou mkisofs)." + }, + { + "pkg": "chntpw", + "roleRich": "Modifica as estruturas do registo Windows durante a criação." + } + ], + "manualIntro": "Equivalente manual – se você precisar instalá-los você mesmo:", + "manualCode": "apt-get install curl aria2 cabextract wimtools genisoimage chntpw" + }, + "flow": { + "heading": "Download e conversão", + "steps": [ + "Detecta o armazenamento ISO Proxmox (via pvesm status -content iso) ou volta para /var/lib/vz/template/iso.", + "Pede uma pasta base para arquivos temporários (padrão /root/uup-temp).", + "Transfere o conversor UUP Dump de git.uupdump.net.", + "Extrai id, pack e edition do URL colado.", + "Chama https://uupdump.net/get.php?…&aria2=2 para gerar uma lista de download aria2.", + "Transfere todos os ficheiros UUP para UUPs/ com aria2, em paralelo e com possibilidade de retoma.", + "Executa convert.sh wim UUPs 1 do conversor para produzir a ISO final.", + "Move a ISO para o diretório de saída escolhido e elimina os ficheiros temporários." + ] + }, + "aria2": { + "heading": "Opções de transferência aria2 utilizadas", + "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": [ + "-x16 — até 16 ligações por servidor.", + "-s16 — divide cada ficheiro em 16 segmentos.", + "-j5 — transfere 5 ficheiros em paralelo.", + "-c — retoma os downloads parciais.", + "-R — aplica ao ficheiro transferido a data e a hora do ficheiro remoto, quando disponíveis." + ], + "runtime": "A duração típica ronda os 10 minutos e depende sobretudo da velocidade da ligação à Internet e da carga dos servidores de transferência UUP Dump." + }, + "step1": { + "heading": "Passo 1 · Obter um URL UUP Dump", + "intro": "Antes de executar o script, você precisa de um URL UUP Dump que inclua os parâmetros de consulta id, pack e edition. Gere-o em uupdump.net:", + "stepBadge": "Etapa", + "items": [ + { + "title": "Escolha uma versão do Windows", + "img": "/iso-creator/step-1-select-version-windows.png", + "caption": "UUP Dump página principal — escolha uma versão do Windows", + "body": "Abra a página inicial do UUP Dump e escolha a versão do Windows que você deseja." + }, + { + "title": "Escolha uma compilação específica", + "img": "/iso-creator/step-2-select-version-windows.png", + "caption": "Escolha uma compilação específica", + "body": "Escolha a compilação: a mais recente, um canal Insider Preview ou uma compilação mais antiga ainda disponível." + }, + { + "title": "Escolha um idioma", + "img": "/iso-creator/step-3-select-version-windows.png", + "caption": "Escolha um idioma", + "body": "Escolha a língua a incluir na ISO." + }, + { + "title": "Escolher edições", + "img": "/iso-creator/step-4-select-version-windows.png", + "caption": "Escolha as edições a incluir", + "body": "Escolha as edições a incluir na ISO (Home, Pro, Enterprise, …). Pode combinar várias." + }, + { + "title": "Copiar o URL", + "img": "/iso-creator/step-5-select-version-windows.png", + "caption": "Copiar o URL da barra de endereços", + "bodyRich": "Na página final, copie o URL da barra de endereços do navegador. Deve conter id=…, pack=… e edition=…. Essa é a string que o script analisará." + } + ] + }, + "step2": { + "heading": "Passo 2 · Execute o criador", + "intro": "Com a URL na mão, abra ProxMenux e inicie o criador:", + "stepBadge": "Etapa", + "items": [ + { + "title": "Iniciar UUP Dump ISO Creator", + "img": "/iso-creator/start-uupdump-iso-creator.png", + "caption": "Iniciar UUP Dump ISO Creator de ProxMenux", + "bodyRich": "No ProxMenux, abra Utilities → UUP Dump ISO Creator. O script verifica as dependências e o diretório ISO antes de pedir os dados." + }, + { + "title": "Colar o URL UUP Dump", + "img": "/iso-creator/add-url-iso-creator.png", + "caption": "Colar o URL que copiou do uupdump.net", + "body": "Colar o URL na janela de entrada. O script valida que os três parâmetros necessários estão presentes; se algum estiver faltando, ele aborta de forma limpa." + }, + { + "title": "Aguarde que a construção termine", + "img": "/iso-creator/end-uupdump-iso-creator.png", + "caption": "Compilação terminada — ISO está pronta no armazenamento ISO Proxmox", + "bodyRich": "A consola mostra o progresso do aria2 e depois a saída do conversor. A ISO terminada é movida para o diretório de saída escolhido. Se estiver num armazenamento ISO Proxmox configurado, pode ser selecionada em Create VM → System Windows → Install with ISO from UUP Dump." + } + ] + }, + "tempFiles": { + "title": "Ficheiros temporários", + "body": "A pasta temporária predefinida é /root/uup-temp, com as transferências em UUPs/ e o conversor em converter/. Um caminho base personalizado recebe um subdiretório de sessão separado. Os ramos de criação bem-sucedida e de ausência de ISO gerada eliminam a sessão temporária. Falhas ou cancelamentos anteriores podem deixar ficheiros temporários." + } +} diff --git a/web/messages/sk/docs/utils/export-vm.json b/web/messages/sk/docs/utils/export-vm.json new file mode 100644 index 00000000..375ef9d0 --- /dev/null +++ b/web/messages/sk/docs/utils/export-vm.json @@ -0,0 +1,145 @@ +{ + "meta": { + "title": "Export VM do OVA / OVF | Dokumentácia ProxMenux", + "description": "Exportujte VM Proxmox do prenosného archívu OVA alebo adresára OVF pomocou štandardnej schémy DMTF. Disky VMDK vo formáte streamOptimized a manifest SHA1. Import je možný vo VMware ESXi / Workstation / Fusion, VirtualBox aj späť v Proxmoxe.", + "ogTitle": "Export VM do OVA / OVF | Dokumentácia ProxMenux", + "ogDescription": "Preveďte VM Proxmox na prenosný balík OVA / OVF kompatibilný s VMware a VirtualBox." + }, + "header": { + "title": "Exportovať VM do OVA / OVF", + "description": "Prevedie VM Proxmox na prenosný balík OVA (jeden archív TAR) alebo OVF (deskriptor a súbory VMDK) pomocou štandardnej schémy DMTF OVF. Disky sa pomocou qemu-img konvertujú na VMDK vo formáte streamOptimized. Výsledok možno importovať vo VMware (ESXi / Workstation / Fusion), VirtualBox aj späť v Proxmoxe pomocou nástroja na import.", + "section": "Nástroje" + }, + "intro": { + "title": "Čo to robí?", + "body": "Načíta konfiguráciu zastavenej VM, prevedie každý disk na VMDK vo formáte streamOptimized, vytvorí deskriptor OVF a manifest SHA1 a všetko zabalí do jedného súboru .ova alebo adresára -ovf. Zdrojová VM sa nikdy nemení." + }, + "picker": { + "heading": "Výber VM", + "body": "Po spustení skript zobrazí všetky VM z qm list s VMID, názvom a stavom. Vyberte VM na export:", + "imgAlt": "Dialóg výberu VM na export so zoznamom všetkých VM" + }, + "stopped": { + "heading": "VM musí byť zastavená", + "intro": "Konzistentný obraz disku vyžaduje zastavenú VM. Ak vybraná VM beží, ProxMenux ponúkne jej vypnutie:", + "items": [ + "Riadne vypnutie cez qm shutdown $VMID --timeout 120 (čaká 2 minúty na vypnutie hosťovského systému cez ACPI).", + "Po uplynutí času ponúkne vynútené zastavenie: qm stop $VMID (zodpovedá odpojeniu napájania).", + "Ak odmietnete obe možnosti, export sa zruší a žiadne údaje sa nezmenia." + ], + "warnTitle": "Vynútené zastavenie zodpovedá odpojeniu napájania", + "warnBody": "qm stop zodpovedá vytiahnutiu napájacieho kábla. Pri ďalšom štarte môže hosťovský systém potrebovať opravu súborového systému. Ak je to možné, použite riadne vypnutie a vynútené zastavenie si nechajte pre hosťovské systémy, ktoré nereagujú." + }, + "format": { + "heading": "Volič formátu: OVA vs OVF", + "headerFormat": "Formát", + "headerOutput": "Výstup", + "headerPros": "Výhody", + "headerCons": "Nevýhody", + "rows": [ + { + "format": "OVA", + "output": "name-vmid-ts.ova", + "pros": "Jeden samostatný súbor, ktorý sa ľahko presúva, prenáša cez sftp alebo pripája k požiadavke podpory.", + "cons": "Vyžaduje ~220% virtuálnej veľkosti disku (dodatočný priestor pre archív TAR počas vytvárania)." + }, + { + "format": "OVF", + "output": "name-vmid-ts-ovf/", + "pros": "~120% virtuálnej veľkosti disku. Jednoduchšia kontrola, pretože deskriptor je textový XML. Pred importom ho možno upraviť.", + "cons": "Viac súborov, ktoré sa musia preniesť spoločne." + } + ] + }, + "destination": { + "heading": "Cieľový priečinok", + "body": "Vyberte prednastavenú cestu (/var/lib/vz/dump, /var/lib/vz/template/iso) alebo zadajte vlastnú. Skript pred začiatkom overí možnosť zápisu do adresára a upozorní na nedostatok voľného miesta.", + "calloutTitle": "Orientačný odhad voľného miesta", + "calloutBody": "Pri exporte VM s celkovou virtuálnou veľkosťou diskov 100 GB do OVF počítajte s ~120 GB voľného miesta; pri OVA s ~220 GB. Takmer prázdne disky môžu v skutočnosti zaberať menej. Archív OVA sa vytvára pomocou nekomprimovaného TAR, kým dočasné súbory VMDK ešte existujú, preto treba miesto pre oboje. Ak sa miesto minie počas exportu, obsluha EXIT vyčistí dočasný adresár a musíte začať odznova." + }, + "package": { + "heading": "Čo balík obsahuje", + "intro": "Pre OVA / OVF s názvom myvm-100-2026-04-26_18-30-15:", + "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": "Čo sa exportuje", + "items": [ + "Disky: všetky položky scsi*, sata*, virtio* a ide* v konfigurácii VM, prevedené na VMDK vo formáte streamOptimized.", + "Počet vCPU (RASD ResourceType 3) a pamäť v MiB (ResourceType 4).", + "Počet sieťových kariet (ResourceType 10: iba počet, nie most ani model).", + "Názov VM a údaj o type operačného systému." + ], + "notTitle": "Čo sa NEEXPORTUJE", + "notItems": [ + "Pripojené CD-ROM / ISO (zámerne vylúčené).", + "Jednotky cloud-init (zámerne vylúčené).", + "Konkrétny most a model sieťovej karty (zachová sa iba počet).", + "Voľba BIOS / UEFI, ktorú treba pri importe znova nastaviť.", + "Konfigurácia priameho priradenia PCI.", + "Snímky: zachytí sa iba aktuálny stav.", + "Možnosti na úrovni VM (NUMA, hugepages, hotplug, …)." + ] + }, + "conversion": { + "heading": "Konverzia disku", + "intro": "Každý disk je konvertovaný s:", + "code": "qemu-img convert -p -O vmdk -o subformat=streamOptimized \\\n \"$source_path\" \\\n \"$work_dir/-disk.vmdk\"", + "outro": "streamOptimized je formát VMware čitateľný jedným priechodom. Podporujú ho ESXi 6.7+, VMware Workstation, VirtualBox aj samotný Proxmox. Je to najširšie kompatibilný podformát VMDK a vhodná voľba na prenos. Nevýhodou je, že neumožňuje náhodný prístup, takže ho nemožno priamo pripojiť bez konverzie." + }, + "manifest": { + "heading": "Manifest SHA1", + "intro": "Každý balík obsahuje súbor .mf s hashmi SHA1 deskriptora OVF a každého súboru 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": "V špecifikácii OVF je manifest voliteľný a mnohé programy ho ignorujú. Pomáha však overiť, či sa balík preniesol neporušený. Overte ho ručne pomocou sha1sum -c file.mf." + }, + "import": { + "heading": "Importovanie výsledku", + "intro": "Exportovaný balík možno importovať do:", + "items": [ + { + "href": "/docs/utils/import-vm", + "preRich": "Proxmox — použite príslušný nástroj ", + "linkLabel": "Importovať VM z OVA / OVF", + "tailRich": "." + }, + { + "tailRich": "VMware ESXi — Datacenter → Deploy OVF Template; vyberte súbor .ova alebo .ovf." + }, + { + "tailRich": "VMware Workstation / Fusion — File → Open; vyberte súbor .ova alebo .ovf." + }, + { + "tailRich": "VirtualBox — File → Import Appliance; vyberte súbor .ova alebo .ovf." + } + ] + }, + "troubleshoot": { + "heading": "Riešenie problémov", + "noSpaceTitle": "qemu-img convert zlyhá počas konverzie s chybou \"No space left on device\"", + "noSpaceBody": "V cieli sa minulo voľné miesto. Obsluha EXIT automaticky vyčistí dočasný adresár. Vyberte cieľ s väčším voľným miestom podľa odhadu vyššie a export spustite znova.", + "unsupportedHwTitle": "Export sa dokončí, ale VMware odmietne import: \"Unsupported hardware family\"", + "unsupportedHwBody": "Niektoré verzie ESXi odmietajú deskriptory OVF, ktoré deklarujú neznámu rodinu hardvéru. Otvorte .ovf v textovom editore alebo najprv rozbaľte .ova. Nájdite <vssd:VirtualSystemType> a zmeňte hodnotu na takú, ktorú ESXi prijme, napríklad vmx-13 pre ESXi 6.5+. Ako rýchle obídenie problému skúste VirtualBox, ktorý je menej prísny.", + "nicTitle": "Importovaná VM používa inú sieťovú kartu alebo radič SCSI", + "nicBody": "OVF zachováva počet sieťových kariet, nie ich pôvodný model. Skontrolujte sieťové nastavenia importovanej VM v cieľovom hypervízore. Export deklaruje radič SCSI lsilogic pre kompatibilitu s VMware. Pri spätnom importe do Proxmoxu môžete vybrať VirtIO SCSI, ak má hosťovský systém vhodné ovládače.", + "runningTitle": "VM bežala a odmietol som jej vypnutie: export sa zrušil", + "runningBody": "Skript nemôže vytvoriť konzistentný obraz, keď sa na disky zapisuje. Nabudúce potvrďte vypnutie alebo najprv vypnite VM ručne (qm shutdown $VMID) a export spustite znova.", + "slowTitle": "Konverzia disku je pomalá", + "slowBody": "qemu-img convert používa jedno vlákno a číta zdroj plnou rýchlosťou. Pri 100 GB disku na mechanickom pevnom disku počítajte s 15–30 minútami. Prenos z NVMe na NVMe je 5–10-krát rýchlejší. Disky VM sa konvertujú postupne a čas rastie lineárne s celkovou virtuálnou veľkosťou." + }, + "related": { + "heading": "Súvisiace", + "items": [ + { + "href": "/docs/utils/import-vm", + "label": "Importovať VM z OVA / OVF", + "tail": " — doplnkový nástroj na spätný import." + }, + { + "href": "/docs/utils", + "label": "Prehľad pomocných nástrojov", + "tail": " — Späť na prehľad sekcie." + } + ] + } +} diff --git a/web/messages/sk/docs/utils/import-vm.json b/web/messages/sk/docs/utils/import-vm.json new file mode 100644 index 00000000..fc4f335a --- /dev/null +++ b/web/messages/sk/docs/utils/import-vm.json @@ -0,0 +1,218 @@ +{ + "meta": { + "title": "Import VM z OVA / OVF | Dokumentácia ProxMenux", + "description": "Importujte VMware ESXi / Workstation / Fusion / VirtualBox / ProxMenux VM do Proxmox VE. Automaticky extrahuje OVA, analyzuje metadáta OVF, vytvorí VM a importuje každý disk ako natívny formát úložiska (qcow2 / raw).", + "ogTitle": "Import VM z OVA / OVF | Dokumentácia ProxMenux", + "ogDescription": "Importujte do Proxmoxu VM exportované z VMware, VirtualBox alebo ProxMenux. Disky sa automaticky konvertujú do natívneho formátu úložiska." + }, + "header": { + "title": "Importovať VM z OVA / OVF", + "description": "Importuje balík OVA / OVF do Proxmox VE: rozbalí archívy OVA, z deskriptora OVF načíta vCPU, pamäť, počet sieťových kariet a odkazy na disky, potom vytvorí VM a pomocou qm importdisk importuje každý disk do vybraného úložiska. Kompatibilné s exportmi z VMware (ESXi / Workstation / Fusion), VirtualBox aj ProxMenux.", + "section": "Nástroje" + }, + "intro": { + "title": "Čo to robí?", + "body": "Vytvorí kompletnú VM v Proxmoxe z prenosného balíka. Po importe je pripravená na spustenie; pre výkon a kompatibilitu sa odporúča skontrolovať model sieťovej karty, firmvér a typ operačného systému." + }, + "picker": { + "heading": "Vyberač súborov", + "intro": "Pri štarte skript ponúka dva prednastavené adresáre alebo manuálnu cestu:", + "items": [ + "/var/lib/vz/dump — predvolený adresár záloh vzdump v Proxmox.", + "/var/lib/vz/template/iso — užitočné, ak ste sem preniesli OVA cez sftp.", + "Manuálna cesta pre OVA / OVF súbory kdekoľvek inde na hostiteľovi." + ], + "outro": "To potom uvádza každý súbor .ova a .ovf vo vybranom adresári.", + "imageAlt": "Dialóg výberu súboru VM na import" + }, + "flow": { + "heading": "Ako funguje import", + "nodes": [ + { + "label": "Vstup OVA / OVF", + "detail": ".ova → tar xf do\n /tmp/.proxmenux-import-*\n.ovf → použiť na mieste", + "variant": "source" + }, + { + "label": "Spracovať + dialógy", + "detail": "AWK načíta OVF\n(názov, vCPU, RAM, NIC,\ndisky). Výber\nVMID / úložiska / mosta", + "variant": "bridge" + }, + { + "label": "qm create + importdisk", + "detail": "qm create $VMID\nqm importdisk\n(VMDK → formát úložiska)\nqm set --scsiN", + "variant": "target" + } + ] + }, + "ovf": { + "heading": "OVF spracovanie", + "intro": "Parser gawk načíta deskriptor OVF a metadáta VM. Používa match() s tromi argumentmi, čo je rozšírenie gawk, ktoré mawk, predvolený awk v Debiane / Proxmoxe, nepodporuje. Ak gawk chýba, skript ho pri prvom importe nainštaluje cez ensure_repositories + install_single_package. Ďalšie importy tento krok nepotrebujú. Načítané polia:", + "headerField": "Pole", + "headerSource": "Zdroj v OVF", + "headerDefault": "Štandardne, ak chýba", + "rows": [ + { + "field": "Názov VM", + "source": " (prvá zhoda)", + "default": "imported-vm" + }, + { + "field": "Počet vCPU", + "source": "RASD ResourceType 3 → VirtualQuantity", + "default": "1" + }, + { + "field": "Pamäť (MiB)", + "source": "RASD ResourceType 4 → VirtualQuantity", + "default": "1024" + }, + { + "field": "Počet NIC", + "source": "počet ResourceType 10", + "default": "1" + }, + { + "field": "Typ OS", + "source": "/Linux/ alebo /Windows/ v popise", + "default": "other" + }, + { + "field": "Odkazy na disk", + "source": "href atribúty končiace v .vmdk / .qcow2 / .img / .raw", + "default": "Žiadne (import sa zruší)" + } + ] + }, + "memWarn": { + "title": "Nejasnosť pamäťovej jednotky", + "body": "Parser prevedie rozpoznané jednotky pamäte na MiB, vrátane bajtov, KiB, MiB, GiB a podporovaných textových označení. Chýbajúce alebo neznáme jednotky sa považujú za MiB. Po importe porovnajte qm config $VMID | grep memory so zdokumentovanou RAM zdrojovej VM a podľa potreby ju opravte pomocou qm set $VMID --memory <MiB>." + }, + "dialog": { + "heading": "Postup dialógov importu", + "items": [ + "VMID — predvolene ďalší voľný identifikátor (pvesh get /cluster/nextid).", + "Názov VM — predvolene názov načítaný z OVF; môžete ho zmeniť.", + "Cieľové úložisko — zoznam úložísk s obsahom images z pvesm status -content images.", + "Sieťový most — zoznam mostov z ip link show type bridge. Jediný most sa vyberie automaticky; predvolený je vmbr0.", + "Potvrdenie — súhrn s VMID, názvom, vCPU, pamäťou, sieťovými kartami, úložiskom, mostom a zoznamom diskov na import. Pri zrušení sa nič nemení." + ] + }, + "create": { + "heading": "Vytvorenie VM", + "intro": "Po potvrdení skript spustí:", + "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": "SCSI radič predvolí lsi (LSI Logic) pre kompatibilitu VMDK. NIC predvolené e1000 (univerzálna kompatibilita) na zvolenom moste." + }, + "diskLoop": { + "heading": "Cyklus importu diskov", + "intro": "Pre každý odkaz na disk v OVF:", + "items": [ + "qm importdisk $VMID $disk_path $STORAGE — importuje disk vo formáte podporovanom cieľovým úložiskom a vytvorí položku unusedN: v konfigurácii VM.", + "Skript pomocou grep vyhľadá v konfigurácii práve vytvorený odkaz unusedN.", + "qm set $VMID --scsiN $unused_disk Prikladá disk ako scsi0, scsi1, …", + "qm set $VMID --delete unusedN — odstráni už nepotrebnú značku unused." + ], + "outro": "Boot je nastavená na prvý SCSI disk: qm set $VMID --boot c --bootdisk scsi0." + }, + "postImport": { + "heading": "Odporúčané úpravy po importe", + "intro": "Import používa široko kompatibilné nastavenia, aby sa VM podľa možnosti spustila na prvý pokus. Po overení štartu môžete v rozhraní Proxmox alebo cez CLI vybrať výkonnejšie nastavenia:", + "headerSetting": "Nastavenie", + "headerDefault": "Štandardné po importe", + "headerRecommended": "Odporúčané (ak hosť podporuje)", + "rows": [ + { + "setting": "Model sieťovej karty", + "default": "e1000", + "recommended": "VirtIO (oveľa rýchlejšie, potrebuje ovládač v hosťovskom systéme)" + }, + { + "setting": "SCSI radič", + "default": "LSI", + "recommended": "VirtIO SCSI single (novší Linux alebo Windows s ovládačmi VirtIO)" + }, + { + "setting": "Firmvér (BIOS / UEFI)", + "default": "Proxmox predvolený (BIOS)", + "recommended": "Použite firmvér zdrojovej VM; nesúlad zabráni štartu" + }, + { + "setting": "QEMU hosťujúci agent", + "default": "Vypnuté", + "recommendedRich": "Zapnúť a nainštalovať qemu-guest-agent v hosťovskom systéme (lepšie zálohy a hlásenie IP adries)" + }, + { + "setting": "Typ OS", + "default": "l26 / win10 / other (heuristika)", + "recommended": "Overte podľa skutočného hosťovského operačného systému" + }, + { + "setting": "Zobrazenie", + "default": "Štandardné", + "recommended": "VirtIO-GPU alebo SPICE (lepší výkon konzol)" + } + ] + }, + "fwWarn": { + "title": "Nesúlad firmvéru zabráni štartu", + "body": "Ak zdrojová VM používala UEFI, ale Proxmox ju vytvorí s BIOS, alebo naopak, hosťovský systém nenájde zavádzací disk. Overte FirmwareType / firmware v OVF alebo v nastaveniach pôvodnej VM a nastavte rovnakú voľbu v Proxmoxe: qm set $VMID --bios ovmf pre UEFI; predvolená hodnota BIOS je seabios." + }, + "notImported": { + "heading": "Čo sa NEIMPORTUJE", + "items": [ + "Konkrétne sieťové mosty — zachová sa iba počet kariet. Všetky sa pripoja k mostu vybranému pri importe.", + "Model NIC – predvolená hodnota je e1000.", + "Typ firmvéru BIOS / UEFI — použije sa predvolený BIOS Proxmox.", + "Konfigurácia priameho priradenia PCI.", + "TPM (vTPM).", + "Cloud-init disky.", + "Snímky — iba aktuálny stav.", + "USB / sériové / paralelné zariadenia deklarované v OVF.", + "VM možnosti tagov / poznámok / štart-on-boot." + ] + }, + "troubleshoot": { + "heading": "Riešenie problémov", + "orphanTitle": "VM sa vytvorila, ale import diskov zlyhal: zostala čiastočná VM", + "orphanIntro": "Pri zlyhaní importu skript ponúkne odstránenie čiastočnej VM aj importovaných diskov. Ak ste odmietli alebo automatické odstránenie zlyhalo, skontrolujte VM a odstráňte ju ručne pomocou:", + "orphanCode": "qm destroy $VMID --destroy-unreferenced-disks 1", + "orphanOutro": "Potom opravte príčinu, pravdepodobne nedostatok miesta v cieľovom úložisku, a import zopakujte.", + "memTitle": "Importovaná VM má 8 MB RAM alebo 8 TB", + "memIntro": "Parser prevedie rozpoznané AllocationUnits na MiB. Chýbajúce alebo neznáme jednotky považuje za MiB. Skontrolujte OVF a porovnajte importovanú pamäť so zdrojovou VM. Podľa potreby ju opravte:", + "memCode": "qm set $VMID --memory 8192 # 8 GiB", + "bootTitle": "Importovaná VM sa nespustí: \"No bootable device\"", + "bootIntro": "Najčastejšia príčina: BIOS / UEFI nesúlad. VM bol UEFI, ale Proxmox ho vytvoril ako BIOS. Nastavte zodpovedajúci firmvér:", + "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": "Ďalšia častá príčina: poradie štartu ukazuje na scsi0, ale operačný systém je na scsi1. Upravte poradie na karte Možnosti VM.", + "bsodTitle": "VM so systémom Windows exportovaná z VMware zobrazí pri prvom štarte modrú obrazovku", + "bsodBody": "Windows je citlivý na zmenu radiča disku. Nainštalujte ovládače VirtIO pred exportom z VMware alebo ponechajte predvolený radič lsi. Na VirtIO SCSI prejdite až po spustení hosťovského systému a inštalácii ovládačov VirtIO vo Windows.", + "zeroTitle": "Parser OVF hlási 0 diskov", + "zeroBody": "OVF môže používať odkazy na disky, ktoré parser nerozpozná. Otvorte ho a pre každý disk nájdite položku <File ovf:href=\"...vmdk\" ...>. Ak je disk skutočne VMDK, ale má nezvyčajnú príponu ako .dat, premenujte ho na .vmdk a aktualizujte odkaz v OVF. Premenovanie nekonvertuje formát disku.", + "awkTitle": "awk: syntax error at or near , — parser zlyhá pri každom OVA / OVF", + "awkIntro": "Parser OVF používa syntax gawk: match() s tromi argumentmi. Tú mawk, predvolený awk v Debiane / Proxmoxe, nepodporuje. Novšie verzie skriptu nainštalujú gawk pri prvom použití cez ensure_repositories + install_single_package. Pri staršej kópii ho nainštalujte ručne:", + "awkCode": "apt-get install -y gawk", + "awkOutro": "Potom znovu spustite import.", + "netTitle": "Sieť nefunguje po prvom spustení", + "netBody": "Hosťovský systém nemusí mať ovládače pre model sieťovej karty e1000 alebo môže byť vybraný nesprávny most. Na karte Hardware VM zmeňte Network Device → Model. V hosťovskom systéme skontrolujte aj ip a: rozhranie môže mať nový názov, napríklad ens18 namiesto eth0, zatiaľ čo sieťové nastavenie stále používa starý názov." + }, + "files": { + "heading": "Príslušné súbory", + "code": "scripts/utilities/import_vm_ova_ovf.sh # this script\n/tmp/.proxmenux-import-*/ # temp extraction dir for OVA\n/etc/pve/nodes//qemu-server/.conf # created by qm create\n//-disk-. # disk images, format depends on storage" + }, + "related": { + "heading": "Súvisiace", + "items": [ + { + "href": "/docs/utils/export-vm", + "label": "Exportovať VM do OVA / OVF", + "tail": " — doplnkový nástroj na export VM." + }, + { + "href": "/docs/utils", + "label": "Prehľad pomocných nástrojov", + "tail": " — Späť na prehľad sekcie." + } + ] + } +} diff --git a/web/messages/sk/docs/utils/index.json b/web/messages/sk/docs/utils/index.json new file mode 100644 index 00000000..68c4312a --- /dev/null +++ b/web/messages/sk/docs/utils/index.json @@ -0,0 +1,115 @@ +{ + "meta": { + "title": "Nástroje Proxmox — UUP Dump, aktualizácia PVE 8 na 9, export/import OVA | ProxMenux", + "description": "Každodenné nástroje pre Proxmox VE: vytváranie obrazov ISO systému Windows cez UUP Dump, inštalácia vybraných nástrojov CLI, bezpečná aktualizácia systému Proxmox, prechod z PVE 8 na PVE 9, export VM do OVA / OVF a import VM vo formáte OVA / OVF z VMware alebo VirtualBox.", + "ogTitle": "Nástroje Proxmox — UUP Dump, aktualizácia PVE 8 na 9, export/import OVA", + "ogDescription": "Vytvárajte obrazy ISO systému Windows, inštalujte nástroje CLI, bezpečne aktualizujte systém, prejdite z PVE 8 na PVE 9 a exportujte alebo importujte VM vo formáte OVA / OVF.", + "twitterTitle": "Nástroje Proxmox | ProxMenux", + "twitterDescription": "Tvorba ISO, nástroje CLI, aktualizácia Proxmoxu, prechod PVE 8→9 a prenosnosť VM vo formáte OVA / OVF." + }, + "header": { + "title": "Pomocné nástroje", + "description": "Šesť nástrojov dopĺňa každodennú prácu s Proxmox VE: tvorbu ISO, údržbu systému a prenos VM. Každá možnosť je nezávislá. Vyberte si tú, ktorú potrebujete; nič sa nenainštaluje, kým o to nepožiadate.", + "section": "Nástroje" + }, + "intro": { + "title": "Na čo je toto menu", + "body": "Tri skupiny nezávislých, ale často potrebných nástrojov: vytvorenie ISO systému Windows cez UUP Dump, údržba hostiteľa Proxmox (nástroje CLI, aktualizácie a prechod na novú hlavnú verziu) a import a export VM v Proxmoxe pomocou štandardného formátu OVA / OVF." + }, + "opening": { + "heading": "Otvorenie menu", + "body": "V hlavnom menu ProxMenux vyberte Utilities. Zobrazí sa toto:", + "imageAlt": "Menu pomocných nástrojov s UUP Dump, systémovými nástrojmi, aktualizáciou, prechodom na novú verziu, exportom a importom" + }, + "groups": { + "heading": "Tri skupiny nástrojov", + "intro": "Šesť nástrojov patrí do troch nezávislých skupín. Kliknite na kartu nižšie pre skok do zodpovedajúcej časti.", + "iso": { + "title": "Tvorba ISO", + "body": "Vytvorte oficiálne obrazy ISO systému Windows cez UUP Dump priamo na hostiteľovi Proxmox.", + "bullets": [ + "Zdieľaný odkaz UUP Dump → zavádzací obraz ISO", + "Závislosti nainštalované automaticky", + "Výsledok sa uloží do adresára šablón ISO v Proxmoxe" + ] + }, + "maintenance": { + "title": "Údržba systému", + "body": "Udržiavajte hostiteľa v dobrom stave pomocou nástrojov CLI, pravidelných aktualizácií a prechodu na novú hlavnú verziu, keď príde čas.", + "bullets": [ + "Inštalátor systémových nástrojov (25 nástrojov CLI)", + "Aktualizácia systému Proxmox (apt + dist-upgrade)", + "Prechod z PVE 8 na PVE 9" + ] + }, + "portability": { + "title": "Prenosnosť VM", + "body": "Importujte a exportujte VM v Proxmoxe pomocou štandardného formátu OVA / OVF.", + "bullets": [ + "Exportovať Proxmox VM → OVA / OVF", + "Importovať OVA / OVF → Proxmox VM", + "Kompatibilný s VMware a VirtualBox" + ] + } + }, + "upgradeWarn": { + "title": "Prechod PVE 8 → 9 je deštruktívny a nie je vratný", + "body": "Aktualizácia hlavnej verzie prepíše základ Debianu (Bookworm → Trixie) aj súčasti Proxmox priamo na mieste. Nie je k dispozícii automatický návrat: pred začiatkom potrebujete overené zálohy každej VM a CT a prístup ku konzole / IPMI / iKVM. Preto sa aktualizačný nástroj odmietne spustiť vo webovom termináli Proxmox." + }, + "isoSection": { + "heading": "Tvorba ISO", + "body": "Vytvorte nový, aktuálny inštalačný obraz ISO systému Windows priamo na hostiteľovi Proxmox. Skript automatizuje celý postup UUP Dump: inštaláciu závislostí (aria2c, cabextract, wimlib-imagex, …), paralelné sťahovanie aktualizačných súborov cez aria2 a konverziu na jeden zavádzací obraz ISO. Ten sa uloží do /var/lib/vz/template/iso a je pripravený na pripojenie k VM.", + "options": [ + { + "title": "Tvorba ISO cez UUP Dump", + "description": "Vytvorte aktuálny inštalačný obraz ISO systému Windows zo zdieľaného odkazu UUP Dump. Závislosti, sťahovanie aj konverzia sú plne automatizované. Výsledný obraz ISO sa uloží do /var/lib/vz/template/iso a je pripravený na vytvorenie VM.", + "href": "/docs/utils/UUp-Dump-ISO-Creator" + } + ] + }, + "maintenanceSection": { + "heading": "Údržba systému", + "body": "Tri nástroje pokrývajú každodenné aj príležitostné úlohy na hostiteľovi. Inštalátor systémových nástrojov nastaví nástroje CLI, ktoré využijete po novej inštalácii. Aktualizácia systému Proxmox slúži na týždennú alebo mesačnú údržbu. Prechod z PVE 8 na PVE 9 je veľká zmena pri každej novej hlavnej verzii a zahŕňa dodatočné bezpečnostné kontroly, pretože nie je vratná.", + "options": [ + { + "title": "Inštalátor systémových nástrojov", + "description": "Výber 25 osvedčených nástrojov CLI (htop, btop, iperf3, jq, tmux, ncdu, ...) s vlastným výberom alebo preddefinovanými skupinami (základné, vývoj, kompresia, multiplexery, analýza, sieť). Používa štandardný postup s repozitárom a overovacím príkazom.", + "href": "/docs/utils/system-utils" + }, + { + "title": "Aktualizácia systému Proxmox", + "description": "Kontrola repozitárov + apt update + apt dist-upgrade s potvrdením pred reštartom. Rozpozná hlavnú verziu PVE (8 alebo 9), zachová nakonfigurované repozitáre a pred prepnutím hostiteľa bez predplatného na repozitár no-subscription požiada o potvrdenie. Potom spustí autoremove.", + "href": "/docs/utils/system-update" + }, + { + "title": "Prechod z PVE 8 na PVE 9", + "description": "Prechod na novú hlavnú verziu (Debian Bookworm → Trixie + PVE 8 → 9). Kontroly pred začiatkom, migrácia repozitárov, automatizovaný alebo interaktívny režim, následné overenie a reštart. Odmietne spustenie z webového terminálu.", + "href": "/docs/utils/upgrade-pve8-pve9" + } + ] + }, + "portabilitySection": { + "heading": "Prenosnosť VM (OVA / OVF)", + "body": "OVA a OVF sú formáty balíkov na prenos medzi hypervízormi podľa štandardu DMTF. Podporujú ich VMware, VirtualBox a Proxmox. Oba nástroje umožňujú export aj spätný import: VM exportovanú z Proxmoxu možno znova importovať a naopak. Použite ich na migráciu pracovných záťaží z ESXi, vytvorenie prenosnej zálohy VM alebo zdieľanie pripravenej VM s používateľom VirtualBox.", + "options": [ + { + "title": "Exportovať VM do OVA / OVF", + "description": "Preveďte VM Proxmox na prenosný archív OVA alebo adresár OVF. Štandardná schéma DMTF, manifest SHA1 a disky VMDK vo formáte streamOptimized. Import je možný vo VMware (ESXi / Workstation / Fusion), VirtualBox aj späť v Proxmoxe.", + "href": "/docs/utils/export-vm" + }, + { + "title": "Importovať VM z OVA / OVF", + "description": "Preneste export VMware / VirtualBox / ProxMenux späť do Proxmoxu. Automaticky extrahuje OVA, analyzuje metadáta OVF, vytvorí VM a importuje každý disk ako natívny formát úložiska.", + "href": "/docs/utils/import-vm" + } + ] + }, + "diskSpaceCallout": { + "title": "Poznámka k priestoru na disku pri exporte / importe", + "body": "Oba nástroje konvertujú formáty diskov: export používa qemu-img convert -O vmdk -o subformat=streamOptimized; import používa qm importdisk na spätnú konverziu do natívneho formátu úložiska (qcow2 / raw). Pri exporte počítajte s ~120% virtuálnej veľkosti disku pre OVF a ~220% pre OVA. Archív OVA používa nekomprimovaný TAR a vytvára sa, kým dočasné súbory VMDK ešte existujú. Pred začiatkom overte, či je v cieľovom adresári dostatok voľného miesta." + }, + "fitsTogether": { + "heading": "Ako je menu usporiadané", + "body": "Každý nástroj má vlastný skript v scripts/utilities/. Aktualizácia systému Proxmox volá jediný bezpečný skript v scripts/global/, update-pve-safe.sh, ktorý rozpozná hlavnú verziu a obsluhuje PVE 8 aj PVE 9. Prechod PVE 8 → 9 ponúka vo vlastnom menu dve ďalšie akcie: samostatnú Kontrolu pred aktualizáciou (spustí pve8to9 --full) a Príručku na manuálnu aktualizáciu iba na čítanie (postup so 17 krokmi), pre používateľov, ktorí chcú proces skontrolovať alebo vykonať ručne." + } +} diff --git a/web/messages/sk/docs/utils/system-update.json b/web/messages/sk/docs/utils/system-update.json new file mode 100644 index 00000000..bab1ab9e --- /dev/null +++ b/web/messages/sk/docs/utils/system-update.json @@ -0,0 +1,168 @@ +{ + "meta": { + "title": "Aktualizácia systému Proxmox | Dokumentácia ProxMenux", + "description": "Aktualizuje balíky v rámci aktuálnej hlavnej verzie Proxmox pomocou apt-get update a apt full-upgrade -y. Kontroluje miesto na disku a repozitáre, skúša obnoviť kľúče GPG, kontroluje a opravuje staré hlavičky PV v LVM, podľa potreby znovu zostaví spravované ovládače DKMS, spustí autoremove/autoclean a ponúkne potrebný reštart.", + "ogTitle": "Aktualizácia systému Proxmox | Dokumentácia ProxMenux", + "ogDescription": "apt full-upgrade s kontrolou repozitárov, autoremove/autoclean a výzvou na reštart podľa potreby." + }, + "header": { + "title": "Aktualizácia systému Proxmox", + "description": "Volá jediný pracovný skript (update-pve-safe.sh), ktorý rozpozná hlavnú verziu Proxmox. Nakonfigurované repozitáre načíta cez API Proxmox a zachová ich. Hostiteľ bez predplatného, ktorý používa iba Enterprise, musí potvrdiť prechod na no-subscription. Skript aktualizuje balíky a znovu zostaví ovládače DKMS spravované ProxMenux pre jadro pripravené na ďalší štart. Hlavný skript ponúkne reštart, ak existuje systémová značka alebo sa najnovšie nainštalované jadro líši od spusteného. Pri čakajúcich aktualizáciách možno postup spustiť aj cez Update Now v hlavičke ProxMenux Monitor.", + "section": "Nástroje" + }, + "calloutWhat": { + "title": "Čo to robí?", + "body": "Aktualizuje hostiteľa na najnovšiu úroveň opráv jeho aktuálnej hlavnej verzie. Neprechádza na inú hlavnú verziu; pre PVE 8 → PVE 9 pozrite Prechod z PVE 8 na PVE 9." + }, + "official": { + "heading": "Oficiálne odporúčanie pre Proxmox", + "intro": "Proxmox pri aktualizácii bežiaceho hostiteľa v rámci rovnakej hlavnej verzie odporúča spustiť:", + "code": "apt update && apt full-upgrade -y", + "outro": "Tento riadok je oficiálnym príkazom pre aktuálne vydania Proxmox. Treba tiež overiť správnosť repozitárov, zapnutie vhodných zdrojov a dobrý stav hostiteľa po aktualizácii." + }, + "onTop": { + "heading": "Čo ProxMenux pridáva: overené v skripte", + "intro": "Používa rovnakú operáciu apt full-upgrade s kontrolou repozitárov, opätovným zostavením DKMS a následným čistením. Nasledujúce kroky zodpovedajú scripts/utilities/proxmox_update.sh a jeho jedinému pracovnému skriptu scripts/global/update-pve-safe.sh:", + "items": [ + "Rozpozná hlavnú verziu PVE v pracovnom skripte (pveversion | grep -oP ''pve-manager/\\K[0-9]+''). Jeden skript obsluhuje PVE 8 aj PVE 9. Repozitáre sa zachovajú, ak hostiteľ bez predplatného nepotvrdí ponúknutú zmenu.", + "Zachová nakonfigurované repozitáre. ensure_repositories cez API Proxmox načíta repozitáre a stav predplatného. Pri aktívnom predplatnom alebo už používanom repozitári no-subscription či test nič nemení. Hostiteľ bez aktívneho predplatného s jediným repozitárom Enterprise musí potvrdiť prechod na no-subscription. Pri odmietnutí sa aktualizácia skončí bez zmeny zdrojov.", + "Spustí aktualizáciu neinteraktívne s DEBIAN_FRONTEND=noninteractive a --force-confdef --force-confold. Pri rozhodovaní o konfiguračných súboroch dpkg prijme predvolenú akciu, ak existuje; inak zachová aktuálny súbor.", + "Nevynucuje voliteľné nástroje. Bezpečný skript nevnucuje hostiteľovi zfsutils-linux, chrony, ifupdown2 ani podobné balíky. Ak sa inštalácia Proxmox rozhodla niektorý z nich nepoužiť, táto voľba sa zachová. Chýbajúce balíky oznamujú nadradené inštalačné postupy, nie aktualizačný postup.", + "Kontrola a oprava metadát LVM. Rozpozná staré hlavičky PV a pre dotknuté skupiny zväzkov spustí vgck --updatemetadata a vgchange -ay. Môže zmeniť metadáta LVM; nejde iba o kontrolu s upozorneniami.", + "Potom vyčistí: apt-get autoremove -y + apt-get autoclean -y.", + "Opätovné zostavenie DKMS pred výzvou na reštart. Pracovný skript volá pmx_rebuild_dkms_after_kernel, keď je pripravené novšie nainštalované jadro. Hlavný skript kontroluje /var/run/reboot-required a pomocou dpkg-query porovná jadro uvedené v uname -r s najnovšie nainštalovaným balíkom proxmox-kernel-*-pve-signed / pve-kernel-*-pve. Na hostiteľoch bez needrestart môže značka chýbať; porovnanie jadier funguje aj vtedy." + ] + }, + "calloutOneSentence": { + "title": "V jednej vete", + "body": "Aktualizuje balíky hostiteľa, zachová repozitáre bez potvrdenej zmeny, skontroluje metadáta LVM, znovu zostaví spravované ovládače DKMS, vyčistí systém cez autoremove/autoclean a podľa potreby ponúkne reštart." + }, + "confirm": { + "heading": "Potvrdzovací dialóg", + "intro": "Výber možnosti otvorí súhrn plánovaných krokov a vyžaduje výslovné potvrdenie:", + "imageAlt": "Potvrdzovací dialóg aktualizácie Proxmox s kontrolou repozitárov, aktualizáciou balíkov a čistením" + }, + "routes": { + "heading": "Ako hlavný skript odovzdáva prácu", + "nodes": { + "source": { + "label": "proxmox_update.sh", + "detail": "pveversion |\ngrep -oP ''pve-manager/\\K[0-9]+''" + }, + "bridge": { + "label": "Jediný pracovný skript", + "detail": "update-pve-safe.sh\n(rozpozná PVE 8 / 9\ninterne)" + }, + "target": { + "label": "Po aktualizácii", + "detail": "apt-get autoremove\napt-get autoclean\nVýzva na reštart podľa potreby" + } + } + }, + "worker": { + "heading": "Čo robí pracovný skript", + "intro": "Jeden pracovný skript (scripts/global/update-pve-safe.sh) obsluhuje PVE 8 (bookworm) aj PVE 9 (trixie). Interne rozpozná hlavnú verziu a kontroluje existujúce repozitáre bez prepísania základných zdrojov Debianu. Kroky sú:", + "items": [ + "Kontroly pred začiatkom. Overí aspoň ~1 GB voľného miesta v /var/cache/apt/archives. Pri nedostatku miesta sa včas zastaví s jasnou správou, aby nezlyhal uprostred operácie apt.", + "Kontrola repozitárov. ensure_repositories načíta repozitáre a stav predplatného. Pri použiteľnom repozitári Proxmox nič nemení. Hostiteľ bez aktívneho predplatného s jediným repozitárom Enterprise musí potvrdiť prechod na no-subscription; pri odmietnutí sa aktualizácia skončí.", + "apt update s automatickou obnovou GPG. Pri NO_PUBKEY pre ľubovoľný repozitár vrátane zdroja tretej strany skript importuje chýbajúci kľúč a automaticky zopakuje pokus pred ohlásením chyby.", + "Čakajúce a bezpečnostné aktualizácie. Uvedie počet menených balíkov a počet balíkov z bezpečnostnej vetvy, aby potvrdzovací dialóg zobrazoval konkrétne čísla.", + "Potvrdzovací dialóg. Po obnovení zoznamov balíkov pracovný skript vyžaduje výslovné áno pred aktualizáciou balíkov.", + "apt full-upgrade. Používa DEBIAN_FRONTEND=noninteractive a --force-confdef --force-confold. Dpkg pri rozhodovaní o konfiguračných súboroch použije predvolenú akciu, ak existuje; inak zachová aktuálny súbor.", + "Kontrola LVM. lvm_repair_check obnoví metadáta skupín zväzkov, keď sa disky priamo priradené hosťovským VM (DSM, TrueNAS alebo úložné zariadenia) vrátia so starými hlavičkami PV.", + "Opätovné zostavenie ovládačov DKMS spravovaných ProxMenux. Keď je pripravené nové jadro, pmx_rebuild_dkms_after_kernel načíta ovládače nainštalované ProxMenux zo súboru components_status.json (aktuálne nvidia_driver → modul nvidia a coral_driver → modul gasket), nainštaluje príslušné hlavičky jadra (proxmox-headers-<newkver>, ak sú dostupné, inak pve-headers-<newkver>) a spustí dkms autoinstall -k <newkver>. Ak dkms status nezobrazuje moduly zostavené pre nové jadro, znovu spustí jednotlivé inštalátory s --auto-reinstall. Chyby sa zaznamenajú, ale aktualizáciu nezrušia; postup sa dostane k výzve na reštart.", + "Záverečné čistenie. apt-get autoremove + apt-get autoclean pred odovzdaním riadenia hlavnému skriptu." + ] + }, + "post": { + "heading": "Čistenie a reštart po aktualizácii", + "intro": "Po dokončení pracovného skriptu hlavný skript spustí:", + "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": "Hlavný skript tiež kontroluje potrebu reštartu. Ktorýkoľvek z týchto signálov vyvolá výzvu:", + "items": [ + "Existuje /var/run/reboot-required: balík alebo systémový nástroj označil potrebu reštartovať hostiteľa.", + "Najnovšie nainštalovaný balík jadra Proxmox sa líši od spusteného jadra podľa dpkg-query a uname -r." + ], + "outro": "Ak platí niektorá podmienka, dialóg whiptail sa opýta „Niektoré zmeny vyžadujú reštart. Chcete reštartovať teraz?“. Odmietnutím môžete pokračovať s aktuálnym jadrom až do ručného reštartu, napríklad v plánovanom okne údržby." + }, + "end": { + "heading": "Čo vidíte na konci", + "intro": "Po dokončení pracovného skriptu terminál zobrazí výsledok čistenia a podľa potreby aj výzvu na reštart:", + "imageAlt": "Záverečný súhrn aktualizácie Proxmox s výsledkom čistenia a výzvou na reštart" + }, + "calloutDeclineReboot": { + "title": "Reštart odložte iba z konkrétneho dôvodu", + "body": "Inštalácia nového balíka proxmox-kernel-* nahradí spustené jadro až po reštarte. Nové jadro a zodpovedajúce moduly sa aktivujú pri ďalšom štarte. Naplánujte vhodné okno údržby a predtým skontrolujte upozornenia na chyby zostavenia DKMS." + }, + "noSub": { + "heading": "Ako pracovný skript zaobchádza s repozitárom Enterprise", + "intro": "Proxmox predvolene zapína repozitár Enterprise. Bez aktívneho predplatného vráti pri apt-get update chybu 401. Pracovný skript mení repozitáre iba v tomto prípade a po potvrdení, cez API Proxmox používané v Node → Updates → Repositories. Jednotlivé prípady:", + "items": [ + "Pri aktívnom predplatnom sa repozitáre nemenia a aktualizácie poskytuje Enterprise.", + "Ak je repozitár no-subscription alebo test už zapnutý, repozitáre sa nemenia bez ohľadu na ďalšie nakonfigurované zdroje.", + "Pri chýbajúcom aktívnom predplatnom a jedinom repozitári Enterprise dialóg ponúkne zmenu. Potvrdenie vypne zdroj Enterprise, zapne no-subscription a obnoví zoznamy balíkov. Zmena sa zaznamená v zobrazení Changes v Audit & Report. Odmietnutie ukončí aktualizáciu bez zmeny zdrojov.", + "Prítomné zdroje Ceph Enterprise sa vypnú pri rovnakej zmene bez výberu iného kanála Ceph. Hostiteľ používajúci Ceph si jeho kanál nastavuje samostatne.", + "Ak nie je dostupný terminál na potvrdenie, žiadny zdroj sa nezmení a aktualizácia sa skončí správou s odkazom na Node → Updates → Repositories." + ], + "outro": "Zdroje Debianu ani ostatné súbory repozitárov tento postup nikdy neupravuje. Položku kombinujúcu Enterprise s inými komponentmi neprepne: aktualizácia sa zastaví a požiada o rozdelenie položky v zobrazení repozitárov Proxmox." + }, + "cluster": { + "heading": "Čo zohľadniť v klastri", + "calloutTitle": "V klastri aktualizujte vždy iba jeden uzol", + "calloutBody": "V klastri Proxmox spúšťajte túto možnosť vždy na jednom uzle a pred prechodom na ďalší počkajte na dokončenie reštartu. Najprv migrujte hosťovské systémy z uzla, aby nevznikol výpadok služieb celého klastra. Rôzne vedľajšie verzie, napríklad 8.4.1 a 8.4.5, môžu dočasne fungovať spolu niekoľko hodín; rôzne spustené jadrá môžu spôsobiť neočakávané správanie hosťovských systémov spravovaných HA." + }, + "doesnt": { + "heading": "Čo to nerobí", + "items": [ + "Prechod na novú hlavnú verziu. 8 → 9 je samostatná operácia; pozrite Prechod z PVE 8 na PVE 9.", + "Zálohovanie. Žiadne snímky ani návrat späť. Operácie apt nie sú transakčné. Zachovajte bežný postup zálohovania (PBS, vzdump, snímky ZFS).", + "Aktualizácie kontajnerov / VM. Aktualizuje sa iba hostiteľ; hosťovské systémy sa nemenia.", + "Samostatné nahrávanie firmvéru. Toto nie je nástroj na nahrávanie BIOS alebo firmvéru zariadení. Už nainštalované balíky firmvéru alebo mikrokódu CPU môžu byť aktualizované cez apt." + ] + }, + "troubleshooting": { + "heading": "Riešenie problémov", + "items": [ + { + "title": "apt update zlyhá s chybou 401 Unauthorized", + "body": "Repozitár Enterprise je zapnutý, ale hostiteľ nemá aktívne predplatné. Pred apt-get update skript ponúkne prechod na no-subscription. Ak ste ho odmietli, spustite aktualizáciu znova a potvrďte ho, alebo vypnite Enterprise v Node → Updates → Repositories a zapnite no-subscription." + }, + { + "title": "dist-upgrade sa zastaví pri \"Configuring grub-pc\"", + "body": "Ak sa zobrazuje interaktívna otázka GRUB, žiada zariadenia na inštaláciu zavádzača. Voľba --force-confold platí pre konfiguračné súbory, nie pre tento výber zariadení. Pomocou Tab + Space vyberte príslušné zavádzacie disky a potom OK. Výber možno nastaviť vopred pomocou dpkg-reconfigure grub-pc." + }, + { + "title": "Jadro sa aktualizovalo, ale chýbajú nové moduly externého ovládača", + "body": "Pre spravované ovládače (nvidia_driver a coral_driver) funkcia spustí dkms autoinstall -k <newkver> a môže zopakovať ich inštalátory s --auto-reinstall. Výsledok skontrolujte cez dkms status. Príkaz autoinstall môže znovu zostaviť aj iné registrované moduly DKMS; náhradné spustenie inštalátorov je obmedzené na spravované položky v components_status.json. Skontrolujte chýbajúce moduly tretích strán a podľa potreby ich zostavte pomocou dkms autoinstall." + }, + { + "title": "Výzva na reštart sa nezobrazila, hoci sa nainštalovalo nové jadro", + "body": "Signály sú alternatívy: /var/run/reboot-required alebo rozdiel medzi spusteným a najnovšie nainštalovaným jadrom Proxmox. Hlavný skript neanalyzuje položky linux-image v zázname apt. Spustenú verziu overte cez uname -r a nainštalované balíky jadra cez dpkg-query. Potrebný reštart naplánujte alebo vo vhodnom čase spustite shutdown -r now." + } + ] + }, + "files": { + "heading": "Príslušné súbory", + "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": "Súvisiace", + "items": [ + { + "href": "/docs/utils/upgrade-pve8-pve9", + "label": "Prechod z PVE 8 na PVE 9", + "tail": " — pre prechod na novú hlavnú verziu s iným nástrojom a bezpečnostným postupom." + }, + { + "href": "/docs/utils/system-utils", + "label": "Inštalátor systémových nástrojov", + "tail": " — na inštaláciu užitočných nástrojov CLI pre aktualizácie (htop / btop / ncdu)." + }, + { + "href": "/docs/utils", + "label": "Prehľad pomocných nástrojov", + "tail": " — Späť na prehľad sekcie." + } + ] + } +} diff --git a/web/messages/sk/docs/utils/system-utils.json b/web/messages/sk/docs/utils/system-utils.json new file mode 100644 index 00000000..935a5020 --- /dev/null +++ b/web/messages/sk/docs/utils/system-utils.json @@ -0,0 +1,252 @@ +{ + "meta": { + "title": "Inštalátor systémových nástrojov | Dokumentácia ProxMenux", + "description": "Inštalátor nástrojov CLI pre Proxmox VE s 25 balíkmi v hlavnom zozname (htop, btop, iperf3, tmux, ...). Vlastný výber, inštalácia všetkého a preddefinované skupiny (základné, vývoj, kompresia, multiplexery, analýza, sieť). Skupiny môžu obsahovať ďalšie balíky. Používa ensure_repositories + install_single_package.", + "ogTitle": "Inštalátor systémových nástrojov | Dokumentácia ProxMenux", + "ogDescription": "Nainštalujte vybrané nástroje CLI v Proxmox VE jedným kliknutím alebo vlastným výberom." + }, + "header": { + "title": "Inštalátor systémových nástrojov", + "description": "Výber 25 nástrojov CLI z hlavného zoznamu PROXMENUX_UTILS. Ponúka vlastný výber, inštaláciu všetkého, šesť preddefinovaných skupín a overenie inštalácií. Skupiny môžu obsahovať nástroje mimo hlavného zoznamu. Používa spoločné funkcie ensure_repositories() + install_single_package() na jednotnú správu repozitárov a správy o jednotlivých balíkoch.", + "section": "Nástroje" + }, + "info": { + "title": "Čo to robí?", + "body": "Inštaluje nástroje CLI zo zoznamu 25 balíkov. Každá inštalácia používa rovnaký postup: ensure_repositories overí použiteľný repozitár Proxmox pre spustenú hlavnú verziu PVE; potom install_single_package nainštaluje balík a overí dostupnosť príkazu v PATH." + }, + "opening": { + "heading": "Otvorenie inštalátora", + "intro": "Z menu Utilities vyberte System Utilities Installer. Hlavné menu ponúka deväť možností:", + "imageAlt": "Menu inštalátora systémových nástrojov s vlastným výberom, ALL, preddefinovanými skupinami a overením" + }, + "actions": { + "heading": "9 akcií menu", + "headerOption": "Možnosť", + "headerBehaviour": "Správanie", + "rows": [ + { + "option": "1. Vlastný výber", + "behaviourRich": "Výberový zoznam všetkých 25 balíkov. SPACE prepína označenie a ENTER potvrdzuje; nainštalujú sa iba vybrané balíky." + }, + { + "option": "2. Nainštalovať všetky nástroje", + "behaviourRich": "Nainštaluje všetky balíky z PROXMENUX_UTILS naraz. Použite po novej inštalácii Proxmox." + }, + { + "option": "3. Základné", + "behaviourRich": "grc, htop, tree, curl, wget" + }, + { + "option": "4. Vývoj", + "behaviourRich": "git, vim, nano" + }, + { + "option": "5. Kompresia", + "behaviourRich": "zip, unzip, rsync" + }, + { + "option": "6. Terminálne multiplexéry", + "behaviourRich": "screen, tmux" + }, + { + "option": "7. Analýza", + "behaviourRich": "jq, ncdu, iotop" + }, + { + "option": "8. Sieť", + "behaviourRich": "iperf3, nethogs, nmap, tcpdump, lsof" + }, + { + "option": "9. Overiť inštalácie", + "behaviourRich": "Prejde každú položku v PROXMENUX_UTILS, overí dostupnosť príkazu v PATH a vypíše súhrn Dostupné / Chýbajúce." + } + ] + }, + "packages": { + "heading": "25 balíkov", + "intro": "Definované v spoločnom súbore scripts/global/utils-install-functions.sh ako PROXMENUX_UTILS (formát: package:verify_command:description). Ďalšie skripty ProxMenux, napríklad spúšťanie sieťových nástrojov iftop / iptraf-ng / iperf3, tieto položky používajú tiež, aby balík a overovací príkaz zostali zosúladené.", + "headerPackage": "Balík", + "headerVerify": "Overovací príkaz", + "headerDescription": "Popis", + "rows": [ + { + "package": "axel", + "verify": "axel", + "description": "Urýchľovač sťahovania" + }, + { + "package": "aria2", + "verify": "aria2c", + "description": "Sťahovanie z viacerých zdrojov" + }, + { + "package": "btop", + "verify": "btop", + "description": "Moderný monitor zdrojov" + }, + { + "package": "cabextract", + "verify": "cabextract", + "description": "Extrahovať CAB súbory" + }, + { + "package": "chntpw", + "verify": "chntpw", + "description": "Upraviť register Windows / heslá" + }, + { + "package": "dos2unix", + "verify": "dos2unix", + "description": "Previesť DOS / Unix textové súbory" + }, + { + "package": "genisoimage", + "verify": "genisoimage", + "description": "Vytváranie obrazov ISO" + }, + { + "package": "grc", + "verify": "grc", + "description": "Všeobecné farebné zvýrazňovanie záznamov" + }, + { + "package": "htop", + "verify": "htop", + "description": "Interaktívny prehliadač procesov" + }, + { + "package": "iftop", + "verify": "iftop", + "description": "Používanie siete v reálnom čase" + }, + { + "package": "intel-gpu-tools", + "verify": "intel_gpu_top", + "description": "Nástroje Intel GPU" + }, + { + "package": "iotop", + "verify": "iotop", + "description": "Monitorovanie diskových vstupov a výstupov" + }, + { + "package": "iperf3", + "verify": "iperf3", + "description": "Testovanie šírky pásma siete" + }, + { + "package": "ipset", + "verify": "ipset", + "description": "Správa množín IP adries" + }, + { + "package": "iptraf-ng", + "verify": "iptraf-ng", + "description": "Nástroj monitorovania siete" + }, + { + "package": "libguestfs-tools", + "verify": "virt-filesystems", + "description": "Nástroje pre disky VM" + }, + { + "package": "msr-tools", + "verify": "rdmsr", + "description": "Prístup k registrom MSR procesora" + }, + { + "package": "net-tools", + "verify": "netstat", + "description": "Staršie sieťové nástroje" + }, + { + "package": "plocate", + "verify": "locate", + "description": "Rýchlo nájsť súbory" + }, + { + "package": "s-tui", + "verify": "s-tui", + "description": "Stress-Terminal UI" + }, + { + "package": "sshpass", + "verify": "sshpass", + "description": "Neinteraktívne prihlásenie SSH" + }, + { + "package": "tmux", + "verify": "tmux", + "description": "Terminálny multiplexer" + }, + { + "package": "unzip", + "verify": "unzip", + "description": "Extrakcia ZIP súborov" + }, + { + "package": "wimtools", + "verify": "wimlib-imagex", + "description": "Správa obrazov WIM" + }, + { + "package": "zip", + "verify": "zip", + "description": "Vytvoriť ZIP súbory" + } + ] + }, + "howItWorks": { + "heading": "Ako funguje inštalácia jedného balíka", + "items": [ + "ensure_repositories rozpozná PVE 8 alebo 9 a načíta repozitáre cez API Proxmox. Pri použiteľnom repozitári Proxmox nič nemení. Hostiteľ bez aktívneho predplatného s jediným repozitárom Enterprise musí potvrdiť prechod na no-subscription. Po potvrdenej zmene sa spustí apt-get update.", + "install_single_package \"pkg\" \"verify_cmd\" \"description\" spustí apt-get install -y \"$pkg\" so správami (msg_info / msg_ok / msg_error)." + ], + "verifyIntro": "Po inštalácii sa overovací príkaz skontroluje pomocou command -v \"$verify_cmd\". Možné sú tri výsledky:", + "verifyOutcomes": [ + "0 (úspech): príkaz je dostupný a balík sa počíta ako Úspešný.", + "1 (zlyhanie): apt zlyhal a balík sa počíta ako Neúspešný.", + "2 (upozornenie): apt uspel, ale očakávaný príkaz sa nenašiel v PATH; balík sa počíta ako S upozorneniami." + ], + "summary": "Na konci skupinovej/vlastnej inštalácie sa v súhrnnom dialógovom okne zobrazí počet Úspešné / S upozorneniami / Neúspešné." + }, + "verify": { + "heading": "Overiť inštalácie", + "intro": "Možnosť 9 je iba na čítanie: prejde PROXMENUX_UTILS a spustí command -v pre každý príkaz. Výstup vyzerá takto:", + "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": "Užitočné pred spustením skriptov závislých od týchto nástrojov. Napríklad uup_dump_iso_creator.sh potrebuje aria2c + cabextract + wimlib-imagex. Ak niečo chýba, nainštalujte príslušnú skupinu alebo vyberte chýbajúce balíky jednotlivo." + }, + "troubleshoot": { + "heading": "Riešenie problémov", + "reposTitle": "„Repozitáre sa nepodarilo nastaviť. Inštalácia sa zrušila.“", + "reposBody": "Kontrola repozitárov zlyhala: prechod na no-subscription bol odmietnutý, stav predplatného sa nedal načítať alebo položka repozitára potrebuje zásah. Príčinu uvádza predchádzajúca správa. Repozitáre sú v Node → Updates → Repositories; príkaz apt-get update v konzole zobrazí chybu apt.", + "warningsTitle": "Balíček je hlásený \"S upozorneniami,\" ale príkaz funguje po zatvorení menu", + "warningsBody": "Po apt-get install funkcia spustí hash -r, krátko počká a overí očakávaný príkaz cez command -v. Upozornenie znamená, že kontrola stále zlyhala, ale neurčuje príčinu. Skúste nový shell a ak príkaz stále chýba, overte inštaláciu balíka a PATH.", + "hangsTitle": "Apt inštalácia visí", + "hangsBody": "Pravdepodobne je otázka debconf skrytá za potlačeným výstupom. Skript pri volaniach apt používa DEBIAN_FRONTEND=noninteractive, čo zvyčajne otázky potlačí, ale niektoré balíky stále potrebujú vstup. Zrušte operáciu pomocou Ctrl+C a ručne spustite apt-get install -y <pkg> v shelli, aby ste otázku videli a mohli rozhodnúť." + }, + "files": { + "heading": "Príslušné súbory", + "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": "Súvisiace", + "items": [ + { + "href": "/docs/utils/system-update", + "label": "Aktualizácia systému Proxmox", + "tailRich": " — pre samotný apt dist-upgrade na hostiteľovi." + }, + { + "href": "/docs/network/monitoring", + "label": "Živé monitorovacie nástroje (Sieť)", + "tailRich": " — používa iftop / iptraf-ng / iperf3 z rovnakého zoznamu." + }, + { + "href": "/docs/utils", + "label": "Prehľad pomocných nástrojov", + "tailRich": " — Späť na prehľad sekcie." + } + ] + } +} diff --git a/web/messages/sk/docs/utils/upgrade-pve8-pve9.json b/web/messages/sk/docs/utils/upgrade-pve8-pve9.json new file mode 100644 index 00000000..da522ded --- /dev/null +++ b/web/messages/sk/docs/utils/upgrade-pve8-pve9.json @@ -0,0 +1,335 @@ +{ + "meta": { + "title": "Aktualizácia PVE 8 na PVE 9 | Dokumentácia ProxMenux", + "description": "Tri spôsoby prechodu z Proxmox VE 8 na 9 (Debian Bookworm na Trixie a PVE 8 na 9): automaticky, interaktívne alebo ručne podľa oficiálneho postupu. Kontrola pve8to9, migrácia repozitárov, dist-upgrade a záverečné overenie. Spustenie z webového terminálu je zablokované.", + "ogTitle": "Aktualizácia PVE 8 na PVE 9 | Dokumentácia ProxMenux", + "ogDescription": "Tri postupy (automatický, interaktívny a ručný) na prechod z Proxmox VE 8 na 9." + }, + "header": { + "title": "Aktualizácia PVE 8 na PVE 9", + "description": "Vykoná prechod z Proxmox VE 8 na 9 podľa oficiálneho postupu: Debian Bookworm na Trixie a PVE 8 na 9. Ponúka automatický, interaktívny a ručný postup aj samostatnú predbežnú kontrolu. Webový terminál blokuje, pretože prerušenie spojenia počas aktualizácie môže poškodiť systém hostiteľa.", + "section": "Nástroje" + }, + "dangerCallout": { + "title": "Prechod na novú hlavnú verziu je nevratný", + "intro": "Táto operácia nahradí základ Debianu (Bookworm → Trixie) a súčasti Proxmoxu priamo v systéme. Návrat na pôvodnú verziu nie je možný. Pred začiatkom:", + "items": [ + "Overené zálohy všetkých VM a CT (PBS, vzdump, snímky ZFS — overte aj obnovu).", + "Prístup cez konzolu / IPMI / iKVM k hostiteľovi pre prípad výpadku SSH.", + "Hostiteľ už používa aktuálnu PVE 8.4.x (skript to vynucuje).", + "Ceph (ak je k dispozícii) vo verzii 19.x Squid.", + "Aspoň 5 GB voľného miesta v koreňovom súborovom systéme." + ] + }, + "modeMenu": { + "heading": "Menu režimu", + "intro": "Voľba otvorí štyri položky: Automaticky, Interaktívne, Predbežná kontrola a Ručný návod. Tri možnosti aktualizáciu vykonajú alebo vysvetlia jej postup; samostatná kontrola overí pripravenosť a môže ponúknuť opravy.", + "imageAlt": "Ponuka aktualizácie PVE 8 na 9: automaticky, interaktívne, predbežná kontrola a ručný návod" + }, + "threeWays": { + "heading": "Tri spôsoby aktualizácie", + "intro": "Automatický a interaktívny režim používajú rovnaký postup s predbežnými aj záverečnými kontrolami. Líšia sa odpoveďami na otázky dpkg počas dist-upgrade. Ručný návod zobrazí príkazy vrátane kontrol; každý krok musíte vykonať sami.", + "auto": { + "title": "Automatické / bez dozoru", + "summary": "Nastaví ASSUME_YES=1 + DEBIAN_FRONTEND=noninteractive. Pri upravených konfiguračných súboroch použije dpkg predvolenú akciu, ak existuje; inak ponechá aktuálny súbor (--force-confold).", + "items": [ + "Najrýchlejšie — bez čakania na odpovede", + "Vhodné pre štandardné inštalácie bez vlastných úprav konfigurácie", + "Riziko: upravený súbor sa ponechá bez otázky a môže prekryť nové predvolené nastavenia" + ] + }, + "interactive": { + "title": "Interaktívny", + "summary": "Rovnaký postup, ale na každú otázku dpkg o konflikte konfigurácie odpovedáte sami. Pomalšie, no s úplným prehľadom.", + "items": [ + "Vidíte každý konflikt a rozhodnite sa.", + "Najlepšie keď máte prispôsobené /etc/lvm, /etc/ssh, atď.", + "Pozrite si tabuľku odporúčaných odpovedí v ručnom postupe nižšie" + ] + }, + "manual": { + "title": "Príručka manuálnej aktualizácie", + "summary": "Zobrazí oficiálny postup Proxmoxu v 17 krokoch bez jeho vykonania. Príkazy spúšťajte ručne v samostatnom shelli.", + "items": [ + "Úplná kontrola — každý príkaz zadávate sami", + "Najlepšie, keď sa chcete naučiť postup alebo neveríte ničomu", + "Skript zobrazuje kroky; nič nie je spustené automaticky" + ] + } + }, + "precheckCallout": { + "title": "Plus samostatná predbežná kontrola", + "body": "Možnosť 3 — Spustiť kontrolu PVE 8 na 9 — spustí oficiálny nástroj pve8to9 --full, ponúkne opravy bežných problémov a potom skončí. Použite ju pred aktualizáciou alebo po ručných opravách. Automatický a interaktívny režim kontrolu tiež spúšťajú; v ručnom návode ju spúšťate sami." + }, + "webTerminal": { + "heading": "Prečo je webový terminál zablokovaný?", + "body": "Všetky tri režimy zistia termproxy / vncshell v reťazci rodičovských procesov a odmietnu spustenie. Webový terminál závisí od služby pveproxy, ktorá sa počas aktualizácie mení. Po reštarte pveproxy sa ukončí terminál aj skript v ňom. Hostiteľ môže zostať aktualizovaný iba čiastočne.", + "warningTitle": "Použite SSH alebo fyzickú konzolu / IPMI / iKVM", + "warningBody": "Najčastejšou voľbou je SSH. Spustite ho v tmux alebo screen, aby krátky výpadok siete neprerušil aktualizáciu. Pri bežnom SSH shelli skript najprv zobrazí pripomienku tmux/screen." + }, + "auto": { + "heading": "Automatický režim / Bezobslužne", + "intro": "Bežné potvrdenia a otázky o konfiguračných súboroch používajú predvolené odpovede. Blokujúce chyby predbežnej kontroly môžu naďalej vyžadovať zásah. Režim použite pri štandardnej inštalácii alebo po overení vplyvu odpovedí na vlastné nastavenia.", + "behaviourHeading": "Správanie automatického režimu", + "behaviourTable": { + "settingHeader": "Nastavenie", + "effectHeader": "Účinok", + "rows": [ + { + "settingRich": "ASSUME_YES=1", + "effectRich": "Interná voľba — automaticky potvrdí otázky skriptu typu áno/nie" + }, + { + "settingRich": "DEBIAN_FRONTEND=noninteractive", + "effectRich": "apt / dpkg sa spúšťajú bez otázok debconf" + }, + { + "settingRich": "--force-confdef", + "effectRich": "Pre nedotknuté konfiguračné súbory: nainštalujte novú verziu správcu" + }, + { + "settingRich": "--force-confold", + "effectRich": "Pri upravených súboroch: predvolená akcia dpkg, ak existuje; inak ponechať vašu verziu." + } + ] + }, + "flowHeading": "Postup automatického režimu", + "flowIntro": "Šesť po sebe idúcich fáz. Úvodné fázy môžu aktualizovať balíky PVE 8 a zapísať konfiguráciu repozitárov. Chyba postup zastaví, tieto zmeny však nevráti. Fáza 5 vykoná dist-upgrade na PVE 9.", + "flowDiagram": "1. KONTROLY\nBlokuje termproxy / vncshell; odmietne PVE 9; overí miesto a pripojenie.\nAk je Ceph nainštalovaný, vyžaduje 19.x Squid.\npve8to9 --full (môže ponúknuť opravy).\n\n2. PRÍPRAVA PVE 8\nscripts/global/update-pve8.sh\nAktualizuje balíky PVE 8; systemctl restart pve-manager.\n\n3. MIGRÁCIA REPOZITÁROV\nBookworm → Trixie; zapíše súbory deb822 .sources.\nZakomentuje staré súbory .list; apt-get update.\n\n4. OVERENIE KANDIDÁTA PVE 9\napt-cache policy proxmox-ve\napt-get -s dist-upgrade\nZastaví sa, ak kandidát nie je 9.x alebo by sa odstránil proxmox-ve.\n\n5. AKTUALIZÁCIA\napt-get -y -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' dist-upgrade\nProtokol: /var/log/pve8-a-pve9-'<'timestamp'>'.log\n\n6. OVERENIE A REŠTART\nEFI: apt install grub-efi-amd64\npve8to9 --full; skontrolujte výsledok a otázku na reštart.", + "preflightHeading": "Kontroly pred aktualizáciou", + "preflightTable": { + "checkHeader": "Kontrola", + "whyHeader": "Prečo na tom záleží", + "rows": [ + { + "checkRich": "Blok webového terminálu", + "whyRich": "Zabráni tomu, aby aktualizácia ukončila shell, v ktorom beží" + }, + { + "checkRich": "Už na 9.x", + "whyRich": "Skončí, ak hostiteľ už používa PVE 9 — nie je čo aktualizovať" + }, + { + "checkRich": "Najnovšia verzia PVE 8.4.x", + "whyRich": "Najprv aktualizuje PVE 8 na najnovšiu revíziu pomocou príslušného skriptu; staré verzie 8.x majú odlišné požiadavky" + }, + { + "checkRich": "pve8to9 --full", + "whyRich": "Kontrola pripravenosti od Proxmoxu; chyby FAIL blokujú aktualizáciu, kým ich neopravíte" + }, + { + "checkRich": "Miesto na disku", + "whyRich": "≥ 1024 MB voľného miesta v /var/cache/apt/archives pre stiahnuté súbory .deb" + }, + { + "checkRich": "Pripojenie", + "whyRich": "Ping na download.proxmox.com — pri zlyhaní sa aktualizácia nezačne" + }, + { + "checkRich": "Ceph 19.x Squid", + "whyRich": "Ak je Ceph nainštalovaný, musí už používať 19.x. PVE 9 nefunguje s Ceph 17/18. Voľby --ignore-ceph-check a --warn-ceph-check obchádzajú kontrolu; používajte ich len so znalosťou dôsledkov." + } + ] + }, + "distUpgradeHeading": "Príkaz dist-upgrade (automatický režim)", + "distUpgradeCode": "apt-get -y \\\n -o Dpkg::Options::='--force-confdef' \\\n -o Dpkg::Options::='--force-confold' \\\n dist-upgrade", + "distUpgradeOutro": "Výstup sa zobrazuje v reálnom čase na stdout a ukladá sa aj do /var/log/pve8-a-pve9-<timestamp>.log. Vidíte všetko; vynechané sú len otázky.", + "postHeading": "Úlohy po aktualizácii (automatický režim)", + "postItems": [ + "Hostitelia EFI: nainštaluje grub-efi-amd64 podľa známeho problému v dokumentácii Proxmoxu. Aktualizácia ho nepridá automaticky a pri ďalšom štarte môže byť potrebný.", + "Čas reštartu pve-manager. Výslovný reštart patrí do prípravy PVE 8, pred aktualizáciou balíkov na Trixie/PVE 9.", + "Znova spustí pve8to9 --full. Zobrazí zostávajúce problémy. Pri chybách FAIL sa otvorí rovnaká ponuka opráv ako pri predbežnej kontrole.", + "Otázka na reštart. Reštart sa odporúča na načítanie nového jadra a služieb. Odmietnite ho iba z konkrétneho dôvodu: ponechanie starého jadra po prechode na novú hlavnú verziu prináša riziko." + ] + }, + "interactive": { + "heading": "Interaktívny režim", + "intro": "Rovnaký postup ako automatický režim: rovnaké kontroly, migrácia repozitárov aj záverečné overenie. Rozdiel je pri dist-upgrade: na každú otázku dpkg o konflikte konfigurácie odpovedáte sami. ProxMenux spustí apt-get dist-upgrade bez volieb --force-conf*.", + "distUpgradeHeading": "Dist-upgrade príkaz (interaktívny režim)", + "distUpgradeCode": "apt-get dist-upgrade\n# (user answers each dpkg config-file conflict prompt as it appears)", + "whenHeading": "Keď interaktívne je správna voľba", + "whenItems": [ + "Prispôsobili ste /etc/lvm/lvm.conf, /etc/ssh/sshd_config, /etc/default/grub alebo akýkoľvek iný konfiguračný súbor, ktorý sa dotkne aktualizácie.", + "Chcete vidieť, ktoré balíky spôsobujú konflikty, a rozhodnúť o každom súbore.", + "Vylepšujete producenta, kde je akákoľvek skrytá zmena neprijateľná." + ], + "promptCalloutTitle": "Čo odpovedať na každú výzvu", + "promptCalloutBody": "Platia rovnaké odporúčania ako pri ručnom postupe: pozrite Odporúčané odpovede na otázky dpkg nižšie. Pomocou D zobrazíte rozdiely, pomocou Z otvoríte shell." + }, + "manual": { + "heading": "Postup manuálnej aktualizácie", + "intro": "Toto zobrazí možnosť Ručný návod na aktualizáciu: oficiálny wiki návod Proxmoxu z 8 na 9, rozdelený do štyroch fáz. Skript príkazy zobrazí; vykonáte ich sami v samostatnom shelli používateľa root. Každý krok máte pod kontrolou.", + "rootCalloutTitle": "Všetky príkazy vyžadujú root", + "rootCalloutBody": "Použite shell používateľa root aj pre presmerovania a dokumenty here-document. Pri sudo zabezpečte, aby sa s oprávneniami root vykonal celý príkaz.", + "phase1Heading": "Fáza 1 — Príprava", + "phase1Intro": "Aktualizujte hostiteľa na najnovšiu PVE 8.4.x, overte verziu a používaný Ceph, spustite kontrolu Proxmoxu a terminálový multiplexor na prežitie výpadkov spojenia.", + "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": "Fáza 2 — Migrácia repozitárov", + "phase2Intro": "Zmeňte všetky repozitáre Debianu a Proxmoxu z Bookworm na Trixie a zdroje Proxmoxu preveďte na deb822. Vyberte krok 7 ALEBO 8 podľa predplatného Enterprise. Bez Ceph vynechajte krok 9.", + "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": "Fáza 3 — dist-upgrade", + "phase3Intro": "Samotná aktualizácia. Krok 12 je voliteľný, ale odporúčaný na obmedzenie správ auditu. Krok 13 trvá dlhšie: odpovedajte podľa tabuľky. Krok 13.1 je iba pre EFI a vychádza zo známych problémov v oficiálnom návode.", + "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": "Odporúčané odpovede na otázky dpkg", + "dpkgIntro": "Odporúčania Proxmoxu: Y nainštaluje nový súbor správcu balíka a prepíše váš; N ponechá aktuálny súbor. Pri pochybnostiach najprv skontrolujte rozdiely:", + "dpkgTable": { + "fileHeader": "Súbor / otázka", + "answerHeader": "Odporúčaná odpoveď", + "whyHeader": "Prečo?", + "rows": [ + { + "fileRich": "/etc/issue", + "answerRich": "N (ponechať aktuálny súbor)", + "whyRich": "Ponechá prihlasovací oznam, na ktorý ste zvyknutí", + "fileFont": true + }, + { + "fileRich": "/etc/lvm/lvm.conf", + "answerRich": "Y (verzia správcu balíka)", + "whyRich": "PVE 9 potrebuje nové predvolené nastavenia LVM", + "fileFont": true + }, + { + "fileRich": "/etc/ssh/sshd_config", + "answerRich": "Y pri iba predvolených zmenách; vlastné úpravy najprv skontrolujte", + "whyRich": "Pred nahradením súboru overte miestne nastavenia SSH a zachovajte prístup. Predvolené zmeny zahŕňajú premenované voľby a komentáre.", + "fileFont": true + }, + { + "fileRich": "/etc/default/grub", + "answerRich": "N v prípade prispôsobenia", + "whyRich": "Sú tu parametre zavádzania, napríklad IOMMU a PCI passthrough", + "fileFont": true + }, + { + "fileRich": "/etc/chrony/chrony.conf", + "answerRich": "Y, ak nebol upravený; miestne nastavenia najprv zachovajte", + "whyRich": "Trixie mení predvolené nastavenia synchronizácie času. Pred prijatím nového súboru presuňte miestne nastavenia do adresárov conf.d / sources.d programu chrony.", + "fileFont": true + }, + { + "fileRich": "Reštarty služieb počas aktualizácie", + "answerRich": "Áno (predvolené)", + "whyRich": "Reštartuje väčšinu služieb bez reštartu hostiteľa", + "fileFont": false + }, + { + "fileRich": "apt-listchanges", + "answerRich": "Stlačte q", + "whyRich": "Ukončí iba prehliadač textu; zobrazené informácie sú súhrnom zmien", + "fileFont": false + } + ] + }, + "inspectCalloutTitle": "Kontrola špecifického dpkg konfliktu", + "inspectCalloutBody": "Pri otázke dpkg o konfiguračnom súbore zobrazí D rozdiely medzi vaším súborom a novou verziou; Z otvorí shell na ďalšie overenie. Rozhodnutie tak nemusíte odhadovať.", + "phase4Heading": "Fáza 4 — Po aktualizácii", + "phase4Intro": "Overte úspešné dokončenie, reštartujte na jadro PVE 9 a potvrďte verziu. Potom môžete zostávajúce staré súbory .list previesť na 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": "Klaster a Ceph", + "clusterCalloutTitle": "Klaster: aktualizujte uzly po jednom", + "clusterCalloutBody": "Zistené cez pvecm status. Neaktualizujte viac uzlov naraz. Presuňte hostí, aktualizujte uzol, reštartujte a overte členstvo v klastri. Až potom pokračujte. Počas aktualizácie funguje živá migrácia zo staršej verzie PVE na novšiu; opačný smer spravidla nie je podporovaný. Skupiny HA sa automaticky prevedú na pravidlá HA, keď všetky uzly používajú PVE 9.", + "cephCalloutTitle": "Ceph: NAJPRV inovujte Ceph, potom Proxmox", + "cephCalloutBody": "Ceph musí pred aktualizáciou Proxmoxu už používať 19.x Squid. Postupujte v oficiálnom poradí Quincy 17 → Reef 18 → Squid 19: aktualizujte balíky a postupne reštartujte démony Ceph podľa návodu. Pred každým uzlom Proxmoxu overte ceph --version. Celý postup: wiki aktualizácie Ceph Reef na Squid." + }, + "troubleshooting": { + "heading": "Riešenie problémov", + "items": [ + { + "title": "Skript skončí: \"This script cannot be executed from the Proxmox web terminal\"", + "bodyRich": "Otvorte SSH alebo konzolu / IPMI / iKVM a spustite ho odtiaľ. Najprv použite tmux new -s pveupgrade, aby krátky výpadok siete neprerušil beh." + }, + { + "title": "pve8to9 hlási FAIL a oprava cez možnosť 1 hlási \"command not found\"", + "bodyRich": "Ak chyba spomína configure_repositories, kópia skriptu je zastaraná. Aktuálna oprava používa cleanup_duplicate_repos a ensure_repositories. Aktualizujte ju alebo cez možnosť 2 skontrolujte ručné príkazy. apt-get update obnoví zoznamy balíkov, ale nevyrieši všetky blokujúce kontroly." + }, + { + "title": "Simulácia apt hlási \"proxmox-ve will be REMOVED\"", + "bodyRich": "Nové repozitáre sú nedostupné alebo sa nezmenil názov vydania. Skontrolujte cat /etc/apt/sources.list.d/proxmox.sources: riadok Suites: musí obsahovať trixie, nie bookworm. apt-cache policy proxmox-ve musí zobrazovať kandidáta 9.x z nového repozitára." + }, + { + "title": "dist-upgrade zlyhá čiastočne cez", + "bodyRich": "Opravte závislosti pomocou apt-get -f install a zopakujte aktualizáciu. Ak zlyhá, pozrite koniec protokolu /var/log/pve8-a-pve9-<timestamp>.log. Nereštartujte, kým dpkg -l | grep ^iU nevráti prázdny výstup." + }, + { + "title": "EFI host nebude štartovať po reštarte", + "bodyRich": "Po aktualizácii sa inštaluje grub-efi-amd64. Ak ste krok vynechali alebo zlyhal, spustite ISO Proxmoxu v záchrannom režime, pripojte koreňový súborový systém, použite chroot a apt-get install grub-efi-amd64 && update-grub." + }, + { + "title": "GUI sa po aktualizácii nenačíta", + "bodyRich": "Spustite systemctl status pveproxy a systemctl restart pveproxy. Ak problém pretrváva, pozrite chybu cez journalctl -u pveproxy -b." + }, + { + "title": "Sieť nefunguje po reštarte", + "bodyRich": "Overte, že /etc/network/interfaces odkazuje na existujúce zariadenia a je nainštalovaný ifupdown2: apt install ifupdown2. Pri zmene názvov pozrite Trvalé názvy sieťových rozhraní." + }, + { + "title": "Split-brain klastra po aktualizácii jedného uzla", + "bodyRich": "Zmiešané klastre PVE 8 / PVE 9 sú počas aktualizácie podporované. Živá migrácia zo starších na novšie verzie funguje; opačný smer spravidla nie je podporovaný. Ak sa uzol javí odpojený, skontrolujte corosync a konfiguráciu QDevice / siete. Na každom uzle spustite pvecm status na overenie kvóra." + } + ] + }, + "files": { + "heading": "Príslušné súbory", + "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": "Oficiálne zdroje", + "intro": "Ručný postup skriptu vychádza z týchto oficiálnych zdrojov. Pri pochybnostiach počas aktualizácie postupujte podľa oficiálneho wiki: ProxMenux pomáha s vykonaním, rozhodujúci je návod Proxmoxu.", + "items": [ + { + "href": "https://pve.proxmox.com/wiki/Upgrade_from_8_to_9", + "title": "Aktualizácia z 8 na 9", + "desc": "Hlavná stránka Proxmox wiki pre aktualizáciu 8 → 9. Zdroj pravdy pre každý príkaz v manuálnom postupe vyššie." + }, + { + "href": "https://pve.proxmox.com/wiki/Ceph_Reef_to_Squid", + "title": "Aktualizácia na Ceph Squid (19.x)", + "desc": "Povinný predbežný krok pre hyperkonvergované uzly Ceph. Pred PVE 9 musí Ceph používať 19.x Squid." + }, + { + "href": "https://pve.proxmox.com/wiki/Roadmap", + "title": "Plán Proxmox VE", + "desc": "Poznámky k vydaniu PVE 9 a zmeny oproti 8.x — prečítajte si ich pred aktualizáciou." + }, + { + "href": "https://www.debian.org/releases/trixie/releasenotes", + "title": "Poznámky k vydaniu Debianu Trixie", + "desc": "PVE 9 vychádza z Debianu Trixie. Poznámky Debianu vysvetľujú zmeny operačného systému, ktoré ovplyvnia aj hostiteľa." + }, + { + "href": "https://forum.proxmox.com/forums/proxmox-ve-installation-and-configuration.16/", + "title": "Inštalačné fórum Proxmox VE", + "desc": "Pri problémoch počas aktualizácie najprv prehľadajte toto fórum; rovnaký problém už možno niekto riešil." + }, + { + "href": "https://pve.proxmox.com/wiki/Backup_and_Restore", + "title": "Zálohovanie a obnova", + "desc": "Aktualizácia hlavnej verzie je nevratná. Pred začiatkom overte svoje zálohy." + } + ] + }, + "video": { + "heading": "Videonávod", + "intro": "Preferovať sledovanie upgrade spustiť end-to-end pred tým, než to urobiť sám? Tento prechod demonštruje tok upgrade ProxMenux v reálnom čase.", + "title": "ProxMenux — Videonávod na aktualizáciu Proxmox VE 8 na 9", + "caption": "Externé video na YouTube. Prehrávanie v režime rozšíreného súkromia, bez cookies až do spustenia videa." + }, + "related": { + "heading": "Súvisiace", + "items": [ + { + "href": "/docs/utils/system-update", + "label": "Aktualizácia systému Proxmox", + "tail": " — pre bežné aktualizácie v rámci rovnakej hlavnej verzie (8.4.1 → 8.4.5 a podobne)." + }, + { + "href": "/docs/utils", + "label": "Prehľad pomocných nástrojov", + "tail": " — späť na prehľad sekcie." + } + ] + } +} diff --git a/web/messages/sk/docs/utils/uup-dump-iso-creator.json b/web/messages/sk/docs/utils/uup-dump-iso-creator.json new file mode 100644 index 00000000..08eae4bf --- /dev/null +++ b/web/messages/sk/docs/utils/uup-dump-iso-creator.json @@ -0,0 +1,161 @@ +{ + "meta": { + "title": "Tvorba ISO cez UUP Dump | Dokumentácia ProxMenux", + "description": "Vytvorte aktuálny inštalačný obraz ISO systému Windows na hostiteľovi Proxmox pomocou nástroja UUP Dump ISO Creator v ProxMenux. Automatizuje inštaláciu závislostí, sťahovanie a konverziu súborov UUP na zavádzací obraz ISO na vytvorenie VM.", + "ogTitle": "Tvorba ISO cez UUP Dump | Dokumentácia ProxMenux", + "ogDescription": "Vytvorte aktuálny obraz ISO systému Windows z UUP Dump pomocou ProxMenux. Závislosti, sťahovanie aj konverzia sú plne automatizované.", + "ogImageAlt": "ProxMenux — Tvorca ISO UUP Dump" + }, + "header": { + "title": "Tvorba ISO cez UUP Dump", + "description": "Vytvorte aktuálny inštalačný obraz ISO systému Windows na hostiteľovi Proxmox pomocou UUP Dump. ProxMenux spravuje závislosti, paralelne sťahuje súbory UUP, spustí konvertor UUP Dump a presunie obraz ISO do vybraného výstupného adresára. Predvolene je to rozpoznané úložisko ISO Proxmox.", + "section": "Nástroje" + }, + "intro": { + "title": "Čo robí tento skript", + "body": "Zadajte URL vytvorenú službou uupdump.net po výbere zostavy, jazyka a edície. Skript nainštaluje chýbajúce závislosti, stiahne konvertor UUP Dump aj súbory UUP, vytvorí zavádzací obraz ISO systému Windows a presunie ho do vybraného výstupného adresára. Ako predvolený cieľ ponúkne rozpoznané úložisko ISO Proxmox." + }, + "hero": { + "imageAlt": "Položka UUP Dump ISO Creator v ProxMenux", + "caption": "Položka UUP Dump ISO Creator v ProxMenux" + }, + "what": { + "heading": "Čo je UUP Dump?", + "intro": "UUP Dump je komunitná služba na sťahovanie pôvodných súborov Unified Update Platform (UUP), ktoré Windows Update používa na distribúciu systému Windows. Tieto súbory možno zostaviť do štandardného zavádzacieho obrazu ISO. Umožňuje získať:", + "items": [ + "Najnovšiu zostavu systému Windows vrátane kanálov Insider Preview.", + "Konkrétnu staršiu zostavu, ktorú už Microsoft neuvádza na stránke na stiahnutie.", + "Čisté, nemodifikované súbory pochádzajúce priamo zo serverov Microsoft.", + "Presná kombinácia edícií a jazykov, ktoré chcete v jednom ISO." + ], + "learnMore": "Viac informácií nájdete na stránke projektu UUP Dump." + }, + "automates": { + "heading": "Čo skript automatizuje" + }, + "dependencies": { + "heading": "Závislosti", + "intro": "Skript najprv skontroluje nástroje potrebné na stiahnutie súborov UUP a vytvorenie obrazu ISO. Chýbajúce nástroje nainštaluje pomocou apt-get:", + "headerPackage": "Balík", + "headerRole": "Úloha", + "rows": [ + { + "pkg": "curl", + "roleRich": "Sťahovanie cez HTTP na spustenie konvertora." + }, + { + "pkg": "aria2", + "roleRich": "Paralelné sťahovanie všetkých súborov UUP." + }, + { + "pkg": "cabextract", + "roleRich": "Rozbalí balíky Microsoft CAB." + }, + { + "pkg": "wimtools", + "roleRich": "Buduje install.wim (wimlib-imagex)." + }, + { + "pkg": "genisoimage", + "roleRich": "Vytvorí výsledný zavádzací obraz ISO (alebo mkisofs)." + }, + { + "pkg": "chntpw", + "roleRich": "Počas vytvárania upravuje súbory registra Windows." + } + ], + "manualIntro": "Ručný ekvivalent, ak budete musieť nástroje nainštalovať sami:", + "manualCode": "apt-get install curl aria2 cabextract wimtools genisoimage chntpw" + }, + "flow": { + "heading": "Sťahovanie a konverzia", + "steps": [ + "Rozpozná úložisko ISO Proxmox cez pvesm status -content iso alebo použije náhradnú cestu /var/lib/vz/template/iso.", + "Vyžiada základný priečinok pre dočasné súbory (predvolene /root/uup-temp).", + "Stiahne konvertor UUP Dump z git.uupdump.net.", + "Z vloženej URL načíta id, pack a edition.", + "Zavolá https://uupdump.net/get.php?…&aria2=2 a vytvorí zoznam na sťahovanie cez aria2.", + "Stiahne všetky súbory UUP do UUPs/ pomocou aria2, paralelne a s možnosťou pokračovania.", + "Spustí convert.sh wim UUPs 1 z konvertora a vytvorí výsledný obraz ISO.", + "Presunie obraz ISO do vybraného výstupného adresára a vyčistí dočasné súbory." + ] + }, + "aria2": { + "heading": "Použité prepínače sťahovania Aria2", + "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": [ + "-x16 — najviac 16 pripojení na server.", + "-s16 — rozdelí každý súbor na 16 segmentov.", + "-j5 — sťahuje 5 súborov súčasne.", + "-c — pokračuje v neúplných sťahovaniach.", + "-R — prenesie časovú značku vzdialeného súboru na stiahnutý súbor, ak je dostupná." + ], + "runtime": "Bežný čas je približne 10 minút a závisí najmä od rýchlosti internetu a vyťaženia serverov na sťahovanie UUP Dump." + }, + "step1": { + "heading": "Krok 1 · Získajte UUP Dump URL", + "intro": "Pred spustením skriptu potrebujete URL UUP Dump s parametrami id, pack a edition. Vytvorte ju na uupdump.net:", + "stepBadge": "Krok", + "items": [ + { + "title": "Vyberte verziu Windows", + "img": "/iso-creator/step-1-select-version-windows.png", + "caption": "Hlavná stránka UUP Dump: vyberte verziu Windows", + "body": "Otvorte domovskú stránku UUP Dump a vyberte verziu Windows, ktorú chcete." + }, + { + "title": "Vyberte konkrétnu zostavu", + "img": "/iso-creator/step-2-select-version-windows.png", + "caption": "Vyberte konkrétnu zostavu", + "body": "Vyberte zostavu: najnovšiu, z kanála Insider Preview alebo konkrétnu staršiu, ktorá je ešte uvedená." + }, + { + "title": "Vybrať jazyk", + "img": "/iso-creator/step-3-select-version-windows.png", + "caption": "Vybrať jazyk", + "body": "Vyberte jazyk, ktorý má obraz ISO obsahovať." + }, + { + "title": "Vybrať edície", + "img": "/iso-creator/step-4-select-version-windows.png", + "caption": "Vyberte edície, ktoré sa majú zahrnúť", + "body": "Vyberte edície, ktoré chcete zahrnúť do obrazu ISO (Home, Pro, Enterprise, …). Môžete ich skombinovať viacero." + }, + { + "title": "Kopírovať URL", + "img": "/iso-creator/step-5-select-version-windows.png", + "caption": "Kopírovať URL z panela adries", + "bodyRich": "Na poslednej stránke skopírujte URL z panela s adresou prehliadača. Musí obsahovať id=…, pack=… a edition=…. Tento reťazec skript spracuje." + } + ] + }, + "step2": { + "heading": "Krok 2 · Spustite tvorcu", + "intro": "Po skopírovaní URL otvorte ProxMenux a spustite tvorbu ISO:", + "stepBadge": "Krok", + "items": [ + { + "title": "Spustiť UUP Dump ISO Creator", + "img": "/iso-creator/start-uupdump-iso-creator.png", + "caption": "Spustiť UUP Dump ISO Creator z ProxMenux", + "bodyRich": "V ProxMenux otvorte Utilities → UUP Dump ISO Creator. Skript skontroluje závislosti a adresár ISO pred vyžiadaním údajov." + }, + { + "title": "Vložiť UUP Dump URL", + "img": "/iso-creator/add-url-iso-creator.png", + "caption": "Vložte URL, ktoré ste skopírovali z uupdump.net", + "body": "Vložte URL do vstupného dialógu. Skript potvrdzuje, že sú prítomné tri požadované parametre; ak nejaký chýba, preruší sa čisto." + }, + { + "title": "Počkajte na dokončenie vytvárania", + "img": "/iso-creator/end-uupdump-iso-creator.png", + "caption": "Vytváranie je dokončené — obraz ISO je pripravený v úložisku ISO Proxmox", + "bodyRich": "Konzola zobrazuje priebeh aria2 a potom výstup konvertora. Hotový obraz ISO sa presunie do vybraného výstupného adresára. Ak je v nakonfigurovanom úložisku ISO Proxmox, možno ho vybrať cez Create VM → System Windows → Install with ISO from UUP Dump." + } + ] + }, + "tempFiles": { + "title": "Dočasné súbory", + "body": "Predvolený dočasný priečinok je /root/uup-temp, so stiahnutými súbormi v UUPs/ a konvertorom v converter/. Vlastná základná cesta dostane samostatný podadresár relácie. Vetvy úspešného vytvorenia a nevytvoreného ISO odstránia dočasnú reláciu. Skoršie chyby alebo zrušenie môžu zanechať dočasné súbory." + } +} diff --git a/web/messages/sv/docs/utils/export-vm.json b/web/messages/sv/docs/utils/export-vm.json new file mode 100644 index 00000000..482d66fd --- /dev/null +++ b/web/messages/sv/docs/utils/export-vm.json @@ -0,0 +1,145 @@ +{ + "meta": { + "title": "Exportera VM till OVA / OVF | ProxMenux-dokumentation", + "description": "Exportera en Proxmox-VM till ett portabelt OVA-arkiv eller en OVF-katalog med DMTF-standardschemat. VMDK-diskar i formatet streamOptimized och SHA1-manifest. Kan importeras i VMware ESXi / Workstation / Fusion, VirtualBox och tillbaka i Proxmox.", + "ogTitle": "Exportera VM till OVA / OVF | ProxMenux-dokumentation", + "ogDescription": "Konvertera en Proxmox-VM till ett portabelt OVA- / OVF-paket som är kompatibelt med VMware och VirtualBox." + }, + "header": { + "title": "Exportera VM till OVA / OVF", + "description": "Konverterar en Proxmox-VM till ett portabelt OVA-paket (ett enda TAR-arkiv) eller OVF-paket (beskrivningsfil och VMDK-filer) med DMTF:s OVF-standardschema. Diskarna konverteras med qemu-img till VMDK i formatet streamOptimized. Resultatet kan importeras i VMware (ESXi / Workstation / Fusion), VirtualBox och tillbaka i Proxmox med importverktyget.", + "section": "Verktyg" + }, + "intro": { + "title": "Vad detta gör", + "body": "Läser konfigurationen för en stoppad VM, konverterar varje disk till VMDK i formatet streamOptimized, skapar en OVF-beskrivningsfil och ett SHA1-manifest och paketerar allt som en enda .ova-fil eller en -ovf-katalog. Den ursprungliga virtuella maskinen ändras aldrig." + }, + "picker": { + "heading": "VM-väljare", + "body": "Vid start visar skriptet alla virtuella maskiner från qm list med VMID, namn och status. Välj den som ska exporteras:", + "imgAlt": "Dialog för att välja en VM att exportera, med en lista över alla virtuella maskiner" + }, + "stopped": { + "heading": "Den virtuella maskinen måste vara stoppad", + "intro": "En konsekvent diskavbildning kräver en stoppad VM. Om den valda virtuella maskinen körs erbjuder ProxMenux att stänga av den:", + "items": [ + "Normal avstängning med qm shutdown $VMID --timeout 120 (väntar 2 minuter på gästens ACPI-avstängning).", + "Om väntetiden löper ut erbjuds ett tvångsstopp: qm stop $VMID (motsvarar att bryta strömmen).", + "Om du avböjer båda avbryts exporten utan att några data ändras." + ], + "warnTitle": "Ett tvångsstopp motsvarar att bryta strömmen", + "warnBody": "qm stop motsvarar att dra ur strömkabeln. Gästens filsystem kan behöva repareras vid nästa start. Använd normal avstängning när det går och reservera tvångsstopp för gäster som inte svarar." + }, + "format": { + "heading": "Formatval: OVA eller OVF", + "headerFormat": "Format", + "headerOutput": "Utdata", + "headerPros": "Fördelar", + "headerCons": "Nackdelar", + "rows": [ + { + "format": "OVA", + "output": "name-vmid-ts.ova", + "pros": "En enda fristående fil som är lätt att flytta, överföra med sftp eller bifoga till ett supportärende.", + "cons": "Kräver ~220% av den virtuella diskstorleken (extra utrymme för TAR-arkivet medan det skapas)." + }, + { + "format": "OVF", + "output": "name-vmid-ts-ovf/", + "pros": "~120% av den virtuella diskstorleken. Lättare att granska eftersom beskrivningsfilen är vanlig XML-text. Kan redigeras före import.", + "cons": "Flera filer som måste överföras tillsammans." + } + ] + }, + "destination": { + "heading": "Destinationskatalog", + "body": "Välj en förinställd sökväg (/var/lib/vz/dump, /var/lib/vz/template/iso) eller ange en egen. Skriptet kontrollerar att katalogen är skrivbar och varnar om det lediga utrymmet verkar otillräckligt innan du börjar.", + "calloutTitle": "Tumregel för ledigt utrymme", + "calloutBody": "För OVF-export av en VM med totalt 100 GB virtuell diskstorlek bör du ha ~120 GB ledigt; för OVA, ~220 GB. Den faktiska användningen kan bli lägre för nästan tomma diskar. OVA-arkivet skapas med okomprimerad TAR medan de tillfälliga VMDK-filerna finns kvar, så det behövs plats för båda. Om utrymmet tar slut under exporten städar EXIT-hanteraren den tillfälliga katalogen och du måste börja om." + }, + "package": { + "heading": "Vad som hamnar i paketet", + "intro": "För en OVA / OVF som heter myvm-100-2026-04-26_18-30-15:", + "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": "Vad blir exporterat", + "items": [ + "Diskar: alla poster av typen scsi*, sata*, virtio* och ide* i VM-konfigurationen, konverterade till VMDK i formatet streamOptimized.", + "Antal vCPU:er (RASD ResourceType 3) och minne i MiB (ResourceType 4).", + "Antal nätverkskort (ResourceType 10: endast antalet, inte bryggan eller modellen).", + "VM-namn och en uppgift om typen av operativsystem." + ], + "notTitle": "Vad exporteras INTE", + "notItems": [ + "CD-ROM- / ISO-anslutningar (avsiktligt uteslutna).", + "Cloud-init-enheter (avsiktligt uteslutna).", + "Nätverkskortets specifika brygga och modell (endast antalet bevaras).", + "Valet av BIOS / UEFI, som måste ställas in igen vid import.", + "Konfiguration av PCI-genomkoppling.", + "Snapshots - endast det nuvarande tillståndet fångas.", + "Inställningar på VM-nivå (NUMA, hugepages, hotplug, …)." + ] + }, + "conversion": { + "heading": "Diskkonvertering", + "intro": "Varje disk konverteras med:", + "code": "qemu-img convert -p -O vmdk -o subformat=streamOptimized \\\n \"$source_path\" \\\n \"$work_dir/-disk.vmdk\"", + "outro": "streamOptimized är VMwares format som kan läsas i en enda genomgång. Det stöds av ESXi 6.7+, VMware Workstation, VirtualBox och Proxmox självt. Det är det VMDK-underformat som har bredast kompatibilitet och passar för flytt mellan system. Nackdelen är att det saknar direktåtkomst till godtyckliga positioner och därför inte kan monteras direkt utan konvertering." + }, + "manifest": { + "heading": "SHA1-manifest", + "intro": "Varje paket innehåller en .mf-fil med SHA1-hashar för OVF-beskrivningsfilen och varje 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": "Manifestet är valfritt i OVF-specifikationen och många program ignorerar det, men det kan användas för att kontrollera att paketet överfördes oskadat. Verifiera manuellt med sha1sum -c file.mf." + }, + "import": { + "heading": "Importera resultatet", + "intro": "Det exporterade paketet kan importeras i:", + "items": [ + { + "href": "/docs/utils/import-vm", + "preRich": "Proxmox — använd det tillhörande verktyget ", + "linkLabel": "Importera VM från OVA / OVF", + "tailRich": "." + }, + { + "tailRich": "VMware ESXi — Datacenter → Deploy OVF Template; välj .ova- eller .ovf-filen." + }, + { + "tailRich": "VMware Workstation / Fusion — File → Open; välj .ova- eller .ovf-filen." + }, + { + "tailRich": "VirtualBox — File → Import Appliance; välj .ova- eller .ovf-filen." + } + ] + }, + "troubleshoot": { + "heading": "Felsökning", + "noSpaceTitle": "qemu-img convert misslyckas under konverteringen med \"No space left on device\"", + "noSpaceBody": "Utrymmet tog slut på destinationen. EXIT-hanteraren städar automatiskt den tillfälliga katalogen. Välj en destination med mer ledigt utrymme (se tumregeln ovan) och kör exporten igen.", + "unsupportedHwTitle": "Exporten slutförs men VMware vägrar importera: \"Unsupported hardware family\"", + "unsupportedHwBody": "Vissa ESXi-versioner avvisar OVF-beskrivningsfiler som anger en okänd maskinvarufamilj. Öppna .ovf-filen i en textredigerare, eller packa först upp .ova-filen, leta efter <vssd:VirtualSystemType> och ange ett värde som ESXi godtar, till exempel vmx-13 för ESXi 6.5+. Prova VirtualBox som en snabb lösning; det är mindre strikt.", + "nicTitle": "Den importerade virtuella maskinen använder ett annat nätverkskort eller en annan SCSI-styrenhet", + "nicBody": "OVF bevarar antalet nätverkskort, men inte deras ursprungliga modell. Granska nätverksinställningarna för den importerade virtuella maskinen i destinationshypervisorn. Exporten anger en lsilogic-SCSI-styrenhet för VMware-kompatibilitet. Vid återimport i Proxmox kan du välja VirtIO SCSI om gästen har lämpliga drivrutiner.", + "runningTitle": "Den virtuella maskinen kördes och jag avböjde avstängning: exporten avbröts", + "runningBody": "Skriptet kan inte skapa en konsekvent avbildning medan data skrivs till diskarna. Acceptera avstängningsfrågan nästa gång, eller stäng först av den virtuella maskinen manuellt (qm shutdown $VMID) och kör exporten igen.", + "slowTitle": "Diskkonverteringen är långsam", + "slowBody": "qemu-img convert använder en tråd och läser källan med full hastighet. Räkna med 15–30 minuter för en disk på 100 GB på en mekanisk hårddisk. Från NVMe till NVMe går det 5–10 gånger snabbare. Diskarna i en VM konverteras i följd; tiden ökar linjärt med den totala virtuella storleken." + }, + "related": { + "heading": "Relaterat", + "items": [ + { + "href": "/docs/utils/import-vm", + "label": "Importera VM från OVA / OVF", + "tail": " — det kompletterande verktyget för återimport." + }, + { + "href": "/docs/utils", + "label": "Verktygsöversikt", + "tail": " — tillbaka till avsnittsöversikten." + } + ] + } +} diff --git a/web/messages/sv/docs/utils/import-vm.json b/web/messages/sv/docs/utils/import-vm.json new file mode 100644 index 00000000..ecdd15c8 --- /dev/null +++ b/web/messages/sv/docs/utils/import-vm.json @@ -0,0 +1,218 @@ +{ + "meta": { + "title": "Importera VM från OVA / OVF | ProxMenux-dokumentation", + "description": "Importera en VM från VMware ESXi / Workstation / Fusion / VirtualBox / ProxMenux till Proxmox VE. Packar automatiskt upp OVA, läser OVF-metadata, skapar den virtuella maskinen och importerar varje disk i lagringens inbyggda format (qcow2 / raw).", + "ogTitle": "Importera VM från OVA / OVF | ProxMenux-dokumentation", + "ogDescription": "Importera virtuella maskiner från VMware-, VirtualBox- eller ProxMenux-exporter till Proxmox. Diskarna konverteras automatiskt till lagringens inbyggda format." + }, + "header": { + "title": "Importera VM från OVA / OVF", + "description": "Importerar ett OVA- / OVF-paket till Proxmox VE: packar upp OVA-arkiv, läser antalet vCPU:er, minne, nätverkskort och diskreferenser från OVF-filen, skapar sedan den virtuella maskinen och importerar varje disk med qm importdisk till vald lagring. Kompatibelt med exporter från VMware (ESXi / Workstation / Fusion), VirtualBox och ProxMenux.", + "section": "Verktyg" + }, + "intro": { + "title": "Vad detta gör", + "body": "Skapar en komplett VM i Proxmox från ett portabelt paket. Efter importen är den redo att startas. Vissa kontroller och justeringar av nätverkskortsmodell, firmware och operativsystemstyp rekommenderas för prestanda och kompatibilitet." + }, + "picker": { + "heading": "Filväljare", + "intro": "Vid start erbjuder skriptet två förinställda kataloger eller en egen sökväg:", + "items": [ + "/var/lib/vz/dump - standard Proxmox vzdump backup katalog.", + "/var/lib/vz/template/iso — användbart om du överförde OVA-filen dit med sftp.", + "Egen sökväg för OVA- / OVF-filer på andra platser på värden." + ], + "outro": "Den listar sedan varje .ova och .ovf-fil i den valda katalogen.", + "imageAlt": "Filvalsdialog för import av en VM" + }, + "flow": { + "heading": "Hur importen fungerar", + "nodes": [ + { + "label": "OVA / OVF in", + "detail": ".ova → tar xf till\n /tmp/.proxmenux-import-*\n.ovf → använd på plats", + "variant": "source" + }, + { + "label": "Tolkning och dialoger", + "detail": "AWK läser OVF\n(namn, vCPU, RAM, NIC,\ndiskar). Val av\nVMID / lagring / brygga", + "variant": "bridge" + }, + { + "label": "qm create + importdisk", + "detail": "qm create $VMID\nqm importdisk\n(VMDK → lagringsformat)\nqm set --scsiN", + "variant": "target" + } + ] + }, + "ovf": { + "heading": "OVF-tolkning", + "intro": "En gawk-parser läser OVF-filen och hämtar VM-metadata. Den använder match() med tre argument, en gawk-funktion som inte stöds av mawk, standardvalet för awk i Debian / Proxmox. Om gawk saknas installeras det automatiskt vid första importen via ensure_repositories + install_single_package. Senare importer behöver inte det steget. Fält som läses:", + "headerField": "Fält", + "headerSource": "Källa i OVF", + "headerDefault": "Standard om saknas", + "rows": [ + { + "field": "VM namn", + "source": " (första matchen)", + "default": "imported-vm" + }, + { + "field": "Antal vCPU:er", + "source": "RASD ResourceType 3 → VirtualQuantity", + "default": "1" + }, + { + "field": "Minne (MiB)", + "source": "RASD ResourceType 4 → VirtualQuantity", + "default": "1024" + }, + { + "field": "Antal nätverkskort", + "source": "antal poster med ResourceType 10", + "default": "1" + }, + { + "field": "OS-typ", + "source": "/Linux/ eller /Windows/ i beskrivning", + "default": "other" + }, + { + "field": "Diskreferenser", + "source": "href attribut slutar i .vmdk / .qcow2 / .img / .raw", + "default": "Inga (importen avbryts)" + } + ] + }, + "memWarn": { + "title": "Tvetydiga minnesenheter", + "body": "Parsern konverterar kända minnesenheter till MiB, inklusive byte, KiB, MiB, GiB och stödda textetiketter. Saknade eller okända enheter behandlas som MiB. Jämför efter importen qm config $VMID | grep memory med källmaskinens dokumenterade RAM och korrigera vid behov med qm set $VMID --memory <MiB>." + }, + "dialog": { + "heading": "Importens dialogsteg", + "items": [ + "VMID — föreslår nästa lediga ID (pvesh get /cluster/nextid).", + "VM-namn — använder namnet från OVF-filen som standard; du kan ändra det.", + "Mållagring — meny med lagringar som stöder innehållet images, från pvesm status -content images.", + "Nätverksbrygga — meny med bryggor från ip link show type bridge. En ensam brygga väljs automatiskt; standardvalet är vmbr0.", + "Bekräftelse — sammanfattning med VMID, namn, vCPU:er, minne, nätverkskort, lagring, brygga och diskar att importera. Avbryt här så ändras inget." + ] + }, + "create": { + "heading": "Skapa den virtuella maskinen", + "intro": "Efter bekräftelsen kör skriptet:", + "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": "SCSI controller standarder till lsi (LSI Logic) för VMDK kompatibilitet. NICs standard till e1000 (universell kompatibilitet) på den valda bron." + }, + "diskLoop": { + "heading": "Importloop för diskar", + "intro": "För varje diskreferens i OVF:", + "items": [ + "qm importdisk $VMID $disk_path $STORAGE — importerar disken i ett format som stöds av mållagringen och skapar en post unusedN: i VM-konfigurationen.", + "Skriptet söker med grep efter den nyskapade referensen unusedN i konfigurationen.", + "qm set $VMID --scsiN $unused_disk fäster disken som scsi0, scsi1, …", + "qm set $VMID --delete unusedN - rensar den numera oanvända markören." + ], + "outro": "Boot är inställd på den första SCSI-skivan: qm set $VMID --boot c --bootdisk scsi0." + }, + "postImport": { + "heading": "Rekommenderade justeringar efter import", + "intro": "Importen använder brett kompatibla inställningar för att den virtuella maskinen ska kunna starta vid första försöket. När du har bekräftat att den startar kan du välja effektivare inställningar i Proxmox-gränssnittet eller via CLI:", + "headerSetting": "Inställning", + "headerDefault": "Standard efter import", + "headerRecommended": "Rekommenderas (om gästen stöder)", + "rows": [ + { + "setting": "NIC modell", + "default": "e1000", + "recommended": "VirtIO (mycket snabbare, kräver drivrutin i gästen)" + }, + { + "setting": "SCSI-kontroller", + "default": "LSI", + "recommended": "VirtIO SCSI single (modern Linux eller Windows med VirtIO-drivrutiner)" + }, + { + "setting": "Fast programvara (BIOS / UEFI)", + "default": "Proxmox standard (BIOS)", + "recommended": "Använd källmaskinens firmware; ett felaktigt val kan hindra start" + }, + { + "setting": "QEMU gästagent", + "default": "Av", + "recommendedRich": "På + installera qemu-guest-agent i gästen (bättre säkerhetskopior, IP-rapportering)" + }, + { + "setting": "OS-typ", + "default": "l26 / win10 / other (heuristik)", + "recommended": "Kontrollera mot gästens faktiska operativsystem" + }, + { + "setting": "Visning", + "default": "Standard", + "recommended": "VirtIO-GPU eller SPICE (bättre konsolprestanda)" + } + ] + }, + "fwWarn": { + "title": "Firmware mismatch = ingen start", + "body": "Om källmaskinen använde UEFI men Proxmox skapar den med BIOS, eller tvärtom, hittar gästen ingen startbar disk. Kontrollera FirmwareType / firmware i OVF-filen eller ursprungsinställningarna och välj samma i Proxmox: qm set $VMID --bios ovmf för UEFI; standardvalet för BIOS är seabios." + }, + "notImported": { + "heading": "Vad importeras INTE", + "items": [ + "Specifika nätverksbryggor — bara antalet kort bevaras. Alla använder den brygga du valde vid importen.", + "Nätverkskortsmodell — standardvalet är e1000.", + "Firmwaretypen BIOS / UEFI — använder Proxmox standardval BIOS.", + "Konfiguration av PCI-genomkoppling.", + "TPM (vTPM).", + "Cloud-init-enheter.", + "Snapshots - endast det nuvarande tillståndet.", + "USB / seriella / parallella enheter förklaras i OVF.", + "VM taggar / anteckningar / start-on-boot alternativ." + ] + }, + "troubleshoot": { + "heading": "Felsökning", + "orphanTitle": "VM skapades men diskimporten misslyckades: en ofullständig VM blev kvar", + "orphanIntro": "När importen misslyckas erbjuder skriptet att ta bort den ofullständiga virtuella maskinen och dess importerade diskar. Om du avböjde eller automatisk radering misslyckades, granska maskinen och ta bort den manuellt med:", + "orphanCode": "qm destroy $VMID --destroy-unreferenced-disks 1", + "orphanOutro": "Fastställ sedan den underliggande orsaken (sannolikt diskutrymme på mållagringen) och återimportera.", + "memTitle": "Importerad VM har 8 MB RAM (eller 8 TB)", + "memIntro": "Parsern konverterar kända AllocationUnits till MiB. Saknade eller okända enheter behandlas som MiB. Granska OVF-filen och jämför det importerade minnet med källmaskinen. Korrigera vid behov:", + "memCode": "qm set $VMID --memory 8192 # 8 GiB", + "bootTitle": "Den importerade virtuella maskinen startar inte: \"No bootable device\"", + "bootIntro": "En vanlig orsak är fel val av BIOS / UEFI. Källmaskinen använde UEFI men Proxmox skapade den med BIOS. Välj matchande firmware:", + "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": "En annan vanlig orsak: startordningen pekar på scsi0 medan operativsystemet ligger på scsi1. Ändra ordningen i VM-fliken Options.", + "bsodTitle": "En Windows-VM exporterad från VMware visar blåskärm vid första starten", + "bsodBody": "Windows är känsligt för byte av diskstyrenhet. Installera VirtIO-drivrutiner före exporten från VMware eller behåll standardstyrenheten lsi. Byt till VirtIO SCSI först efter att gästen startat och VirtIO-drivrutiner installerats i Windows.", + "zeroTitle": "OVF-parsern rapporterar 0 diskar", + "zeroBody": "OVF-filen kan använda diskreferenser som parsern inte känner igen. Öppna filen och leta efter varje disks post <File ovf:href=\"...vmdk\" ...>. Om disken faktiskt är VMDK men har ett ovanligt suffix som .dat, byt namn till .vmdk och uppdatera OVF-referensen. Ett namnbyte konverterar inte formatet.", + "awkTitle": "awk: syntax error at or near , — parsern misslyckas med varje OVA / OVF", + "awkIntro": "OVF-parsern använder gawk-syntaxen match() med tre argument, som saknas i mawk, standardvalet för awk i Debian / Proxmox. Nyare skriptversioner installerar gawk vid första användningen via ensure_repositories + install_single_package. Om du kör en äldre kopia, installera det manuellt:", + "awkCode": "apt-get install -y gawk", + "awkOutro": "Kör sedan importen igen.", + "netTitle": "Nätverket fungerar inte efter första starten", + "netBody": "Gästen kan sakna drivrutiner för e1000-modellen i Proxmox, eller den valda bryggan kan vara fel. Ändra Network Device → Model på VM-fliken Hardware. Kontrollera också ip a i gästen: gränssnittet kan ha fått namnet ens18 i stället för eth0, medan nätverkskonfigurationen fortfarande använder det gamla namnet." + }, + "files": { + "heading": "Filer involverade", + "code": "scripts/utilities/import_vm_ova_ovf.sh # this script\n/tmp/.proxmenux-import-*/ # temp extraction dir for OVA\n/etc/pve/nodes//qemu-server/.conf # created by qm create\n//-disk-. # disk images, format depends on storage" + }, + "related": { + "heading": "Relaterat", + "items": [ + { + "href": "/docs/utils/export-vm", + "label": "Exportera VM till OVA / OVF", + "tail": " — det kompletterande verktyget för export." + }, + { + "href": "/docs/utils", + "label": "Verktygsöversikt", + "tail": " — tillbaka till avsnittsöversikten." + } + ] + } +} diff --git a/web/messages/sv/docs/utils/index.json b/web/messages/sv/docs/utils/index.json new file mode 100644 index 00000000..69f1183d --- /dev/null +++ b/web/messages/sv/docs/utils/index.json @@ -0,0 +1,115 @@ +{ + "meta": { + "title": "Proxmox-verktyg — UUP Dump, uppgradering från PVE 8 till 9, OVA-export/-import | ProxMenux", + "description": "Verktyg för vardagen i Proxmox VE: skapa Windows-ISO-filer med UUP Dump, installera utvalda CLI-verktyg, uppdatera Proxmox-systemet säkert, uppgradera från PVE 8 till PVE 9, exportera virtuella maskiner till OVA / OVF och importera OVA- / OVF-maskiner från VMware eller VirtualBox.", + "ogTitle": "Proxmox-verktyg — UUP Dump, uppgradering från PVE 8 till 9, OVA-export/-import", + "ogDescription": "Skapa Windows-ISO-filer, installera CLI-verktyg, kör en säker uppdatering, uppgradera från PVE 8 till PVE 9 och exportera eller importera virtuella maskiner i OVA / OVF.", + "twitterTitle": "Proxmox-verktyg | ProxMenux", + "twitterDescription": "ISO-skapande, CLI-verktyg, Proxmox-uppdatering, uppgradering PVE 8→9 och portabla virtuella maskiner i OVA / OVF." + }, + "header": { + "title": "Hjälpverktyg", + "description": "Sex verktyg kompletterar det dagliga arbetet i Proxmox VE: ISO-skapande, systemunderhåll och flytt av virtuella maskiner. Varje alternativ är fristående. Välj det du behöver; inget installeras förrän du begär det.", + "section": "Verktyg" + }, + "intro": { + "title": "Vad denna meny är för", + "body": "Tre grupper med fristående men ofta användbara verktyg: skapa en Windows-ISO med UUP Dump, underhåll Proxmox-värden (CLI-verktyg, uppdateringar och uppgradering av huvudversion) samt importera och exportera virtuella maskiner i Proxmox med standardformatet OVA / OVF." + }, + "opening": { + "heading": "Öppna menyn", + "body": "Välj Utilities i ProxMenux huvudmeny. Då visas följande:", + "imageAlt": "Verktygsmenyn med UUP Dump, systemverktyg, uppdatering, uppgradering, export och import" + }, + "groups": { + "heading": "Tre verktygsgrupper", + "intro": "De sex verktygen är indelade i tre fristående grupper. Klicka på ett kort nedan för att gå till motsvarande avsnitt.", + "iso": { + "title": "Skapa ISO-filer", + "body": "Skapa officiella Windows-ISO-filer med UUP Dump direkt på Proxmox-värden.", + "bullets": [ + "Delad UUP Dump-länk → startbar ISO", + "Beroenden installeras automatiskt", + "Resultatet sparas i Proxmox katalog för ISO-mallar" + ] + }, + "maintenance": { + "title": "Systemunderhåll", + "body": "Håll värden frisk: CLI-verktyg, regelbundna uppdateringar och storversionsuppgraderingen när det är dags.", + "bullets": [ + "Installationsprogram för systemverktyg (25 CLI-verktyg)", + "Proxmox systemuppdatering (apt + dist-upgrade)", + "Uppgradering av huvudversion PVE 8 → PVE 9" + ] + }, + "portability": { + "title": "Flytt av virtuella maskiner", + "body": "Importera och exportera virtuella maskiner i Proxmox med standardformatet OVA / OVF.", + "bullets": [ + "Exportera Proxmox-VM → OVA / OVF", + "Importera OVA / OVF → Proxmox VM", + "Kompatibel med VMware och VirtualBox" + ] + } + }, + "upgradeWarn": { + "title": "Uppgraderingen PVE 8 → 9 är destruktiv och går inte att ångra", + "body": "En uppgradering av huvudversion ersätter Debianbasen (Bookworm → Trixie) och Proxmox-komponenterna i det befintliga systemet. Det finns ingen väg tillbaka: du behöver verifierade säkerhetskopior av varje VM och CT samt åtkomst via konsol / IPMI / iKVM innan du börjar. Därför vägrar uppgraderingsverktyget att köras från Proxmox webbterminal." + }, + "isoSection": { + "heading": "Skapa ISO-filer", + "body": "Skapa en ny och aktuell Windows-installations-ISO direkt på Proxmox-värden. Skriptet automatiserar hela UUP Dump-flödet: installation av beroenden (aria2c, cabextract, wimlib-imagex, …), parallell nedladdning av uppdateringsfiler med aria2 och konvertering till en enda startbar ISO. Den sparas i /var/lib/vz/template/iso och är redo att anslutas till en VM.", + "options": [ + { + "title": "UUP Dump ISO-skapare", + "description": "Skapa en aktuell Windows-installations-ISO från en delad UUP Dump-länk. Beroenden, nedladdning och konvertering hanteras helt automatiskt. Den färdiga ISO-filen sparas i /var/lib/vz/template/iso, redo för att skapa en VM.", + "href": "/docs/utils/UUp-Dump-ISO-Creator" + } + ] + }, + "maintenanceSection": { + "heading": "Systemunderhåll", + "body": "Tre verktyg täcker det dagliga och det mer sällsynta arbetet på värden. Installationsprogrammet för systemverktyg installerar de CLI-verktyg du använder efter en nyinstallation. Proxmox systemuppdatering sköter det veckovisa eller månatliga underhållet. Uppgradering från PVE 8 till PVE 9 är det stora steget vid varje ny huvudversion, med extra säkerhetskontroller eftersom det inte går att ångra.", + "options": [ + { + "title": "Installationsprogram för systemverktyg", + "description": "Välj bland 25 utvalda CLI-verktyg (htop, btop, iperf3, jq, tmux, ncdu, ...) med eget urval eller fördefinierade grupper (grundläggande, utveckling, komprimering, multiplexrar, analys och nätverk). Använder standardflödet med paketförråd och verifieringskommando.", + "href": "/docs/utils/system-utils" + }, + { + "title": "Proxmox systemuppdatering", + "description": "Kontroll av paketförråd + apt update + apt dist-upgrade med bekräftelse före omstart. Identifierar PVE-huvudversionen (8 eller 9), behåller konfigurerade paketförråd och frågar innan en värd utan abonnemang byter till no-subscription-förrådet. Därefter körs autoremove.", + "href": "/docs/utils/system-update" + }, + { + "title": "Uppgradera PVE 8 till PVE 9", + "description": "Uppgradering av huvudversion (Debian Bookworm → Trixie + PVE 8 → 9). Förkontroller, migrering av paketförråd, automatiskt eller interaktivt läge, validering efter uppgraderingen och omstart. Vägrar att köras från webbterminalen.", + "href": "/docs/utils/upgrade-pve8-pve9" + } + ] + }, + "portabilitySection": { + "heading": "Flytt av virtuella maskiner (OVA / OVF)", + "body": "OVA och OVF är paketeringsformat för överföring mellan hypervisorer enligt DMTF-standarden. De stöds av VMware, VirtualBox och Proxmox. De två verktygen är avsedda för export och återimport: en VM som exporteras från Proxmox kan importeras tillbaka och tvärtom. Använd dem för att flytta arbetslaster från ESXi, skapa en portabel säkerhetskopia av en VM eller dela en förberedd VM med någon som använder VirtualBox.", + "options": [ + { + "title": "Exportera VM till OVA / OVF", + "description": "Konvertera en Proxmox-VM till ett portabelt OVA-arkiv eller en OVF-katalog. DMTF-standardschema, SHA1-manifest och VMDK-diskar i formatet streamOptimized. Kan importeras i VMware (ESXi / Workstation / Fusion), VirtualBox och tillbaka i Proxmox.", + "href": "/docs/utils/export-vm" + }, + { + "title": "Importera VM från OVA / OVF", + "description": "Importera en export från VMware / VirtualBox / ProxMenux i Proxmox. Verktyget packar automatiskt upp OVA, läser OVF-metadata, skapar den virtuella maskinen och importerar varje disk i lagringens inbyggda format.", + "href": "/docs/utils/import-vm" + } + ] + }, + "diskSpaceCallout": { + "title": "Om diskutrymme för export / import", + "body": "Båda verktygen konverterar diskformat: exporten använder qemu-img convert -O vmdk -o subformat=streamOptimized; importen använder qm importdisk för att konvertera tillbaka till lagringens inbyggda format (qcow2 / raw). Räkna vid export med ~120% av den virtuella diskstorleken för OVF och ~220% för OVA. OVA-arkivet använder okomprimerad TAR och skapas medan de tillfälliga VMDK-filerna finns kvar. Kontrollera att målkatalogen har tillräckligt med ledigt utrymme innan du börjar." + }, + "fitsTogether": { + "heading": "Så är menyn organiserad", + "body": "Varje verktyg har ett eget skript under scripts/utilities/. Proxmox systemuppdatering anropar ett enda säkert arbetsskript i scripts/global/, update-pve-safe.sh, som identifierar huvudversionen och hanterar både PVE 8 och PVE 9. Uppgraderingen PVE 8 → 9 erbjuder två extra åtgärder i sin egen meny: en fristående Kontroll före uppgradering (kör pve8to9 --full) och en skrivskyddad Guide för manuell uppgradering (17 steg), för användare som vill granska processen eller utföra den för hand." + } +} diff --git a/web/messages/sv/docs/utils/system-update.json b/web/messages/sv/docs/utils/system-update.json new file mode 100644 index 00000000..c91ebed9 --- /dev/null +++ b/web/messages/sv/docs/utils/system-update.json @@ -0,0 +1,168 @@ +{ + "meta": { + "title": "Proxmox systemuppdatering | ProxMenux-dokumentation", + "description": "Uppdaterar paket inom den aktuella Proxmox-huvudversionen med apt-get update och apt full-upgrade -y. Kontrollerar diskutrymme och konfigurerade paketförråd, försöker återställa GPG-nycklar, kontrollerar och reparerar gamla LVM-PV-huvuden, bygger om hanterade DKMS-drivrutiner vid behov, kör autoremove/autoclean och erbjuder omstart när det behövs.", + "ogTitle": "Proxmox systemuppdatering | ProxMenux-dokumentation", + "ogDescription": "apt full-upgrade med kontroll av paketförråd, autoremove/autoclean och omstartsfråga vid behov." + }, + "header": { + "title": "Proxmox systemuppdatering", + "description": "Anropar ett enda arbetsskript (update-pve-safe.sh) som identifierar den aktuella Proxmox-huvudversionen. Konfigurerade paketförråd läses via Proxmox API och bevaras. En värd utan abonnemang som bara använder Enterprise måste bekräfta ett byte till no-subscription. Skriptet uppdaterar paket och bygger om ProxMenux-hanterade DKMS-drivrutiner för en kärna som är klar för nästa start. Huvudskriptet erbjuder omstart om systemets omstartsmarkering finns eller om den senaste installerade kärnan skiljer sig från den som körs. Processen kan också startas med Update Now i ProxMenux Monitor-huvudet när väntande uppdateringar upptäcks.", + "section": "Verktyg" + }, + "calloutWhat": { + "title": "Vad detta gör", + "body": "Uppdaterar värden till den senaste korrigeringsnivån inom dess aktuella huvudversion. Uppgraderar inte till en annan huvudversion. För PVE 8 → PVE 9, se Uppgradera PVE 8 till PVE 9." + }, + "official": { + "heading": "Proxmox officiella rekommendation", + "intro": "För att uppdatera en värd inom samma huvudversion rekommenderar Proxmox att du kör:", + "code": "apt update && apt full-upgrade -y", + "outro": "Den här raden är det officiella kommandot för aktuella Proxmox-versioner. Du behöver också kontrollera att paketförråden är korrekta, att rätt förråd är aktiverade och att värden fungerar som den ska efter uppdateringen." + }, + "onTop": { + "heading": "Vad ProxMenux lägger till: verifierat i skriptet", + "intro": "Använder samma apt full-upgrade-åtgärd, med kontroll av paketförråd, DKMS-ombyggnad och efterföljande städning. Stegen nedan motsvarar scripts/utilities/proxmox_update.sh och dess enda arbetsskript scripts/global/update-pve-safe.sh:", + "items": [ + "Identifierar PVE-huvudversionen i arbetsskriptet (pveversion | grep -oP ''pve-manager/\\K[0-9]+''). Ett enda skript hanterar PVE 8 och PVE 9. Konfigurerade paketförråd bevaras om inte en värd utan abonnemang accepterar det erbjudna bytet.", + "Behåller konfigurerade paketförråd. ensure_repositories läser förråd och abonnemangsstatus via Proxmox API. Med ett aktivt abonnemang eller ett redan använt no-subscription- eller testförråd ändras inget. En värd utan aktivt abonnemang som bara använder Enterprise måste bekräfta bytet till no-subscription. Ett nej avslutar uppdateringen utan att ändra några källor.", + "Kör uppdateringen utan interaktion med DEBIAN_FRONTEND=noninteractive och --force-confdef --force-confold. För dpkg-konfigurationsfiler väljs standardåtgärden om en sådan finns; annars behålls den befintliga filen.", + "Tvingar inte fram valfria verktyg. Arbetsskriptet installerar inte zfsutils-linux, chrony, ifupdown2 eller liknande paket mot det tidigare valet. En Proxmox-installation som avstått från något av dem behåller det valet. Saknade paket visas av de överordnade installationsflödena, inte av uppdateringsflödet.", + "Kontroll och reparation av LVM-metadata. Identifierar gamla PV-huvuden och kör vgck --updatemetadata och vgchange -ay för berörda volymgrupper. Detta kan ändra LVM-metadata; det är inte en kontroll som bara visar varningar.", + "Rengör efteråt: apt-get autoremove -y + apt-get autoclean -y.", + "DKMS byggs om före omstartsfrågan. Arbetsskriptet anropar pmx_rebuild_dkms_after_kernel när en nyare installerad kärna är klar. Huvudskriptet kontrollerar /var/run/reboot-required och använder dpkg-query för att jämföra kärnan från uname -r med det senaste installerade paketet proxmox-kernel-*-pve-signed / pve-kernel-*-pve. Markeringen kan saknas på värdar utan needrestart; kärnjämförelsen fungerar ändå." + ] + }, + "calloutOneSentence": { + "title": "I en mening", + "body": "Uppdaterar värdens paket, behåller paketförråd om du inte accepterar ett byte, kontrollerar LVM-metadata, bygger om hanterade DKMS-drivrutiner, städar med autoremove/autoclean och erbjuder omstart vid behov." + }, + "confirm": { + "heading": "Bekräftelsedialog", + "intro": "När du väljer alternativet öppnas en sammanfattning av de planerade åtgärderna som kräver en uttrycklig bekräftelse:", + "imageAlt": "Bekräftelsedialog för Proxmox systemuppdatering med kontroll av paketförråd, paketuppdateringar och städning" + }, + "routes": { + "heading": "Så delegerar huvudskriptet arbetet", + "nodes": { + "source": { + "label": "proxmox_update.sh", + "detail": "pveversion |\ngrep -oP ''pve-manager/\\K[0-9]+''" + }, + "bridge": { + "label": "Ett enda arbetsskript", + "detail": "update-pve-safe.sh\n(detekterar PVE 8 / 9\ninternt)" + }, + "target": { + "label": "Efter uppdatering", + "detail": "apt-get autoremove\napt-get autoclean\nOmstartsfråga vid behov" + } + } + }, + "worker": { + "heading": "Vad arbetsskriptet gör", + "intro": "Ett arbetsskript (scripts/global/update-pve-safe.sh) hanterar PVE 8 (bookworm) och PVE 9 (trixie). Det identifierar huvudversionen internt och kontrollerar befintliga paketförråd utan att skriva om Debians grundkällor. Stegen är:", + "items": [ + "Förkontroller. Kontrollerar att minst ~1 GB är ledigt i /var/cache/apt/archives. Vid för lite utrymme avbryts processen tidigt med ett tydligt meddelande så att den inte misslyckas mitt i en apt-transaktion.", + "Kontroll av paketförråd. ensure_repositories läser förråd och abonnemangsstatus. Med ett användbart Proxmox-förråd ändras inget. En värd utan aktivt abonnemang som bara använder Enterprise måste bekräfta bytet till no-subscription; ett nej avslutar uppdateringen.", + "apt update med automatisk GPG-återställning. Vid NO_PUBKEY för ett paketförråd, även ett från tredje part, importerar arbetsskriptet den saknade nyckeln och försöker igen innan det rapporterar ett fel.", + "Väntande uppdateringar och säkerhetsuppdateringar. Visar hur många paket som kommer att ändras och hur många som kommer från säkerhetssviten, så att bekräftelsedialogen visar konkreta antal.", + "Bekräftelsedialog. Efter uppdatering av paketlistorna kräver arbetsskriptet ett uttryckligt ja innan paketen uppdateras.", + "apt full-upgrade. Använder DEBIAN_FRONTEND=noninteractive och --force-confdef --force-confold. Dpkg följer standardåtgärden för konfigurationsfiler när en sådan finns och behåller annars den befintliga filen.", + "LVM-kontroll. lvm_repair_check uppdaterar volymgruppernas metadata när diskar som genomkopplats till gäst-VM:er (DSM, TrueNAS eller lagringsapparater) återkommer med gamla PV-huvuden.", + "DKMS-ombyggnad för ProxMenux-hanterade drivrutiner. När en ny kärna är klar läser pmx_rebuild_dkms_after_kernel de ProxMenux-installerade drivrutinerna i components_status.json (för närvarande nvidia_driver → modul nvidia och coral_driver → modul gasket), installerar matchande kärnheaders (proxmox-headers-<newkver> om de finns, annars pve-headers-<newkver>) och kör dkms autoinstall -k <newkver>. Om dkms status därefter inte visar moduler byggda för den nya kärnan körs respektive installationsprogram igen med --auto-reinstall. Fel loggas men avbryter inte uppdateringen, som ändå når omstartsfrågan.", + "Efterföljande städning. apt-get autoremove + apt-get autoclean innan kontrollen lämnas tillbaka till huvudskriptet." + ] + }, + "post": { + "heading": "Rensning och omstart efter uppdatering", + "intro": "När arbetsskriptet har avslutats kör huvudskriptet:", + "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": "Huvudskriptet kontrollerar också om en omstart behövs. Var och en av följande signaler utlöser frågan:", + "items": [ + "/var/run/reboot-required finns: ett paket eller systemverktyg har markerat att värden behöver startas om.", + "Det senaste installerade Proxmox-kärnpaketet skiljer sig från kärnan som körs, enligt dpkg-query och uname -r." + ], + "outro": "Om något av villkoren uppfylls frågar en whiptail-dialog ”Vissa ändringar kräver en omstart. Vill du starta om nu?”. Avböj för att fortsätta med den aktuella kärnan tills du startar om manuellt, till exempel under ett planerat underhållsfönster." + }, + "end": { + "heading": "Vad du ser i slutet", + "intro": "När arbetsskriptet är klart visar terminalen resultatet av städningen och omstartsfrågan om en omstart behövs:", + "imageAlt": "Slutsammanfattning för Proxmox systemuppdatering med städningsresultat och omstartsfråga" + }, + "calloutDeclineReboot": { + "title": "Skjut bara upp omstarten om du har ett tydligt skäl", + "body": "När du installerar ett nytt paket av typen proxmox-kernel-* ersätts den kärna som körs först efter en omstart. Den nya kärnan och dess matchande moduler aktiveras vid nästa start. Planera omstarten till ett lämpligt underhållsfönster och granska eventuella DKMS-byggvarningar i förväg." + }, + "noSub": { + "heading": "Så hanterar arbetsskriptet Enterprise-förrådet", + "intro": "Proxmox aktiverar Enterprise-förrådet som standard. Utan ett aktivt abonnemang returnerar det 401 vid apt-get update. Arbetsskriptet ändrar förråden endast i detta fall och efter bekräftelse, via Proxmox API som används av Node → Updates → Repositories. De olika fallen:", + "items": [ + "Med ett aktivt abonnemang behålls förråden och Enterprise tillhandahåller uppdateringarna.", + "Om no-subscription- eller testförrådet redan är aktiverat behålls förråden, oavsett vilka andra källor som har konfigurerats.", + "Med inget aktivt abonnemang och enbart Enterprise-förrådet erbjuder en dialog ett byte. Om du accepterar inaktiveras Enterprise, no-subscription aktiveras och paketlistorna uppdateras. Ändringen registreras i vyn Changes i Audit & Report. Ett nej avslutar uppdateringen utan att ändra källorna.", + "Befintliga Enterprise-källor för Ceph inaktiveras vid samma byte utan att någon annan Ceph-kanal väljs. En värd som använder Ceph konfigurerar dess kanal separat.", + "Om ingen terminal finns för bekräftelsen ändras inga källor och uppdateringen avslutas med ett meddelande som hänvisar till Node → Updates → Repositories." + ], + "outro": "Debians källor och övriga filer för paketförråd ändras aldrig av det här flödet. En post som blandar Enterprise med andra komponenter byts inte: uppdateringen avbryts och ber dig dela upp posten i Proxmox vy för paketförråd." + }, + "cluster": { + "heading": "Att tänka på för kluster", + "calloutTitle": "På kluster: uppdatera en nod i taget", + "calloutBody": "Kör det här alternativet på en nod i taget i ett Proxmox-kluster och vänta tills omstarten är klar innan du fortsätter. Migrera först gäster från noden för att undvika tjänsteavbrott i hela klustret. Olika mindre versioner, till exempel 8.4.1 och 8.4.5, kan köras parallellt under några timmar. Olika kärnor kan ge oväntat beteende för HA-hanterade gäster." + }, + "doesnt": { + "heading": "Vad det inte gör", + "items": [ + "Uppgradering av huvudversion. 8 → 9 är en separat åtgärd; se Uppgradera PVE 8 till PVE 9.", + "Säkerhetskopiering. Inga ögonblicksbilder eller automatisk återgång. Apt-åtgärder är inte transaktionella. Behåll dina vanliga säkerhetskopieringsrutiner (PBS, vzdump, ZFS-ögonblicksbilder).", + "Uppdateringar av containrar / VM:er. Bara värden uppdateras; gästerna lämnas oförändrade.", + "Separat firmwareflashning. Detta är inget verktyg för att flasha BIOS eller enheters firmware. Installerade paket för firmware eller CPU-mikrokod kan fortfarande uppdateras via apt." + ] + }, + "troubleshooting": { + "heading": "Felsökning", + "items": [ + { + "title": "apt update misslyckas med 401 Unauthorized", + "body": "Enterprise-förrådet är aktiverat utan ett aktivt abonnemang. Före apt-get update erbjuder arbetsskriptet ett byte till no-subscription. Om du avböjde kan du köra uppdateringen igen och acceptera, eller inaktivera Enterprise i Node → Updates → Repositories och aktivera no-subscription." + }, + { + "title": "dist-upgrade fastnar vid \"Configuring grub-pc\"", + "body": "Om en interaktiv GRUB-fråga visas frågar den vilka enheter som ska få starthanteraren. Alternativet --force-confold gäller konfigurationsfiler, inte det här enhetsvalet. Välj lämpliga startdiskar med Tab + Space och sedan OK. Du kan konfigurera valet i förväg med dpkg-reconfigure grub-pc." + }, + { + "title": "Kärnan har uppgraderats men nya moduler saknas för en extern drivrutin", + "body": "För hanterade drivrutiner (nvidia_driver och coral_driver) kör hjälpfunktionen dkms autoinstall -k <newkver> och kan försöka igen med deras installationsprogram och --auto-reinstall. Kontrollera resultatet med dkms status. Kommandot autoinstall kan också bygga om andra registrerade DKMS-moduler. Reservvägen via installationsprogram är begränsad till de hanterade posterna i components_status.json. Granska tredjepartsmoduler som fortfarande saknas och bygg om dem med dkms autoinstall vid behov." + }, + { + "title": "Omstartsfrågan visades inte trots att en ny kärna installerades", + "body": "Signalerna är alternativ: /var/run/reboot-required eller en skillnad mellan den kärna som körs och den senaste installerade Proxmox-kärnan. Huvudskriptet tolkar inte linux-image-poster i apt-loggen. Kontrollera den aktuella versionen med uname -r och installerade kärnpaket med dpkg-query. Planera en nödvändig omstart eller kör shutdown -r now när du är redo." + } + ] + }, + "files": { + "heading": "Filer involverade", + "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": "Relaterat", + "items": [ + { + "href": "/docs/utils/upgrade-pve8-pve9", + "label": "Uppgradera PVE 8 till PVE 9", + "tail": " — för uppgraderingen av huvudversion med ett annat verktyg och en annan säkerhetsmodell." + }, + { + "href": "/docs/utils/system-utils", + "label": "Installationsprogram för systemverktyg", + "tail": " — för att installera användbara CLI-verktyg för uppdateringar (htop / btop / ncdu)." + }, + { + "href": "/docs/utils", + "label": "Verktygsöversikt", + "tail": " — tillbaka till avsnittsöversikten." + } + ] + } +} diff --git a/web/messages/sv/docs/utils/system-utils.json b/web/messages/sv/docs/utils/system-utils.json new file mode 100644 index 00000000..34def926 --- /dev/null +++ b/web/messages/sv/docs/utils/system-utils.json @@ -0,0 +1,252 @@ +{ + "meta": { + "title": "Installationsprogram för systemverktyg | ProxMenux-dokumentation", + "description": "Installationsprogram för CLI-verktyg i Proxmox VE, med 25 paket i den gemensamma listan (htop, btop, iperf3, tmux, ...). Eget urval, installation av allt och fördefinierade grupper (grundläggande, utveckling, komprimering, multiplexrar, analys, nätverk). Grupper kan innehålla fler paket. Använder ensure_repositories + install_single_package.", + "ogTitle": "Installationsprogram för systemverktyg | ProxMenux-dokumentation", + "ogDescription": "Installera utvalda CLI-verktyg i Proxmox VE med ett klick eller eget urval." + }, + "header": { + "title": "Installationsprogram för systemverktyg", + "description": "Välj bland 25 CLI-verktyg i den gemensamma listan PROXMENUX_UTILS. Erbjuder eget urval, installation av allt, sex fördefinierade grupper och installationskontroll. Grupper kan innehålla verktyg utanför listan. De gemensamma funktionerna ensure_repositories() + install_single_package() ger enhetlig hantering av paketförråd och återkoppling per paket.", + "section": "Verktyg" + }, + "info": { + "title": "Vad detta gör", + "body": "Installerar CLI-verktyg från en lista med 25 paket. Varje installation följer samma flöde: ensure_repositories kontrollerar att värden har ett användbart Proxmox-förråd för den aktuella PVE-huvudversionen; sedan installerar install_single_package paketet och kontrollerar att kommandot finns i PATH." + }, + "opening": { + "heading": "Öppna installationsprogrammet", + "intro": "Från menyn Utilities väljer du System Utilities Installer. Huvudmenyn erbjuder nio alternativ:", + "imageAlt": "Menyn för installation av systemverktyg med eget urval, ALL, fördefinierade grupper och verifiering" + }, + "actions": { + "heading": "Menyns 9 åtgärder", + "headerOption": "Alternativ", + "headerBehaviour": "Beteende", + "rows": [ + { + "option": "1. Anpassat urval", + "behaviourRich": "Urvalslista med alla 25 paket. Använd SPACE för att markera och ENTER för att bekräfta; bara valda paket installeras." + }, + { + "option": "2. Installera alla verktyg", + "behaviourRich": "Installerar alla paket i PROXMENUX_UTILS i ett steg. Använd efter en ny Proxmox-installation." + }, + { + "option": "3. Grundläggande", + "behaviourRich": "grc, htop, tree, curl, wget" + }, + { + "option": "4. Utveckling", + "behaviourRich": "git, vim, nano" + }, + { + "option": "5. Kompression", + "behaviourRich": "zip, unzip, rsync" + }, + { + "option": "6. Terminalmultiplexrar", + "behaviourRich": "screen, tmux" + }, + { + "option": "7. Analys", + "behaviourRich": "jq, ncdu, iotop" + }, + { + "option": "8. Nätverk", + "behaviourRich": "iperf3, nethogs, nmap, tcpdump, lsof" + }, + { + "option": "9. Verifiera installationer", + "behaviourRich": "Går igenom varje post i PROXMENUX_UTILS, kontrollerar om verifieringskommandot finns i PATH och visar en sammanfattning med Tillgängligt / Saknas." + } + ] + }, + "packages": { + "heading": "De 25 paketen", + "intro": "Definieras i den gemensamma filen scripts/global/utils-install-functions.sh som PROXMENUX_UTILS (format: package:verify_command:description). Andra ProxMenux-skript, till exempel de som startar iftop / iptraf-ng / iperf3, återanvänder posterna så att paket och verifieringskommandon hålls samordnade.", + "headerPackage": "Paket", + "headerVerify": "Verifieringskommando", + "headerDescription": "Beskrivning", + "rows": [ + { + "package": "axel", + "verify": "axel", + "description": "Nedladdningsaccelerator" + }, + { + "package": "aria2", + "verify": "aria2c", + "description": "Nedladdare med flera källor" + }, + { + "package": "btop", + "verify": "btop", + "description": "Modern resursövervakning" + }, + { + "package": "cabextract", + "verify": "cabextract", + "description": "Extrahera CAB filer" + }, + { + "package": "chntpw", + "verify": "chntpw", + "description": "Redigera Windows-registret / lösenord" + }, + { + "package": "dos2unix", + "verify": "dos2unix", + "description": "Konvertera DOS / Unix textfiler" + }, + { + "package": "genisoimage", + "verify": "genisoimage", + "description": "Skapa ISO-bilder" + }, + { + "package": "grc", + "verify": "grc", + "description": "Allmän färgmarkering av loggar" + }, + { + "package": "htop", + "verify": "htop", + "description": "Interaktiv processvisare" + }, + { + "package": "iftop", + "verify": "iftop", + "description": "Realtidsnätverksanvändning" + }, + { + "package": "intel-gpu-tools", + "verify": "intel_gpu_top", + "description": "Intel GPU verktyg" + }, + { + "package": "iotop", + "verify": "iotop", + "description": "Övervaka diskarnas in- och utmatning" + }, + { + "package": "iperf3", + "verify": "iperf3", + "description": "Testning av nätverkets bandbredd" + }, + { + "package": "ipset", + "verify": "ipset", + "description": "Hantera mängder av IP-adresser" + }, + { + "package": "iptraf-ng", + "verify": "iptraf-ng", + "description": "Verktyg för nätverksövervakning" + }, + { + "package": "libguestfs-tools", + "verify": "virt-filesystems", + "description": "Verktyg för VM-diskar" + }, + { + "package": "msr-tools", + "verify": "rdmsr", + "description": "Åtkomst till processorns MSR-register" + }, + { + "package": "net-tools", + "verify": "netstat", + "description": "Äldre nätverksverktyg" + }, + { + "package": "plocate", + "verify": "locate", + "description": "Hitta filer snabbt" + }, + { + "package": "s-tui", + "verify": "s-tui", + "description": "Stress-Terminal UI" + }, + { + "package": "sshpass", + "verify": "sshpass", + "description": "Icke-interaktiv SSH inloggning" + }, + { + "package": "tmux", + "verify": "tmux", + "description": "Terminalmultiplexer" + }, + { + "package": "unzip", + "verify": "unzip", + "description": "Extrahera ZIP-filer" + }, + { + "package": "wimtools", + "verify": "wimlib-imagex", + "description": "Hantera WIM-avbildningar" + }, + { + "package": "zip", + "verify": "zip", + "description": "Skapa ZIP-filer" + } + ] + }, + "howItWorks": { + "heading": "Så installeras ett enskilt paket", + "items": [ + "ensure_repositories identifierar PVE 8 eller 9 och läser paketförråden via Proxmox API. Med ett användbart Proxmox-förråd ändras inget. En värd utan aktivt abonnemang som bara använder Enterprise måste bekräfta ett byte till no-subscription; apt-get update körs efter ett godkänt byte.", + "install_single_package \"pkg\" \"verify_cmd\" \"description\" kör apt-get install -y \"$pkg\" med feedback (msg_info / msg_ok / msg_error)." + ], + "verifyIntro": "Efter installationen kontrolleras verifieringskommandot med command -v \"$verify_cmd\". Tre resultat:", + "verifyOutcomes": [ + "0 (lyckat): kommandot finns tillgängligt och paketet räknas som Lyckat.", + "1 (misslyckat): apt misslyckades och paketet räknas som Misslyckat.", + "2 (varning): apt lyckades men det förväntade kommandot hittades inte i PATH; paketet räknas som Med varningar." + ], + "summary": "Efter en gruppinstallation eller ett eget urval visar en dialog antalet Lyckade / Med varningar / Misslyckade." + }, + "verify": { + "heading": "Verifiera installationer", + "intro": "Alternativ 9 är skrivskyddat: det går igenom PROXMENUX_UTILS och kör command -v för varje verifieringskommando. Utdata ser ut så här:", + "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": "Användbart innan du kör skript som behöver verktygen. Till exempel kräver uup_dump_iso_creator.sh kommandona aria2c + cabextract + wimlib-imagex. Om något saknas kan du installera motsvarande grupp eller välja de saknade paketen själv." + }, + "troubleshoot": { + "heading": "Felsökning", + "reposTitle": "”Kunde inte konfigurera paketförråden. Installationen avbröts.”", + "reposBody": "Kontrollen av paketförråd misslyckades: bytet till no-subscription avböjdes, abonnemangsstatusen kunde inte läsas eller en post kräver åtgärd. Föregående meddelande anger orsaken. Förråden visas i Node → Updates → Repositories; apt-get update i en konsol visar apt-felet.", + "warningsTitle": "Ett paket rapporteras \"Med varningar\" men kommandot fungerar när jag stänger menyn", + "warningsBody": "Efter apt-get install kör hjälpfunktionen hash -r, väntar kort och kontrollerar det förväntade kommandot med command -v. En varning betyder att kontrollen fortfarande misslyckades, utan att ange orsaken. Prova ett nytt skal och kontrollera paketinstallationen och PATH om kommandot fortfarande saknas.", + "hangsTitle": "En apt-installation fastnar", + "hangsBody": "En debconf-fråga är sannolikt dold av den tysta utmatningen. Skriptet använder DEBIAN_FRONTEND=noninteractive vid apt-anrop, vilket vanligen undviker frågor, men vissa paket kräver ändå inmatning. Avbryt med Ctrl+C och kör apt-get install -y <pkg> manuellt i ett skal för att se frågan och välja åtgärd." + }, + "files": { + "heading": "Filer involverade", + "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": "Relaterat", + "items": [ + { + "href": "/docs/utils/system-update", + "label": "Proxmox systemuppdatering", + "tailRich": " — för den faktiska apt dist-upgrade på värden." + }, + { + "href": "/docs/network/monitoring", + "label": "Verktyg för liveövervakning (nätverk)", + "tailRich": " - använder iftop / iptraf-ng / iperf3 från samma lista." + }, + { + "href": "/docs/utils", + "label": "Verktygsöversikt", + "tailRich": " — tillbaka till avsnittsöversikten." + } + ] + } +} diff --git a/web/messages/sv/docs/utils/upgrade-pve8-pve9.json b/web/messages/sv/docs/utils/upgrade-pve8-pve9.json new file mode 100644 index 00000000..ebba8f60 --- /dev/null +++ b/web/messages/sv/docs/utils/upgrade-pve8-pve9.json @@ -0,0 +1,335 @@ +{ + "meta": { + "title": "Uppgradera PVE 8 till PVE 9 | ProxMenux-dokumentation", + "description": "Tre sätt att uppgradera Proxmox VE 8 till 9 (Debian Bookworm till Trixie och PVE 8 till 9): automatiskt, interaktivt eller manuellt enligt Proxmox officiella anvisningar. Kontroller med pve8to9, ändrade paketkällor, dist-upgrade och slutkontroll. Körning från webbterminalen blockeras.", + "ogTitle": "Uppgradera PVE 8 till PVE 9 | ProxMenux-dokumentation", + "ogDescription": "Tre metoder (automatisk, interaktiv och manuell) för att uppgradera Proxmox VE 8 till 9." + }, + "header": { + "title": "Uppgradera PVE 8 till PVE 9", + "description": "Uppgraderar Proxmox VE 8 till 9 enligt de officiella anvisningarna: Debian Bookworm till Trixie och PVE 8 till 9. Välj automatisk, interaktiv eller manuell metod, eller en separat förkontroll. Webbterminalen blockeras eftersom en bruten anslutning under uppgraderingen kan göra värden obrukbar.", + "section": "Verktyg" + }, + "dangerCallout": { + "title": "En uppgradering till en ny huvudversion kan inte ångras", + "intro": "Åtgärden ersätter Debian-basen (Bookworm → Trixie) och Proxmox-komponenterna på det befintliga systemet. Det finns ingen återgång till den gamla versionen. Innan du börjar:", + "items": [ + "Verifierade säkerhetskopior av varje VM och CT (PBS, vzdump, ZFS-ögonblicksbilder — kontrollera även att de går att återställa).", + "Åtkomst via konsol / IPMI / iKVM till värden om SSH kopplas ned under uppgraderingen.", + "Värden ska redan vara uppdaterad till aktuell PVE 8.4.x, vilket skriptet kontrollerar.", + "Ceph (om den finns) på version 19.x Squid.", + "Minst 5 GB ledigt i rotfilsystemet." + ] + }, + "modeMenu": { + "heading": "Menyn för val av läge", + "intro": "Alternativet öppnar en meny med fyra val: Automatiskt, Interaktivt, Förkontroll och Manuell guide. Tre alternativ utför uppgraderingen eller visar hur den görs; den separata kontrollen verifierar förutsättningarna och kan erbjuda reparationer.", + "imageAlt": "Meny för uppgradering av PVE 8 till 9 med automatiskt och interaktivt läge, förkontroll och manuell guide" + }, + "threeWays": { + "heading": "Tre sätt att uppgradera", + "intro": "Automatiskt och interaktivt läge följer samma förlopp med förkontroller och slutkontroll. Skillnaden är hur dpkg-frågor under dist-upgrade besvaras. Den manuella guiden visar kommandona inklusive kontrollerna; du ansvarar för att utföra varje steg.", + "auto": { + "title": "Automatiskt / Utan tillsyn", + "summary": "Anger ASSUME_YES=1 + DEBIAN_FRONTEND=noninteractive. För ändrade konfigurationsfiler använder dpkg sin standardåtgärd om den finns; annars behålls den befintliga filen (--force-confold).", + "items": [ + "Snabbast — ingen väntan på svar", + "Passar standardinstallationer utan anpassade konfigurationsfiler", + "Risk: en anpassad konfiguration behålls utan fråga och kan dölja nya standardvärden" + ] + }, + "interactive": { + "title": "Interaktiv", + "summary": "Samma förlopp, men du besvarar varje dpkg-fråga om konfigurationskonflikter. Långsammare, med full insyn.", + "items": [ + "Du ser varje konfig konflikt och bestämmer", + "Bäst när du har anpassat /etc/lvm, /etc/ssh, etc.", + "Rådfråga tabellen rekommenderade svar i manuell procedur nedan" + ] + }, + "manual": { + "title": "Manuell uppgraderingsguide", + "summary": "Visar det officiella Proxmox-förfarandet i 17 steg utan att köra det. Kör kommandona själv i ett separat skal.", + "items": [ + "Maximal kontroll - du skriver varje kommando", + "Bäst när du vill lära dig förfarandet eller du litar på ingenting", + "Skriptet visar stegen; ingenting utförs automatiskt" + ] + } + }, + "precheckCallout": { + "title": "Plus en separat Pre-check", + "body": "Alternativ 3 — Kör kontroll för PVE 8 till 9 — kör Proxmox officiella pve8to9 --full, erbjuder guidade reparationer för vanliga problem och avslutas sedan. Använd det före uppgraderingen eller efter manuella reparationer. Automatiskt och interaktivt läge kör också kontrollen; den manuella guiden säger åt dig att köra den själv." + }, + "webTerminal": { + "heading": "Varför webbterminalen blockeras", + "body": "Alla tre lägen upptäcker termproxy / vncshell i kedjan av överordnade processer och vägrar starta. Webbterminalen beror på pveproxy, en tjänst som uppdateras under förloppet. När pveproxy startas om avslutas terminalsessionen och skriptet i den. Värden kan då bli endast delvis uppgraderad.", + "warningTitle": "Använd SSH eller fysisk konsol / IPMI / iKVM", + "warningBody": "SSH är det vanligaste valet. Kör det i tmux eller screen så att uppgraderingen klarar korta nätavbrott. Om skriptet upptäcker ett vanligt SSH-skal visas först en påminnelse om tmux/screen." + }, + "auto": { + "heading": "Automatiskt läge / Utan tillsyn", + "intro": "Vanliga bekräftelser och frågor om konfigurationsfiler använder de valda standardsvaren. Blockerande fel i förkontrollen kan fortfarande kräva åtgärder. Använd läget för standardinstallationer eller efter att ha granskat hur standardsvaren påverkar dina anpassade filer.", + "behaviourHeading": "Beteende i automatiskt läge", + "behaviourTable": { + "settingHeader": "Inställning", + "effectHeader": "Effekt", + "rows": [ + { + "settingRich": "ASSUME_YES=1", + "effectRich": "Intern inställning — bekräftar automatiskt skriptets ja/nej-frågor" + }, + { + "settingRich": "DEBIAN_FRONTEND=noninteractive", + "effectRich": "apt / dpkg körs utan debconf-frågor" + }, + { + "settingRich": "--force-confdef", + "effectRich": "För orörda konfigfiler: installera underhållarens nya version" + }, + { + "settingRich": "--force-confold", + "effectRich": "För ändrade filer: dpkg:s standardåtgärd om den finns; annars behåll din version." + } + ] + }, + "flowHeading": "Förlopp i automatiskt läge", + "flowIntro": "Sex faser i följd. Tidiga faser kan uppdatera PVE 8-paket och skriva konfiguration för paketkällor. Ett fel stoppar förloppet men återställer inte ändringarna. Fas 5 kör dist-upgrade till PVE 9.", + "flowDiagram": "1. KONTROLLER\nBlockera termproxy / vncshell; avvisa PVE 9; kontrollera utrymme och anslutning.\nKräv Ceph 19.x Squid om det är installerat.\npve8to9 --full (kan erbjuda reparationer).\n\n2. FÖRBERED PVE 8\nscripts/global/update-pve8.sh\nUppdatera PVE 8-paket; systemctl restart pve-manager.\n\n3. ÄNDRA PAKETKÄLLOR\nBookworm → Trixie; skriv deb822-filer .sources.\nKommentera bort gamla .list-filer; apt-get update.\n\n4. KONTROLLERA PVE 9-KANDIDATEN\napt-cache policy proxmox-ve\napt-get -s dist-upgrade\nStoppa om kandidaten inte är 9.x eller om proxmox-ve skulle tas bort.\n\n5. UPPGRADERA\napt-get -y -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' dist-upgrade\nLogg: /var/log/pve8-a-pve9-'<'timestamp'>'.log\n\n6. KONTROLLERA OCH STARTA OM\nEFI: apt install grub-efi-amd64\npve8to9 --full; granska resultatet och frågan om omstart.", + "preflightHeading": "Förkontroll: vad som kontrolleras", + "preflightTable": { + "checkHeader": "Kontroll", + "whyHeader": "Varför det spelar roll", + "rows": [ + { + "checkRich": "Webbterminalblock", + "whyRich": "Förhindrar att uppgraderingen avslutar skalet som kör den" + }, + { + "checkRich": " Redan på 9.x", + "whyRich": "Avslutas om värden redan kör PVE 9 — inget behöver göras" + }, + { + "checkRich": "Senaste versionen av PVE 8.4.x", + "whyRich": "Uppdaterar först PVE 8 till senaste korrigeringsnivån med PVE 8-skriptet; gamla 8.x-versioner har andra förutsättningar" + }, + { + "checkRich": "pve8to9 --full", + "whyRich": "Proxmox egen kontroll av uppgraderingskraven; FAIL-fel blockerar uppgraderingen tills de åtgärdats" + }, + { + "checkRich": "Diskutrymme", + "whyRich": "≥ 1024 MB ledigt i /var/cache/apt/archives för hämtade .deb-filer" + }, + { + "checkRich": "Anslutning", + "whyRich": "Ping till download.proxmox.com — om det misslyckas startar inte uppgraderingen" + }, + { + "checkRich": "Ceph 19.x Squid", + "whyRich": "Installerat Ceph måste redan vara 19.x. PVE 9 fungerar inte med Ceph 17/18. Alternativen --ignore-ceph-check och --warn-ceph-check kringgår kontrollen; använd dem endast om du förstår följderna." + } + ] + }, + "distUpgradeHeading": "Kommandot dist-upgrade (automatiskt läge)", + "distUpgradeCode": "apt-get -y \\\n -o Dpkg::Options::='--force-confdef' \\\n -o Dpkg::Options::='--force-confold' \\\n dist-upgrade", + "distUpgradeOutro": "Utdata visas i realtid på stdout och sparas även i /var/log/pve8-a-pve9-<timestamp>.log. Allt är synligt; endast frågorna hoppas över.", + "postHeading": "Åtgärder efter uppgraderingen (automatiskt läge)", + "postItems": [ + "EFI-värdar: installerar grub-efi-amd64 enligt det kända problemet i Proxmox dokumentation. Uppgraderingen installerar inte paketet automatiskt och det kan behövas vid nästa start.", + "När pve-manager startas om. Den uttryckliga omstarten ingår i förberedelsen av PVE 8, före paketuppgraderingen till Trixie/PVE 9.", + "Kör pve8to9 --full igen. Visar kvarstående problem. Vid FAIL-fel visas samma reparationsmeny som under förkontrollen.", + "Fråga om omstart. Omstart rekommenderas för att läsa in den nya kärnan och tjänsterna. Avböj endast av ett konkret skäl: det innebär risker att använda den gamla kärnan efter ett huvudversionsbyte." + ] + }, + "interactive": { + "heading": "Interaktivt läge", + "intro": "Samma förlopp som automatiskt läge: samma förkontroller, ändrade paketkällor och slutkontroll. Skillnaden gäller dist-upgrade: du besvarar själv varje dpkg-fråga om konfigurationskonflikter. ProxMenux kör apt-get dist-upgrade utan alternativen --force-conf*.", + "distUpgradeHeading": "kommandot för dist-upgrade (interaktivt läge)", + "distUpgradeCode": "apt-get dist-upgrade\n# (user answers each dpkg config-file conflict prompt as it appears)", + "whenHeading": "När interaktivt är rätt val", + "whenItems": [ + "Du har anpassat /etc/lvm/lvm.conf, /etc/ssh/sshd_config, /etc/default/grub eller någon annan konfigfil som blir rörd av uppgraderingen.", + "Du vill se vilka paket som orsakar konflikter och fatta beslut för varje fil.", + "Du uppgraderar en produktionsvärd där någon dold förändring är oacceptabel." + ], + "promptCalloutTitle": "Vad du ska svara på varje fråga", + "promptCalloutBody": "Samma rekommendationer gäller som för det manuella förfarandet: se Rekommenderade svar på dpkg-frågor nedan. Ange D för att se skillnaderna eller Z för att öppna ett skal." + }, + "manual": { + "heading": "Manuellt uppgraderingsförfarande", + "intro": "Detta visar menyalternativet Manuell uppgraderingsguide: Proxmox officiella wiki för uppgradering från 8 till 9, uppdelad i fyra faser. Skriptet visar kommandona; du kör dem själv i ett separat root-skal. Varje steg är synligt.", + "rootCalloutTitle": "Alla kommandon kräver root", + "rootCalloutBody": "Använd ett root-skal för kommandona, även för omdirigeringar och here-dokument. Med sudo måste hela kommandot köras med root-behörighet.", + "phase1Heading": "Fas 1 - Förberedelse", + "phase1Intro": "Uppdatera värden till senaste PVE 8.4.x, verifiera version och Ceph om det används, kör Proxmox förkontroll och starta en terminalmultiplexer för att klara avbrutna anslutningar.", + "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": "Fas 2 — Ändra paketkällor", + "phase2Intro": "Byt från Bookworm till Trixie i alla Debian- och Proxmox-paketkällor och konvertera Proxmox-källorna till deb822. Välj steg 7 ELLER 8 beroende på Enterprise-abonnemang. Hoppa över steg 9 om du inte använder 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": "Fas 3 — dist-upgrade", + "phase3Intro": "Själva uppgraderingen. Steg 12 är valfritt men rekommenderas för att minska audit-meddelanden. Steg 13 tar längre tid: besvara dpkg-frågorna enligt tabellen. Steg 13.1 gäller endast EFI och följer de officiellt kända problemen.", + "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": "Rekommenderade svar för dpkg-prompts", + "dpkgIntro": "Rekommendationer från Proxmox: Y installerar paketunderhållarens nya fil och skriver över din; N behåller din befintliga fil. Granska skillnaderna först om du är osäker:", + "dpkgTable": { + "fileHeader": "Fil / prompt", + "answerHeader": "Rekommenderat svar", + "whyHeader": "Varför", + "rows": [ + { + "fileRich": "/etc/issue", + "answerRich": "N (behåll befintlig fil)", + "whyRich": "Banner du är van vid att se", + "fileFont": true + }, + { + "fileRich": "/etc/lvm/lvm.conf", + "answerRich": "Y (paketunderhållarens version)", + "whyRich": "PVE 9 behöver de nya LVM-standardvärdena", + "fileFont": true + }, + { + "fileRich": "/etc/ssh/sshd_config", + "answerRich": "Y om endast standardändringar finns; granska anpassade filer först", + "whyRich": "Granska lokala SSH-inställningar och säkerställ åtkomsten innan filen ersätts. Standardändringarna omfattar omdöpta alternativ och kommentarer.", + "fileFont": true + }, + { + "fileRich": "/etc/default/grub", + "answerRich": "N om anpassad", + "whyRich": "Här finns startparametrar, till exempel IOMMU och PCI-genomkoppling", + "fileFont": true + }, + { + "fileRich": "/etc/chrony/chrony.conf", + "answerRich": "Y om oförändrad; bevara lokala inställningar först", + "whyRich": "Trixie uppdaterar standardvärdena för tidssynkronisering. Flytta lokala inställningar till chronys conf.d / sources.d innan den nya filen godtas.", + "fileFont": true + }, + { + "fileRich": "Omstart av tjänster under uppgraderingen", + "answerRich": "Ja (standard)", + "whyRich": "Startar om de flesta tjänster utan att starta om värden", + "fileFont": false + }, + { + "fileRich": "apt-listchanges", + "answerRich": "Tryck på q", + "whyRich": "Avslutar endast textvisaren; informationen är en sammanfattning av ändringsloggen", + "fileFont": false + } + ] + }, + "inspectCalloutTitle": "Inspektera en specifik dpkg-konflikt", + "inspectCalloutBody": "Vid en dpkg-fråga om konfigurationsfiler visar D skillnaderna mellan din fil och den nya versionen; Z öppnar ett skal för närmare granskning. Då kan du fatta ett underbyggt beslut.", + "phase4Heading": "Fas 4 - Post-upgrade", + "phase4Intro": "Verifiera att uppgraderingen slutförts, starta om med PVE 9-kärnan och kontrollera versionen. Därefter kan kvarvarande gamla .list-filer konverteras till 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": "Kluster och Ceph", + "clusterCalloutTitle": "Cluster: uppgradera noder en i taget", + "clusterCalloutBody": "Identifieras med pvecm status. Uppgradera inte flera noder samtidigt. Flytta gästerna, uppgradera noden, starta om och verifiera klustermedlemskapet innan du fortsätter. Under uppgraderingen fungerar livemigrering från äldre till nyare PVE-versioner; motsatt riktning stöds normalt inte. HA-grupper omvandlas automatiskt till HA-regler när alla noder kör PVE 9.", + "cephCalloutTitle": "Ceph: uppgradera Ceph FÖRST, sedan Proxmox", + "cephCalloutBody": "Ceph måste redan köra 19.x Squid före Proxmox-uppgraderingen. Följ den officiella ordningen Quincy 17 → Reef 18 → Squid 19: uppdatera paket och starta om Ceph-demoner stegvis i dokumenterad ordning. Kontrollera ceph --version före varje Proxmox-nod. Fullständigt förfarande: wikin för uppgradering av Ceph Reef till Squid." + }, + "troubleshooting": { + "heading": "Felsökning", + "items": [ + { + "title": "Skriptet avbryts: \"This script cannot be executed from the Proxmox web terminal\"", + "bodyRich": "Öppna en SSH-anslutning eller använd konsol / IPMI / iKVM och kör igen. Starta först tmux new -s pveupgrade för att klara korta nätavbrott." + }, + { + "title": "pve8to9 rapporterar FAIL och reparationsalternativ 1 ger \"command not found\"", + "bodyRich": "Om felet nämner configure_repositories är skriptkopian gammal: aktuell reparation använder cleanup_duplicate_repos och ensure_repositories. Uppdatera kopian eller granska de manuella kommandona med alternativ 2. apt-get update uppdaterar paketlistor men löser inte alla blockerande kontroller." + }, + { + "title": "apt-simuleringen varnar för \"proxmox-ve will be REMOVED\"", + "bodyRich": "De nya paketkällorna är oåtkomliga eller kodnamnet har inte ändrats. Kontrollera cat /etc/apt/sources.list.d/proxmox.sources: raden Suites: ska ange trixie i stället för bookworm. apt-cache policy proxmox-ve ska visa en 9.x-kandidat från den nya källan." + }, + { + "title": "dist-upgrade misslyckas under körningen", + "bodyRich": "Kör apt-get -f install för att lösa brutna beroenden, kör sedan om uppgraderingen. Om det misslyckas, kolla in loggen på /var/log/pve8-a-pve9-<timestamp>.log - de sista raderna brukar ange det förolämpande paketet. Starta inte om förrän dpkg -l | grep ^iU returnerar tomma (inga halvinstallerade paket)." + }, + { + "title": "EFI värd kommer inte starta efter omstart", + "bodyRich": "Installationen av grub-efi-amd64 efter uppgraderingen hanterar detta. Om steget hoppades över eller misslyckades, starta Proxmox-ISO:n i räddningsläge, montera rotfilsystemet, använd chroot och kör apt-get install grub-efi-amd64 && update-grub." + }, + { + "title": "GUI laddas inte efter uppgradering", + "bodyRich": "Kör systemctl status pveproxy och systemctl restart pveproxy. Om problemet kvarstår, leta efter felet med journalctl -u pveproxy -b." + }, + { + "title": "Nätverk fungerar inte efter omstart", + "bodyRich": "Kontrollera att /etc/network/interfaces anger befintliga enheter och att ifupdown2 är installerat: apt install ifupdown2. Om namnen ändrats, se Beständiga gränssnittsnamn." + }, + { + "title": "Cluster split-brain efter att ha uppgraderat en nod", + "bodyRich": "Blandade PVE 8 / PVE 9-kluster stöds under uppgraderingen. Livemigrering från äldre till nyare versioner fungerar; motsatt riktning stöds normalt inte. Om noden visas som frånkopplad, kontrollera corosync och QDevice-/nätverkskonfigurationen. Kör pvecm status på varje nod för att bekräfta kvorum." + } + ] + }, + "files": { + "heading": "Filer involverade", + "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": "Officiella referenser", + "intro": "Skriptets manuella förfarande följer dessa officiella källor. Vid osäkerhet under en uppgradering gäller den officiella wikin: ProxMenux hjälper dig att utföra stegen, men Proxmox är referensen.", + "items": [ + { + "href": "https://pve.proxmox.com/wiki/Upgrade_from_8_to_9", + "title": "Uppgradera från 8 till 9", + "desc": "Den viktigaste Proxmox wiki sida för 8 → 9 uppgradering. Sanningens källa för varje kommando i det manuella förfarandet ovan." + }, + { + "href": "https://pve.proxmox.com/wiki/Ceph_Reef_to_Squid", + "title": "Uppgradering till Ceph Squid (19.x)", + "desc": "Obligatoriskt förberedande steg för hyperkonvergerade Ceph-noder. Ceph måste köra 19.x Squid före PVE 9." + }, + { + "href": "https://pve.proxmox.com/wiki/Roadmap", + "title": "Utvecklingsplan för Proxmox VE", + "desc": "Versionsinformation för PVE 9 och ändringar sedan 8.x — läs före uppgraderingen." + }, + { + "href": "https://www.debian.org/releases/trixie/releasenotes", + "title": "Versionsinformation för Debian Trixie", + "desc": "PVE 9 bygger på Debian Trixie. Debians versionsinformation beskriver ändringar i operativsystemet som även påverkar din värd." + }, + { + "href": "https://forum.proxmox.com/forums/proxmox-ve-installation-and-configuration.16/", + "title": "Proxmox VE installationsforum", + "desc": "Om något går fel under uppgraderingen, sök först i forumet. Någon kan redan ha stött på samma problem." + }, + { + "href": "https://pve.proxmox.com/wiki/Backup_and_Restore", + "title": "Säkerhetskopiering och återställning", + "desc": "En storversionsuppgradering är inte reversibel. Kontrollera din backup disciplin innan du börjar." + } + ] + }, + "video": { + "heading": "Videoguide", + "intro": "Föredrar att titta på uppgraderingen kör slut innan du gör det själv? Denna genomgång visar ProxMenux uppgraderingsflöde i realtid.", + "title": "ProxMenux — Videoguide för att uppgradera Proxmox VE 8 till 9", + "caption": "Extern YouTube-video. Spelas i utökat integritetsläge, utan cookies tills du startar videon." + }, + "related": { + "heading": "Relaterat", + "items": [ + { + "href": "/docs/utils/system-update", + "label": "Proxmox systemuppdatering", + "tail": " — för vanliga uppdateringar inom samma huvudversion (8.4.1 → 8.4.5 osv.)." + }, + { + "href": "/docs/utils", + "label": "Verktygsöversikt", + "tail": " — tillbaka till avsnittets översikt." + } + ] + } +} diff --git a/web/messages/sv/docs/utils/uup-dump-iso-creator.json b/web/messages/sv/docs/utils/uup-dump-iso-creator.json new file mode 100644 index 00000000..2bb37e74 --- /dev/null +++ b/web/messages/sv/docs/utils/uup-dump-iso-creator.json @@ -0,0 +1,161 @@ +{ + "meta": { + "title": "UUP Dump ISO-skapare | ProxMenux-dokumentation", + "description": "Skapa en aktuell Windows-installations-ISO på Proxmox-värden med ProxMenux UUP Dump ISO-skapare. Automatiserar installation av beroenden, nedladdning och konvertering av UUP-filer till en startbar ISO för att skapa en VM.", + "ogTitle": "UUP Dump ISO-skapare | ProxMenux-dokumentation", + "ogDescription": "Skapa en aktuell Windows-ISO med UUP Dump och ProxMenux. Beroenden, nedladdning och konvertering hanteras helt automatiskt.", + "ogImageAlt": "ProxMenux — UUP Dump ISO-skapare" + }, + "header": { + "title": "UUP Dump ISO-skapare", + "description": "Skapa en aktuell Windows-installations-ISO på Proxmox-värden med UUP Dump. ProxMenux hanterar beroenden, laddar ner UUP-filer parallellt, kör UUP Dump-konverteraren och flyttar ISO-filen till den valda utdatakatalogen. Standardvalet är den identifierade ISO-lagringen i Proxmox.", + "section": "Verktyg" + }, + "intro": { + "title": "Vad skriptet gör", + "body": "Ange en URL som uupdump.net skapar efter val av version, språk och utgåva. Skriptet installerar saknade beroenden, laddar ner UUP Dump-konverteraren och UUP-filerna, skapar en startbar Windows-ISO och flyttar den till den valda utdatakatalogen. Den identifierade ISO-lagringen i Proxmox föreslås som standardmål." + }, + "hero": { + "imageAlt": "UUP Dump ISO Creator i ProxMenux-menyn", + "caption": "UUP Dump ISO Creator i ProxMenux-menyn" + }, + "what": { + "heading": "Vad är UUP Dump?", + "intro": "UUP Dump är en communitytjänst som låter dig ladda ner de ursprungliga Unified Update Platform-filerna (UUP) som Windows Update använder för att distribuera Windows. Filerna kan sammanställas till en vanlig startbar ISO. Det ger dig:", + "items": [ + "Den senaste Windows-versionen, inklusive Insider Preview-kanaler.", + "En viss äldre version som inte längre visas på Microsofts nedladdningssida.", + "Rena, omodifierade filer som kommer direkt från Microsofts servrar.", + "Den exakta kombinationen av utgåvor och språk du vill ha i en enda ISO." + ], + "learnMore": "Läs mer på UUP Dump-projektsidan." + }, + "automates": { + "heading": "Vad skriptet automatiserar" + }, + "dependencies": { + "heading": "Beroenden", + "intro": "Skriptet kontrollerar först verktygen som behövs för att ladda ner UUP-filer och skapa ISO-filen. Verktyg som saknas installeras med apt-get:", + "headerPackage": "Paket", + "headerRole": "Funktion", + "rows": [ + { + "pkg": "curl", + "roleRich": "HTTP-nedladdningar för att starta konverteraren." + }, + { + "pkg": "aria2", + "roleRich": "Parallell nedladdning av alla UUP-filer." + }, + { + "pkg": "cabextract", + "roleRich": "Extraherar Microsoft CAB-paket." + }, + { + "pkg": "wimtools", + "roleRich": "Bygger install.wim (wimlib-imagex)." + }, + { + "pkg": "genisoimage", + "roleRich": "Skriver den slutliga startbara ISO (eller mkisofs)." + }, + { + "pkg": "chntpw", + "roleRich": "Ändrar Windows-registerfiler under skapandet." + } + ], + "manualIntro": "Manuell motsvarighet - om du någonsin behöver installera dem själv:", + "manualCode": "apt-get install curl aria2 cabextract wimtools genisoimage chntpw" + }, + "flow": { + "heading": "Nedladdning och konvertering", + "steps": [ + "Identifierar Proxmox ISO-lagring med pvesm status -content iso eller använder /var/lib/vz/template/iso som reserv.", + "Begär en basmapp för tillfälliga filer (standard /root/uup-temp).", + "Laddar ner UUP Dump-konverteraren från git.uupdump.net.", + "Läser id, pack och edition från URL:en som du klistrar in.", + "Anropar https://uupdump.net/get.php?…&aria2=2 för att skapa en aria2-nedladdningslista.", + "Laddar ner alla UUP-filer till UUPs/ med aria2, parallellt och med möjlighet att återuppta.", + "Kör convert.sh wim UUPs 1 från omvandlaren för att producera den slutliga ISO.", + "Flyttar ISO-filen till den valda utdatakatalogen och tar bort tillfälliga filer." + ] + }, + "aria2": { + "heading": "aria2-alternativ som används för nedladdning", + "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": [ + "-x16 — upp till 16 anslutningar per server.", + "-s16 - delar upp varje fil i 16 segment.", + "-j5 — 5 filer som laddats ned parallellt.", + "-c - återupptar partiella nedladdningar.", + "-R — ger den nedladdade filen fjärrfilens tidsstämpel om den är tillgänglig." + ], + "runtime": "En typisk körning tar omkring 10 minuter och beror framför allt på internetanslutningens hastighet och belastningen på UUP Dumps nedladdningsservrar." + }, + "step1": { + "heading": "Steg 1 · Få en UUP Dump URL", + "intro": "Innan du kör skriptet behöver du en UUP Dump URL som innehåller id, pack och edition frågeparametrar. Skapa den på uupdump.net:", + "stepBadge": "Steg", + "items": [ + { + "title": "Välj en Windows-version", + "img": "/iso-creator/step-1-select-version-windows.png", + "caption": "UUP Dump huvudsida - välj en Windows-version", + "body": "Öppna UUP Dump hemsida och välj den Windows-version du vill ha." + }, + { + "title": "Välj en viss version", + "img": "/iso-creator/step-2-select-version-windows.png", + "caption": "Välj en viss version", + "body": "Välj version: den senaste, en Insider Preview-kanal eller en viss äldre version som fortfarande visas." + }, + { + "title": "Välj ett språk", + "img": "/iso-creator/step-3-select-version-windows.png", + "caption": "Välj ett språk", + "body": "Välj språket som ska ingå i ISO-filen." + }, + { + "title": "Välj utgåvor", + "img": "/iso-creator/step-4-select-version-windows.png", + "caption": "Välj utgåvorna att inkludera", + "body": "Välj utgåvor för att bunta i ISO (Home, Pro, Enterprise, ...). Du kan kombinera flera." + }, + { + "title": "Kopiera URL", + "img": "/iso-creator/step-5-select-version-windows.png", + "caption": "Kopiera webbadressen från adressfältet", + "bodyRich": "Kopiera URL:en från webbläsarens adressfält på den sista sidan. Den måste innehålla id=…, pack=… och edition=…. Det är den sträng som skriptet läser." + } + ] + }, + "step2": { + "heading": "Steg 2 · Kör skaparen", + "intro": "När URL:en är kopierad öppnar du ProxMenux och startar ISO-skaparen:", + "stepBadge": "Steg", + "items": [ + { + "title": "Starta UUP Dump ISO Creator", + "img": "/iso-creator/start-uupdump-iso-creator.png", + "caption": "Starta UUP Dump ISO Creator från ProxMenux", + "bodyRich": "Öppna Utilities → UUP Dump ISO Creator i ProxMenux. Skriptet kontrollerar beroenden och ISO-katalogen innan det frågar efter uppgifter." + }, + { + "title": "Klistra in UUP Dump-URL:en", + "img": "/iso-creator/add-url-iso-creator.png", + "caption": "Klistra in URL:en som du kopierade från uupdump.net", + "body": "Klistra in URL:en i inmatningsdialogen. Skriptet kontrollerar att de tre obligatoriska parametrarna finns och avslutar ordnat om någon saknas." + }, + { + "title": "Vänta tills ISO-filen är klar", + "img": "/iso-creator/end-uupdump-iso-creator.png", + "caption": "Skapandet är klart: ISO-filen finns i Proxmox ISO-lagring", + "bodyRich": "Konsolen visar aria2-förloppet och sedan konverterarens utdata. Den färdiga ISO-filen flyttas till den valda utdatakatalogen. Om den ligger i konfigurerad Proxmox ISO-lagring kan du välja den via Create VM → System Windows → Install with ISO from UUP Dump." + } + ] + }, + "tempFiles": { + "title": "Tillfälliga filer", + "body": "Den tillfälliga standardmappen är /root/uup-temp, med nedladdningar i UUPs/ och konverteraren i converter/. En egen bassökväg får en separat sessionsunderkatalog. Grenarna för lyckat skapande och utebliven ISO-fil tar bort den tillfälliga sessionen. Tidigare fel eller avbrott kan lämna kvar tillfälliga filer." + } +} From 0eb8c5db2089fcb1936325ae3967ba100567dac3 Mon Sep 17 00:00:00 2001 From: MacRimi <123239993+MacRimi@users.noreply.github.com> Date: Sun, 18 Oct 2026 15:07:57 +0200 Subject: [PATCH 2/4] Keep Spanish utility docs aligned with the menu --- web/messages/es/docs/utils/system-utils.json | 2 +- web/messages/es/docs/utils/upgrade-pve8-pve9.json | 2 +- web/messages/es/docs/utils/uup-dump-iso-creator.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/web/messages/es/docs/utils/system-utils.json b/web/messages/es/docs/utils/system-utils.json index fd654457..af4a5c32 100644 --- a/web/messages/es/docs/utils/system-utils.json +++ b/web/messages/es/docs/utils/system-utils.json @@ -218,7 +218,7 @@ }, "troubleshoot": { "heading": "Solución de problemas", - "reposTitle": "«No se han podido configurar los repositorios. Instalación cancelada».", + "reposTitle": "«No se pudieron configurar los repositorios. Instalación cancelada.»", "reposBody": "La comprobación de repositorios no se superó: se rechazó el cambio al repositorio sin suscripción, no se pudo leer el estado de la suscripción o una entrada de repositorio requiere atención. El mensaje impreso justo encima indica la causa. Los repositorios se listan en Nodo → Actualizaciones → Repositorios, y apt-get update desde una consola muestra el error que reporta apt.", "warningsTitle": "Un paquete se reporta como \"With warnings\" pero el comando funciona tras cerrar el menú", "warningsBody": "Después de apt-get install, la función ejecuta hash -r, espera brevemente y comprueba el comando esperado con command -v. Una advertencia indica que esa comprobación sigue fallando, pero no identifica la causa. Prueba con una sesión de shell nueva y comprueba la instalación del paquete y PATH si el comando sigue faltando.", diff --git a/web/messages/es/docs/utils/upgrade-pve8-pve9.json b/web/messages/es/docs/utils/upgrade-pve8-pve9.json index 19437fb3..99fc806a 100644 --- a/web/messages/es/docs/utils/upgrade-pve8-pve9.json +++ b/web/messages/es/docs/utils/upgrade-pve8-pve9.json @@ -59,7 +59,7 @@ }, "precheckCallout": { "title": "Más una Comprobación previa aparte", - "body": "La opción 3 — Ejecutar comprobación de PVE 8 a 9 — ejecuta la herramienta oficial pve8to9 --full, ofrece reparaciones guiadas para problemas habituales y después se detiene. Úsala antes de actualizar o tras reparar manualmente. Los modos Automático e Interactivo también la ejecutan; la guía manual indica que debes ejecutarla tú." + "body": "La opción 3 — Ejecutar la comprobación de PVE 8 a 9 — ejecuta la herramienta oficial pve8to9 --full, ofrece reparaciones guiadas para problemas habituales y después se detiene. Úsala antes de actualizar o tras reparar manualmente. Los modos Automático e Interactivo también la ejecutan; la guía manual indica que debes ejecutarla tú." }, "webTerminal": { "heading": "Por qué se bloquea el terminal web", diff --git a/web/messages/es/docs/utils/uup-dump-iso-creator.json b/web/messages/es/docs/utils/uup-dump-iso-creator.json index 499a6665..ac217747 100644 --- a/web/messages/es/docs/utils/uup-dump-iso-creator.json +++ b/web/messages/es/docs/utils/uup-dump-iso-creator.json @@ -150,7 +150,7 @@ "title": "Espera a que termine la creación", "img": "/iso-creator/end-uupdump-iso-creator.png", "caption": "Creación terminada: la ISO está lista en el almacenamiento de ISOs de Proxmox", - "bodyRich": "La consola muestra el progreso de aria2 y después la salida del conversor. La ISO terminada se mueve al directorio de salida elegido. Si está en un almacenamiento de ISOs configurado en Proxmox, se puede seleccionar desde Create VM → System Windows → Install with ISO from UUP Dump." + "bodyRich": "La consola muestra el progreso de aria2 y después la salida del conversor. La ISO terminada se mueve al directorio de salida elegido. Si está en un almacenamiento de ISOs configurado en Proxmox, se puede seleccionar desde Crear VM con Windows → Instalar con ISO desde UUP Dump." } ] }, From aedd3085a9070fdba760968147847107d5e2b11e Mon Sep 17 00:00:00 2001 From: MacRimi <123239993+MacRimi@users.noreply.github.com> Date: Sun, 18 Oct 2026 15:15:38 +0200 Subject: [PATCH 3/4] Describe the utilities as the scripts run them - The OVA/OVF import creates the VM with LSI and e1000 - The utilities picker lists 25 tools; jq and ncdu come from the analysis group - A finished UUP Dump ISO is chosen with Install with personal ISO --- web/messages/de/docs/utils/export-vm.json | 2 +- web/messages/de/docs/utils/index.json | 2 +- web/messages/de/docs/utils/system-utils.json | 2 +- web/messages/de/docs/utils/uup-dump-iso-creator.json | 2 +- web/messages/en/docs/utils/export-vm.json | 2 +- web/messages/en/docs/utils/index.json | 2 +- web/messages/en/docs/utils/system-utils.json | 2 +- web/messages/en/docs/utils/uup-dump-iso-creator.json | 2 +- web/messages/es/docs/utils/export-vm.json | 2 +- web/messages/es/docs/utils/index.json | 2 +- web/messages/es/docs/utils/system-utils.json | 2 +- web/messages/es/docs/utils/uup-dump-iso-creator.json | 2 +- web/messages/fr/docs/utils/export-vm.json | 2 +- web/messages/fr/docs/utils/index.json | 2 +- web/messages/fr/docs/utils/system-utils.json | 2 +- web/messages/fr/docs/utils/uup-dump-iso-creator.json | 2 +- web/messages/it/docs/utils/export-vm.json | 2 +- web/messages/it/docs/utils/index.json | 2 +- web/messages/it/docs/utils/system-utils.json | 2 +- web/messages/it/docs/utils/uup-dump-iso-creator.json | 2 +- web/messages/pt/docs/utils/export-vm.json | 2 +- web/messages/pt/docs/utils/index.json | 2 +- web/messages/pt/docs/utils/system-utils.json | 2 +- web/messages/pt/docs/utils/uup-dump-iso-creator.json | 2 +- web/messages/sk/docs/utils/export-vm.json | 2 +- web/messages/sk/docs/utils/index.json | 2 +- web/messages/sk/docs/utils/system-utils.json | 2 +- web/messages/sk/docs/utils/uup-dump-iso-creator.json | 2 +- web/messages/sv/docs/utils/export-vm.json | 2 +- web/messages/sv/docs/utils/index.json | 2 +- web/messages/sv/docs/utils/system-utils.json | 2 +- web/messages/sv/docs/utils/uup-dump-iso-creator.json | 2 +- 32 files changed, 32 insertions(+), 32 deletions(-) diff --git a/web/messages/de/docs/utils/export-vm.json b/web/messages/de/docs/utils/export-vm.json index f8a68f5b..a94b427e 100644 --- a/web/messages/de/docs/utils/export-vm.json +++ b/web/messages/de/docs/utils/export-vm.json @@ -121,7 +121,7 @@ "unsupportedHwTitle": "Der Export ist abgeschlossen, aber VMware verweigert den Import mit \"Unsupported hardware family\"", "unsupportedHwBody": "Einige ESXi-Versionen lehnen OVF-Deskriptoren ab, deren Hardwarefamilie sie nicht erkennen. Öffnen Sie die .ovf-Datei in einem Texteditor oder entpacken Sie zuerst die .ova-Datei. Suchen Sie <vssd:VirtualSystemType> und ändern Sie den Wert auf einen von ESXi akzeptierten Wert, etwa vmx-13 für ESXi 6.5+. Als schnelle Umgehung können Sie VirtualBox ausprobieren, das weniger streng prüft.", "nicTitle": "Die importierte VM verwendet eine andere Netzwerkkarte oder einen anderen SCSI-Controller", - "nicBody": "Die OVF-Datei übernimmt die Anzahl der Netzwerkkarten, nicht deren ursprüngliches Modell. Prüfen Sie die Netzwerkeinstellungen der importierten VM im Zielhypervisor. Für die VMware-Kompatibilität deklariert der Export einen lsilogic-SCSI-Controller. Beim Rückimport in Proxmox können Sie VirtIO SCSI auswählen, wenn der Gast passende Treiber besitzt.", + "nicBody": "Die OVF-Datei übernimmt die Anzahl der Netzwerkkarten, nicht deren ursprüngliches Modell. Prüfen Sie die Netzwerkeinstellungen der importierten VM im Zielhypervisor. Für die VMware-Kompatibilität deklariert der Export einen lsilogic-SCSI-Controller. Beim Rückimport in Proxmox mit ProxMenux wird die VM mit einem LSI-Controller und e1000-Netzwerkkarten erstellt; wechseln Sie danach zu VirtIO SCSI und VirtIO, wenn der Gast passende Treiber besitzt.", "runningTitle": "Die VM lief und ich habe das Herunterfahren abgelehnt: Export abgebrochen", "runningBody": "Das Skript kann kein konsistentes Abbild erstellen, während auf die Festplatten geschrieben wird. Bestätigen Sie beim nächsten Mal das Herunterfahren oder fahren Sie die VM zuvor manuell herunter (qm shutdown $VMID) und starten Sie den Export erneut.", "slowTitle": "Die Festplattenumwandlung ist langsam", diff --git a/web/messages/de/docs/utils/index.json b/web/messages/de/docs/utils/index.json index fe45e4fc..b0b129ef 100644 --- a/web/messages/de/docs/utils/index.json +++ b/web/messages/de/docs/utils/index.json @@ -73,7 +73,7 @@ "options": [ { "title": "Installationsprogramm für Systemdienstprogramme", - "description": "Auswahl von 25 bewährten CLI-Werkzeugen (htop, btop, iperf3, jq, tmux, ncdu, ...) mit individueller Auswahl oder vordefinierten Gruppen (Basis, Entwicklung, Komprimierung, Multiplexer, Analyse, Netzwerk). Verwendet den standardisierten Ablauf mit Repository und Prüfbefehl.", + "description": "Auswahl von 25 bewährten CLI-Werkzeugen (htop, btop, iperf3, tmux, ...) mit individueller Auswahl oder vordefinierten Gruppen (Basis, Entwicklung, Komprimierung, Multiplexer, Analyse, Netzwerk). Verwendet den standardisierten Ablauf mit Repository und Prüfbefehl.", "href": "/docs/utils/system-utils" }, { diff --git a/web/messages/de/docs/utils/system-utils.json b/web/messages/de/docs/utils/system-utils.json index 0acc962f..d250de76 100644 --- a/web/messages/de/docs/utils/system-utils.json +++ b/web/messages/de/docs/utils/system-utils.json @@ -213,7 +213,7 @@ "verify": { "heading": "Überprüfen Sie die Installationen", "intro": "Option 9 liest nur: Sie durchläuft PROXMENUX_UTILS und führt für jeden Prüfbefehl command -v aus. Die Ausgabe sieht so aus:", - "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...", + "code": "Total: 25\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": "Nützlich vor Skripten, die diese Werkzeuge benötigen. Beispielsweise braucht uup_dump_iso_creator.sh die Befehle aria2c + cabextract + wimlib-imagex. Fehlt etwas, installieren Sie die passende Gruppe oder wählen Sie die fehlenden Pakete einzeln aus." }, "troubleshoot": { diff --git a/web/messages/de/docs/utils/uup-dump-iso-creator.json b/web/messages/de/docs/utils/uup-dump-iso-creator.json index b0f7b959..5095772d 100644 --- a/web/messages/de/docs/utils/uup-dump-iso-creator.json +++ b/web/messages/de/docs/utils/uup-dump-iso-creator.json @@ -150,7 +150,7 @@ "title": "Warten Sie, bis der Build fertig ist", "img": "/iso-creator/end-uupdump-iso-creator.png", "caption": "Build fertig - ISO ist bereit im Proxmox ISO-Speicher", - "bodyRich": "Die Konsole zeigt den aria2-Fortschritt und anschließend die Ausgabe des Konverters. Die fertige ISO wird in das gewählte Ausgabeverzeichnis verschoben. Liegt sie in einem konfigurierten Proxmox-ISO-Speicher, lässt sie sich unter Create VM → System Windows → Install with ISO from UUP Dump auswählen." + "bodyRich": "Die Konsole zeigt den aria2-Fortschritt und anschließend die Ausgabe des Konverters. Die fertige ISO wird in das gewählte Ausgabeverzeichnis verschoben. Liegt sie in einem konfigurierten Proxmox-ISO-Speicher, lässt sie sich unter Windows-VM erstellen → Mit persönlicher ISO installieren auswählen." } ] }, diff --git a/web/messages/en/docs/utils/export-vm.json b/web/messages/en/docs/utils/export-vm.json index 86f3ee68..a5eaafad 100644 --- a/web/messages/en/docs/utils/export-vm.json +++ b/web/messages/en/docs/utils/export-vm.json @@ -121,7 +121,7 @@ "unsupportedHwTitle": "Export completes but VMware refuses to import: \"Unsupported hardware family\"", "unsupportedHwBody": "Some ESXi versions reject OVF descriptors that declare a hardware family they don't recognise. Open the .ovf in a text editor (or extract the .ova first), find <vssd:VirtualSystemType> and edit it to a value ESXi accepts (e.g. vmx-13 for ESXi 6.5+). For a quick workaround, try VirtualBox — it's more permissive.", "nicTitle": "Imported VM uses a different NIC or SCSI controller", - "nicBody": "The OVF preserves the NIC count, not the original model. Review the imported VM’s network settings in the destination hypervisor. The export declares an lsilogic SCSI controller for VMware compatibility. When importing back into Proxmox, you can select VirtIO SCSI if the guest has suitable drivers.", + "nicBody": "The OVF preserves the NIC count, not the original model. Review the imported VM’s network settings in the destination hypervisor. The export declares an lsilogic SCSI controller for VMware compatibility. When importing back into Proxmox with ProxMenux, the VM is created with an LSI controller and e1000 NICs; switch to VirtIO SCSI and VirtIO afterwards if the guest has suitable drivers.", "runningTitle": "VM was running and I declined to stop it — export aborted", "runningBody": "The script can't produce a consistent image while disks are being written. Either accept the shutdown prompt next time, or stop the VM manually first (qm shutdown $VMID) and re-run.", "slowTitle": "Disk conversion is slow", diff --git a/web/messages/en/docs/utils/index.json b/web/messages/en/docs/utils/index.json index 5df186a9..5d9388df 100644 --- a/web/messages/en/docs/utils/index.json +++ b/web/messages/en/docs/utils/index.json @@ -73,7 +73,7 @@ "options": [ { "title": "System Utilities Installer", - "description": "Curated picker for 25 CLI tools (htop, btop, iperf3, jq, tmux, ncdu, ...) with custom selection or predefined groups (basic, dev, compression, multiplexers, analysis, network). Uses the canonical repo + verify-command flow.", + "description": "Curated picker for 25 CLI tools (htop, btop, iperf3, tmux, ...) with custom selection or predefined groups (basic, dev, compression, multiplexers, analysis, network). Uses the canonical repo + verify-command flow.", "href": "/docs/utils/system-utils" }, { diff --git a/web/messages/en/docs/utils/system-utils.json b/web/messages/en/docs/utils/system-utils.json index 0dbcc67d..a47a9e04 100644 --- a/web/messages/en/docs/utils/system-utils.json +++ b/web/messages/en/docs/utils/system-utils.json @@ -213,7 +213,7 @@ "verify": { "heading": "Verify installations", "intro": "Option 9 is read-only: it walks PROXMENUX_UTILS and runs command -v for each verify command. Output looks like this:", - "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...", + "code": "Total: 25\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": "Useful before running scripts that depend on these tools (e.g. uup_dump_iso_creator.sh needs aria2c + cabextract + wimlib-imagex). If anything is missing, run the matching group install or pick the missing packages via custom selection." }, "troubleshoot": { diff --git a/web/messages/en/docs/utils/uup-dump-iso-creator.json b/web/messages/en/docs/utils/uup-dump-iso-creator.json index 4a859849..8bc3b62e 100644 --- a/web/messages/en/docs/utils/uup-dump-iso-creator.json +++ b/web/messages/en/docs/utils/uup-dump-iso-creator.json @@ -150,7 +150,7 @@ "title": "Wait for the build to finish", "img": "/iso-creator/end-uupdump-iso-creator.png", "caption": "Build finished — ISO is ready in Proxmox ISO storage", - "bodyRich": "The console shows aria2 progress and then converter output. The finished ISO is moved to your chosen output directory. If it is in configured Proxmox ISO storage, it can be selected from Create VM → System Windows → Install with ISO from UUP Dump." + "bodyRich": "The console shows aria2 progress and then converter output. The finished ISO is moved to your chosen output directory. If it is in configured Proxmox ISO storage, it can be selected from Create VM → System Windows → Install with personal ISO." } ] }, diff --git a/web/messages/es/docs/utils/export-vm.json b/web/messages/es/docs/utils/export-vm.json index ae8f23db..5cdb7953 100644 --- a/web/messages/es/docs/utils/export-vm.json +++ b/web/messages/es/docs/utils/export-vm.json @@ -121,7 +121,7 @@ "unsupportedHwTitle": "La exportación termina pero VMware se niega a importar: \"Unsupported hardware family\"", "unsupportedHwBody": "Algunas versiones de ESXi rechazan los descriptores OVF que declaran una familia de hardware que no reconocen. Abre el .ovf en un editor de texto (o extrae primero el .ova), busca <vssd:VirtualSystemType> y cambia su valor por uno que ESXi acepte (por ejemplo, vmx-13 para ESXi 6.5+). Como solución rápida, prueba con VirtualBox, que es más permisivo.", "nicTitle": "La VM importada usa una NIC o un controlador SCSI diferente", - "nicBody": "El OVF conserva el número de NIC, pero no el modelo original. Revisa la configuración de red de la VM importada en el hipervisor de destino. La exportación declara un controlador SCSI lsilogic por compatibilidad con VMware. Al importar de vuelta a Proxmox, puedes seleccionar VirtIO SCSI si el sistema invitado tiene los controladores adecuados.", + "nicBody": "El OVF conserva el número de NIC, pero no el modelo original. Revisa la configuración de red de la VM importada en el hipervisor de destino. La exportación declara un controlador SCSI lsilogic por compatibilidad con VMware. Al importarla de vuelta a Proxmox con ProxMenux, la VM se crea con un controlador LSI y tarjetas e1000; cambia después a VirtIO SCSI y VirtIO si el sistema invitado tiene los controladores adecuados.", "runningTitle": "La VM estaba en ejecución y rechacé detenerla: exportación cancelada", "runningBody": "El script no puede producir una imagen consistente mientras se escribe en los discos. O bien aceptas el prompt de apagado la próxima vez, o paras la VM manualmente primero (qm shutdown $VMID) y vuelves a ejecutar.", "slowTitle": "La conversión de discos es lenta", diff --git a/web/messages/es/docs/utils/index.json b/web/messages/es/docs/utils/index.json index 368a5ef3..769b1772 100644 --- a/web/messages/es/docs/utils/index.json +++ b/web/messages/es/docs/utils/index.json @@ -73,7 +73,7 @@ "options": [ { "title": "Instalador de utilidades del sistema", - "description": "Selector de 25 herramientas CLI escogidas (htop, btop, iperf3, jq, tmux, ncdu, ...) con selección personalizada o grupos predefinidos (básico, desarrollo, compresión, multiplexores, análisis y red). Usa el flujo estándar de repositorio y comando de verificación.", + "description": "Selector de 25 herramientas CLI escogidas (htop, btop, iperf3, tmux, ...) con selección personalizada o grupos predefinidos (básico, desarrollo, compresión, multiplexores, análisis y red). Usa el flujo estándar de repositorio y comando de verificación.", "href": "/docs/utils/system-utils" }, { diff --git a/web/messages/es/docs/utils/system-utils.json b/web/messages/es/docs/utils/system-utils.json index af4a5c32..37c79df0 100644 --- a/web/messages/es/docs/utils/system-utils.json +++ b/web/messages/es/docs/utils/system-utils.json @@ -213,7 +213,7 @@ "verify": { "heading": "Verificar instalaciones", "intro": "La opción 9 es de solo lectura: recorre PROXMENUX_UTILS y ejecuta command -v para cada comando de verificación. La salida se ve así:", - "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...", + "code": "Total: 25\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": "Útil antes de ejecutar scripts que dependen de estas herramientas (p. ej. uup_dump_iso_creator.sh necesita aria2c + cabextract + wimlib-imagex). Si falta algo, ejecuta la instalación del grupo correspondiente o elige los paquetes que faltan mediante selección personalizada." }, "troubleshoot": { diff --git a/web/messages/es/docs/utils/uup-dump-iso-creator.json b/web/messages/es/docs/utils/uup-dump-iso-creator.json index ac217747..581b47a8 100644 --- a/web/messages/es/docs/utils/uup-dump-iso-creator.json +++ b/web/messages/es/docs/utils/uup-dump-iso-creator.json @@ -150,7 +150,7 @@ "title": "Espera a que termine la creación", "img": "/iso-creator/end-uupdump-iso-creator.png", "caption": "Creación terminada: la ISO está lista en el almacenamiento de ISOs de Proxmox", - "bodyRich": "La consola muestra el progreso de aria2 y después la salida del conversor. La ISO terminada se mueve al directorio de salida elegido. Si está en un almacenamiento de ISOs configurado en Proxmox, se puede seleccionar desde Crear VM con Windows → Instalar con ISO desde UUP Dump." + "bodyRich": "La consola muestra el progreso de aria2 y después la salida del conversor. La ISO terminada se mueve al directorio de salida elegido. Si está en un almacenamiento de ISOs configurado en Proxmox, se puede seleccionar desde Crear VM con Windows → Instalar con ISO personal." } ] }, diff --git a/web/messages/fr/docs/utils/export-vm.json b/web/messages/fr/docs/utils/export-vm.json index a1e411c0..a085445f 100644 --- a/web/messages/fr/docs/utils/export-vm.json +++ b/web/messages/fr/docs/utils/export-vm.json @@ -121,7 +121,7 @@ "unsupportedHwTitle": "L’export se termine, mais VMware refuse l’import : \"Unsupported hardware family\"", "unsupportedHwBody": "Certaines versions d’ESXi rejettent les descripteurs OVF qui déclarent une famille matérielle inconnue. Ouvrez le .ovf dans un éditeur de texte, ou extrayez d’abord le .ova, repérez <vssd:VirtualSystemType> et choisissez une valeur acceptée par ESXi, par exemple vmx-13 pour ESXi 6.5+. Pour contourner rapidement le problème, essayez VirtualBox, qui est plus permissif.", "nicTitle": "La VM importée utilise une carte réseau ou un contrôleur SCSI différent", - "nicBody": "L’OVF conserve le nombre de cartes réseau, pas leur modèle d’origine. Vérifiez les paramètres réseau de la VM importée dans l’hyperviseur de destination. L’export déclare un contrôleur SCSI lsilogic pour la compatibilité VMware. Lors d’un retour dans Proxmox, vous pouvez choisir VirtIO SCSI si le système invité possède les pilotes adaptés.", + "nicBody": "L’OVF conserve le nombre de cartes réseau, pas leur modèle d’origine. Vérifiez les paramètres réseau de la VM importée dans l’hyperviseur de destination. L’export déclare un contrôleur SCSI lsilogic pour la compatibilité VMware. Lors d’un retour dans Proxmox avec ProxMenux, la VM est créée avec un contrôleur LSI et des cartes e1000 ; passez ensuite à VirtIO SCSI et VirtIO si le système invité possède les pilotes adaptés.", "runningTitle": "La VM était en cours d’exécution et j’ai refusé de l’arrêter : export annulé", "runningBody": "Le script ne peut pas produire une image cohérente pendant l’écriture sur les disques. Acceptez la demande d’arrêt la prochaine fois, ou arrêtez d’abord la VM manuellement (qm shutdown $VMID), puis relancez l’export.", "slowTitle": "La conversion du disque est lente", diff --git a/web/messages/fr/docs/utils/index.json b/web/messages/fr/docs/utils/index.json index 07be051e..29fa3a50 100644 --- a/web/messages/fr/docs/utils/index.json +++ b/web/messages/fr/docs/utils/index.json @@ -73,7 +73,7 @@ "options": [ { "title": "Installateur des utilitaires système", - "description": "Sélecteur de 25 outils CLI choisis (htop, btop, iperf3, jq, tmux, ncdu, ...) avec sélection personnalisée ou groupes prédéfinis (base, développement, compression, multiplexeurs, analyse, réseau). Utilise le processus standard avec dépôt et commande de vérification.", + "description": "Sélecteur de 25 outils CLI choisis (htop, btop, iperf3, tmux, ...) avec sélection personnalisée ou groupes prédéfinis (base, développement, compression, multiplexeurs, analyse, réseau). Utilise le processus standard avec dépôt et commande de vérification.", "href": "/docs/utils/system-utils" }, { diff --git a/web/messages/fr/docs/utils/system-utils.json b/web/messages/fr/docs/utils/system-utils.json index fa41fa31..fa6bbe54 100644 --- a/web/messages/fr/docs/utils/system-utils.json +++ b/web/messages/fr/docs/utils/system-utils.json @@ -213,7 +213,7 @@ "verify": { "heading": "Vérifier les installations", "intro": "L’option 9 est en lecture seule : elle parcourt PROXMENUX_UTILS et exécute command -v pour chaque commande de vérification. Voici la sortie :", - "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...", + "code": "Total: 25\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 avant d’exécuter des scripts qui dépendent de ces outils. Par exemple, uup_dump_iso_creator.sh nécessite aria2c + cabextract + wimlib-imagex. S’il manque un outil, installez le groupe correspondant ou sélectionnez les paquets manquants." }, "troubleshoot": { diff --git a/web/messages/fr/docs/utils/uup-dump-iso-creator.json b/web/messages/fr/docs/utils/uup-dump-iso-creator.json index 1260b659..ad302029 100644 --- a/web/messages/fr/docs/utils/uup-dump-iso-creator.json +++ b/web/messages/fr/docs/utils/uup-dump-iso-creator.json @@ -150,7 +150,7 @@ "title": "Attendez la fin de la création", "img": "/iso-creator/end-uupdump-iso-creator.png", "caption": "Création terminée : l’ISO est prête dans le stockage ISO Proxmox", - "bodyRich": "La console affiche la progression aria2 puis la sortie du convertisseur. L’ISO terminée est déplacée vers le répertoire de sortie choisi. Si elle se trouve dans un stockage ISO Proxmox configuré, vous pouvez la sélectionner dans Create VM → System Windows → Install with ISO from UUP Dump." + "bodyRich": "La console affiche la progression aria2 puis la sortie du convertisseur. L’ISO terminée est déplacée vers le répertoire de sortie choisi. Si elle se trouve dans un stockage ISO Proxmox configuré, vous pouvez la sélectionner dans Créer une VM Windows → Installer avec une ISO personnelle." } ] }, diff --git a/web/messages/it/docs/utils/export-vm.json b/web/messages/it/docs/utils/export-vm.json index 8d1fc5d0..4bc97c3a 100644 --- a/web/messages/it/docs/utils/export-vm.json +++ b/web/messages/it/docs/utils/export-vm.json @@ -121,7 +121,7 @@ "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 <vssd:VirtualSystemType> e imposta un valore accettato da ESXi, ad esempio vmx-13 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 VirtIO SCSI se il sistema guest dispone dei driver adatti.", + "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 con ProxMenux, la VM viene creata con un controller LSI e schede e1000; passa poi a VirtIO SCSI e VirtIO 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 (qm shutdown $VMID) e ripeti l’esportazione.", "slowTitle": "La conversione del disco è lenta", diff --git a/web/messages/it/docs/utils/index.json b/web/messages/it/docs/utils/index.json index 5fb109b1..def93677 100644 --- a/web/messages/it/docs/utils/index.json +++ b/web/messages/it/docs/utils/index.json @@ -73,7 +73,7 @@ "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.", + "description": "Selettore di 25 strumenti CLI scelti (htop, btop, iperf3, tmux, ...) 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" }, { diff --git a/web/messages/it/docs/utils/system-utils.json b/web/messages/it/docs/utils/system-utils.json index 006cc41b..4e693c13 100644 --- a/web/messages/it/docs/utils/system-utils.json +++ b/web/messages/it/docs/utils/system-utils.json @@ -213,7 +213,7 @@ "verify": { "heading": "Verifica installazioni", "intro": "L’opzione 9 è in sola lettura: esamina PROXMENUX_UTILS ed esegue command -v 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...", + "code": "Total: 25\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. uup_dump_iso_creator.sh ha bisogno di aria2c + cabextract + wimlib-imagex). Se manca qualcosa, eseguire l'installazione del gruppo corrispondente o selezionare i pacchetti mancanti tramite selezione personalizzata." }, "troubleshoot": { diff --git a/web/messages/it/docs/utils/uup-dump-iso-creator.json b/web/messages/it/docs/utils/uup-dump-iso-creator.json index 61d3c22d..f39d707b 100644 --- a/web/messages/it/docs/utils/uup-dump-iso-creator.json +++ b/web/messages/it/docs/utils/uup-dump-iso-creator.json @@ -150,7 +150,7 @@ "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 Create VM → System Windows → Install with ISO from UUP Dump." + "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 Crea VM con Windows → Installa con ISO personale." } ] }, diff --git a/web/messages/pt/docs/utils/export-vm.json b/web/messages/pt/docs/utils/export-vm.json index 57dcdfdf..0d07c6f4 100644 --- a/web/messages/pt/docs/utils/export-vm.json +++ b/web/messages/pt/docs/utils/export-vm.json @@ -121,7 +121,7 @@ "unsupportedHwTitle": "A exportação termina, mas o VMware recusa a importação: \"Unsupported hardware family\"", "unsupportedHwBody": "Algumas versões do ESXi rejeitam descritores OVF que declaram uma família de hardware desconhecida. Abra o .ovf num editor de texto, ou extraia primeiro o .ova, procure <vssd:VirtualSystemType> e defina um valor aceite pelo ESXi, como vmx-13 para ESXi 6.5+. Para contornar rapidamente o problema, experimente o VirtualBox, que é mais permissivo.", "nicTitle": "A VM importada usa uma placa de rede ou um controlador SCSI diferente", - "nicBody": "O OVF conserva o número de placas de rede, mas não o modelo original. Reveja as definições de rede da VM importada no hipervisor de destino. A exportação declara um controlador SCSI lsilogic para compatibilidade com o VMware. Ao importar novamente no Proxmox, pode escolher VirtIO SCSI se o sistema convidado tiver os controladores adequados.", + "nicBody": "O OVF conserva o número de placas de rede, mas não o modelo original. Reveja as definições de rede da VM importada no hipervisor de destino. A exportação declara um controlador SCSI lsilogic para compatibilidade com o VMware. Ao importar novamente no Proxmox com o ProxMenux, a VM é criada com um controlador LSI e placas e1000; mude depois para VirtIO SCSI e VirtIO se o sistema convidado tiver os controladores adequados.", "runningTitle": "A VM estava em execução e recusei pará-la: exportação cancelada", "runningBody": "O script não consegue produzir uma imagem consistente enquanto há escrita nos discos. Aceite o pedido de encerramento na próxima vez, ou desligue primeiro a VM manualmente (qm shutdown $VMID) e repita a exportação.", "slowTitle": "A conversão do disco é lenta", diff --git a/web/messages/pt/docs/utils/index.json b/web/messages/pt/docs/utils/index.json index 9511ecf8..ecafb09e 100644 --- a/web/messages/pt/docs/utils/index.json +++ b/web/messages/pt/docs/utils/index.json @@ -73,7 +73,7 @@ "options": [ { "title": "Instalador de utilitários de sistema", - "description": "Seletor de 25 ferramentas CLI escolhidas (htop, btop, iperf3, jq, tmux, ncdu, ...) com seleção personalizada ou grupos predefinidos (básico, desenvolvimento, compressão, multiplexadores, análise e rede). Usa o fluxo padrão com repositório e comando de verificação.", + "description": "Seletor de 25 ferramentas CLI escolhidas (htop, btop, iperf3, tmux, ...) com seleção personalizada ou grupos predefinidos (básico, desenvolvimento, compressão, multiplexadores, análise e rede). Usa o fluxo padrão com repositório e comando de verificação.", "href": "/docs/utils/system-utils" }, { diff --git a/web/messages/pt/docs/utils/system-utils.json b/web/messages/pt/docs/utils/system-utils.json index 43209771..9390dc12 100644 --- a/web/messages/pt/docs/utils/system-utils.json +++ b/web/messages/pt/docs/utils/system-utils.json @@ -213,7 +213,7 @@ "verify": { "heading": "Verifique as instalações", "intro": "A opção 9 é só de leitura: percorre PROXMENUX_UTILS e executa command -v para cada comando de verificação. O resultado é semelhante a:", - "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...", + "code": "Total: 25\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": "Útil antes de executar scripts que dependem destas ferramentas (por exemplo. uup_dump_iso_creator.sh precisa de aria2c + cabextract + wimlib-imagex). Se algo estiver faltando, execute a instalação do grupo correspondente ou escolha os pacotes em falta através da seleção personalizada." }, "troubleshoot": { diff --git a/web/messages/pt/docs/utils/uup-dump-iso-creator.json b/web/messages/pt/docs/utils/uup-dump-iso-creator.json index a568110a..b5ecf78d 100644 --- a/web/messages/pt/docs/utils/uup-dump-iso-creator.json +++ b/web/messages/pt/docs/utils/uup-dump-iso-creator.json @@ -150,7 +150,7 @@ "title": "Aguarde que a construção termine", "img": "/iso-creator/end-uupdump-iso-creator.png", "caption": "Compilação terminada — ISO está pronta no armazenamento ISO Proxmox", - "bodyRich": "A consola mostra o progresso do aria2 e depois a saída do conversor. A ISO terminada é movida para o diretório de saída escolhido. Se estiver num armazenamento ISO Proxmox configurado, pode ser selecionada em Create VM → System Windows → Install with ISO from UUP Dump." + "bodyRich": "A consola mostra o progresso do aria2 e depois a saída do conversor. A ISO terminada é movida para o diretório de saída escolhido. Se estiver num armazenamento ISO Proxmox configurado, pode ser selecionada em Criar VM com Windows → Instalar com ISO pessoal." } ] }, diff --git a/web/messages/sk/docs/utils/export-vm.json b/web/messages/sk/docs/utils/export-vm.json index 375ef9d0..85037f00 100644 --- a/web/messages/sk/docs/utils/export-vm.json +++ b/web/messages/sk/docs/utils/export-vm.json @@ -121,7 +121,7 @@ "unsupportedHwTitle": "Export sa dokončí, ale VMware odmietne import: \"Unsupported hardware family\"", "unsupportedHwBody": "Niektoré verzie ESXi odmietajú deskriptory OVF, ktoré deklarujú neznámu rodinu hardvéru. Otvorte .ovf v textovom editore alebo najprv rozbaľte .ova. Nájdite <vssd:VirtualSystemType> a zmeňte hodnotu na takú, ktorú ESXi prijme, napríklad vmx-13 pre ESXi 6.5+. Ako rýchle obídenie problému skúste VirtualBox, ktorý je menej prísny.", "nicTitle": "Importovaná VM používa inú sieťovú kartu alebo radič SCSI", - "nicBody": "OVF zachováva počet sieťových kariet, nie ich pôvodný model. Skontrolujte sieťové nastavenia importovanej VM v cieľovom hypervízore. Export deklaruje radič SCSI lsilogic pre kompatibilitu s VMware. Pri spätnom importe do Proxmoxu môžete vybrať VirtIO SCSI, ak má hosťovský systém vhodné ovládače.", + "nicBody": "OVF zachováva počet sieťových kariet, nie ich pôvodný model. Skontrolujte sieťové nastavenia importovanej VM v cieľovom hypervízore. Export deklaruje radič SCSI lsilogic pre kompatibilitu s VMware. Pri spätnom importe do Proxmoxu cez ProxMenux sa VM vytvorí s radičom LSI a kartami e1000; ak má hosťovský systém vhodné ovládače, prepnite potom na VirtIO SCSI a VirtIO.", "runningTitle": "VM bežala a odmietol som jej vypnutie: export sa zrušil", "runningBody": "Skript nemôže vytvoriť konzistentný obraz, keď sa na disky zapisuje. Nabudúce potvrďte vypnutie alebo najprv vypnite VM ručne (qm shutdown $VMID) a export spustite znova.", "slowTitle": "Konverzia disku je pomalá", diff --git a/web/messages/sk/docs/utils/index.json b/web/messages/sk/docs/utils/index.json index 68c4312a..c006b4bc 100644 --- a/web/messages/sk/docs/utils/index.json +++ b/web/messages/sk/docs/utils/index.json @@ -73,7 +73,7 @@ "options": [ { "title": "Inštalátor systémových nástrojov", - "description": "Výber 25 osvedčených nástrojov CLI (htop, btop, iperf3, jq, tmux, ncdu, ...) s vlastným výberom alebo preddefinovanými skupinami (základné, vývoj, kompresia, multiplexery, analýza, sieť). Používa štandardný postup s repozitárom a overovacím príkazom.", + "description": "Výber 25 osvedčených nástrojov CLI (htop, btop, iperf3, tmux, ...) s vlastným výberom alebo preddefinovanými skupinami (základné, vývoj, kompresia, multiplexery, analýza, sieť). Používa štandardný postup s repozitárom a overovacím príkazom.", "href": "/docs/utils/system-utils" }, { diff --git a/web/messages/sk/docs/utils/system-utils.json b/web/messages/sk/docs/utils/system-utils.json index 935a5020..6a683e47 100644 --- a/web/messages/sk/docs/utils/system-utils.json +++ b/web/messages/sk/docs/utils/system-utils.json @@ -213,7 +213,7 @@ "verify": { "heading": "Overiť inštalácie", "intro": "Možnosť 9 je iba na čítanie: prejde PROXMENUX_UTILS a spustí command -v pre každý príkaz. Výstup vyzerá takto:", - "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...", + "code": "Total: 25\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": "Užitočné pred spustením skriptov závislých od týchto nástrojov. Napríklad uup_dump_iso_creator.sh potrebuje aria2c + cabextract + wimlib-imagex. Ak niečo chýba, nainštalujte príslušnú skupinu alebo vyberte chýbajúce balíky jednotlivo." }, "troubleshoot": { diff --git a/web/messages/sk/docs/utils/uup-dump-iso-creator.json b/web/messages/sk/docs/utils/uup-dump-iso-creator.json index 08eae4bf..8f518879 100644 --- a/web/messages/sk/docs/utils/uup-dump-iso-creator.json +++ b/web/messages/sk/docs/utils/uup-dump-iso-creator.json @@ -150,7 +150,7 @@ "title": "Počkajte na dokončenie vytvárania", "img": "/iso-creator/end-uupdump-iso-creator.png", "caption": "Vytváranie je dokončené — obraz ISO je pripravený v úložisku ISO Proxmox", - "bodyRich": "Konzola zobrazuje priebeh aria2 a potom výstup konvertora. Hotový obraz ISO sa presunie do vybraného výstupného adresára. Ak je v nakonfigurovanom úložisku ISO Proxmox, možno ho vybrať cez Create VM → System Windows → Install with ISO from UUP Dump." + "bodyRich": "Konzola zobrazuje priebeh aria2 a potom výstup konvertora. Hotový obraz ISO sa presunie do vybraného výstupného adresára. Ak je v nakonfigurovanom úložisku ISO Proxmox, možno ho vybrať cez Vytvoriť VM s Windows → Inštalovať z vlastného ISO." } ] }, diff --git a/web/messages/sv/docs/utils/export-vm.json b/web/messages/sv/docs/utils/export-vm.json index 482d66fd..fca9883b 100644 --- a/web/messages/sv/docs/utils/export-vm.json +++ b/web/messages/sv/docs/utils/export-vm.json @@ -121,7 +121,7 @@ "unsupportedHwTitle": "Exporten slutförs men VMware vägrar importera: \"Unsupported hardware family\"", "unsupportedHwBody": "Vissa ESXi-versioner avvisar OVF-beskrivningsfiler som anger en okänd maskinvarufamilj. Öppna .ovf-filen i en textredigerare, eller packa först upp .ova-filen, leta efter <vssd:VirtualSystemType> och ange ett värde som ESXi godtar, till exempel vmx-13 för ESXi 6.5+. Prova VirtualBox som en snabb lösning; det är mindre strikt.", "nicTitle": "Den importerade virtuella maskinen använder ett annat nätverkskort eller en annan SCSI-styrenhet", - "nicBody": "OVF bevarar antalet nätverkskort, men inte deras ursprungliga modell. Granska nätverksinställningarna för den importerade virtuella maskinen i destinationshypervisorn. Exporten anger en lsilogic-SCSI-styrenhet för VMware-kompatibilitet. Vid återimport i Proxmox kan du välja VirtIO SCSI om gästen har lämpliga drivrutiner.", + "nicBody": "OVF bevarar antalet nätverkskort, men inte deras ursprungliga modell. Granska nätverksinställningarna för den importerade virtuella maskinen i destinationshypervisorn. Exporten anger en lsilogic-SCSI-styrenhet för VMware-kompatibilitet. Vid återimport i Proxmox med ProxMenux skapas den virtuella maskinen med en LSI-styrenhet och e1000-nätverkskort; byt sedan till VirtIO SCSI och VirtIO om gästen har lämpliga drivrutiner.", "runningTitle": "Den virtuella maskinen kördes och jag avböjde avstängning: exporten avbröts", "runningBody": "Skriptet kan inte skapa en konsekvent avbildning medan data skrivs till diskarna. Acceptera avstängningsfrågan nästa gång, eller stäng först av den virtuella maskinen manuellt (qm shutdown $VMID) och kör exporten igen.", "slowTitle": "Diskkonverteringen är långsam", diff --git a/web/messages/sv/docs/utils/index.json b/web/messages/sv/docs/utils/index.json index 69f1183d..a8bb8b57 100644 --- a/web/messages/sv/docs/utils/index.json +++ b/web/messages/sv/docs/utils/index.json @@ -73,7 +73,7 @@ "options": [ { "title": "Installationsprogram för systemverktyg", - "description": "Välj bland 25 utvalda CLI-verktyg (htop, btop, iperf3, jq, tmux, ncdu, ...) med eget urval eller fördefinierade grupper (grundläggande, utveckling, komprimering, multiplexrar, analys och nätverk). Använder standardflödet med paketförråd och verifieringskommando.", + "description": "Välj bland 25 utvalda CLI-verktyg (htop, btop, iperf3, tmux, ...) med eget urval eller fördefinierade grupper (grundläggande, utveckling, komprimering, multiplexrar, analys och nätverk). Använder standardflödet med paketförråd och verifieringskommando.", "href": "/docs/utils/system-utils" }, { diff --git a/web/messages/sv/docs/utils/system-utils.json b/web/messages/sv/docs/utils/system-utils.json index 34def926..8c70bd88 100644 --- a/web/messages/sv/docs/utils/system-utils.json +++ b/web/messages/sv/docs/utils/system-utils.json @@ -213,7 +213,7 @@ "verify": { "heading": "Verifiera installationer", "intro": "Alternativ 9 är skrivskyddat: det går igenom PROXMENUX_UTILS och kör command -v för varje verifieringskommando. Utdata ser ut så här:", - "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...", + "code": "Total: 25\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": "Användbart innan du kör skript som behöver verktygen. Till exempel kräver uup_dump_iso_creator.sh kommandona aria2c + cabextract + wimlib-imagex. Om något saknas kan du installera motsvarande grupp eller välja de saknade paketen själv." }, "troubleshoot": { diff --git a/web/messages/sv/docs/utils/uup-dump-iso-creator.json b/web/messages/sv/docs/utils/uup-dump-iso-creator.json index 2bb37e74..f4abef92 100644 --- a/web/messages/sv/docs/utils/uup-dump-iso-creator.json +++ b/web/messages/sv/docs/utils/uup-dump-iso-creator.json @@ -150,7 +150,7 @@ "title": "Vänta tills ISO-filen är klar", "img": "/iso-creator/end-uupdump-iso-creator.png", "caption": "Skapandet är klart: ISO-filen finns i Proxmox ISO-lagring", - "bodyRich": "Konsolen visar aria2-förloppet och sedan konverterarens utdata. Den färdiga ISO-filen flyttas till den valda utdatakatalogen. Om den ligger i konfigurerad Proxmox ISO-lagring kan du välja den via Create VM → System Windows → Install with ISO from UUP Dump." + "bodyRich": "Konsolen visar aria2-förloppet och sedan konverterarens utdata. Den färdiga ISO-filen flyttas till den valda utdatakatalogen. Om den ligger i konfigurerad Proxmox ISO-lagring kan du välja den via Skapa VM System Windows → Installera med personlig ISO." } ] }, From 53191b9e7ac97e44d9bd17431eae3afb0ada7e9e Mon Sep 17 00:00:00 2001 From: MacRimi <123239993+MacRimi@users.noreply.github.com> Date: Sun, 18 Oct 2026 16:05:23 +0200 Subject: [PATCH 4/4] Describe the PVE 8 to 9 automatic mode as the script runs it --- web/messages/de/docs/utils/upgrade-pve8-pve9.json | 12 ++++++------ web/messages/en/docs/utils/upgrade-pve8-pve9.json | 12 ++++++------ web/messages/es/docs/utils/upgrade-pve8-pve9.json | 12 ++++++------ web/messages/fr/docs/utils/upgrade-pve8-pve9.json | 12 ++++++------ web/messages/it/docs/utils/upgrade-pve8-pve9.json | 12 ++++++------ web/messages/pt/docs/utils/upgrade-pve8-pve9.json | 12 ++++++------ web/messages/sk/docs/utils/upgrade-pve8-pve9.json | 12 ++++++------ web/messages/sv/docs/utils/upgrade-pve8-pve9.json | 12 ++++++------ 8 files changed, 48 insertions(+), 48 deletions(-) diff --git a/web/messages/de/docs/utils/upgrade-pve8-pve9.json b/web/messages/de/docs/utils/upgrade-pve8-pve9.json index 774ea1e6..f7f766b2 100644 --- a/web/messages/de/docs/utils/upgrade-pve8-pve9.json +++ b/web/messages/de/docs/utils/upgrade-pve8-pve9.json @@ -33,7 +33,7 @@ "title": "Automatisch / unbeaufsichtigt", "summary": "Setzt ASSUME_YES=1 + DEBIAN_FRONTEND=noninteractive. Bei geänderten Konfigurationsdateien verwendet dpkg seine Standardaktion, sofern vorhanden; andernfalls wird die vorhandene Datei beibehalten (--force-confold).", "items": [ - "Am schnellsten — kein Warten auf Rückfragen", + "Am schnellsten — keine dpkg-Rückfragen während des Upgrades", "Geeignet für Standardinstallationen ohne angepasste Konfigurationsdateien", "Risiko: Eine angepasste Datei bleibt ohne Rückfrage erhalten und kann neue Standardwerte überlagern" ] @@ -69,7 +69,7 @@ }, "auto": { "heading": "Automatischer / unbeaufsichtigter Modus", - "intro": "Übliche Bestätigungen und Rückfragen zu Konfigurationsdateien verwenden die eingestellten Standardantworten. Blockierende Fehler der Vorabprüfung können weiterhin Eingriffe erfordern. Verwenden Sie den Modus für Standardinstallationen oder nachdem Sie die Auswirkungen auf angepasste Dateien geprüft haben.", + "intro": "Rückfragen zu Paketen und Konfigurationsdateien verwenden die Standardwerte aus der folgenden Tabelle, und ein 401 vom Enterprise-Repository wechselt ohne Rückfrage zu no-subscription. Die Upgrade-Bestätigung, die Zusammenfassung des PVE-8-Updates, Reparaturen der Vorabprüfung und die Neustart-Rückfrage werden weiterhin angezeigt.", "behaviourHeading": "Besonderheiten des automatischen Modus", "behaviourTable": { "settingHeader": "Einstellung", @@ -77,7 +77,7 @@ "rows": [ { "settingRich": "ASSUME_YES=1", - "effectRich": "Interner Schalter — bestätigt die Ja/Nein-Rückfragen des Skripts automatisch" + "effectRich": "Interner Schalter — das Skript beantwortet seine eigenen Ja/Nein-Rückfragen, etwa den Wechsel zu no-subscription nach einem 401" }, { "settingRich": "DEBIAN_FRONTEND=noninteractive", @@ -94,8 +94,8 @@ ] }, "flowHeading": "Ablauf im automatischen Modus", - "flowIntro": "Sechs aufeinanderfolgende Phasen. Frühere Phasen können PVE-8-Pakete aktualisieren und Repository-Dateien schreiben. Ein Fehler hält den Ablauf an, macht diese Änderungen aber nicht rückgängig. Phase 5 führt dist-upgrade auf PVE 9 aus.", - "flowDiagram": "1. PRÜFUNGEN\ntermproxy / vncshell blockieren; PVE 9 ablehnen; Speicher und Verbindung prüfen.\nBei installiertem Ceph ist 19.x Squid erforderlich.\npve8to9 --full (kann Reparaturen anbieten).\n\n2. PVE 8 VORBEREITEN\nscripts/global/update-pve8.sh\nPVE-8-Pakete aktualisieren; systemctl restart pve-manager.\n\n3. REPOSITORIES UMSTELLEN\nBookworm → Trixie; deb822-Dateien .sources schreiben.\nAlte .list-Dateien auskommentieren; apt-get update.\n\n4. PVE-9-KANDIDAT PRÜFEN\napt-cache policy proxmox-ve\napt-get -s dist-upgrade\nAbbruch, wenn der Kandidat nicht 9.x ist oder proxmox-ve entfernt würde.\n\n5. UPGRADE\napt-get -y -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' dist-upgrade\nProtokoll: /var/log/pve8-a-pve9-'<'timestamp'>'.log\n\n6. PRÜFEN UND NEU STARTEN\nEFI: apt install grub-efi-amd64\npve8to9 --full; Ergebnis und Neustart-Rückfrage prüfen.", + "flowIntro": "Sechs aufeinanderfolgende Phasen. Phase 2 aktualisiert die PVE-8-Pakete, Phase 3 schreibt die Repository-Konfiguration für PVE 9. Ein Fehler hält den Ablauf an, macht diese Änderungen aber nicht rückgängig; schlägt das PVE-8-Update fehl oder wird es abgebrochen, bleiben die Repositories unverändert. Phase 5 führt dist-upgrade auf PVE 9 aus.", + "flowDiagram": "1. PRÜFUNGEN\ntermproxy / vncshell blockieren; Upgrade bestätigen; PVE 9 ablehnen.\n\n2. PVE 8 VORBEREITEN\nscripts/global/update-pve8.sh\nPVE-8-Pakete aktualisieren; Abbruch, wenn das Update fehlschlägt oder abgebrochen wird.\npve8to9 --full (kann Reparaturen anbieten).\nSpeicher und Verbindung prüfen; Ceph 19.x Squid auf hyperkonvergenten Knoten.\n\n3. REPOSITORIES UMSTELLEN\nBookworm → Trixie; deb822-Dateien .sources schreiben.\nAlte .list-Dateien auskommentieren; apt-get update.\n\n4. PVE-9-KANDIDAT PRÜFEN\napt-cache policy proxmox-ve\napt-get -s dist-upgrade\nAbbruch, wenn der Kandidat nicht 9.x ist oder proxmox-ve entfernt würde.\n\n5. UPGRADE\napt-get -y -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' dist-upgrade\nOhne Subskription: pve-enterprise.sources deaktivieren.\nProtokoll: /var/log/pve8-a-pve9-'<'timestamp'>'.log\n\n6. PRÜFEN UND NEU STARTEN\nEFI: apt install grub-efi-amd64\npve8to9 --full; Ergebnis und Neustart-Rückfrage prüfen.", "preflightHeading": "Vor dem Upgrade: diese Punkte werden geprüft", "preflightTable": { "checkHeader": "Prüfung", @@ -137,7 +137,7 @@ "postHeading": "Post-Upgrade-Aufgaben (Automodus)", "postItems": [ "EFI-Hosts: installiert grub-efi-amd64 gemäß dem bekannten Problem in der Proxmox-Dokumentation. Das Paket wird beim Upgrade nicht automatisch installiert und kann für den nächsten Start erforderlich sein.", - "Zeitpunkt des Neustarts von pve-manager. Der ausdrückliche Neustart erfolgt bei der Vorbereitung von PVE 8, vor dem Paket-Upgrade auf Trixie/PVE 9.", + "Enterprise-Repository ohne Subskription. pve-manager 9 legt beim Upgrade pve-enterprise.sources an; im no-subscription-Modus setzt das Skript es auf Enabled: false.", "pve8to9 --full erneut ausführen. Zeigt verbliebene Probleme. Bei FAIL-Meldungen erscheint das gleiche Reparaturmenü wie bei der Vorabprüfung.", "Neustart-Rückfrage. Ein Neustart wird empfohlen, um den neuen Kernel und die Dienste zu laden. Lehnen Sie ihn nur aus einem konkreten Grund ab; der alte Kernel nach einem Hauptversionswechsel birgt Risiken." ] diff --git a/web/messages/en/docs/utils/upgrade-pve8-pve9.json b/web/messages/en/docs/utils/upgrade-pve8-pve9.json index 11953036..559442bf 100644 --- a/web/messages/en/docs/utils/upgrade-pve8-pve9.json +++ b/web/messages/en/docs/utils/upgrade-pve8-pve9.json @@ -33,7 +33,7 @@ "title": "Automatic / Unattended", "summary": "Sets ASSUME_YES=1 + DEBIAN_FRONTEND=noninteractive. For modified configuration files, dpkg uses its default action when available; otherwise it will keep the current file (--force-confold).", "items": [ - "Fastest — no waiting for prompts", + "Fastest — no dpkg prompts during the upgrade", "Best for vanilla installs without custom config files", "Risk: a config you customised is silently kept and may shadow new defaults" ] @@ -69,7 +69,7 @@ }, "auto": { "heading": "Automatic / Unattended mode", - "intro": "Standard confirmation and configuration-file prompts use the configured defaults. Blocking pre-check failures may still require action. Use this mode for standard installations or after reviewing how the defaults affect your customised configuration files.", + "intro": "Package and configuration-file prompts use the defaults in the table below, and a 401 from the enterprise repository switches to no-subscription without asking. The upgrade confirmation, the PVE 8 update summary, any pre-check repairs and the reboot prompt are still shown.", "behaviourHeading": "Auto-mode-specific behaviour", "behaviourTable": { "settingHeader": "Setting", @@ -77,7 +77,7 @@ "rows": [ { "settingRich": "ASSUME_YES=1", - "effectRich": "Internal flag — every yes/no confirmation in the script auto-confirms" + "effectRich": "Internal flag — the script answers its own yes/no questions, such as switching to no-subscription after a 401" }, { "settingRich": "DEBIAN_FRONTEND=noninteractive", @@ -94,8 +94,8 @@ ] }, "flowHeading": "Auto-mode flow", - "flowIntro": "Six sequential phases. Earlier phases can update PVE 8 packages and write repository configuration. A failure stops the flow but does not roll those changes back. Phase 5 runs the PVE 9 dist-upgrade.", - "flowDiagram": "1. CHECKS\nBlock termproxy / vncshell; reject PVE 9; check space and connectivity.\nRequire Ceph 19.x Squid when installed.\npve8to9 --full (may offer repairs).\n\n2. PREPARE PVE 8\nscripts/global/update-pve8.sh\nUpdate PVE 8 packages; systemctl restart pve-manager.\n\n3. MIGRATE REPOSITORIES\nBookworm → Trixie; write deb822 .sources files.\nComment legacy .list files; apt-get update.\n\n4. VALIDATE THE PVE 9 CANDIDATE\napt-cache policy proxmox-ve\napt-get -s dist-upgrade\nStop if the candidate is not 9.x or proxmox-ve would be removed.\n\n5. UPGRADE\napt-get -y -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' dist-upgrade\nLog: /var/log/pve8-a-pve9-'<'timestamp'>'.log\n\n6. VERIFY AND REBOOT\nEFI: apt install grub-efi-amd64\npve8to9 --full; review results and the reboot prompt.", + "flowIntro": "Six sequential phases. Phase 2 updates the PVE 8 packages and phase 3 writes the PVE 9 repository configuration. A failure stops the flow without rolling those changes back; if the PVE 8 update fails or is cancelled, the repositories are left unchanged. Phase 5 runs the PVE 9 dist-upgrade.", + "flowDiagram": "1. CHECKS\nBlock termproxy / vncshell; confirm the upgrade; reject PVE 9.\n\n2. PREPARE PVE 8\nscripts/global/update-pve8.sh\nUpdate PVE 8 packages; stop if the update fails or is cancelled.\npve8to9 --full (may offer repairs).\nCheck space and connectivity; Ceph 19.x Squid on hyper-converged nodes.\n\n3. MIGRATE REPOSITORIES\nBookworm → Trixie; write deb822 .sources files.\nComment legacy .list files; apt-get update.\n\n4. VALIDATE THE PVE 9 CANDIDATE\napt-cache policy proxmox-ve\napt-get -s dist-upgrade\nStop if the candidate is not 9.x or proxmox-ve would be removed.\n\n5. UPGRADE\napt-get -y -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' dist-upgrade\nNo subscription: disable pve-enterprise.sources.\nLog: /var/log/pve8-a-pve9-'<'timestamp'>'.log\n\n6. VERIFY AND REBOOT\nEFI: apt install grub-efi-amd64\npve8to9 --full; review results and the reboot prompt.", "preflightHeading": "Pre-flight: what gets checked", "preflightTable": { "checkHeader": "Check", @@ -137,7 +137,7 @@ "postHeading": "Post-upgrade tasks (auto mode)", "postItems": [ "EFI hosts: installs grub-efi-amd64 (known issue per Proxmox docs — the upgrade doesn't pull it in automatically and the next boot would fail without it).", - "Restart timing for pve-manager. The explicit restart is part of PVE 8 preparation, before the Trixie/PVE 9 package upgrade.", + "Enterprise repository without a subscription. pve-manager 9 adds pve-enterprise.sources during the upgrade; in no-subscription mode the script sets it to Enabled: false.", "Re-run pve8to9 --full. Surfaces any residual issues that the upgrade didn't resolve. If FAILs are reported, the same guided-repair menu as the pre-check appears.", "Reboot prompt. \"It is RECOMMENDED to reboot now to load the new kernel and services. Reboot now?\" Decline only if you have a specific reason — running on the old kernel after a major upgrade is risky." ] diff --git a/web/messages/es/docs/utils/upgrade-pve8-pve9.json b/web/messages/es/docs/utils/upgrade-pve8-pve9.json index 99fc806a..659a968f 100644 --- a/web/messages/es/docs/utils/upgrade-pve8-pve9.json +++ b/web/messages/es/docs/utils/upgrade-pve8-pve9.json @@ -33,7 +33,7 @@ "title": "Automática / Desatendida", "summary": "Establece ASSUME_YES=1 + DEBIAN_FRONTEND=noninteractive. Para archivos de configuración modificados, dpkg utiliza su acción predeterminada si existe; en caso contrario, conserva el archivo actual (--force-confold).", "items": [ - "Lo más rápido — sin esperas por prompts", + "Lo más rápido — sin preguntas de dpkg durante la actualización", "Mejor para instalaciones vanilla sin archivos de configuración personalizados", "Riesgo: una configuración que personalizaste se mantiene silenciosamente y puede tapar nuevos valores por defecto" ] @@ -69,7 +69,7 @@ }, "auto": { "heading": "Modo Automático / Desatendido", - "intro": "Las confirmaciones y las preguntas habituales sobre archivos de configuración usan las respuestas predeterminadas. Los fallos de las comprobaciones previas pueden requerir intervención. Usa este modo en instalaciones estándar o después de revisar cómo afectan esas respuestas a tus archivos personalizados.", + "intro": "Las preguntas de paquetes y archivos de configuración usan los valores predeterminados de la tabla siguiente, y un 401 del repositorio Enterprise cambia a no-subscription sin preguntar. La confirmación de la actualización, el resumen de la actualización de PVE 8, las reparaciones de la comprobación previa y la pregunta de reinicio se siguen mostrando.", "behaviourHeading": "Comportamiento específico del modo automático", "behaviourTable": { "settingHeader": "Ajuste", @@ -77,7 +77,7 @@ "rows": [ { "settingRich": "ASSUME_YES=1", - "effectRich": "Flag interno — cada confirmación sí/no del script se autoconfirma" + "effectRich": "Flag interno — el script responde sí a sus propias preguntas, como cambiar a no-subscription tras un 401" }, { "settingRich": "DEBIAN_FRONTEND=noninteractive", @@ -94,8 +94,8 @@ ] }, "flowHeading": "Flujo del modo automático", - "flowIntro": "Seis fases consecutivas. Las primeras pueden actualizar paquetes de PVE 8 y escribir la configuración de repositorios. Un fallo detiene el proceso, pero no revierte esos cambios. La fase 5 ejecuta dist-upgrade para PVE 9.", - "flowDiagram": "1. COMPROBACIONES\nBloquea termproxy / vncshell; rechaza PVE 9; comprueba espacio y conectividad.\nExige Ceph 19.x Squid si está instalado.\npve8to9 --full (puede ofrecer reparaciones).\n\n2. PREPARAR PVE 8\nscripts/global/update-pve8.sh\nActualiza los paquetes de PVE 8; systemctl restart pve-manager.\n\n3. MIGRAR REPOSITORIOS\nBookworm → Trixie; escribe archivos deb822 .sources.\nComenta los archivos .list antiguos; apt-get update.\n\n4. VALIDAR EL CANDIDATO DE PVE 9\napt-cache policy proxmox-ve\napt-get -s dist-upgrade\nSe detiene si el candidato no es 9.x o se eliminaría proxmox-ve.\n\n5. ACTUALIZAR\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. VERIFICAR Y REINICIAR\nEFI: apt install grub-efi-amd64\npve8to9 --full; revisa el resultado y la pregunta de reinicio.", + "flowIntro": "Seis fases consecutivas. La fase 2 actualiza los paquetes de PVE 8 y la fase 3 escribe la configuración de repositorios de PVE 9. Un fallo detiene el proceso sin revertir esos cambios; si la actualización de PVE 8 falla o se cancela, los repositorios no se modifican. La fase 5 ejecuta dist-upgrade para PVE 9.", + "flowDiagram": "1. COMPROBACIONES\nBloquea termproxy / vncshell; confirma la actualización; rechaza PVE 9.\n\n2. PREPARAR PVE 8\nscripts/global/update-pve8.sh\nActualiza los paquetes de PVE 8; se detiene si la actualización falla o se cancela.\npve8to9 --full (puede ofrecer reparaciones).\nComprueba espacio y conectividad; Ceph 19.x Squid en nodos hiperconvergentes.\n\n3. MIGRAR REPOSITORIOS\nBookworm → Trixie; escribe archivos deb822 .sources.\nComenta los archivos .list antiguos; apt-get update.\n\n4. VALIDAR EL CANDIDATO DE PVE 9\napt-cache policy proxmox-ve\napt-get -s dist-upgrade\nSe detiene si el candidato no es 9.x o se eliminaría proxmox-ve.\n\n5. ACTUALIZAR\napt-get -y -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' dist-upgrade\nSin suscripción: desactiva pve-enterprise.sources.\nRegistro: /var/log/pve8-a-pve9-'<'timestamp'>'.log\n\n6. VERIFICAR Y REINICIAR\nEFI: apt install grub-efi-amd64\npve8to9 --full; revisa el resultado y la pregunta de reinicio.", "preflightHeading": "Comprobaciones previas: qué se chequea", "preflightTable": { "checkHeader": "Chequeo", @@ -137,7 +137,7 @@ "postHeading": "Tareas post-upgrade (modo automático)", "postItems": [ "Hosts EFI: instala grub-efi-amd64 (problema conocido según la documentación de Proxmox — el upgrade no lo trae automáticamente y el siguiente arranque fallaría sin él).", - "Momento del reinicio de pve-manager. El reinicio explícito forma parte de la preparación de PVE 8, antes de actualizar los paquetes a Trixie/PVE 9.", + "Repositorio Enterprise sin suscripción. pve-manager 9 añade pve-enterprise.sources durante la actualización; en modo no-subscription, el script lo marca como Enabled: false.", "Volver a ejecutar pve8to9 --full. Saca a la luz cualquier problema residual que el upgrade no resolvió. Si se reportan FAILs, aparece el mismo menú de reparación guiada de la pre-comprobación.", "Pregunta de reinicio. Se recomienda reiniciar para cargar el nuevo núcleo y los servicios. Recházalo solo si tienes un motivo concreto: seguir con el núcleo anterior tras un cambio de versión principal supone un riesgo." ] diff --git a/web/messages/fr/docs/utils/upgrade-pve8-pve9.json b/web/messages/fr/docs/utils/upgrade-pve8-pve9.json index 5feeb7cd..4f90f710 100644 --- a/web/messages/fr/docs/utils/upgrade-pve8-pve9.json +++ b/web/messages/fr/docs/utils/upgrade-pve8-pve9.json @@ -33,7 +33,7 @@ "title": "Automatique / Sans surveillance", "summary": "Définit ASSUME_YES=1 + DEBIAN_FRONTEND=noninteractive. Pour les fichiers de configuration modifiés, dpkg utilise son action par défaut si elle existe ; sinon, il conserve le fichier actuel (--force-confold).", "items": [ - "Le plus rapide — aucune attente des réponses", + "Le plus rapide — aucune question dpkg pendant la mise à niveau", "Adapté aux installations standard sans fichiers de configuration personnalisés", "Risque : une configuration personnalisée est conservée sans question et peut masquer les nouvelles valeurs par défaut" ] @@ -69,7 +69,7 @@ }, "auto": { "heading": "Mode automatique / sans surveillance", - "intro": "Les confirmations et les questions habituelles sur les fichiers de configuration utilisent les réponses par défaut. Des échecs bloquants du contrôle préalable peuvent encore demander une intervention. Réservez ce mode aux installations standard, ou examinez d’abord l’effet des réponses sur vos fichiers personnalisés.", + "intro": "Les questions sur les paquets et les fichiers de configuration utilisent les valeurs par défaut du tableau ci-dessous, et un 401 du dépôt Enterprise bascule vers no-subscription sans demander. La confirmation de la mise à niveau, le résumé de la mise à jour PVE 8, les réparations du contrôle préalable et la demande de redémarrage restent affichés.", "behaviourHeading": "Comportement propre au mode automatique", "behaviourTable": { "settingHeader": "Réglage", @@ -77,7 +77,7 @@ "rows": [ { "settingRich": "ASSUME_YES=1", - "effectRich": "Option interne — confirme automatiquement les questions oui/non du script" + "effectRich": "Option interne — le script répond oui à ses propres questions, comme le passage à no-subscription après un 401" }, { "settingRich": "DEBIAN_FRONTEND=noninteractive", @@ -94,8 +94,8 @@ ] }, "flowHeading": "Déroulement du mode automatique", - "flowIntro": "Six phases successives. Les premières peuvent mettre à jour des paquets PVE 8 et écrire la configuration des dépôts. Un échec arrête le déroulement sans annuler ces modifications. La phase 5 lance dist-upgrade vers PVE 9.", - "flowDiagram": "1. CONTRÔLES\nBloque termproxy / vncshell ; refuse PVE 9 ; vérifie espace et connectivité.\nExige Ceph 19.x Squid s’il est installé.\npve8to9 --full (peut proposer des réparations).\n\n2. PRÉPARER PVE 8\nscripts/global/update-pve8.sh\nMet à jour les paquets PVE 8 ; systemctl restart pve-manager.\n\n3. MIGRER LES DÉPÔTS\nBookworm → Trixie ; écrit les fichiers deb822 .sources.\nCommente les anciens fichiers .list ; apt-get update.\n\n4. VALIDER LE CANDIDAT PVE 9\napt-cache policy proxmox-ve\napt-get -s dist-upgrade\nArrêt si le candidat n’est pas 9.x ou si proxmox-ve serait supprimé.\n\n5. METTRE À NIVEAU\napt-get -y -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' dist-upgrade\nJournal : /var/log/pve8-a-pve9-'<'timestamp'>'.log\n\n6. VÉRIFIER ET REDÉMARRER\nEFI : apt install grub-efi-amd64\npve8to9 --full ; examiner le résultat et la demande de redémarrage.", + "flowIntro": "Six phases successives. La phase 2 met à jour les paquets PVE 8 et la phase 3 écrit la configuration des dépôts PVE 9. Un échec arrête le déroulement sans annuler ces modifications ; si la mise à jour PVE 8 échoue ou est annulée, les dépôts restent inchangés. La phase 5 lance dist-upgrade vers PVE 9.", + "flowDiagram": "1. CONTRÔLES\nBloque termproxy / vncshell ; confirme la mise à niveau ; refuse PVE 9.\n\n2. PRÉPARER PVE 8\nscripts/global/update-pve8.sh\nMet à jour les paquets PVE 8 ; arrêt si la mise à jour échoue ou est annulée.\npve8to9 --full (peut proposer des réparations).\nVérifie espace et connectivité ; Ceph 19.x Squid sur les nœuds hyperconvergés.\n\n3. MIGRER LES DÉPÔTS\nBookworm → Trixie ; écrit les fichiers deb822 .sources.\nCommente les anciens fichiers .list ; apt-get update.\n\n4. VALIDER LE CANDIDAT PVE 9\napt-cache policy proxmox-ve\napt-get -s dist-upgrade\nArrêt si le candidat n’est pas 9.x ou si proxmox-ve serait supprimé.\n\n5. METTRE À NIVEAU\napt-get -y -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' dist-upgrade\nSans abonnement : désactive pve-enterprise.sources.\nJournal : /var/log/pve8-a-pve9-'<'timestamp'>'.log\n\n6. VÉRIFIER ET REDÉMARRER\nEFI : apt install grub-efi-amd64\npve8to9 --full ; examiner le résultat et la demande de redémarrage.", "preflightHeading": "Contrôles avant la mise à niveau", "preflightTable": { "checkHeader": "Vérifier", @@ -137,7 +137,7 @@ "postHeading": "Tâches après mise à niveau (mode automatique)", "postItems": [ "Hôtes EFI : installe grub-efi-amd64, conformément au problème connu décrit par Proxmox. La mise à niveau ne l’installe pas automatiquement et il peut être nécessaire au prochain démarrage.", - "Moment du redémarrage de pve-manager. Ce redémarrage explicite intervient pendant la préparation de PVE 8, avant la mise à niveau des paquets vers Trixie/PVE 9.", + "Dépôt Enterprise sans abonnement. pve-manager 9 ajoute pve-enterprise.sources pendant la mise à niveau ; en mode no-subscription, le script le règle sur Enabled: false.", "Relance pve8to9 --full. Signale les problèmes restants. Des erreurs FAIL affichent le même menu de réparation que le contrôle préalable.", "Demande de redémarrage. Il est recommandé de redémarrer pour charger le nouveau noyau et les services. Ne refusez que pour une raison précise : garder l’ancien noyau après un changement de version majeure présente un risque." ] diff --git a/web/messages/it/docs/utils/upgrade-pve8-pve9.json b/web/messages/it/docs/utils/upgrade-pve8-pve9.json index b97f0fa5..74b96503 100644 --- a/web/messages/it/docs/utils/upgrade-pve8-pve9.json +++ b/web/messages/it/docs/utils/upgrade-pve8-pve9.json @@ -33,7 +33,7 @@ "title": "Automatico / Senza intervento", "summary": "Imposta ASSUME_YES=1 + DEBIAN_FRONTEND=noninteractive. Per i file di configurazione modificati, dpkg usa l’azione predefinita se disponibile; altrimenti conserva il file attuale (--force-confold).", "items": [ - "Più veloce — nessuna attesa per le richieste", + "Più veloce — nessuna domanda di dpkg durante l’aggiornamento", "Adatto a installazioni standard senza file di configurazione personalizzati", "Rischio: un file personalizzato viene conservato senza domande e può nascondere i nuovi valori predefiniti" ] @@ -69,7 +69,7 @@ }, "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.", + "intro": "Le domande su pacchetti e file di configurazione usano i valori predefiniti della tabella seguente, e un 401 dal repository Enterprise passa a no-subscription senza chiedere. La conferma dell’aggiornamento, il riepilogo dell’aggiornamento di PVE 8, le riparazioni dei controlli e la richiesta di riavvio vengono comunque mostrati.", "behaviourHeading": "Comportamento specifico della modalità automatica", "behaviourTable": { "settingHeader": "Impostazione", @@ -77,7 +77,7 @@ "rows": [ { "settingRich": "ASSUME_YES=1", - "effectRich": "Opzione interna — conferma automaticamente le domande sì/no dello script" + "effectRich": "Opzione interna — lo script risponde sì alle proprie domande, come il passaggio a no-subscription dopo un 401" }, { "settingRich": "DEBIAN_FRONTEND=noninteractive", @@ -94,8 +94,8 @@ ] }, "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 dist-upgrade 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.", + "flowIntro": "Sei fasi consecutive. La fase 2 aggiorna i pacchetti PVE 8 e la fase 3 scrive la configurazione dei repository di PVE 9. Un errore interrompe il percorso senza annullare quelle modifiche; se l’aggiornamento di PVE 8 non riesce o viene annullato, i repository restano invariati. La fase 5 esegue dist-upgrade a PVE 9.", + "flowDiagram": "1. CONTROLLI\nBlocca termproxy / vncshell; conferma l’aggiornamento; rifiuta PVE 9.\n\n2. PREPARARE PVE 8\nscripts/global/update-pve8.sh\nAggiorna i pacchetti PVE 8; si ferma se l’aggiornamento non riesce o viene annullato.\npve8to9 --full (può proporre riparazioni).\nControlla spazio e connettività; Ceph 19.x Squid sui nodi iperconvergenti.\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\nSenza abbonamento: disattiva pve-enterprise.sources.\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", @@ -137,7 +137,7 @@ "postHeading": "Operazioni successive all’aggiornamento (modalità automatica)", "postItems": [ "Host EFI: installa grub-efi-amd64 come indicato tra i problemi noti di Proxmox. Non viene installato automaticamente durante l’aggiornamento e può essere necessario per il prossimo avvio.", - "Quando viene riavviato pve-manager. Il riavvio esplicito avviene durante la preparazione di PVE 8, prima dell’aggiornamento dei pacchetti a Trixie/PVE 9.", + "Repository Enterprise senza abbonamento. pve-manager 9 aggiunge pve-enterprise.sources durante l’aggiornamento; in modalità no-subscription lo script lo imposta su Enabled: false.", "Esegue di nuovo pve8to9 --full. Segnala i problemi rimasti. In presenza di FAIL compare lo stesso menu di riparazione dei controlli preliminari.", "Richiesta di riavvio. 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." ] diff --git a/web/messages/pt/docs/utils/upgrade-pve8-pve9.json b/web/messages/pt/docs/utils/upgrade-pve8-pve9.json index 2b2c3423..441a52ce 100644 --- a/web/messages/pt/docs/utils/upgrade-pve8-pve9.json +++ b/web/messages/pt/docs/utils/upgrade-pve8-pve9.json @@ -33,7 +33,7 @@ "title": "Automático / Sem assistência", "summary": "Define ASSUME_YES=1 + DEBIAN_FRONTEND=noninteractive. Para ficheiros de configuração modificados, o dpkg usa a ação predefinida se existir; caso contrário, mantém o ficheiro atual (--force-confold).", "items": [ - "O mais rápido — sem esperar por instruções", + "O mais rápido — sem perguntas do dpkg durante a atualização", "Adequado para instalações padrão sem ficheiros de configuração personalizados", "Risco: uma configuração personalizada é mantida sem perguntas e pode ocultar os novos valores predefinidos" ] @@ -69,7 +69,7 @@ }, "auto": { "heading": "Modo automático / sem vigilância", - "intro": "As confirmações e perguntas habituais sobre ficheiros de configuração usam as respostas predefinidas. As falhas bloqueantes das verificações podem continuar a exigir intervenção. Utilize este modo em instalações padrão ou depois de avaliar o efeito das respostas nos ficheiros personalizados.", + "intro": "As perguntas sobre pacotes e ficheiros de configuração usam os valores predefinidos da tabela seguinte, e um 401 do repositório Enterprise muda para no-subscription sem perguntar. A confirmação da atualização, o resumo da atualização do PVE 8, as reparações das verificações e a pergunta de reinício continuam a ser apresentados.", "behaviourHeading": "Comportamento específico do modo automático", "behaviourTable": { "settingHeader": "Configuração", @@ -77,7 +77,7 @@ "rows": [ { "settingRich": "ASSUME_YES=1", - "effectRich": "Opção interna — confirma automaticamente as perguntas sim/não do script" + "effectRich": "Opção interna — o script responde sim às suas próprias perguntas, como mudar para no-subscription após um 401" }, { "settingRich": "DEBIAN_FRONTEND=noninteractive", @@ -94,8 +94,8 @@ ] }, "flowHeading": "Processo do modo automático", - "flowIntro": "Seis fases consecutivas. As primeiras podem atualizar pacotes PVE 8 e escrever a configuração dos repositórios. Uma falha interrompe o processo sem reverter essas alterações. A fase 5 executa dist-upgrade para PVE 9.", - "flowDiagram": "1. VERIFICAÇÕES\nBloqueia termproxy / vncshell; rejeita PVE 9; verifica espaço e conectividade.\nExige Ceph 19.x Squid se estiver instalado.\npve8to9 --full (pode propor reparações).\n\n2. PREPARAR PVE 8\nscripts/global/update-pve8.sh\nAtualiza os pacotes PVE 8; systemctl restart pve-manager.\n\n3. MIGRAR REPOSITÓRIOS\nBookworm → Trixie; escreve ficheiros deb822 .sources.\nComenta os ficheiros .list antigos; apt-get update.\n\n4. VALIDAR O CANDIDATO PVE 9\napt-cache policy proxmox-ve\napt-get -s dist-upgrade\nPara se o candidato não for 9.x ou se proxmox-ve fosse removido.\n\n5. ATUALIZAR\napt-get -y -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' dist-upgrade\nRegisto: /var/log/pve8-a-pve9-'<'timestamp'>'.log\n\n6. VERIFICAR E REINICIAR\nEFI: apt install grub-efi-amd64\npve8to9 --full; examine os resultados e a pergunta de reinício.", + "flowIntro": "Seis fases consecutivas. A fase 2 atualiza os pacotes PVE 8 e a fase 3 escreve a configuração dos repositórios do PVE 9. Uma falha interrompe o processo sem reverter essas alterações; se a atualização do PVE 8 falhar ou for cancelada, os repositórios ficam inalterados. A fase 5 executa dist-upgrade para PVE 9.", + "flowDiagram": "1. VERIFICAÇÕES\nBloqueia termproxy / vncshell; confirma a atualização; rejeita PVE 9.\n\n2. PREPARAR PVE 8\nscripts/global/update-pve8.sh\nAtualiza os pacotes PVE 8; para se a atualização falhar ou for cancelada.\npve8to9 --full (pode propor reparações).\nVerifica espaço e conectividade; Ceph 19.x Squid em nós hiperconvergentes.\n\n3. MIGRAR REPOSITÓRIOS\nBookworm → Trixie; escreve ficheiros deb822 .sources.\nComenta os ficheiros .list antigos; apt-get update.\n\n4. VALIDAR O CANDIDATO PVE 9\napt-cache policy proxmox-ve\napt-get -s dist-upgrade\nPara se o candidato não for 9.x ou se proxmox-ve fosse removido.\n\n5. ATUALIZAR\napt-get -y -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' dist-upgrade\nSem subscrição: desativa pve-enterprise.sources.\nRegisto: /var/log/pve8-a-pve9-'<'timestamp'>'.log\n\n6. VERIFICAR E REINICIAR\nEFI: apt install grub-efi-amd64\npve8to9 --full; examine os resultados e a pergunta de reinício.", "preflightHeading": "Verificações antes da atualização", "preflightTable": { "checkHeader": "Verificar", @@ -137,7 +137,7 @@ "postHeading": "Tarefas de pós- atualização (modo automático)", "postItems": [ "Anfitriões EFI: instala grub-efi-amd64, de acordo com o problema conhecido na documentação Proxmox. A atualização não o instala automaticamente e pode ser necessário no próximo arranque.", - "Momento do reinício de pve-manager. O reinício explícito faz parte da preparação do PVE 8, antes da atualização dos pacotes para Trixie/PVE 9.", + "Repositório Enterprise sem subscrição. O pve-manager 9 adiciona pve-enterprise.sources durante a atualização; no modo no-subscription, o script define-o como Enabled: false.", "Volta a executar pve8to9 --full. Mostra problemas restantes. Os erros FAIL apresentam o mesmo menu de reparação da verificação prévia.", "Pergunta de reinício. Recomenda-se reiniciar para carregar o novo kernel e os serviços. Recuse apenas por um motivo concreto: manter o kernel antigo após uma atualização de versão principal apresenta riscos." ] diff --git a/web/messages/sk/docs/utils/upgrade-pve8-pve9.json b/web/messages/sk/docs/utils/upgrade-pve8-pve9.json index da522ded..d4aa1c6b 100644 --- a/web/messages/sk/docs/utils/upgrade-pve8-pve9.json +++ b/web/messages/sk/docs/utils/upgrade-pve8-pve9.json @@ -33,7 +33,7 @@ "title": "Automatické / bez dozoru", "summary": "Nastaví ASSUME_YES=1 + DEBIAN_FRONTEND=noninteractive. Pri upravených konfiguračných súboroch použije dpkg predvolenú akciu, ak existuje; inak ponechá aktuálny súbor (--force-confold).", "items": [ - "Najrýchlejšie — bez čakania na odpovede", + "Najrýchlejšie — počas aktualizácie žiadne otázky dpkg", "Vhodné pre štandardné inštalácie bez vlastných úprav konfigurácie", "Riziko: upravený súbor sa ponechá bez otázky a môže prekryť nové predvolené nastavenia" ] @@ -69,7 +69,7 @@ }, "auto": { "heading": "Automatický režim / Bezobslužne", - "intro": "Bežné potvrdenia a otázky o konfiguračných súboroch používajú predvolené odpovede. Blokujúce chyby predbežnej kontroly môžu naďalej vyžadovať zásah. Režim použite pri štandardnej inštalácii alebo po overení vplyvu odpovedí na vlastné nastavenia.", + "intro": "Otázky k balíkom a konfiguračným súborom používajú predvolené hodnoty z nasledujúcej tabuľky a odpoveď 401 z repozitára Enterprise prepne na no-subscription bez opýtania. Potvrdenie aktualizácie, súhrn aktualizácie PVE 8, opravy z predbežnej kontroly a otázka na reštart sa naďalej zobrazujú.", "behaviourHeading": "Správanie automatického režimu", "behaviourTable": { "settingHeader": "Nastavenie", @@ -77,7 +77,7 @@ "rows": [ { "settingRich": "ASSUME_YES=1", - "effectRich": "Interná voľba — automaticky potvrdí otázky skriptu typu áno/nie" + "effectRich": "Interná voľba — skript sám odpovie áno na svoje otázky, napríklad na prechod na no-subscription po chybe 401" }, { "settingRich": "DEBIAN_FRONTEND=noninteractive", @@ -94,8 +94,8 @@ ] }, "flowHeading": "Postup automatického režimu", - "flowIntro": "Šesť po sebe idúcich fáz. Úvodné fázy môžu aktualizovať balíky PVE 8 a zapísať konfiguráciu repozitárov. Chyba postup zastaví, tieto zmeny však nevráti. Fáza 5 vykoná dist-upgrade na PVE 9.", - "flowDiagram": "1. KONTROLY\nBlokuje termproxy / vncshell; odmietne PVE 9; overí miesto a pripojenie.\nAk je Ceph nainštalovaný, vyžaduje 19.x Squid.\npve8to9 --full (môže ponúknuť opravy).\n\n2. PRÍPRAVA PVE 8\nscripts/global/update-pve8.sh\nAktualizuje balíky PVE 8; systemctl restart pve-manager.\n\n3. MIGRÁCIA REPOZITÁROV\nBookworm → Trixie; zapíše súbory deb822 .sources.\nZakomentuje staré súbory .list; apt-get update.\n\n4. OVERENIE KANDIDÁTA PVE 9\napt-cache policy proxmox-ve\napt-get -s dist-upgrade\nZastaví sa, ak kandidát nie je 9.x alebo by sa odstránil proxmox-ve.\n\n5. AKTUALIZÁCIA\napt-get -y -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' dist-upgrade\nProtokol: /var/log/pve8-a-pve9-'<'timestamp'>'.log\n\n6. OVERENIE A REŠTART\nEFI: apt install grub-efi-amd64\npve8to9 --full; skontrolujte výsledok a otázku na reštart.", + "flowIntro": "Šesť po sebe idúcich fáz. Fáza 2 aktualizuje balíky PVE 8 a fáza 3 zapíše konfiguráciu repozitárov PVE 9. Chyba postup zastaví, tieto zmeny však nevráti; ak aktualizácia PVE 8 zlyhá alebo sa zruší, repozitáre zostanú nezmenené. Fáza 5 vykoná dist-upgrade na PVE 9.", + "flowDiagram": "1. KONTROLY\nBlokuje termproxy / vncshell; potvrdí aktualizáciu; odmietne PVE 9.\n\n2. PRÍPRAVA PVE 8\nscripts/global/update-pve8.sh\nAktualizuje balíky PVE 8; zastaví sa, ak aktualizácia zlyhá alebo sa zruší.\npve8to9 --full (môže ponúknuť opravy).\nOverí miesto a pripojenie; Ceph 19.x Squid na hyperkonvergovaných uzloch.\n\n3. MIGRÁCIA REPOZITÁROV\nBookworm → Trixie; zapíše súbory deb822 .sources.\nZakomentuje staré súbory .list; apt-get update.\n\n4. OVERENIE KANDIDÁTA PVE 9\napt-cache policy proxmox-ve\napt-get -s dist-upgrade\nZastaví sa, ak kandidát nie je 9.x alebo by sa odstránil proxmox-ve.\n\n5. AKTUALIZÁCIA\napt-get -y -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' dist-upgrade\nBez predplatného: vypne pve-enterprise.sources.\nProtokol: /var/log/pve8-a-pve9-'<'timestamp'>'.log\n\n6. OVERENIE A REŠTART\nEFI: apt install grub-efi-amd64\npve8to9 --full; skontrolujte výsledok a otázku na reštart.", "preflightHeading": "Kontroly pred aktualizáciou", "preflightTable": { "checkHeader": "Kontrola", @@ -137,7 +137,7 @@ "postHeading": "Úlohy po aktualizácii (automatický režim)", "postItems": [ "Hostitelia EFI: nainštaluje grub-efi-amd64 podľa známeho problému v dokumentácii Proxmoxu. Aktualizácia ho nepridá automaticky a pri ďalšom štarte môže byť potrebný.", - "Čas reštartu pve-manager. Výslovný reštart patrí do prípravy PVE 8, pred aktualizáciou balíkov na Trixie/PVE 9.", + "Repozitár Enterprise bez predplatného. pve-manager 9 počas aktualizácie pridá pve-enterprise.sources; v režime no-subscription ho skript nastaví na Enabled: false.", "Znova spustí pve8to9 --full. Zobrazí zostávajúce problémy. Pri chybách FAIL sa otvorí rovnaká ponuka opráv ako pri predbežnej kontrole.", "Otázka na reštart. Reštart sa odporúča na načítanie nového jadra a služieb. Odmietnite ho iba z konkrétneho dôvodu: ponechanie starého jadra po prechode na novú hlavnú verziu prináša riziko." ] diff --git a/web/messages/sv/docs/utils/upgrade-pve8-pve9.json b/web/messages/sv/docs/utils/upgrade-pve8-pve9.json index ebba8f60..51b7ccb7 100644 --- a/web/messages/sv/docs/utils/upgrade-pve8-pve9.json +++ b/web/messages/sv/docs/utils/upgrade-pve8-pve9.json @@ -33,7 +33,7 @@ "title": "Automatiskt / Utan tillsyn", "summary": "Anger ASSUME_YES=1 + DEBIAN_FRONTEND=noninteractive. För ändrade konfigurationsfiler använder dpkg sin standardåtgärd om den finns; annars behålls den befintliga filen (--force-confold).", "items": [ - "Snabbast — ingen väntan på svar", + "Snabbast — inga dpkg-frågor under uppgraderingen", "Passar standardinstallationer utan anpassade konfigurationsfiler", "Risk: en anpassad konfiguration behålls utan fråga och kan dölja nya standardvärden" ] @@ -69,7 +69,7 @@ }, "auto": { "heading": "Automatiskt läge / Utan tillsyn", - "intro": "Vanliga bekräftelser och frågor om konfigurationsfiler använder de valda standardsvaren. Blockerande fel i förkontrollen kan fortfarande kräva åtgärder. Använd läget för standardinstallationer eller efter att ha granskat hur standardsvaren påverkar dina anpassade filer.", + "intro": "Frågor om paket och konfigurationsfiler använder standardvärdena i tabellen nedan, och ett 401 från Enterprise-källan byter till no-subscription utan att fråga. Bekräftelsen av uppgraderingen, sammanfattningen av PVE 8-uppdateringen, reparationer från förkontrollen och frågan om omstart visas fortfarande.", "behaviourHeading": "Beteende i automatiskt läge", "behaviourTable": { "settingHeader": "Inställning", @@ -77,7 +77,7 @@ "rows": [ { "settingRich": "ASSUME_YES=1", - "effectRich": "Intern inställning — bekräftar automatiskt skriptets ja/nej-frågor" + "effectRich": "Intern inställning — skriptet svarar själv ja på sina egna frågor, till exempel bytet till no-subscription efter ett 401" }, { "settingRich": "DEBIAN_FRONTEND=noninteractive", @@ -94,8 +94,8 @@ ] }, "flowHeading": "Förlopp i automatiskt läge", - "flowIntro": "Sex faser i följd. Tidiga faser kan uppdatera PVE 8-paket och skriva konfiguration för paketkällor. Ett fel stoppar förloppet men återställer inte ändringarna. Fas 5 kör dist-upgrade till PVE 9.", - "flowDiagram": "1. KONTROLLER\nBlockera termproxy / vncshell; avvisa PVE 9; kontrollera utrymme och anslutning.\nKräv Ceph 19.x Squid om det är installerat.\npve8to9 --full (kan erbjuda reparationer).\n\n2. FÖRBERED PVE 8\nscripts/global/update-pve8.sh\nUppdatera PVE 8-paket; systemctl restart pve-manager.\n\n3. ÄNDRA PAKETKÄLLOR\nBookworm → Trixie; skriv deb822-filer .sources.\nKommentera bort gamla .list-filer; apt-get update.\n\n4. KONTROLLERA PVE 9-KANDIDATEN\napt-cache policy proxmox-ve\napt-get -s dist-upgrade\nStoppa om kandidaten inte är 9.x eller om proxmox-ve skulle tas bort.\n\n5. UPPGRADERA\napt-get -y -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' dist-upgrade\nLogg: /var/log/pve8-a-pve9-'<'timestamp'>'.log\n\n6. KONTROLLERA OCH STARTA OM\nEFI: apt install grub-efi-amd64\npve8to9 --full; granska resultatet och frågan om omstart.", + "flowIntro": "Sex faser i följd. Fas 2 uppdaterar PVE 8-paketen och fas 3 skriver konfigurationen för PVE 9-paketkällorna. Ett fel stoppar förloppet men återställer inte ändringarna; om PVE 8-uppdateringen misslyckas eller avbryts lämnas paketkällorna orörda. Fas 5 kör dist-upgrade till PVE 9.", + "flowDiagram": "1. KONTROLLER\nBlockera termproxy / vncshell; bekräfta uppgraderingen; avvisa PVE 9.\n\n2. FÖRBERED PVE 8\nscripts/global/update-pve8.sh\nUppdatera PVE 8-paket; stoppa om uppdateringen misslyckas eller avbryts.\npve8to9 --full (kan erbjuda reparationer).\nKontrollera utrymme och anslutning; Ceph 19.x Squid på hyperkonvergerade noder.\n\n3. ÄNDRA PAKETKÄLLOR\nBookworm → Trixie; skriv deb822-filer .sources.\nKommentera bort gamla .list-filer; apt-get update.\n\n4. KONTROLLERA PVE 9-KANDIDATEN\napt-cache policy proxmox-ve\napt-get -s dist-upgrade\nStoppa om kandidaten inte är 9.x eller om proxmox-ve skulle tas bort.\n\n5. UPPGRADERA\napt-get -y -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' dist-upgrade\nUtan prenumeration: inaktivera pve-enterprise.sources.\nLogg: /var/log/pve8-a-pve9-'<'timestamp'>'.log\n\n6. KONTROLLERA OCH STARTA OM\nEFI: apt install grub-efi-amd64\npve8to9 --full; granska resultatet och frågan om omstart.", "preflightHeading": "Förkontroll: vad som kontrolleras", "preflightTable": { "checkHeader": "Kontroll", @@ -137,7 +137,7 @@ "postHeading": "Åtgärder efter uppgraderingen (automatiskt läge)", "postItems": [ "EFI-värdar: installerar grub-efi-amd64 enligt det kända problemet i Proxmox dokumentation. Uppgraderingen installerar inte paketet automatiskt och det kan behövas vid nästa start.", - "När pve-manager startas om. Den uttryckliga omstarten ingår i förberedelsen av PVE 8, före paketuppgraderingen till Trixie/PVE 9.", + "Enterprise-källa utan prenumeration. pve-manager 9 lägger till pve-enterprise.sources under uppgraderingen; i no-subscription-läget sätter skriptet den till Enabled: false.", "Kör pve8to9 --full igen. Visar kvarstående problem. Vid FAIL-fel visas samma reparationsmeny som under förkontrollen.", "Fråga om omstart. Omstart rekommenderas för att läsa in den nya kärnan och tjänsterna. Avböj endast av ett konkret skäl: det innebär risker att använda den gamla kärnan efter ett huvudversionsbyte." ]