From 286c5ea1dae4e737b401590e8d68d90debfe74ea Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:13:38 -0400 Subject: [PATCH 001/437] New translations secure-your-boot-drive.mdx (French) --- .../secure-your-server/secure-your-boot-drive.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/secure-your-boot-drive.mdx b/i18n/fr/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/secure-your-boot-drive.mdx index 4273c909d05..32737ce5561 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/secure-your-boot-drive.mdx +++ b/i18n/fr/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/secure-your-boot-drive.mdx @@ -28,11 +28,11 @@ Pour sauvegarder votre périphérique de démarrage à l'aide du %%WebGUI|web-gu
![Contrôle de sauvegarde du périphérique d’amorçage dans le WebGUI](/img/flashbackup.png) From 04cfe0acdd33d20d81ce5edbcba5f51246a269af Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:15:06 -0400 Subject: [PATCH 002/437] New translations removing-disks-from-array.mdx (French) --- .../manage-storage/array/removing-disks-from-array.mdx | 1 + 1 file changed, 1 insertion(+) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/manage-storage/array/removing-disks-from-array.mdx b/i18n/fr/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/manage-storage/array/removing-disks-from-array.mdx index 51d0615b266..9f48646d30b 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/manage-storage/array/removing-disks-from-array.mdx +++ b/i18n/fr/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/manage-storage/array/removing-disks-from-array.mdx @@ -67,6 +67,7 @@ Pour utiliser la méthode de conservation de la parité : - Pour Unraid 6.12 ou version ultérieure : `dd bs=1M if=/dev/zero of=/dev/mdXp1 status=progress` - Pour Unraid 6.11 et antérieur : `dd bs=1M if=/dev/zero of=/dev/mdX status=progress` Remplacez `X` par le numéro spécifique du disque de données que vous supprimez. + Remplacez `X` par le numéro spécifique du disque de données que vous supprimez. Remplacez `X` par le numéro spécifique du disque de données que vous supprimez. 7. Arrêtez le tableau une fois le nettoyage terminé. 8. Réinitialisez la configuration du tableau, en conservant toutes les attributions actuelles. From a9dc2e60392506c3287d2d6d537109b844ddd82b Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:15:41 -0400 Subject: [PATCH 003/437] New translations automated-flash-backup.mdx (Spanish) --- .../current/unraid-connect/automated-flash-backup.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/unraid-connect/automated-flash-backup.mdx b/i18n/es/docusaurus-plugin-content-docs/current/unraid-connect/automated-flash-backup.mdx index f8126963ba5..2de0b5266a2 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/unraid-connect/automated-flash-backup.mdx +++ b/i18n/es/docusaurus-plugin-content-docs/current/unraid-connect/automated-flash-backup.mdx @@ -55,11 +55,11 @@ Para activar la copia de seguridad flash:
![Activar copia de seguridad flash](/img/flashbackupbutton.png) From c19d90a35b4a38ef9e7e1752527020d448d309d5 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:15:42 -0400 Subject: [PATCH 004/437] New translations overview-and-setup.mdx (Spanish) --- .../unraid-connect/overview-and-setup.mdx | 40 +++++++++---------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/unraid-connect/overview-and-setup.mdx b/i18n/es/docusaurus-plugin-content-docs/current/unraid-connect/overview-and-setup.mdx index 03e19affce1..7cf359fd769 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/unraid-connect/overview-and-setup.mdx +++ b/i18n/es/docusaurus-plugin-content-docs/current/unraid-connect/overview-and-setup.mdx @@ -77,11 +77,11 @@ Para instalar Unraid Connect:
![Icono de Unraid Connect](/img/icon_unraidconnect.png) @@ -150,11 +150,11 @@ El enlace profundo en Unraid Connect te permite saltar directamente a secciones
![Enlaces profundos](/img/Deep-linking.png) @@ -193,11 +193,11 @@ Gestionar tus licencias en Unraid Connect es fácil. Bajo la sección **Mis Clav
![Mis Claves](/img/mykeys.png) @@ -218,11 +218,11 @@ La interfaz se actualizará automáticamente para reflejar tu selección.
![Selector de idioma](/img/languageselector.png) From 25fac2f59989c503c71b202cd4bd24bcc1189cae Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:15:51 -0400 Subject: [PATCH 005/437] New translations zfs-storage.mdx (Spanish) --- .../optimize-storage/zfs-storage.mdx | 160 +++++++++--------- 1 file changed, 80 insertions(+), 80 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/advanced-configurations/optimize-storage/zfs-storage.mdx b/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/advanced-configurations/optimize-storage/zfs-storage.mdx index c4abfa5743c..590b42b277d 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/advanced-configurations/optimize-storage/zfs-storage.mdx +++ b/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/advanced-configurations/optimize-storage/zfs-storage.mdx @@ -40,11 +40,11 @@ Puede usar %%snapshots|snapshot%% de %%ZFS|zfs%% y replicación en un solo disco
![](./assets/zfs1.png) @@ -68,11 +68,11 @@ La redundancia siempre es por vdev. Si alguno falla, todo el pool falla, incluso
![](./assets/zfs2.png) @@ -89,11 +89,11 @@ Para crear un grupo %%ZFS|zfs%% usando el %%WebGUI|web-gui%%:
![](./assets/zfs3.png) @@ -110,11 +110,11 @@ Esta cantidad inicial de ranuras es solo para vdevs de datos. Los vdevs de sopor
![](./assets/zfs8.png) @@ -124,11 +124,11 @@ style={{
![](./assets/zfs5.png) @@ -139,11 +139,11 @@ style={{
![](./assets/zfs6.png) @@ -159,11 +159,11 @@ Para añadir un disco %%ZFS|zfs%% al %%array|array%%:
![](./assets/zfs9.png) @@ -171,11 +171,11 @@ style={{
![](./assets/zfs8.png) @@ -209,11 +209,11 @@ Para añadir un disco %%ZFS|zfs%% al %%array|array%%:
![](./assets/zfs9.png) @@ -223,11 +223,11 @@ style={{
![](./assets/zfs10.png) @@ -244,11 +244,11 @@ Cuando configuras un pool %%ZFS|zfs%%, tu perfil de asignación determina cómo
![](./assets/zfs11.png) @@ -292,11 +292,11 @@ Cómo agrupar discos en vdevs afecta tanto la seguridad de los datos como la vel
![](./assets/zfs12.png) @@ -328,11 +328,11 @@ Esto ofrece dos beneficios importantes:
![](./assets/zfs13.png) @@ -353,11 +353,11 @@ Cuando importas un pool %%ZFS|zfs%% en Unraid, necesitas asignar cada disco de t
![](./assets/zfs14.png) @@ -399,11 +399,11 @@ Unraid puede importar grupos %%ZFS|zfs%% creados en otras plataformas sin grande
![](./assets/zfs15.png) @@ -418,11 +418,11 @@ Unraid se refiere a los vdevs de soporte %%ZFS|zfs%% como subpools. La mayoría
![](./assets/zfs16.png) From 594da4a9ee70d968095136fb32cabdc25c0a6f95 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:16:52 -0400 Subject: [PATCH 006/437] New translations backup-using-webgui.mdx (Spanish) --- .../partials/backup-using-webgui.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/partials/backup-using-webgui.mdx b/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/partials/backup-using-webgui.mdx index 7664a823892..9fb2c6d7918 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/partials/backup-using-webgui.mdx +++ b/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/partials/backup-using-webgui.mdx @@ -7,11 +7,11 @@ import WebguiBootDeviceLabels from '../../../partials/webgui-boot-device-labels.
![Control de Copia de seguridad del dispositivo de arranque en la WebGUI](/img/flashbackup.png) From e12f786667d97d5d374338286275706b7f6d57fc Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:16:55 -0400 Subject: [PATCH 007/437] New translations replacement-manual-method.mdx (Spanish) --- .../partials/replacement-manual-method.mdx | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/partials/replacement-manual-method.mdx b/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/partials/replacement-manual-method.mdx index 12fe7477264..3ca91188d33 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/partials/replacement-manual-method.mdx +++ b/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/partials/replacement-manual-method.mdx @@ -13,11 +13,11 @@ Use el método manual solo si se siente cómodo con la gestión básica de archi
![Clave inválida](/img/Invalidkey.png) @@ -27,11 +27,11 @@ style={{
![Clave inválida](/img/Replacekey.png) From 265ee2c544bd20652c7e273ab823fa7ba82965de Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:16:56 -0400 Subject: [PATCH 008/437] New translations replacement-using-creator.mdx (Spanish) --- .../partials/replacement-using-creator.mdx | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/partials/replacement-using-creator.mdx b/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/partials/replacement-using-creator.mdx index 131ef31bc84..1f26b8241af 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/partials/replacement-using-creator.mdx +++ b/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/partials/replacement-using-creator.mdx @@ -6,11 +6,11 @@
![Seleccionar versión](/img/Selectversion.png) @@ -22,11 +22,11 @@ style={{
![Clave inválida](/img/Invalidkey.png) @@ -38,11 +38,11 @@ style={{
![Clave inválida](/img/Replacekey.png) From 949db62a2ac0acd69bedfacaca990366626b2d84 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:17:04 -0400 Subject: [PATCH 009/437] New translations wireguard-configure-mobile.mdx (Spanish) --- .../partials/wireguard-configure-mobile.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/partials/wireguard-configure-mobile.mdx b/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/partials/wireguard-configure-mobile.mdx index 0a8fc88ed62..c0b27f5fb3b 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/partials/wireguard-configure-mobile.mdx +++ b/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/partials/wireguard-configure-mobile.mdx @@ -2,11 +2,11 @@
![Configuración del par](/img/peer-eye.png) From 89c5f1007d642ece68ae2353275be89f130db713 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:17:06 -0400 Subject: [PATCH 010/437] New translations wireguard-configure-other-devices.mdx (Spanish) --- .../partials/wireguard-configure-other-devices.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/partials/wireguard-configure-other-devices.mdx b/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/partials/wireguard-configure-other-devices.mdx index 33066d56eed..7529712d88d 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/partials/wireguard-configure-other-devices.mdx +++ b/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/partials/wireguard-configure-other-devices.mdx @@ -2,11 +2,11 @@
![Configuración del par](/img/peer-eye.png) From 41e9a570b89818b8523e87511bf5cfc257d8320c Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:17:07 -0400 Subject: [PATCH 011/437] New translations secure-your-boot-drive.mdx (Spanish) --- .../secure-your-server/secure-your-boot-drive.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/secure-your-boot-drive.mdx b/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/secure-your-boot-drive.mdx index 5d5d61f4afa..b3a7977b7b6 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/secure-your-boot-drive.mdx +++ b/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/secure-your-boot-drive.mdx @@ -28,11 +28,11 @@ Para respaldar tu dispositivo de arranque usando la %%WebGUI|web-gui%% de Unraid
![Control de Copia de seguridad del dispositivo de arranque en la WebGUI](/img/flashbackup.png) From 32009d8b22c20acc8b47ad7e87927f50e52d5e64 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:17:08 -0400 Subject: [PATCH 012/437] New translations secure-your-outgoing-comms.mdx (Spanish) --- .../secure-your-server/secure-your-outgoing-comms.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/secure-your-outgoing-comms.mdx b/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/secure-your-outgoing-comms.mdx index 056088253e1..51a0fd4dcca 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/secure-your-outgoing-comms.mdx +++ b/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/secure-your-outgoing-comms.mdx @@ -33,11 +33,11 @@ Para configurar un servidor proxy:
![Administrador de Proxy Saliente](/img/outgoing-proxy-manager.png) From 93d9be67ace45ebd586ca582399bf960dd4fdc91 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:17:15 -0400 Subject: [PATCH 013/437] New translations wireguard.mdx (Spanish) --- .../secure-your-server/wireguard.mdx | 50 +++++++++---------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/wireguard.mdx b/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/wireguard.mdx index 520aea02973..b617b14787e 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/wireguard.mdx +++ b/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/wireguard.mdx @@ -60,11 +60,11 @@ Conocer los tipos de conexión en %%WireGuard|wireguard%% puede ayudarlo a decid
![Administrador de VPN](/img/wg0.png) @@ -90,11 +90,11 @@ Guarde la clave privada de forma segura ya que proporciona acceso completo a la
![UPnP habilitado](/img/upnp-yes.png) @@ -107,11 +107,11 @@ style={{
![UPnP deshabilitado](/img/upnp-no.png) @@ -124,11 +124,11 @@ style={{
![Conmutador de activación](/img/activate.png) @@ -151,11 +151,11 @@ Un par es un dispositivo cliente - como un teléfono, portátil u otro servidor
![Agregar par](/img/peer-add.png) From 8cec4dde2206953c130eaf25e9fe34dd33253eaf Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:17:27 -0400 Subject: [PATCH 014/437] New translations capture-diagnostics-and-logs.mdx (Spanish) --- .../diagnostics/capture-diagnostics-and-logs.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/diagnostics/capture-diagnostics-and-logs.mdx b/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/diagnostics/capture-diagnostics-and-logs.mdx index feb87bf78d4..402f9c423c5 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/diagnostics/capture-diagnostics-and-logs.mdx +++ b/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/diagnostics/capture-diagnostics-and-logs.mdx @@ -41,11 +41,11 @@ Unraid ofrece una herramienta de **Diagnósticos** ubicada en ***Tools → Diagn
![Lógica de selección de disco](/img/Diagnostics.jpg) From 8d41ad5f85e29cf9e2cc731805f8ccd21104b62f Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:17:31 -0400 Subject: [PATCH 015/437] New translations remote.mdx (Spanish) --- .../diagnostics/partials/syslog-server/remote.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/diagnostics/partials/syslog-server/remote.mdx b/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/diagnostics/partials/syslog-server/remote.mdx index 6abb3edc805..9d63ac9ecd9 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/diagnostics/partials/syslog-server/remote.mdx +++ b/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/diagnostics/partials/syslog-server/remote.mdx @@ -5,11 +5,11 @@
![Configuración remota de syslog](/img/Syslog-server.jpg) From 2f7de8a0efeb6f266a47886f5d53dbe43f06d998 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:17:48 -0400 Subject: [PATCH 016/437] New translations windows-on-a-vm.mdx (Spanish) --- .../create-virtual-machines/windows-on-a-vm.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/create-virtual-machines/windows-on-a-vm.mdx b/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/create-virtual-machines/windows-on-a-vm.mdx index 91ef5713ac5..797071b368e 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/create-virtual-machines/windows-on-a-vm.mdx +++ b/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/create-virtual-machines/windows-on-a-vm.mdx @@ -273,11 +273,11 @@ Después de expandir tu %%vDisk|vdisk%% siguiendo los pasos en [Expandir un vDis
![Redimensionar vDisk 2](/img/Resize_vdisk_2.png) From 1badf16ed7c5bc071b9c576dce0d426c33a2f17b Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:17:51 -0400 Subject: [PATCH 017/437] New translations multi-language-support.mdx (Spanish) --- .../multi-language-support.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/customize-your-experience/multi-language-support.mdx b/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/customize-your-experience/multi-language-support.mdx index 3593d527a04..bfc3f324725 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/customize-your-experience/multi-language-support.mdx +++ b/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/customize-your-experience/multi-language-support.mdx @@ -40,11 +40,11 @@ Si bien hacemos todo lo posible para mantener las traducciones precisas, el [tex
![Idiomas - Aplicaciones comunitarias](/img/languages_CA.png) From 61f9ab65e0a398572ecbec03dbb9cb23ecd1e97c Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:17:55 -0400 Subject: [PATCH 018/437] New translations apple-time-machine.mdx (Spanish) --- .../manage-storage/apple-time-machine.mdx | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/manage-storage/apple-time-machine.mdx b/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/manage-storage/apple-time-machine.mdx index ef3b72d80fd..a987b8b2641 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/manage-storage/apple-time-machine.mdx +++ b/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/manage-storage/apple-time-machine.mdx @@ -35,11 +35,11 @@ Asegúrate de que **%%SMB|samba%%** esté habilitado en el %%WebGUI|web-gui%%:
![Interoperabilidad mejorada con macOS](/img/enhancedmacos.png) @@ -86,11 +86,11 @@ Para crear copias de seguridad separadas para diferentes usuarios o Macs en tu s
![Editor de Time Machine](/img/TimeMachineEditor.png) From f5cd6376c97f68e8e2dbba617ffaa81426b8af85 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:17:56 -0400 Subject: [PATCH 019/437] New translations cache-pools.mdx (Spanish) --- .../using-unraid-to/manage-storage/cache-pools.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/manage-storage/cache-pools.mdx b/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/manage-storage/cache-pools.mdx index 2482ff0bf46..9b7101aaa60 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/manage-storage/cache-pools.mdx +++ b/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/manage-storage/cache-pools.mdx @@ -211,11 +211,11 @@ Puedes acceder al Espacio Libre Mínimo haciendo clic en el nombre de la agrupac
![Conversión de %%RAID 1|raid1%% a perfil único](/img/Btrfs-raid1.jpg) From 5be5181d8f2c077c41ab305cfbc6adb368462a7a Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:18:37 -0400 Subject: [PATCH 020/437] New translations removing-disks-from-array.mdx (Spanish) --- .../manage-storage/array/removing-disks-from-array.mdx | 1 + 1 file changed, 1 insertion(+) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/manage-storage/array/removing-disks-from-array.mdx b/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/manage-storage/array/removing-disks-from-array.mdx index ae4fa88dfb3..024033b4df7 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/manage-storage/array/removing-disks-from-array.mdx +++ b/i18n/es/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/manage-storage/array/removing-disks-from-array.mdx @@ -67,6 +67,7 @@ Para usar el método de preservar la paridad: - Para Unraid 6.12 o posterior: `dd bs=1M if=/dev/zero of=/dev/mdXp1 status=progress` - Para Unraid 6.11 y versiones anteriores: `dd bs=1M if=/dev/zero of=/dev/mdX status=progress` Reemplace `X` con el número específico del disco de datos que está eliminando. + Reemplace `X` con el número específico del disco de datos que está eliminando. Reemplace `X` con el número específico del disco de datos que está eliminando. 7. Detenga el array una vez que el borrado esté completo. 8. Restablecer la configuración del array, reteniendo todas las asignaciones actuales. From 8a5488c935d7aa3224f80237a91be2814466ad1d Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:19:05 -0400 Subject: [PATCH 021/437] New translations automated-flash-backup.mdx (German) --- .../current/unraid-connect/automated-flash-backup.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/i18n/de/docusaurus-plugin-content-docs/current/unraid-connect/automated-flash-backup.mdx b/i18n/de/docusaurus-plugin-content-docs/current/unraid-connect/automated-flash-backup.mdx index 16af3efe577..cd6ef435c86 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/unraid-connect/automated-flash-backup.mdx +++ b/i18n/de/docusaurus-plugin-content-docs/current/unraid-connect/automated-flash-backup.mdx @@ -55,11 +55,11 @@ So aktivieren Sie Flash-Backup:
![Flash-Backup aktivieren](/img/flashbackupbutton.png) From 7e62bc64eeb615b420f70b1305eb30aa88397d7a Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:19:07 -0400 Subject: [PATCH 022/437] New translations overview-and-setup.mdx (German) --- .../unraid-connect/overview-and-setup.mdx | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/i18n/de/docusaurus-plugin-content-docs/current/unraid-connect/overview-and-setup.mdx b/i18n/de/docusaurus-plugin-content-docs/current/unraid-connect/overview-and-setup.mdx index 2ea907fd879..7c897b1d1ef 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/unraid-connect/overview-and-setup.mdx +++ b/i18n/de/docusaurus-plugin-content-docs/current/unraid-connect/overview-and-setup.mdx @@ -142,11 +142,11 @@ Mit Deep Linking in Unraid Connect können Sie direkt zu bestimmten Abschnitten
![Deep Linking](/img/Deep-linking.png) @@ -185,11 +185,11 @@ Die Verwaltung Ihrer Lizenzen in Unraid Connect ist einfach. Unter dem Abschnitt
![Meine Schlüssel](/img/mykeys.png) @@ -210,11 +210,11 @@ Die Benutzeroberfläche wird automatisch aktualisiert, um Ihre Auswahl widerzusp
![Sprachwähler](/img/languageselector.png) From 8dce8e64bc48f9394568a575c15b4795f34dfcad Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:19:26 -0400 Subject: [PATCH 023/437] New translations zfs-storage.mdx (German) --- .../optimize-storage/zfs-storage.mdx | 160 +++++++++--------- 1 file changed, 80 insertions(+), 80 deletions(-) diff --git a/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/advanced-configurations/optimize-storage/zfs-storage.mdx b/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/advanced-configurations/optimize-storage/zfs-storage.mdx index 4469586ddc1..e59aeab740f 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/advanced-configurations/optimize-storage/zfs-storage.mdx +++ b/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/advanced-configurations/optimize-storage/zfs-storage.mdx @@ -40,11 +40,11 @@ You can use %%ZFS|zfs%% %%snapshots|snapshot%% and replication on a single disk
![](./assets/zfs1.png) @@ -68,11 +68,11 @@ Redundanz gilt immer pro vdev. Wenn ein vdev ausfällt, fällt der gesamte Pool
![](./assets/zfs2.png) @@ -89,11 +89,11 @@ So erstellen Sie einen ZFS-Pool über das WebGUI:
![](./assets/zfs3.png) @@ -110,11 +110,11 @@ Diese anfängliche Steckplatzanzahl gilt nur für Daten-vdevs. Unterstützungs-v
![](./assets/zfs8.png) @@ -124,11 +124,11 @@ style={{
![](./assets/zfs5.png) @@ -139,11 +139,11 @@ style={{
![](./assets/zfs6.png) @@ -159,11 +159,11 @@ So fügen Sie eine %%ZFS|zfs%%-Festplatte zum %%array|array%% hinzu:
![](./assets/zfs9.png) @@ -171,11 +171,11 @@ style={{
![](./assets/zfs8.png) @@ -209,11 +209,11 @@ To add a %%ZFS|zfs%% disk to the %%array|array%%:
![](./assets/zfs9.png) @@ -223,11 +223,11 @@ style={{
![](./assets/zfs10.png) @@ -244,11 +244,11 @@ Wenn Sie einen %%ZFS|zfs%%-Pool einrichten, bestimmt Ihr Zuweisungs-Profil, wie
![](./assets/zfs11.png) @@ -292,11 +292,11 @@ Wie Sie Festplatten in Vdevs gruppieren, beeinflusst sowohl die Datensicherheit
![](./assets/zfs12.png) @@ -328,11 +328,11 @@ Dies bietet zwei wesentliche Vorteile:
![](./assets/zfs13.png) @@ -353,11 +353,11 @@ When you import a %%ZFS|zfs%% pool into Unraid, you need to assign every drive f
![](./assets/zfs14.png) @@ -399,11 +399,11 @@ Unraid kann mit minimalem Aufwand ZFS-Pools importieren, die auf anderen Plattfo
![](./assets/zfs15.png) @@ -418,11 +418,11 @@ Unraid bezeichnet %%ZFS|zfs%%-Unterstützungs-vdevs als Subpools. Die meisten Be
![](./assets/zfs16.png) From 96bfe28ec6825dbcc603fb887ce6952b767b22da Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:20:21 -0400 Subject: [PATCH 024/437] New translations backup-using-webgui.mdx (German) --- .../partials/backup-using-webgui.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/partials/backup-using-webgui.mdx b/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/partials/backup-using-webgui.mdx index a05be48a9d5..9cd41498ffd 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/partials/backup-using-webgui.mdx +++ b/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/partials/backup-using-webgui.mdx @@ -7,11 +7,11 @@ import WebguiBootDeviceLabels from '../../../partials/webgui-boot-device-labels.
![Steuerelement „Backup des Boot-Geräts“ in der WebGUI](/img/flashbackup.png) From 43476b3ad3749f783da5935cb1726d297b89766c Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:20:24 -0400 Subject: [PATCH 025/437] New translations replacement-manual-method.mdx (German) --- .../partials/replacement-manual-method.mdx | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/partials/replacement-manual-method.mdx b/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/partials/replacement-manual-method.mdx index 2f41a21c745..82ab3a7d75c 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/partials/replacement-manual-method.mdx +++ b/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/partials/replacement-manual-method.mdx @@ -13,11 +13,11 @@ Verwenden Sie die manuelle Methode nur, wenn Sie mit grundlegender Dateiverwaltu
![Ungültiger Schlüssel](/img/Invalidkey.png) @@ -27,11 +27,11 @@ style={{
![Ungültiger Schlüssel](/img/Replacekey.png) From 0ddd7e374e09cb97c06e07a701a24bea6e3cf15e Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:20:25 -0400 Subject: [PATCH 026/437] New translations replacement-using-creator.mdx (German) --- .../partials/replacement-using-creator.mdx | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/partials/replacement-using-creator.mdx b/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/partials/replacement-using-creator.mdx index beeba26fc84..99865a36c58 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/partials/replacement-using-creator.mdx +++ b/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/partials/replacement-using-creator.mdx @@ -6,11 +6,11 @@
![Version auswählen](/img/Selectversion.png) @@ -22,11 +22,11 @@ style={{
![Ungültiger Schlüssel](/img/Invalidkey.png) @@ -38,11 +38,11 @@ style={{
![Ungültiger Schlüssel](/img/Replacekey.png) From 8aabc191e7a6bfe11c9f8004eda4aa17a92a00f6 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:20:32 -0400 Subject: [PATCH 027/437] New translations wireguard-configure-mobile.mdx (German) --- .../partials/wireguard-configure-mobile.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/partials/wireguard-configure-mobile.mdx b/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/partials/wireguard-configure-mobile.mdx index e2ed86af8a6..44ad9a192fb 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/partials/wireguard-configure-mobile.mdx +++ b/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/partials/wireguard-configure-mobile.mdx @@ -2,11 +2,11 @@
![Peer-Konfiguration](/img/peer-eye.png) From cb298f722579690861004c075152475e77c8c5e9 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:20:33 -0400 Subject: [PATCH 028/437] New translations wireguard-configure-other-devices.mdx (German) --- .../partials/wireguard-configure-other-devices.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/partials/wireguard-configure-other-devices.mdx b/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/partials/wireguard-configure-other-devices.mdx index fc121a8d38c..a4846d5e161 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/partials/wireguard-configure-other-devices.mdx +++ b/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/partials/wireguard-configure-other-devices.mdx @@ -2,11 +2,11 @@
![Peer-Konfiguration](/img/peer-eye.png) From d657f45b47cd296f4274b512df3a851f2bf0bcc8 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:20:34 -0400 Subject: [PATCH 029/437] New translations secure-your-boot-drive.mdx (German) --- .../secure-your-server/secure-your-boot-drive.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/secure-your-boot-drive.mdx b/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/secure-your-boot-drive.mdx index fd734d9770b..bca8c173195 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/secure-your-boot-drive.mdx +++ b/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/secure-your-boot-drive.mdx @@ -28,11 +28,11 @@ To back up your boot device using the Unraid %%WebGUI|web-gui%%, follow these st
![Steuerelement „Backup des Boot-Geräts“ in der WebGUI](/img/flashbackup.png) From 973975f3d2edb00e4c4b8d6850e34936f551e0c1 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:20:36 -0400 Subject: [PATCH 030/437] New translations secure-your-outgoing-comms.mdx (German) --- .../secure-your-server/secure-your-outgoing-comms.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/secure-your-outgoing-comms.mdx b/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/secure-your-outgoing-comms.mdx index a0d3fda7508..0b15d64ba25 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/secure-your-outgoing-comms.mdx +++ b/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/secure-your-outgoing-comms.mdx @@ -33,11 +33,11 @@ Um einen Proxy-Server einzurichten:
![Ausgehender Proxy-Manager](/img/outgoing-proxy-manager.png) From 30d5aaf62dc6779ca4dedf1004271c697b6166ac Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:20:41 -0400 Subject: [PATCH 031/437] New translations wireguard.mdx (German) --- .../secure-your-server/wireguard.mdx | 50 +++++++++---------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/wireguard.mdx b/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/wireguard.mdx index 836e1259158..814c05e17fc 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/wireguard.mdx +++ b/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/wireguard.mdx @@ -60,11 +60,11 @@ Das Wissen über Verbindungstypen in %%WireGuard|wireguard%% kann Ihnen dabei he
![VPN Manager](/img/wg0.png) @@ -90,11 +90,11 @@ Bewahren Sie den privaten Schlüssel sicher auf, da er vollen Netzwerkzugriff ge
![UPnP aktiviert](/img/upnp-yes.png) @@ -107,11 +107,11 @@ style={{
![UPnP deaktiviert](/img/upnp-no.png) @@ -124,11 +124,11 @@ style={{
![Aktivierungsumschalter](/img/activate.png) @@ -151,11 +151,11 @@ Ein Peer ist ein Client-Gerät - wie ein Telefon, Laptop oder ein anderer Server
![Peer hinzufügen](/img/peer-add.png) From d76d9d59a361b73b2c3e2ae3037adef18bad2d20 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:20:53 -0400 Subject: [PATCH 032/437] New translations capture-diagnostics-and-logs.mdx (German) --- .../diagnostics/capture-diagnostics-and-logs.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/diagnostics/capture-diagnostics-and-logs.mdx b/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/diagnostics/capture-diagnostics-and-logs.mdx index a1d718454e3..587c2cdef75 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/diagnostics/capture-diagnostics-and-logs.mdx +++ b/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/diagnostics/capture-diagnostics-and-logs.mdx @@ -41,11 +41,11 @@ Unraid bietet ein **Diagnosetool**, das unter ***Tools → Diagnostik*** im %%We
![Logik der Laufwerksauswahl](/img/Diagnostics.jpg) From 0ec8b5e15d8b8d86d62eb535828fdc0f4cbeb7f0 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:20:58 -0400 Subject: [PATCH 033/437] New translations remote.mdx (German) --- .../diagnostics/partials/syslog-server/remote.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/diagnostics/partials/syslog-server/remote.mdx b/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/diagnostics/partials/syslog-server/remote.mdx index 730d780d28a..7af672c84a3 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/diagnostics/partials/syslog-server/remote.mdx +++ b/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/diagnostics/partials/syslog-server/remote.mdx @@ -5,11 +5,11 @@
![Konfiguration des Remote-Syslogs](/img/Syslog-server.jpg) From 36a657df60e677ff04a3b38bffb8f1f51563cd66 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:21:00 -0400 Subject: [PATCH 034/437] New translations faq.mdx (German) --- .../current/unraid-os/troubleshooting/faq.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/faq.mdx b/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/faq.mdx index c40e0d41afc..1dcb9f21b5a 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/faq.mdx +++ b/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/faq.mdx @@ -223,10 +223,10 @@ Unraid verfügt über eine einzigartige Speicherarchitektur, die es von traditio
Warum von MBR zu GPT konvertieren? @@ -242,10 +242,10 @@ Before starting the conversion process, put your %%array|array%% into **Maintena
Konvertierungsvorgang From 9010e6770e5752a74dbb6c5c96334283882a28e6 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:21:15 -0400 Subject: [PATCH 035/437] New translations windows-on-a-vm.mdx (German) --- .../create-virtual-machines/windows-on-a-vm.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/create-virtual-machines/windows-on-a-vm.mdx b/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/create-virtual-machines/windows-on-a-vm.mdx index 0e08e024bb0..bdb8c1ede5f 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/create-virtual-machines/windows-on-a-vm.mdx +++ b/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/create-virtual-machines/windows-on-a-vm.mdx @@ -273,11 +273,11 @@ Die Erweiterung oder Änderung von %%vDisk|vdisk%%-Layouts und Partitionierungen
![Resize vDisk 2](/img/Resize_vdisk_2.png) From a7997b372842fd762bea5780c8b6560561a2d217 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:21:18 -0400 Subject: [PATCH 036/437] New translations multi-language-support.mdx (German) --- .../multi-language-support.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/customize-your-experience/multi-language-support.mdx b/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/customize-your-experience/multi-language-support.mdx index ae23d7c10ce..37877a56667 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/customize-your-experience/multi-language-support.mdx +++ b/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/customize-your-experience/multi-language-support.mdx @@ -40,11 +40,11 @@ Obwohl alle Anstrengungen unternommen werden, um Übersetzungen korrekt zu halte
![Languages - Community Apps](/img/languages_CA.png) From 4fb293fb50a13e6cb671e6d65236830c1aeefd48 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:21:22 -0400 Subject: [PATCH 037/437] New translations apple-time-machine.mdx (German) --- .../manage-storage/apple-time-machine.mdx | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/manage-storage/apple-time-machine.mdx b/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/manage-storage/apple-time-machine.mdx index 95025a32368..39a42bd048f 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/manage-storage/apple-time-machine.mdx +++ b/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/manage-storage/apple-time-machine.mdx @@ -35,11 +35,11 @@ Stellen Sie sicher, dass **%%SMB|samba%%** im %%WebGUI|web-gui%% aktiviert ist:
![Erweiterte MacOS-Interoperabilität](/img/enhancedmacos.png) @@ -86,11 +86,11 @@ Um separate Backups für verschiedene Benutzer oder Macs auf Ihrem Unraid-Server
![Time Machine Editor](/img/TimeMachineEditor.png) From 56b2c6487706fbfc21ced93134fa14fff84c75c5 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:21:23 -0400 Subject: [PATCH 038/437] New translations cache-pools.mdx (German) --- .../using-unraid-to/manage-storage/cache-pools.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/manage-storage/cache-pools.mdx b/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/manage-storage/cache-pools.mdx index c4684e20206..790bf87a424 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/manage-storage/cache-pools.mdx +++ b/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/manage-storage/cache-pools.mdx @@ -211,11 +211,11 @@ Für erweiterte %%BTRFS|btrfs%% Konfigurationsdetails siehe das [BTRFS-Wiki](htt
![Umwandlung von %%RAID 1|raid1%% zu Einzelprofil](/img/Btrfs-raid1.jpg) From d14dcca700e4b8c003c1b8b6183ab97dd395f4f6 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:21:50 -0400 Subject: [PATCH 039/437] New translations community-applications.mdx (German) --- .../run-docker-containers/community-applications.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/run-docker-containers/community-applications.mdx b/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/run-docker-containers/community-applications.mdx index ed6e4cb6a28..a9ab1a6af7b 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/run-docker-containers/community-applications.mdx +++ b/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/run-docker-containers/community-applications.mdx @@ -46,11 +46,11 @@ Um das Community-Anwendungs-Plugin zu installieren:
![Community-Anwendungen installieren](/img/ca_installation.png) From 07bef351238d0589d808ba446daffc12e048fa0a Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:22:03 -0400 Subject: [PATCH 040/437] New translations removing-disks-from-array.mdx (German) --- .../manage-storage/array/removing-disks-from-array.mdx | 1 + 1 file changed, 1 insertion(+) diff --git a/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/manage-storage/array/removing-disks-from-array.mdx b/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/manage-storage/array/removing-disks-from-array.mdx index d3500b633d0..14052101ba8 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/manage-storage/array/removing-disks-from-array.mdx +++ b/i18n/de/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/manage-storage/array/removing-disks-from-array.mdx @@ -67,6 +67,7 @@ So verwenden Sie die Paritäts-PresErve-Methode: - Für Unraid 6.12 oder später: `dd bs=1M if=/dev/zero of=/dev/mdXp1 status=progress` - Für Unraid 6.11 und früher: `dd bs=1M if=/dev/zero of=/dev/mdX status=progress` Ersetzen Sie `X` durch die spezifische Nummer der Datenfestplatte, die Sie entfernen möchten. + Ersetzen Sie `X` durch die spezifische Nummer der Datenfestplatte, die Sie entfernen möchten. Ersetzen Sie `X` durch die spezifische Nummer der Datenfestplatte, die Sie entfernen möchten. 7. Stoppen Sie das Array, sobald das Nullsetzen abgeschlossen ist. 8. Setzen Sie die Array-Konfiguration zurück, wobei alle aktuellen Zuweisungen beibehalten werden. From ccefbe96031d1a4dbfc77b0e0639f1880b95a51f Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:22:50 -0400 Subject: [PATCH 041/437] New translations zfs-storage.mdx (Chinese Simplified) --- .../optimize-storage/zfs-storage.mdx | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/unraid-os/advanced-configurations/optimize-storage/zfs-storage.mdx b/i18n/zh/docusaurus-plugin-content-docs/current/unraid-os/advanced-configurations/optimize-storage/zfs-storage.mdx index 731fe9a24bd..9d0917bf09c 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/unraid-os/advanced-configurations/optimize-storage/zfs-storage.mdx +++ b/i18n/zh/docusaurus-plugin-content-docs/current/unraid-os/advanced-configurations/optimize-storage/zfs-storage.mdx @@ -39,7 +39,7 @@ Unraid supports %%ZFS|zfs%% for any storage pool. You can create a new %%ZFS|zfs :::
- ![](./assets/zfs1.png) + ![](/img/zfs1.png)
:::note @@ -59,7 +59,7 @@ Unraid supports %%ZFS|zfs%% for any storage pool. You can create a new %%ZFS|zfs :::
- ![](./assets/zfs2.png) + ![](/img/zfs2.png)
--- @@ -72,7 +72,7 @@ Unraid supports %%ZFS|zfs%% for any storage pool. You can create a new %%ZFS|zfs 2. 点击**添加池**。
- ![](./assets/zfs3.png) + ![](/img/zfs3.png)
3. 为您的存储池选择一个名称(例如,`raptor`)。 @@ -91,14 +91,14 @@ Unraid supports %%ZFS|zfs%% for any storage pool. You can create a new %%ZFS|zfs 5. 如果需要,可以启用压缩(推荐用于大多数工作负载)。
- ![](./assets/zfs5.png) + ![](/img/zfs5.png)
6. 点击池名称(例如 `raptor`)以打开其配置屏幕。 7. 将文件系统类型设置为 `zfs` 或 `zfs-encrypted`(用于 LUKS 加密)。
- ![](./assets/zfs6.png) + ![](/img/zfs6.png)
8. 选择您的分配配置文件 - 这会决定您的池的冗余和性能。 @@ -114,7 +114,7 @@ Unraid supports %%ZFS|zfs%% for any storage pool. You can create a new %%ZFS|zfs
- ![](./assets/zfs8.png) + ![](/img/zfs8.png)
9. 如果需要,可以启用压缩(推荐用于大多数工作负载)。 @@ -145,13 +145,13 @@ Unraid supports %%ZFS|zfs%% for any storage pool. You can create a new %%ZFS|zfs 4. 选择您要添加的磁盘。
- ![](./assets/zfs9.png) + ![](/img/zfs9.png)
5. 在 **文件系统** 下,选择 `zfs` 或 `zfs-encrypted`。
- ![](./assets/zfs9.png) + ![](/img/zfs9.png)
6. 点击 **应用**。 @@ -164,7 +164,7 @@ Unraid supports %%ZFS|zfs%% for any storage pool. You can create a new %%ZFS|zfs 当您设置 %%ZFS|zfs%% 池时,您的分配配置文件将决定您的数据如何受到保护、池的性能以及其可扩展性。以下是一些简单的比较帮助您决定哪个配置文件适合您的需求:
- ![](./assets/zfs11.png) + ![](/img/zfs11.png)
| 配置 | 冗余 | 性能 | 扩展 | 空间效率 | 典型用例 | 每个 vdev 的推荐硬盘数量 | @@ -204,7 +204,7 @@ Unraid supports %%ZFS|zfs%% for any storage pool. You can create a new %%ZFS|zfs 您如何将磁盘分组到 vdevs 中会影响数据安全性和速度。
- ![](./assets/zfs12.png) + ![](/img/zfs12.png)
- 如果您将所有磁盘放入一个大型 RAIDZ2 vdev,您可以在不丢失数据的情况下丢失任意两个磁盘。然而,扩展意味着需要添加另一个完整的 vdev。 @@ -232,7 +232,7 @@ Unraid supports %%ZFS|zfs%% for any storage pool. You can create a new %%ZFS|zfs - **提高性能:** 写入和读取较少数据可以导致更快的操作,特别是在现代 CPU 上。
- ![](./assets/zfs13.png) + ![](/img/zfs13.png)
:::tip @@ -249,7 +249,7 @@ Unraid supports %%ZFS|zfs%% for any storage pool. You can create a new %%ZFS|zfs Unraid 自动限制 %%ZFS|zfs%% 使用系统内存的一部分(通常是总 RAM 的 1/8)。这使 %%ZFS|zfs%% 可以良好运作,而不会影响到 Docker 容器、%%VMs|vm%% 或 Unraid 操作系统。
- ![](./assets/zfs14.png) + ![](/img/zfs14.png)
@@ -287,7 +287,7 @@ Unraid 可以轻松导入其他平台上创建的 %%ZFS|zfs%% 池。 - 在 **池状态** 下,检查状态并点击 **Scrub**。
- ![](./assets/zfs15.png) + ![](/img/zfs15.png)
@@ -298,7 +298,7 @@ Unraid 可以轻松导入其他平台上创建的 %%ZFS|zfs%% 池。 Unraid 将 %%ZFS|zfs%% 支持 vdevs 称作子池。大多数用户**不**需要这些,但有经验的用户可能会使用:
- ![](./assets/zfs16.png) + ![](/img/zfs16.png)
| 支持的 vdev(子池) | 描述 | 详细信息/示例 | From 019dd549bd6d5d4632de1ae3436593651de3bb09 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:25:06 -0400 Subject: [PATCH 042/437] New translations code.json (Japanese) --- i18n/ja/code.json | 476 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 476 insertions(+) create mode 100644 i18n/ja/code.json diff --git a/i18n/ja/code.json b/i18n/ja/code.json new file mode 100644 index 00000000000..e48165ddf0d --- /dev/null +++ b/i18n/ja/code.json @@ -0,0 +1,476 @@ +{ + "theme.NotFound.title": { + "message": "ページが見つかりません", + "description": "The title of the 404 page" + }, + "theme.NotFound.p1": { + "message": "お探しの内容が見つかりませんでした。", + "description": "The first paragraph of the 404 page" + }, + "theme.NotFound.p2": { + "message": "元のURLへリンクしているサイトの管理者に連絡し、リンク切れであることをお知らせください。", + "description": "The 2nd paragraph of the 404 page" + }, + "theme.ErrorPageContent.title": { + "message": "このページはクラッシュしました。", + "description": "The title of the fallback page when the page crashed" + }, + "theme.BackToTopButton.buttonAriaLabel": { + "message": "ページ上部へ戻る", + "description": "The ARIA label for the back to top button" + }, + "theme.blog.archive.title": { + "message": "アーカイブ", + "description": "The page & hero title of the blog archive page" + }, + "theme.blog.archive.description": { + "message": "アーカイブ", + "description": "The page & hero description of the blog archive page" + }, + "theme.blog.post.paginator.navAriaLabel": { + "message": "ブログ記事ページのナビゲーション", + "description": "The ARIA label for the blog posts pagination" + }, + "theme.blog.post.paginator.newerPost": { + "message": "新しい投稿", + "description": "The blog post button label to navigate to the newer/previous post" + }, + "theme.blog.post.paginator.olderPost": { + "message": "古い投稿", + "description": "The blog post button label to navigate to the older/next post" + }, + "theme.blog.paginator.navAriaLabel": { + "message": "ブログ一覧ページのナビゲーション", + "description": "The ARIA label for the blog pagination" + }, + "theme.blog.paginator.newerEntries": { + "message": "新しいエントリー", + "description": "The label used to navigate to the newer blog posts page (previous page)" + }, + "theme.blog.paginator.olderEntries": { + "message": "古いエントリー", + "description": "The label used to navigate to the older blog posts page (next page)" + }, + "theme.tags.tagsPageLink": { + "message": "すべてのタグを表示", + "description": "The label of the link targeting the tag list page" + }, + "theme.docs.breadcrumbs.navAriaLabel": { + "message": "パンくずリスト", + "description": "The ARIA label for the breadcrumbs" + }, + "theme.docs.DocCard.categoryDescription.plurals": { + "message": "1件の項目|{count}件の項目", + "description": "The default description for a category card in the generated index about how many items this category includes" + }, + "theme.colorToggle.ariaLabel": { + "message": "ダークモードとライトモードを切り替える(現在は{mode})", + "description": "The ARIA label for the color mode toggle" + }, + "theme.colorToggle.ariaLabel.mode.dark": { + "message": "ダークモード", + "description": "The name for the dark color mode" + }, + "theme.colorToggle.ariaLabel.mode.light": { + "message": "ライトモード", + "description": "The name for the light color mode" + }, + "theme.docs.paginator.navAriaLabel": { + "message": "ドキュメントページ", + "description": "The ARIA label for the docs pagination" + }, + "theme.docs.paginator.previous": { + "message": "前へ", + "description": "The label used to navigate to the previous doc" + }, + "theme.docs.paginator.next": { + "message": "次へ", + "description": "The label used to navigate to the next doc" + }, + "theme.docs.tagDocListPageTitle.nDocsTagged": { + "message": "1件のドキュメントにタグ付け済み|{count}件のドキュメントにタグ付け済み", + "description": "Pluralized label for \"{count} docs tagged\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)" + }, + "theme.docs.tagDocListPageTitle": { + "message": "{nDocsTagged}件(\"{tagName}\")", + "description": "The title of the page for a docs tag" + }, + "theme.docs.versionBadge.label": { + "message": "バージョン: {versionLabel}" + }, + "theme.docs.versions.unreleasedVersionLabel": { + "message": "これは {siteTitle} {versionLabel} の未リリース版ドキュメントです。", + "description": "The label used to tell the user that he's browsing an unreleased doc version" + }, + "theme.docs.versions.unmaintainedVersionLabel": { + "message": "これは {siteTitle} {versionLabel} のドキュメントで、現在は積極的に保守されていません。", + "description": "The label used to tell the user that he's browsing an unmaintained doc version" + }, + "theme.docs.versions.latestVersionSuggestionLabel": { + "message": "最新のドキュメントについては、{latestVersionLink}({versionLabel})をご覧ください。", + "description": "The label used to tell the user to check the latest version" + }, + "theme.docs.versions.latestVersionLinkLabel": { + "message": "最新バージョン", + "description": "The label used for the latest version suggestion link label" + }, + "theme.common.editThisPage": { + "message": "このページを編集", + "description": "The link label to edit the current page" + }, + "theme.common.headingLinkTitle": { + "message": "{heading} への直接リンク", + "description": "Title for link to heading" + }, + "theme.lastUpdated.atDate": { + "message": " {date} に", + "description": "The words used to describe on which date a page has been last updated" + }, + "theme.lastUpdated.byUser": { + "message": " {user} による", + "description": "The words used to describe by who the page has been last updated" + }, + "theme.lastUpdated.lastUpdatedAtBy": { + "message": "最終更新{atDate}{byUser}", + "description": "The sentence used to display when a page has been last updated, and by who" + }, + "theme.navbar.mobileVersionsDropdown.label": { + "message": "バージョン", + "description": "The label for the navbar versions dropdown on mobile view" + }, + "theme.AnnouncementBar.closeButtonAriaLabel": { + "message": "閉じる", + "description": "The ARIA label for close button of announcement bar" + }, + "theme.tags.tagsListLabel": { + "message": "タグ:", + "description": "The label alongside a tag list" + }, + "theme.admonition.caution": { + "message": "注意", + "description": "The default label used for the Caution admonition (:::caution)" + }, + "theme.admonition.danger": { + "message": "危険", + "description": "The default label used for the Danger admonition (:::danger)" + }, + "theme.admonition.info": { + "message": "情報", + "description": "The default label used for the Info admonition (:::info)" + }, + "theme.admonition.note": { + "message": "注記", + "description": "The default label used for the Note admonition (:::note)" + }, + "theme.admonition.tip": { + "message": "ヒント", + "description": "The default label used for the Tip admonition (:::tip)" + }, + "theme.admonition.warning": { + "message": "警告", + "description": "The default label used for the Warning admonition (:::warning)" + }, + "theme.blog.sidebar.navAriaLabel": { + "message": "ブログの最近の投稿ナビゲーション", + "description": "The ARIA label for recent posts in the blog sidebar" + }, + "theme.CodeBlock.copied": { + "message": "コピーしました", + "description": "The copied button label on code blocks" + }, + "theme.CodeBlock.copyButtonAriaLabel": { + "message": "コードをクリップボードにコピー", + "description": "The ARIA label for copy code blocks button" + }, + "theme.CodeBlock.copy": { + "message": "コピー", + "description": "The copy button label on code blocks" + }, + "theme.CodeBlock.wordWrapToggle": { + "message": "折り返しを切り替え", + "description": "The title attribute for toggle word wrapping button of code block lines" + }, + "theme.DocSidebarItem.expandCategoryAriaLabel": { + "message": "サイドバーのカテゴリ '{label}' を展開", + "description": "The ARIA label to expand the sidebar category" + }, + "theme.DocSidebarItem.collapseCategoryAriaLabel": { + "message": "サイドバーのカテゴリ '{label}' を折りたたむ", + "description": "The ARIA label to collapse the sidebar category" + }, + "theme.NavBar.navAriaLabel": { + "message": "メイン", + "description": "The ARIA label for the main navigation" + }, + "theme.blog.post.readMore": { + "message": "続きを読む", + "description": "The label used in blog post item excerpts to link to full blog posts" + }, + "theme.blog.post.readMoreLabel": { + "message": "{title} についてさらに読む", + "description": "The ARIA label for the link to full blog posts from excerpts" + }, + "theme.navbar.mobileLanguageDropdown.label": { + "message": "言語", + "description": "The label for the mobile language switcher dropdown" + }, + "theme.TOCCollapsible.toggleButtonLabel": { + "message": "このページ内", + "description": "The label used by the button on the collapsible TOC component" + }, + "theme.blog.post.readingTime.plurals": { + "message": "1分で読める|{readingTime}分で読める", + "description": "Pluralized label for \"{readingTime} min read\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)" + }, + "theme.docs.breadcrumbs.home": { + "message": "ホームページ", + "description": "The ARIA label for the home page in the breadcrumbs" + }, + "theme.docs.sidebar.collapseButtonTitle": { + "message": "サイドバーを折りたたむ", + "description": "The title attribute for collapse button of doc sidebar" + }, + "theme.docs.sidebar.collapseButtonAriaLabel": { + "message": "サイドバーを折りたたむ", + "description": "The title attribute for collapse button of doc sidebar" + }, + "theme.docs.sidebar.navAriaLabel": { + "message": "ドキュメントのサイドバー", + "description": "The ARIA label for the sidebar navigation" + }, + "theme.docs.sidebar.closeSidebarButtonAriaLabel": { + "message": "ナビゲーションバーを閉じる", + "description": "The ARIA label for close button of mobile sidebar" + }, + "theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel": { + "message": "← メインメニューに戻る", + "description": "The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)" + }, + "theme.docs.sidebar.toggleSidebarButtonAriaLabel": { + "message": "ナビゲーションバーを切り替え", + "description": "The ARIA label for hamburger menu button of mobile navigation" + }, + "theme.docs.sidebar.expandButtonTitle": { + "message": "サイドバーを展開", + "description": "The ARIA label and title attribute for expand button of doc sidebar" + }, + "theme.docs.sidebar.expandButtonAriaLabel": { + "message": "サイドバーを展開", + "description": "The ARIA label and title attribute for expand button of doc sidebar" + }, + "theme.SearchBar.seeAll": { + "message": "すべての{count}件の結果を見る" + }, + "theme.SearchPage.documentsFound.plurals": { + "message": "1件のドキュメントが見つかりました|{count}件のドキュメントが見つかりました", + "description": "Pluralized label for \"{count} documents found\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)" + }, + "theme.SearchPage.existingResultsTitle": { + "message": "\"{query}\" の検索結果", + "description": "The search page title for non-empty query" + }, + "theme.SearchPage.emptyResultsTitle": { + "message": "ドキュメントを検索", + "description": "The search page title for empty query" + }, + "theme.SearchPage.inputPlaceholder": { + "message": "ここに検索語を入力", + "description": "The placeholder for search page input" + }, + "theme.SearchPage.inputLabel": { + "message": "検索", + "description": "The ARIA label for search page input" + }, + "theme.SearchPage.algoliaLabel": { + "message": "Algoliaで検索", + "description": "The ARIA label for Algolia mention" + }, + "theme.SearchPage.noResultsText": { + "message": "結果が見つかりませんでした", + "description": "The paragraph for empty search result" + }, + "theme.SearchPage.fetchingNewResults": { + "message": "新しい結果を取得しています...", + "description": "The paragraph for fetching new search results" + }, + "theme.SearchBar.label": { + "message": "検索", + "description": "The ARIA label and placeholder for search button" + }, + "theme.SearchModal.searchBox.resetButtonTitle": { + "message": "検索語をクリア", + "description": "The label and ARIA label for search box reset button" + }, + "theme.SearchModal.searchBox.cancelButtonText": { + "message": "キャンセル", + "description": "The label and ARIA label for search box cancel button" + }, + "theme.SearchModal.startScreen.recentSearchesTitle": { + "message": "最近", + "description": "The title for recent searches" + }, + "theme.SearchModal.startScreen.noRecentSearchesText": { + "message": "最近の検索はありません", + "description": "The text when no recent searches" + }, + "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": { + "message": "この検索を保存", + "description": "The label for save recent search button" + }, + "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": { + "message": "この検索を履歴から削除", + "description": "The label for remove recent search button" + }, + "theme.SearchModal.startScreen.favoriteSearchesTitle": { + "message": "お気に入り", + "description": "The title for favorite searches" + }, + "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": { + "message": "この検索をお気に入りから削除", + "description": "The label for remove favorite search button" + }, + "theme.SearchModal.errorScreen.titleText": { + "message": "結果を取得できませんでした", + "description": "The title for error screen of search modal" + }, + "theme.SearchModal.errorScreen.helpText": { + "message": "ネットワーク接続を確認してください。", + "description": "The help text for error screen of search modal" + }, + "theme.SearchModal.footer.selectText": { + "message": "選択する", + "description": "The explanatory text of the action for the enter key" + }, + "theme.SearchModal.footer.selectKeyAriaLabel": { + "message": "Enterキー", + "description": "The ARIA label for the Enter key button that makes the selection" + }, + "theme.SearchModal.footer.navigateText": { + "message": "移動する", + "description": "The explanatory text of the action for the Arrow up and Arrow down key" + }, + "theme.SearchModal.footer.navigateUpKeyAriaLabel": { + "message": "上矢印", + "description": "The ARIA label for the Arrow up key button that makes the navigation" + }, + "theme.SearchModal.footer.navigateDownKeyAriaLabel": { + "message": "下矢印", + "description": "The ARIA label for the Arrow down key button that makes the navigation" + }, + "theme.SearchModal.footer.closeText": { + "message": "閉じる", + "description": "The explanatory text of the action for Escape key" + }, + "theme.SearchModal.footer.closeKeyAriaLabel": { + "message": "Escapeキー", + "description": "The ARIA label for the Escape key button that close the modal" + }, + "theme.SearchModal.footer.searchByText": { + "message": "検索提供元", + "description": "The text explain that the search is making by Algolia" + }, + "theme.SearchModal.noResultsScreen.noResultsText": { + "message": "「{query}」の検索結果はありません", + "description": "The text explains that there are no results for the following search" + }, + "theme.SearchModal.noResultsScreen.suggestedQueryText": { + "message": "「{query}」を検索してみてください", + "description": "The text for the suggested query when no results are found for the following search" + }, + "theme.SearchModal.noResultsScreen.reportMissingResultsText": { + "message": "この検索で結果が返るはずだと思いますか?", + "description": "The text for the question where the user thinks there are missing results" + }, + "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": { + "message": "お知らせください。", + "description": "The text for the link to report missing results" + }, + "theme.SearchModal.placeholder": { + "message": "ドキュメントを検索", + "description": "The placeholder of the input of the DocSearch pop-up modal" + }, + "theme.IdealImageMessage.loading": { + "message": "読み込み中...", + "description": "When the full-scale image is loading" + }, + "theme.IdealImageMessage.load": { + "message": "クリックして読み込み{sizeMessage}", + "description": "To prompt users to load the full image. sizeMessage is a parenthesized size figure." + }, + "theme.IdealImageMessage.offline": { + "message": "ブラウザーはオフラインです。画像は読み込まれていません", + "description": "When the user is viewing an offline document" + }, + "theme.IdealImageMessage.404error": { + "message": "404. 画像が見つかりません", + "description": "When the image is not found" + }, + "theme.IdealImageMessage.error": { + "message": "エラー。クリックして再読み込み", + "description": "When the image fails to load for unknown error" + }, + "theme.blog.post.plurals": { + "message": "1件の投稿|{count}件の投稿", + "description": "Pluralized label for \"{count} posts\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)" + }, + "theme.blog.tagTitle": { + "message": "\"{tagName}\" が付いた {nPosts} 件の投稿", + "description": "The title of the page for a blog tag" + }, + "theme.blog.author.pageTitle": { + "message": "{authorName} - {nPosts}", + "description": "The title of the page for a blog author" + }, + "theme.blog.authorsList.pageTitle": { + "message": "著者", + "description": "The title of the authors page" + }, + "theme.blog.authorsList.viewAll": { + "message": "すべての著者を表示", + "description": "The label of the link targeting the blog authors page" + }, + "theme.blog.author.noPosts": { + "message": "この著者はまだ投稿を書いていません。", + "description": "The text for authors with 0 blog post" + }, + "theme.contentVisibility.unlistedBanner.title": { + "message": "非一覧ページ", + "description": "The unlisted content banner title" + }, + "theme.contentVisibility.unlistedBanner.message": { + "message": "このページは非一覧です。検索エンジンはインデックスせず、直接リンクを持つユーザーのみアクセスできます。", + "description": "The unlisted content banner message" + }, + "theme.contentVisibility.draftBanner.title": { + "message": "下書きページ", + "description": "The draft content banner title" + }, + "theme.contentVisibility.draftBanner.message": { + "message": "このページは下書きです。dev でのみ表示され、本番ビルドからは除外されます。", + "description": "The draft content banner message" + }, + "theme.ErrorPageContent.tryAgain": { + "message": "もう一度試す", + "description": "The label of the button to try again rendering when the React error boundary captures an error" + }, + "theme.common.skipToMainContent": { + "message": "メインコンテンツへスキップ", + "description": "The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation" + }, + "theme.tags.tagsPageTitle": { + "message": "タグ", + "description": "The title of the tag list page" + }, + "theme.colorToggle.ariaLabel.mode.system": { + "message": "システムモード", + "description": "The name for the system color mode" + }, + "theme.navbar.mobileDropdown.collapseButton.expandAriaLabel": { + "message": "ドロップダウンを展開", + "description": "The ARIA label of the button to expand the mobile dropdown navbar item" + }, + "theme.navbar.mobileDropdown.collapseButton.collapseAriaLabel": { + "message": "ドロップダウンを折りたたむ", + "description": "The ARIA label of the button to collapse the mobile dropdown navbar item" + } +} From ed75161341891cca874a50b20b01a75e1cb0969e Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:25:07 -0400 Subject: [PATCH 043/437] New translations options.json (Japanese) --- .../ja/docusaurus-plugin-content-blog/options.json | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-blog/options.json diff --git a/i18n/ja/docusaurus-plugin-content-blog/options.json b/i18n/ja/docusaurus-plugin-content-blog/options.json new file mode 100644 index 00000000000..7abfbdd6766 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-blog/options.json @@ -0,0 +1,14 @@ +{ + "title": { + "message": "ブログ", + "description": "The title for the blog used in SEO" + }, + "description": { + "message": "ブログ", + "description": "The description for the blog used in SEO" + }, + "sidebar.title": { + "message": "最近の投稿", + "description": "The label for the left sidebar" + } +} From 8c6877ea64617771afea760642be93ec815e6b10 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:25:09 -0400 Subject: [PATCH 044/437] New translations current.json (Japanese) --- .../current.json | 130 ++++++++++++++++++ 1 file changed, 130 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current.json diff --git a/i18n/ja/docusaurus-plugin-content-docs/current.json b/i18n/ja/docusaurus-plugin-content-docs/current.json new file mode 100644 index 00000000000..0def7167971 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current.json @@ -0,0 +1,130 @@ +{ + "version.label": { + "message": "次へ", + "description": "The label for version current" + }, + "sidebar.unraidSidebar.category.Unraid OS": { + "message": "Unraid OS", + "description": "The label for category Unraid OS in sidebar unraidSidebar" + }, + "sidebar.unraidSidebar.category.Getting started with Unraid": { + "message": "Unraid の使い始め", + "description": "The label for category Getting started with Unraid in sidebar unraidSidebar" + }, + "sidebar.unraidSidebar.category.Set up Unraid": { + "message": "Unraid のセットアップ", + "description": "The label for category Set up Unraid in sidebar unraidSidebar" + }, + "sidebar.unraidSidebar.category.Explore the user interface": { + "message": "ユーザーインターフェースを探る", + "description": "The label for category Explore the user interface in sidebar unraidSidebar" + }, + "sidebar.unraidSidebar.category.Using Unraid to": { + "message": "Unraid を使って", + "description": "The label for category Using Unraid to in sidebar unraidSidebar" + }, + "sidebar.unraidSidebar.category.Manage storage": { + "message": "ストレージを管理する", + "description": "The label for category Manage storage in sidebar unraidSidebar" + }, + "sidebar.unraidSidebar.category.Run Docker containers": { + "message": "Docker コンテナを実行する", + "description": "The label for category Run Docker containers in sidebar unraidSidebar" + }, + "sidebar.unraidSidebar.category.Create virtual machines": { + "message": "仮想マシンを作成する", + "description": "The label for category Create virtual machines in sidebar unraidSidebar" + }, + "sidebar.unraidSidebar.category.Customize your experience": { + "message": "使い心地をカスタマイズする", + "description": "The label for category Customize your experience in sidebar unraidSidebar" + }, + "sidebar.unraidSidebar.category.System administration": { + "message": "システム管理", + "description": "The label for category System administration in sidebar unraidSidebar" + }, + "sidebar.unraidSidebar.category.Monitor performance": { + "message": "パフォーマンスを監視する", + "description": "The label for category Monitor performance in sidebar unraidSidebar" + }, + "sidebar.unraidSidebar.category.Maintain and update": { + "message": "保守と更新", + "description": "The label for category Maintain and update in sidebar unraidSidebar" + }, + "sidebar.unraidSidebar.category.Secure your server": { + "message": "サーバーを保護する", + "description": "The label for category Secure your server in sidebar unraidSidebar" + }, + "sidebar.unraidSidebar.category.Advanced tools": { + "message": "高度なツール", + "description": "The label for category Advanced tools in sidebar unraidSidebar" + }, + "sidebar.unraidSidebar.category.Advanced configurations": { + "message": "高度な構成", + "description": "The label for category Advanced configurations in sidebar unraidSidebar" + }, + "sidebar.unraidSidebar.category.Optimize storage": { + "message": "ストレージを最適化する", + "description": "The label for category Optimize storage in sidebar unraidSidebar" + }, + "sidebar.unraidSidebar.category.Troubleshooting": { + "message": "トラブルシューティング", + "description": "The label for category Troubleshooting in sidebar unraidSidebar" + }, + "sidebar.unraidSidebar.category.Common issues": { + "message": "よくある問題", + "description": "The label for category Common issues in sidebar unraidSidebar" + }, + "sidebar.unraidSidebar.category.Diagnostics": { + "message": "診断", + "description": "The label for category Diagnostics in sidebar unraidSidebar" + }, + "sidebar.unraidSidebar.category.Release notes": { + "message": "リリースノート", + "description": "The label for category Release notes in sidebar unraidSidebar" + }, + "sidebar.unraidSidebar.category.Release notes.link.generated-index.description": { + "message": "Unraid リリースノート", + "description": "The generated-index page description for category Release notes in sidebar unraidSidebar" + }, + "sidebar.unraidSidebar.category.7.2": { + "message": "7.2", + "description": "The label for category 7.2 in sidebar unraidSidebar" + }, + "sidebar.unraidSidebar.category.7.1": { + "message": "7.1", + "description": "The label for category 7.1 in sidebar unraidSidebar" + }, + "sidebar.unraidSidebar.category.7.0": { + "message": "7.0", + "description": "The label for category 7.0 in sidebar unraidSidebar" + }, + "sidebar.unraidSidebar.category.6.12": { + "message": "6.12", + "description": "The label for category 6.12 in sidebar unraidSidebar" + }, + "sidebar.unraidSidebar.category.6.11": { + "message": "6.11", + "description": "The label for category 6.11 in sidebar unraidSidebar" + }, + "sidebar.unraidSidebar.category.6.10": { + "message": "6.10", + "description": "The label for category 6.10 in sidebar unraidSidebar" + }, + "sidebar.unraidSidebar.category.6.9": { + "message": "6.9", + "description": "The label for category 6.9 in sidebar unraidSidebar" + }, + "sidebar.unraidSidebar.category.Unraid Connect": { + "message": "Unraid Connect", + "description": "The label for category Unraid Connect in sidebar unraidSidebar" + }, + "sidebar.unraidSidebar.category.Unraid API": { + "message": "Unraid API", + "description": "The label for category Unraid API in sidebar unraidSidebar" + }, + "sidebar.unraidSidebar.category.Contribute": { + "message": "貢献する", + "description": "The label for category Contribute in sidebar unraidSidebar" + } +} From e8f10f02e417c1c13dd1b8e69fc29509935c3138 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:25:10 -0400 Subject: [PATCH 045/437] New translations footer.json (Japanese) --- i18n/ja/docusaurus-theme-classic/footer.json | 62 ++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 i18n/ja/docusaurus-theme-classic/footer.json diff --git a/i18n/ja/docusaurus-theme-classic/footer.json b/i18n/ja/docusaurus-theme-classic/footer.json new file mode 100644 index 00000000000..d6db1d825d4 --- /dev/null +++ b/i18n/ja/docusaurus-theme-classic/footer.json @@ -0,0 +1,62 @@ +{ + "link.title.Documentation": { + "message": "ドキュメント", + "description": "The title of the footer links column with title=Documentation in the footer" + }, + "link.title.Community": { + "message": "コミュニティ", + "description": "The title of the footer links column with title=Community in the footer" + }, + "link.title.More": { + "message": "もっと", + "description": "The title of the footer links column with title=More in the footer" + }, + "link.title.License": { + "message": "License", + "description": "The title of the footer links column with title=License in the footer" + }, + "link.item.label.Home": { + "message": "ホーム", + "description": "The label of footer link with label=Home linking to /" + }, + "link.item.label.Contribute on Github": { + "message": "Githubで貢献する", + "description": "The label of footer link with label=Contribute on Github linking to https://github.com/unraid/docs" + }, + "link.item.label.Forums": { + "message": "フォーラム", + "description": "The label of footer link with label=Forums linking to https://forums.unraid.net" + }, + "link.item.label.Discord": { + "message": "Discord", + "description": "The label of footer link with label=Discord linking to https://discord.unraid.net/" + }, + "link.item.label.Unraid Home": { + "message": "Unraid ホーム", + "description": "The label of footer link with label=Unraid Home linking to https://unraid.net" + }, + "link.item.label.Unraid Connect": { + "message": "Unraid Connect", + "description": "The label of footer link with label=Unraid Connect linking to https://connect.myunraid.net" + }, + "link.item.label.Newsletter": { + "message": "ニュースレター", + "description": "The label of footer link with label=Newsletter linking to https://newsletter.unraid.net" + }, + "link.item.label.Blog": { + "message": "ブログ", + "description": "The label of footer link with label=Blog linking to https://unraid.net/blog" + }, + "link.item.label.CC BY-SA 4.0": { + "message": "CC BY-SA 4.0", + "description": "The label of footer link with label=CC BY-SA 4.0 linking to https://creativecommons.org/licenses/by-sa/4.0/" + }, + "copyright": { + "message": "Copyright © 2005-{currentYear} Lime Technology, Inc.
Unraid® is a registered trademark of Lime Technology, Inc.
", + "description": "The footer copyright" + }, + "logo.alt": { + "message": "Unraid ロゴ", + "description": "The alt text of footer logo" + } +} From 4aff5d0574b91ee6ea5a82555c4c4024fb00b99c Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:25:11 -0400 Subject: [PATCH 046/437] New translations navbar.json (Japanese) --- i18n/ja/docusaurus-theme-classic/navbar.json | 26 ++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 i18n/ja/docusaurus-theme-classic/navbar.json diff --git a/i18n/ja/docusaurus-theme-classic/navbar.json b/i18n/ja/docusaurus-theme-classic/navbar.json new file mode 100644 index 00000000000..1df3d280b98 --- /dev/null +++ b/i18n/ja/docusaurus-theme-classic/navbar.json @@ -0,0 +1,26 @@ +{ + "title": { + "message": "Unraid ドキュメント", + "description": "The title in the navbar" + }, + "logo.alt": { + "message": "サイトのロゴ", + "description": "The alt text of navbar logo" + }, + "item.label.More": { + "message": "もっと", + "description": "Navbar item with label More" + }, + "item.label.Unraid Home": { + "message": "Unraid ホーム", + "description": "Navbar item with label Unraid Home" + }, + "item.label.Forums": { + "message": "フォーラム", + "description": "Navbar item with label Forums" + }, + "item.label.Docs Github": { + "message": "Docs GitHub", + "description": "Navbar item with label Docs Github" + } +} From 0833335979a52df03087d5071d9ea6feace41e74 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:25:12 -0400 Subject: [PATCH 047/437] New translations _category_.json (Japanese) --- .../current/API/_category_.json | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/API/_category_.json diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/API/_category_.json b/i18n/ja/docusaurus-plugin-content-docs/current/API/_category_.json new file mode 100644 index 00000000000..1e4ded6ca34 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/API/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "Unraid API", + "position": 4 +} \ No newline at end of file From 901a251194aa459dedaeae90efca643fe0becb74 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:25:14 -0400 Subject: [PATCH 048/437] New translations api-key-app-developer-authorization-flow.mdx (Japanese) --- ...i-key-app-developer-authorization-flow.mdx | 82 +++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/API/api-key-app-developer-authorization-flow.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/API/api-key-app-developer-authorization-flow.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/API/api-key-app-developer-authorization-flow.mdx new file mode 100644 index 00000000000..189b6552150 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/API/api-key-app-developer-authorization-flow.mdx @@ -0,0 +1,82 @@ +# API key authorization flow + +このドキュメントでは、サードパーティ製アプリケーション向けのセルフサービス API キー作成フローについて説明します。 + +## 概要 + +アプリケーションは、ユーザーを特別な認可ページにリダイレクトすることで Unraid サーバーへの API アクセスを要求できます。ユーザーはそこで要求された権限を確認し、ワンクリックで API キーを作成できます。 + +## フロー + +1. **アプリケーションが要求を開始**: アプリはユーザーを次のページにリダイレクトします: + + ```text + https://[unraid-server]/ApiKeyAuthorize?name=MyApp&scopes=docker:read,vm:*&redirect_uri=https://myapp.com/callback&state=abc123 + ``` + +2. **User authentication**: If not already logged in, the user is redirected to login first (standard Unraid auth). + +3. **同意画面**: ユーザーに表示される内容: + - アプリケーション名と説明 + - 要求された権限(特定のスコープを承認/拒否するためのチェックボックス付き) + - API キー名フィールド(事前入力済み) + - Authorize および Cancel ボタン + +4. **API キーの作成**: 認可後: + - API key is created with approved scopes. + - Key is displayed to the user. + - If `redirect_uri` is provided, user is redirected back with the key. + +5. **コールバック**: アプリは API キーを受け取ります: + + ```text + https://myapp.com/callback?api_key=xxx&state=abc123 + ``` + +## Query parameters + +- `name`(必須): 要求元アプリケーションの名前 +- `description`(任意): アプリケーションの説明 +- `scopes`(必須): カンマ区切りの要求スコープ一覧 +- `redirect_uri`(任意): 認可後にリダイレクトする URL +- `state`(任意): 状態を維持するための不透明な値 + +## Scope format + +Scopes follow the pattern: `resource:action`. Examples include `docker:read` (read access to Docker), `vm:*` (full access to VMs), `system:update` (update access to system), `role:viewer` (viewer role access), and `role:admin` (admin role access). + +Available resources include `docker`, `vm`, `system`, `share`, `user`, `network`, `disk`, and others. Available actions are `create`, `read`, `update`, `delete`, or `*` for all. + +Redirect URIs must use HTTPS (except localhost for development). Users explicitly approve each permission, and the flow uses existing Unraid authentication sessions. API keys are shown once and must be saved securely. + +## Example integration + +```javascript +// JavaScript example +const unraidServer = 'tower.local'; +const appName = 'My Docker Manager'; +const scopes = 'docker:*,system:read'; +const redirectUri = 'https://myapp.com/unraid/callback'; +const state = generateRandomState(); + +// Store state for verification +sessionStorage.setItem('oauth_state', state); + +// Redirect user to authorization page +window.location.href = + `https://${unraidServer}/ApiKeyAuthorize?` + + `name=${encodeURIComponent(appName)}&` + + `scopes=${encodeURIComponent(scopes)}&` + + `redirect_uri=${encodeURIComponent(redirectUri)}&` + + `state=${encodeURIComponent(state)}`; + +// Handle callback +const urlParams = new URLSearchParams(window.location.search); +const apiKey = urlParams.get('api_key'); +const returnedState = urlParams.get('state'); + +if (returnedState === sessionStorage.getItem('oauth_state')) { + // Save API key securely + saveApiKey(apiKey); +} +``` From 802537aa85dd9e7594514e88daf611b67f2317c4 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:25:15 -0400 Subject: [PATCH 049/437] New translations cli.mdx (Japanese) --- .../current/API/cli.mdx | 218 ++++++++++++++++++ 1 file changed, 218 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/API/cli.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/API/cli.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/API/cli.mdx new file mode 100644 index 00000000000..0f5425f37ef --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/API/cli.mdx @@ -0,0 +1,218 @@ +--- +title: CLIリファレンス +description: すべてのUnraid API CLIコマンドの完全なリファレンス +sidebar_position: 4 +--- + +# CLIコマンド + +:::info[Command 構造] + +All commands follow the pattern: `unraid-api [options]` + +::: + +## 🚀 Service Management + +### 開始 + +```bash +unraid-api start [--log-level ] +``` + +Starts the Unraid API service. + +Options: + +- `--log-level`: Set logging level (trace|debug|info|warn|error|fatal) + +Alternative: You can also set the log level using the `LOG_LEVEL` environment variable: + +```bash +LOG_LEVEL=trace unraid-api start +``` + +### 停止 + +```bash +unraid-api stop [--delete] +``` + +Stops the Unraid API service. + +- `--delete`: Optional. Delete the PM2 home directory + +### 再起動 + +```bash +unraid-api restart [--log-level ] +``` + +Restarts the Unraid API service. + +Options: + +- `--log-level`: Set logging level (trace|debug|info|warn|error|fatal) + +Alternative: You can also set the log level using the `LOG_LEVEL` environment variable: + +```bash +LOG_LEVEL=trace unraid-api restart +``` + +### ログ + +```bash +unraid-api logs [-l ] +``` + +View the API logs. + +- `-l, --lines`: Optional. Number of lines to tail (default: 100) + +## ⚙️ Configuration Commands + +### Config + +```bash +unraid-api config +``` + +Displays current configuration values. + +### Switch Environment + +```bash +unraid-api switch-env [-e ] +``` + +Switch between production and staging environments. + +- `-e, --environment`: Optional. Target environment (production|staging) + +### Developer Mode + +:::tip[Web GUI Management] + +You can also manage developer options through the web interface at **Settings** → **Management Access** → **Developer Options** + +::: + +```bash +unraid-api developer # Interactive prompt for tools +unraid-api developer --sandbox true # Enable GraphQL sandbox +unraid-api developer --sandbox false # Disable GraphQL sandbox +unraid-api developer --enable-modal # Enable modal testing tool +unraid-api developer --disable-modal # Disable modal testing tool +``` + +Configure developer features for the API: + +- **GraphQL Sandbox**: Enable/disable Apollo GraphQL sandbox at `/graphql` +- **Modal Testing Tool**: Enable/disable UI modal testing in the Unraid menu + +## API Key Management + +:::tip[Web GUI Management] + +You can also manage API keys through the web interface at **Settings** → **Management Access** → **API Keys** + +::: + +### API Key Commands + +```bash +unraid-api apikey [options] +``` + +Create and manage API keys via CLI. + +Options: + +- `--name `: Name of the key +- `--create`: Create a new key +- `-r, --roles `: Comma-separated list of roles +- `-p, --permissions `: Comma-separated list of permissions +- `-d, --description `: Description for the key + +## SSO (Single Sign-On) Management + +:::info[OIDC Configuration] + +For OIDC/SSO provider configuration, see the web interface at **Settings** → **Management Access** → **API** → **OIDC** or refer to the [OIDC Provider Setup](./oidc-provider-setup.mdx) guide. + +::: + +### SSO Base Command + +```bash +unraid-api sso +``` + +#### Add SSO User + +```bash +unraid-api sso add-user +# or +unraid-api sso add +# or +unraid-api sso a +``` + +Add a new user for SSO authentication. + +#### Remove SSO User + +```bash +unraid-api sso remove-user +# or +unraid-api sso remove +# or +unraid-api sso r +``` + +Remove a user (or all users) from SSO. + +#### List SSO Users + +```bash +unraid-api sso list-users +# or +unraid-api sso list +# or +unraid-api sso l +``` + +List all configured SSO users. + +#### Validate SSO Token + +```bash +unraid-api sso validate-token +# or +unraid-api sso validate +# or +unraid-api sso v +``` + +Validates an SSO token and returns its status. + +## Report Generation + +### Generate Report + +```bash +unraid-api report [-r] [-j] +``` + +Generate a system report. + +- `-r, --raw`: Display raw command output +- `-j, --json`: Display output in JSON format + +## 注記 + +1. Most commands require appropriate permissions to modify system state +2. Some commands require the API to be running or stopped +3. Store API keys securely as they provide system access +4. SSO configuration changes may require a service restart From 1cdf61adb2d1baf8791aa5ea010a93eb1a4fff59 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:25:17 -0400 Subject: [PATCH 050/437] New translations how-to-use-the-api.mdx (Japanese) --- .../current/API/how-to-use-the-api.mdx | 253 ++++++++++++++++++ 1 file changed, 253 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/API/how-to-use-the-api.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/API/how-to-use-the-api.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/API/how-to-use-the-api.mdx new file mode 100644 index 00000000000..a91cc7fcabc --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/API/how-to-use-the-api.mdx @@ -0,0 +1,253 @@ +--- +title: Unraid API の使用 +description: GraphQL API を通じて Unraid サーバーとやり取りする方法を学びます +sidebar_position: 2 +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import ManageApiKeysGui from './partials/manage-api-keys-gui.mdx'; +import ManageApiKeysCli from './partials/manage-api-keys-cli.mdx'; + +# Unraid API の使用 + +:::tip[Quick 開始] + +The Unraid API provides a powerful GraphQL interface for managing your server. This guide covers authentication, common queries, and best practices. + +::: + +The Unraid API provides a GraphQL interface that allows you to interact with your Unraid server. This guide will help you get started with exploring and using the API. + +## 🎮 Enabling the GraphQL Sandbox + +### Web GUI Method (Recommended) + +:::info[Preferred Method] + +Using the Web GUI is the easiest way to enable the GraphQL sandbox. + +::: + +1. Navigate to **Settings** → **Management Access** → **Developer Options** +2. Enable the **GraphQL Sandbox** toggle +3. Access the GraphQL playground by navigating to: + + ```txt + http://YOUR_SERVER_IP/graphql + ``` + +### CLI Method + +Alternatively, you can enable developer mode using the CLI: + +```bash +unraid-api developer --sandbox true +``` + +Or use the interactive mode: + +```bash +unraid-api developer +``` + +## 🔑 Authentication + +:::warning[Required for Most Operations] + +Most queries and mutations require authentication. Always include appropriate credentials in your requests. + +::: + +You can authenticate using: + +1. **API Keys** - For programmatic access +2. **Cookies** - Automatic when signed into the WebGUI +3. **SSO/OIDC** - When configured with external providers + +### Managing API Keys + + + + + + + + + + + +### Using API Keys + +The generated API key should be included in your GraphQL requests as a header: + +```json +{ + "x-api-key": "YOUR_API_KEY" +} +``` + +## 📊 Available Schemas + +The API provides access to various aspects of your Unraid server: + +### System Information + +- Query system details including CPU, memory, and OS information +- Monitor system status and health +- Access baseboard and hardware information + +### Array Management + +- Query array status and configuration +- Manage array operations (start/stop) +- Monitor disk status and health +- Perform parity checks + +### Docker Management + +- List and manage Docker containers +- Monitor container status +- Manage Docker networks + +### Remote Access + +- Configure and manage remote access settings +- Handle SSO configuration +- Manage allowed origins + +### 💻 Example Queries + +#### Check System Status + +```graphql +query { + info { + os { + platform + distro + release + uptime + } + cpu { + manufacturer + brand + cores + threads + } + } +} +``` + +#### Monitor Array Status + +```graphql +query { + array { + state + capacity { + disks { + free + used + total + } + } + disks { + name + size + status + temp + } + } +} +``` + +#### List Docker Containers + +```graphql +query { + dockerContainers { + id + names + state + status + autoStart + } +} +``` + +## 🏗️ Schema Types + +The API includes several core types: + +### Base Types + +- `Node`: Interface for objects with unique IDs - please see [Object Identification](https://graphql.org/learn/global-object-identification/) +- `JSON`: For complex JSON data +- `DateTime`: For timestamp values +- `Long`: For 64-bit integers + +### Resource Types + +- `Array`: Array and disk management +- `Docker`: Container and network management +- `Info`: System information +- `Config`: Server configuration +- `Connect`: Remote access settings + +### Role-Based Access + +Available roles: + +- `admin`: Full access +- `connect`: Remote access features +- `guest`: Limited read access + +## ✨ Best Practices + +:::tip[Pro Tips] + +1. Use the Apollo Sandbox to explore the schema and test queries +2. Start with small queries and gradually add fields as needed +3. Monitor your query complexity to maintain performance +4. Use appropriate roles and permissions for your API keys +5. Keep your API keys secure and rotate them periodically + +::: + +## ⏱️ Rate Limiting + +:::caution[Rate Limits] + +The API implements rate limiting to prevent abuse. Ensure your applications handle rate limit responses appropriately. + +::: + +## 🚨 Error Handling + +The API returns standard GraphQL errors in the following format: + +```json +{ + "errors": [ + { + "message": "Error description", + "locations": [...], + "path": [...] + } + ] +} +``` + +## 📚 Additional Resources + +:::info[Learn More] + +- Use the Apollo Sandbox's schema explorer to browse all available types and fields +- Check the documentation tab in Apollo Sandbox for detailed field descriptions +- Monitor the API's health using `unraid-api status` +- Generate reports using `unraid-api report` for troubleshooting + +For more information about specific commands and configuration options, refer to the [CLI documentation](cli.mdx) or run `unraid-api --help`. + +::: From 3f848611adb21ece0df13dde5e14b7acca7e4f28 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:25:18 -0400 Subject: [PATCH 051/437] New translations advanced-rules.png (Japanese) --- .../current/API/images/advanced-rules.png | Bin 0 -> 103268 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/API/images/advanced-rules.png diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/API/images/advanced-rules.png b/i18n/ja/docusaurus-plugin-content-docs/current/API/images/advanced-rules.png new file mode 100644 index 0000000000000000000000000000000000000000..dd60e6dc0d62443c8e07980846f7762929219f87 GIT binary patch literal 103268 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

=TL8t|d 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 I(gxoD3n!4utN;K2 literal 0 HcmV?d00001 From de5cd622af86b19ca1092ccc77d5988eee118ba5 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:25:48 -0400 Subject: [PATCH 052/437] New translations button-customization.png (Japanese) --- .../current/API/images/button-customization.png | Bin 0 -> 97812 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/API/images/button-customization.png diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/API/images/button-customization.png b/i18n/ja/docusaurus-plugin-content-docs/current/API/images/button-customization.png new file mode 100644 index 0000000000000000000000000000000000000000..516cd0c3cd9d703315129c918a2dea2e13392439 GIT binary patch literal 97812 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 Date: Thu, 2 Apr 2026 11:25:50 -0400 Subject: [PATCH 053/437] New translations configured-provider.png (Japanese) --- .../current/API/images/configured-provider.png | Bin 0 -> 86795 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/API/images/configured-provider.png diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/API/images/configured-provider.png b/i18n/ja/docusaurus-plugin-content-docs/current/API/images/configured-provider.png new file mode 100644 index 0000000000000000000000000000000000000000..c3026af926d7ce40adf328033cc966ad68fb5f0b GIT binary patch literal 86795 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 Q*BOAo)78&qol`;+04(}33;+NC literal 0 HcmV?d00001 From 9f40d4b5eb59bac2c88149d766b4cb3596391f03 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:25:51 -0400 Subject: [PATCH 054/437] New translations default-unraid-provider.png (Japanese) --- .../API/images/default-unraid-provider.png | Bin 0 -> 131176 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/API/images/default-unraid-provider.png diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/API/images/default-unraid-provider.png b/i18n/ja/docusaurus-plugin-content-docs/current/API/images/default-unraid-provider.png new file mode 100644 index 0000000000000000000000000000000000000000..8d1f3227d6d04960a730ec48fa864ccd5243f78e GIT binary patch literal 131176 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 + +## 🌟 Key Features + +:::info[Core 機能] + +The API provides: + +- **GraphQL インターフェース**: 強力な型付けを備えた、モダンで柔軟な API +- **認証**: API キー、セッション Cookie、SSO/OIDC を含む複数の方法 +- **包括的な対応範囲**: システム情報、アレイ管理、Docker 操作にアクセス +- **開発者ツール**: Web インターフェースまたは CLI から設定可能な、組み込みの GraphQL サンドボックス +- **ロールベースアクセス**: 粒度の細かい権限管理 +- **Web Management**: Manage API keys and settings through the web interface + +::: + +## 🚀 はじめる + + + + + + + + + + + +詳細な使用手順については、[CLI Commands](./cli) リファレンスを参照してください。 From d7d25ea7a8357440ce39b0d5d3b11d11084b7ca8 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:25:55 -0400 Subject: [PATCH 057/437] New translations oidc-provider-setup.mdx (Japanese) --- .../current/API/oidc-provider-setup.mdx | 430 ++++++++++++++++++ 1 file changed, 430 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/API/oidc-provider-setup.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/API/oidc-provider-setup.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/API/oidc-provider-setup.mdx new file mode 100644 index 00000000000..2bf81ba3c62 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/API/oidc-provider-setup.mdx @@ -0,0 +1,430 @@ +--- +title: OIDCプロバイダーのセットアップ +description: Unraid APIでSSO認証のためのOIDC(OpenID Connect)プロバイダーを設定します +sidebar_position: 3 +--- + +# OIDCプロバイダーのセットアップ + +:::info[What OIDCですか?] + +OpenID Connect (OIDC) is an authentication protocol that allows users to sign in using their existing accounts from providers like Google, Microsoft, or your corporate identity provider. It enables Single Sign-On (SSO) for seamless and secure authentication. + +::: + +This guide walks you through configuring OIDC (OpenID Connect) providers for SSO authentication in the Unraid API using the web interface. + +## 🚀 Quick Start + +
+ Getting to OIDC Settings + + 1. Navigate to your Unraid server's web interface + 2. Go to **Settings** → **Management Access** → **API** → **OIDC** + 3. You'll see tabs for different providers - click the **+** button to add a new provider + +
+ +### OIDC Providers Interface Overview + +![Login Page with SSO Options](/img/api/sso-with-options.png) +*Login page showing traditional login form with SSO options - "Login With Unraid.net" and "Sign in with Google" buttons* + +The interface includes: + +- **Provider tabs**: Each configured provider (Unraid.net, Google, etc.) appears as a tab +- **Add Provider button**: Click the **+** button to add new providers +- **Authorization Mode dropdown**: Toggle between "simple" and "advanced" modes +- **Simple Authorization section**: Configure allowed email domains and specific addresses +- **Add Item buttons**: Click to add multiple authorization rules + +## Understanding Authorization Modes + +The interface provides two authorization modes: + +### Simple Mode (Recommended) + +Simple mode is the easiest way to configure authorization. You can: + +- Allow specific email domains (e.g., @company.com) +- Allow specific email addresses +- Configure who can access your Unraid server with minimal setup + +**When to use Simple Mode:** + +- You want to allow all users from your company domain +- You have a small list of specific users +- You're new to OIDC configuration + +
+ Advanced Mode + + Advanced mode provides granular control using claim-based rules. You can: + + - Create complex authorization rules based on JWT claims + - Use operators like equals, contains, endsWith, startsWith + - Combine multiple conditions with OR/AND logic + - Choose whether ANY rule must pass (OR mode) or ALL rules must pass (AND mode) + + **When to use Advanced Mode:** + + - You need to check group memberships + - You want to verify multiple claims (e.g., email domain AND verified status) + - You have complex authorization requirements + - You need fine-grained control over how rules are evaluated + +
+ +## Authorization Rules + +![Authorization Rules Configuration](/img/api/advanced-rules.png) +*Advanced authorization rules showing JWT claim configuration with email endsWith operator for domain-based access control* + +### Simple Mode Examples + +#### Allow Company Domain + +In Simple Authorization: + +- **Allowed Email Domains**: Enter `company.com` +- This allows anyone with @company.com email + +#### Allow Specific Users + +- **Specific Email Addresses**: Add individual emails +- Click **Add Item** to add multiple addresses + +
+ Advanced Mode Examples + + #### Authorization Rule Mode + + When using multiple rules, you can choose how they're evaluated: + + - **OR Mode** (default): User is authorized if ANY rule passes + - **AND Mode**: User is authorized only if ALL rules pass + + #### Email Domain with Verification (AND Mode) + + To require both email domain AND verification: + + 1. Set **Authorization Rule Mode** to `AND` + 2. Add two rules: + - Rule 1: + - **Claim**: `email` + - **Operator**: `endsWith` + - **Value**: `@company.com` + - Rule 2: + - **Claim**: `email_verified` + - **Operator**: `equals` + - **Value**: `true` + + This ensures users must have both a company email AND a verified email address. + + #### Group-Based Access (OR Mode) + + To allow access to multiple groups: + + 1. Set **Authorization Rule Mode** to `OR` (default) + 2. Add rules for each group: + - **Claim**: `groups` + - **Operator**: `contains` + - **Value**: `admins` + Or add another rule: + - **Claim**: `groups` + - **Operator**: `contains` + - **Value**: `developers` + + Users in either `admins` OR `developers` group will be authorized. + + #### Multiple Domains + + - **Claim**: `email` + - **Operator**: `endsWith` + - **Values**: Add multiple domains (e.g., `company.com`, `subsidiary.com`) + + #### Complex Authorization (AND Mode) + + For strict security requiring multiple conditions: + + 1. Set **Authorization Rule Mode** to `AND` + 2. Add multiple rules that ALL must pass: + - Email must be from company domain + - Email must be verified + - User must be in specific group + - Account must have 2FA enabled (if claim available) + +
+ +
+ Configuration Interface Details + + ### Provider Tabs + + - Each configured provider appears as a tab at the top + - Click a tab to switch between provider configurations + - The **+** button on the right adds a new provider + + ### Authorization Mode Dropdown + + - **simple**: Best for email-based authorization (recommended for most users) + - **advanced**: For complex claim-based rules using JWT claims + + ### Simple Authorization Fields + + When "simple" mode is selected, you'll see: + + - **Allowed Email Domains**: Enter domains without @ (e.g., `company.com`) + - Helper text: "Users with emails ending in these domains can login" + - **Specific Email Addresses**: Add individual email addresses + - Helper text: "Only these exact email addresses can login" + - **Add Item** buttons to add multiple entries + + ### Advanced Authorization Fields + + When "advanced" mode is selected, you'll see: + + - **Authorization Rule Mode**: Choose `OR` (any rule passes) or `AND` (all rules must pass) + - **Authorization Rules**: Add multiple claim-based rules + - **For each rule**: + - **Claim**: The JWT claim to check + - **Operator**: How to compare (equals, contains, endsWith, startsWith) + - **Value**: What to match against + + ### Additional Interface Elements + + - **Enable Developer Sandbox**: Toggle to enable GraphQL sandbox at `/graphql` + - The interface uses a dark theme for better visibility + - Field validation indicators help ensure correct configuration + +
+ +### Required Redirect URI + +:::caution[Important Configuration] + +All providers must be configured with this exact redirect URI format: + +::: + +```bash +http://YOUR_UNRAID_IP/graphql/api/auth/oidc/callback +``` + +:::tip + +Replace `YOUR_UNRAID_IP` with your actual server IP address (e.g., `192.168.1.100` or `tower.local`). + +::: + +### Issuer URL Format + +The **Issuer URL** field accepts both formats, but **base URL is strongly recommended** for security: + +- **Base URL** (recommended): `https://accounts.google.com` +- **Full discovery URL**: `https://accounts.google.com/.well-known/openid-configuration` + +**⚠️ Security Note**: Always use the base URL format when possible. The system automatically appends `/.well-known/openid-configuration` for OIDC discovery. Using the full discovery URL directly disables important issuer validation checks and is not recommended by the OpenID Connect specification. + +**Examples of correct base URLs:** + +- Google: `https://accounts.google.com` +- Microsoft/Azure: `https://login.microsoftonline.com/YOUR_TENANT_ID/v2.0` +- Keycloak: `https://keycloak.example.com/realms/YOUR_REALM` +- Authelia: `https://auth.yourdomain.com` + +## ✅ Testing Your Configuration + +![Login Page with SSO Buttons](/img/api/sso-with-options.png) +*Unraid login page displaying both traditional username/password authentication and SSO options with customized provider buttons* + +1. Save your provider configuration +2. Log out (if logged in) +3. Navigate to the login page +4. Your configured provider button should appear +5. Click to test the login flow + +## 🔧 Troubleshooting + +### よくある問題 + +#### "Provider not found" error + +- Ensure the Issuer URL is correct +- Check that the provider supports OIDC discovery (/.well-known/openid-configuration) + +#### "Authorization failed" + +- In Simple Mode: Check email domains are entered correctly (without @) +- In Advanced Mode: + - Verify claim names match exactly what your provider sends + - Check if Authorization Rule Mode is set correctly (OR vs AND) + - Ensure all required claims are present in the token +- Enable debug logging to see actual claims and rule evaluation + +#### "Invalid redirect URI" + +- Ensure the redirect URI in your provider matches exactly +- Include the correct port if using a non-standard configuration +- Verify the redirect URI protocol matches your server's configuration (HTTP or HTTPS) + +#### Cannot see login button + +- Check that at least one authorization rule is configured +- Verify the provider is enabled/saved + +### デバッグモード + +To troubleshoot issues: + +1. Enable debug logging: + +```bash +LOG_LEVEL=debug unraid-api start --debug +``` + +2. Check logs for: + +- Received claims from provider +- Authorization rule evaluation +- Token validation errors + +## 🔐 Security Best Practices + +1. **Use Simple Mode for authorization** - Prevents overly accepting configurations and reduces misconfiguration risks +2. **Be specific with authorization** - Don't use overly broad rules +3. **Rotate secrets regularly** - Update client secrets periodically +4. **Test thoroughly** - Verify only intended users can access + +## 💡 Need Help? + +- Check provider's OIDC documentation +- Review Unraid API logs for detailed error messages +- Ensure your provider supports standard OIDC discovery +- Verify network connectivity between Unraid and provider + +## 🏢 Provider-Specific Setup + +### Unraid.net Provider + +The Unraid.net provider is built-in and pre-configured. You only need to configure authorization rules in the interface. + +**構成:** + +- **Issuer URL**: Pre-configured (built-in provider) +- **Client ID/Secret**: Pre-configured (built-in provider) +- **Redirect URI**: `http://YOUR_UNRAID_IP/graphql/api/auth/oidc/callback` + +:::tip[Redirect URI Protocol] + +**Match the protocol to your server setup:** Use `http://` if accessing your Unraid server without SSL/TLS (typical for local network access). Use `https://` if you've configured SSL/TLS on your server. Some OIDC providers (like Google) require HTTPS and won't accept HTTP redirect URIs. + +::: + +Configure authorization rules using Simple Mode (allowed email domains/addresses) or Advanced Mode for complex requirements. + +### Google + +
+ 📋 Setup Steps + + Set up OAuth 2.0 credentials in [Google Cloud Console](https://console.cloud.google.com/): + + 1. Go to **APIs & Services** → **Credentials** + 2. Click **Create Credentials** → **OAuth client ID** + 3. Choose **Web application** as the application type + 4. Add your redirect URI to **Authorized redirect URIs** + 5. Configure the OAuth consent screen if prompted + +
+ +**構成:** + +- **Issuer URL**: `https://accounts.google.com` +- **Client ID/Secret**: From your OAuth 2.0 client credentials +- **Required Scopes**: `openid`, `profile`, `email` +- **Redirect URI**: `http://YOUR_UNRAID_IP/graphql/api/auth/oidc/callback` + +:::warning[Google Domain Requirements] + +**Google requires valid domain names for OAuth redirect URIs.** Local IP addresses and `.local` domains are not accepted. To use Google OAuth with your Unraid server, you'll need: + +- **オプション 1: リバースプロキシ** - 有効なドメイン名をUnraid APIに向けて設定したリバースプロキシ(NGINX Proxy ManagerやTraefikなど)を用意します +- **オプション 2: Tailscale** - Tailscaleを使って、Googleが受け入れる有効な`*.ts.net`ドメインを取得します +- **オプション 3: 動的DNS** - DDNSサービスを使って、サーバー用の公開ドメイン名を取得します + +Remember to update your redirect URI in both Google Cloud Console and your Unraid OIDC configuration to use the valid domain. + +::: + +Google Workspaceドメインの場合は、`hd`クレームを使うAdvanced Modeを使用して、組織のドメインへのアクセスを制限します。 + +### Authelia + +Autheliaの`configuration.yml`でOIDCクライアントを設定し、クライアントIDを`unraid-api`にして、Autheliaのhash-passwordコマンドを使ってハッシュ化されたシークレットを生成します。 + +**構成:** + +- **Issuer URL**: `https://auth.yourdomain.com` +- **Client ID**: `unraid-api`(またはAutheliaで設定した値) +- **Client Secret**: ハッシュ化されていないシークレット +- **Required Scopes**: `openid`, `profile`, `email`, `groups` +- **Redirect URI**: `http://YOUR_UNRAID_IP/graphql/api/auth/oidc/callback` + +グループベースの認可には`groups`クレームを使ってAdvanced Modeを使用します。 + +### Microsoft/Azure AD + +Azure Portal](https://portal.azure.com/)でAzure Active Directory → App registrationsの下に新しいアプリを登録します。アプリケーションIDを控え、クライアントシークレットを作成し、テナントIDを控えます。 + +**構成:** + +- **Issuer URL**: `https://login.microsoftonline.com/YOUR_TENANT_ID/v2.0` +- **Client ID**: アプリケーション(クライアント)ID +- **Client Secret**: 生成されたクライアントシークレット +- **Required Scopes**: `openid`, `profile`, `email` +- **Redirect URI**: `http://YOUR_UNRAID_IP/graphql/api/auth/oidc/callback` + +認可ルールは、メールドメインまたはAdvancedクレームを使ってインターフェースで設定できます。 + +### Keycloak + +Keycloak Admin Consoleで`openid-connect`プロトコルを使って新しい confidential client を作成し、Credentialsタブからクライアントシークレットをコピーします。 + +**構成:** + +- **Issuer URL**: `https://keycloak.example.com/realms/YOUR_REALM` +- **Client ID**: `unraid-api`(またはKeycloakで設定した値) +- **Client Secret**: KeycloakのCredentialsタブから取得 +- **Required Scopes**: `openid`, `profile`, `email` +- **Redirect URI**: `http://YOUR_UNRAID_IP/graphql/api/auth/oidc/callback` + +ロールベースの認可には、`realm_access.roles`または`resource_access`クレームを使ってAdvanced Modeを使用します。 + +### Authentik + +Authentikで新しいOAuth2/OpenID Providerを作成し、次にApplicationを作成してそれをプロバイダーにリンクします。 + +**構成:** + +- **Issuer URL**: `https://authentik.example.com/application/o//` +- **Client ID**: Authentikのプロバイダー設定から取得 +- **Client Secret**: Authentikのプロバイダー設定から取得 +- **Required Scopes**: `openid`, `profile`, `email` +- **Redirect URI**: `http://YOUR_UNRAID_IP/graphql/api/auth/oidc/callback` + +認可ルールは、インターフェースで設定できます。 + +### Okta + +Okta Admin Consoleで新しいOIDC Web Applicationを作成し、適切なユーザーまたはグループを割り当てます。 + +**構成:** + +- **Issuer URL**: `https://YOUR_DOMAIN.okta.com` +- **Client ID**: Oktaのアプリケーション設定から取得 +- **Client Secret**: Oktaのアプリケーション設定から取得 +- **Required Scopes**: `openid`, `profile`, `email` +- **Redirect URI**: `http://YOUR_UNRAID_IP/graphql/api/auth/oidc/callback` + +認可ルールは、メールドメインまたはAdvancedクレームを使ってインターフェースで設定できます。 From 0f3ab2569e2fd479bbc2199c73649972777399e8 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:25:56 -0400 Subject: [PATCH 058/437] New translations get-started-pre72.mdx (Japanese) --- .../current/API/partials/get-started-pre72.mdx | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/API/partials/get-started-pre72.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/API/partials/get-started-pre72.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/API/partials/get-started-pre72.mdx new file mode 100644 index 00000000000..6e47e73ca85 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/API/partials/get-started-pre72.mdx @@ -0,0 +1,5 @@ +1. Install the [Unraid Connect](../../unraid-connect/overview-and-setup.mdx) plugin from [Community Applications](../../unraid-os/using-unraid-to/run-docker-containers/community-applications.mdx). +2. No Unraid Connect login required for local API access. +3. Configure the plugin settings. +4. Enable the %%GraphQL|graphql%% Sandbox. +5. APIの探索を始めましょう! From 57697ae019c7349551f67a2fa8d7a69d403cc1aa Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:25:58 -0400 Subject: [PATCH 059/437] New translations get-started-v72.mdx (Japanese) --- .../current/API/partials/get-started-v72.mdx | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/API/partials/get-started-v72.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/API/partials/get-started-v72.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/API/partials/get-started-v72.mdx new file mode 100644 index 00000000000..8697fb2d720 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/API/partials/get-started-v72.mdx @@ -0,0 +1,5 @@ +1. API はすでにインストールされ、実行中です +2. **設定** → **管理アクセス** → **API** で設定を開いてください +3. 開発用に GraphQL Sandbox を有効にします +4. 最初の API キーを作成します +5. GraphQL クエリを始めましょう! From 63bb14be88e188d253f82b3df45ee9f72211dcc4 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:25:59 -0400 Subject: [PATCH 060/437] New translations manage-api-keys-cli.mdx (Japanese) --- .../current/API/partials/manage-api-keys-cli.mdx | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/API/partials/manage-api-keys-cli.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/API/partials/manage-api-keys-cli.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/API/partials/manage-api-keys-cli.mdx new file mode 100644 index 00000000000..3630eba330a --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/API/partials/manage-api-keys-cli.mdx @@ -0,0 +1,12 @@ +CLI を使用して API キーを作成することもできます: + +```bash +unraid-api apikey --create +``` + +以下のプロンプトに従って設定してください: + +- 名前 +- 説明 +- ロール +- 権限 From a068acd979a0e3fdd7cc2ab962d3f9cefe583544 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:26:00 -0400 Subject: [PATCH 061/437] New translations manage-api-keys-gui.mdx (Japanese) --- .../current/API/partials/manage-api-keys-gui.mdx | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/API/partials/manage-api-keys-gui.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/API/partials/manage-api-keys-gui.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/API/partials/manage-api-keys-gui.mdx new file mode 100644 index 00000000000..1e67b802f9f --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/API/partials/manage-api-keys-gui.mdx @@ -0,0 +1,6 @@ +Unraid の Web インターフェースで **設定** → **管理アクセス** → **API キー** に移動して、次の操作を行います: + +- 既存の API キーを表示する +- 新しい API キーを作成する +- 権限とロールを管理する +- キーを取り消すか再生成する From b8a9341af9535a2ea31721e9de09630ee6d5ceaf Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:26:01 -0400 Subject: [PATCH 062/437] New translations programmatic-api-key-management.mdx (Japanese) --- .../API/programmatic-api-key-management.mdx | 258 ++++++++++++++++++ 1 file changed, 258 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/API/programmatic-api-key-management.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/API/programmatic-api-key-management.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/API/programmatic-api-key-management.mdx new file mode 100644 index 00000000000..e9e01b2dea3 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/API/programmatic-api-key-management.mdx @@ -0,0 +1,258 @@ +--- +title: プログラムによるAPIキー管理 +description: 自動化ワークフロー向けにAPIキーをプログラムで作成、使用、削除する +sidebar_position: 4 +--- + +# プログラムによるAPIキー管理 + +このガイドでは、Unraid API CLIを使用してAPIキーをプログラムで作成、使用、削除する方法を説明し、自動化ワークフローやスクリプトを可能にします。 + +## 概要 + +`unraid-api apikey` コマンドは対話モードと非対話モードの両方をサポートしており、次の用途に適しています: + +- 自動デプロイスクリプト +- CI/CDパイプライン +- 一時的なアクセスの付与 +- Infrastructure as codeのワークフロー + +:::tip[Quick 開始] + +Jump to the [Complete Workflow Example](#complete-workflow-example) to see everything in action. + +::: + +## Creating API Keys Programmatically + +### Basic Creation with JSON Output + +Use the `--json` flag to get machine-readable output: + +```bash +unraid-api apikey --create --name "workflow key" --roles ADMIN --json +``` + +**Output:** + +```json +{ + "key": "your-generated-api-key-here", + "name": "workflow key", + "id": "generated-uuid" +} +``` + +### Advanced Creation with Permissions + +```bash +unraid-api apikey --create \ + --name "limited access key" \ + --permissions "DOCKER:READ_ANY,ARRAY:READ_ANY" \ + --description "Read-only access for monitoring" \ + --json +``` + +### Handling Existing Keys + +If a key with the same name exists, use `--overwrite`: + +```bash +unraid-api apikey --create --name "existing key" --roles ADMIN --overwrite --json +``` + +:::warning[Key Replacement] + +The `--overwrite` flag will permanently replace the existing key. The old key will be immediately invalidated. + +::: + +## Deleting API Keys Programmatically + +### Non-Interactive Deletion + +Delete a key by name without prompts: + +```bash +unraid-api apikey --delete --name "workflow key" +``` + +**Output:** + +``` +Successfully deleted 1 API key +``` + +### JSON Output for Deletion + +Use `--json` flag for machine-readable delete confirmation: + +```bash +unraid-api apikey --delete --name "workflow key" --json +``` + +**Success Output:** + +```json +{ + "deleted": 1, + "keys": [ + { + "id": "generated-uuid", + "name": "workflow key" + } + ] +} +``` + +**Error Output:** + +```json +{ + "deleted": 0, + "error": "No API key found with name: nonexistent key" +} +``` + +### エラー処理 + +When the specified key doesn't exist: + +```bash +unraid-api apikey --delete --name "nonexistent key" +# Output: No API keys found to delete +``` + +**JSON Error Output:** + +```json +{ + "deleted": 0, + "message": "No API keys found to delete" +} +``` + +## Complete Workflow Example + +Here's a complete example for temporary access provisioning: + +```bash +#!/bin/bash +set -e + +# 1. Create temporary API key +echo "Creating temporary API key..." +KEY_DATA=$(unraid-api apikey --create \ + --name "temp deployment key" \ + --roles ADMIN \ + --description "Temporary key for deployment $(date)" \ + --json) + +# 2. Extract the API key +API_KEY=$(echo "$KEY_DATA" | jq -r '.key') +echo "API key created successfully" + +# 3. Use the key for operations +echo "Configuring services..." +curl -H "Authorization: Bearer $API_KEY" \ + -H "Content-Type: application/json" \ + -d '{"provider": "azure", "clientId": "your-client-id"}' \ + http://localhost:3001/graphql + +# 4. Clean up (always runs, even on error) +trap 'echo "Cleaning up..."; unraid-api apikey --delete --name "temp deployment key"' EXIT + +echo "Deployment completed successfully" +``` + +## Command Reference + +### Create Command Options + +| 旗 | 説明 | Example | +| ----------------------- | ----------------------- | --------------------------------- | +| `--name ` | Key name (required) | `--name "my key"` | +| `--roles ` | Comma-separated roles | `--roles ADMIN,VIEWER` | +| `--permissions ` | Resource:action pairs | `--permissions "DOCKER:READ_ANY"` | +| `--description ` | Key description | `--description "CI/CD key"` | +| `--overwrite` | Replace existing key | `--overwrite` | +| `--json` | Machine-readable output | `--json` | + +### Available Roles + +- `ADMIN` - Full system access +- `CONNECT` - Unraid Connect features +- `VIEWER` - Read-only access +- `GUEST` - Limited access + +### Available Resources and Actions + +**Resources:** `ACTIVATION_CODE`, `API_KEY`, `ARRAY`, `CLOUD`, `CONFIG`, `CONNECT`, `CONNECT__REMOTE_ACCESS`, `CUSTOMIZATIONS`, `DASHBOARD`, `DISK`, `DISPLAY`, `DOCKER`, `FLASH`, `INFO`, `LOGS`, `ME`, `NETWORK`, `NOTIFICATIONS`, `ONLINE`, `OS`, `OWNER`, `PERMISSION`, `REGISTRATION`, `SERVERS`, `SERVICES`, `SHARE`, `VARS`, `VMS`, `WELCOME` + +**Actions:** `CREATE_ANY`, `CREATE_OWN`, `READ_ANY`, `READ_OWN`, `UPDATE_ANY`, `UPDATE_OWN`, `DELETE_ANY`, `DELETE_OWN` + +### Delete Command Options + +| 旗 | 説明 | Example | +| --------------- | ------------------------ | ----------------- | +| `--delete` | Enable delete mode | `--delete` | +| `--name ` | Key to delete (optional) | `--name "my key"` | + +**Note:** If `--name` is omitted, the command runs interactively. + +## Best Practices + +:::info[Security Best Practices] + +**Minimal Permissions** + +- 可能な場合はADMINロールではなく、特定の権限を使用してください +- 例: `--roles ADMIN` の代わりに `--permissions "DOCKER:READ_ANY"` + +**キーのライフサイクル管理** + +- 一時キーは使用後に必ず削除してください +- APIキーは安全に保存してください(環境変数、シークレット管理) +- Use descriptive names and descriptions for audit trails + +::: + +### エラー処理 + +- 各コマンドの後で終了コード(`$?`)を確認してください +- bashスクリプトでは`set -e`を使用して、失敗したらすぐに終了するようにしてください +- `trap`を使って適切なクリーンアップを実装してください + +### キーの命名 + +- 目的と日付を含む説明的な名前を使用してください +- 名前には文字、数字、スペースのみを含める必要があります +- Unicode文字がサポートされています + +## トラブルシューティング + +### よくある問題 + +:::note[Common エラーメッセージ] + +**"API key name must contain only letters, numbers, and spaces"** + +- **解決策:** ハイフン、アンダースコア、記号などの特殊文字を削除してください + +**「名前 'x' のAPIキーはすでに存在します」** + +- **解決策:** `--overwrite` フラグを使用するか、別の名前を選択してください + +**「キーに少なくとも1つのロールまたは権限を追加してください」** + +- **Solution:** Specify either `--roles` or `--permissions` (or both) + +::: + +### デバッグモード + +トラブルシューティングのため、デバッグログを有効にして実行してください: + +```bash +LOG_LEVEL=debug unraid-api apikey --create --name "debug key" --roles ADMIN +``` From c92b2544acbddfc3708957582fd755a0503964be Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:26:03 -0400 Subject: [PATCH 063/437] New translations upcoming-features.mdx (Japanese) --- .../current/API/upcoming-features.mdx | 181 ++++++++++++++++++ 1 file changed, 181 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/API/upcoming-features.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/API/upcoming-features.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/API/upcoming-features.mdx new file mode 100644 index 00000000000..e1f9e573525 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/API/upcoming-features.mdx @@ -0,0 +1,181 @@ +--- +title: ロードマップ&機能 +description: Unraid APIの現在の状況と今後の機能 +sidebar_position: 10 +--- + +# ロードマップ&機能 + +:::info[Development ステータス] + +This roadmap outlines completed and planned features for the Unraid API. Features and timelines may change based on development priorities and community feedback. + +::: + +## Feature Status Legend + +| ステータス | 説明 | +| -------------------------- | ------------------------------------ | +| ✅ **Done** | Feature is complete and available | +| 🚧 **In Progress** | Currently under active development | +| 📅 **Planned** | Scheduled for future development | +| 💡 **Under Consideration** | Being evaluated for future inclusion | + +## Core Infrastructure + +### Completed Features ✅ + +| 機能 | Available Since | +| -------------------------------------------- | ------------------ | +| **API Development Environment Improvements** | v4.0.0 | +| **Include API in Unraid OS** | Unraid v7.2-beta.1 | +| **Separate API from Connect Plugin** | Unraid v7.2-beta.1 | + +### Upcoming Features 📅 + +| 機能 | Target Timeline | +| ------------------------------- | ------------------------------------------------------------------------------- | +| **Make API Open Source** | Completed — open-sourced January 2025 ([GitHub](https://github.com/unraid/api)) | +| **Developer Tools for Plugins** | Q2 2025 | + +## Security & Authentication + +### Completed Features ✅ + +| 機能 | Available Since | +| ------------------------------ | ------------------ | +| **Permissions System Rewrite** | v4.0.0 | +| **OIDC/SSO Support** | Unraid v7.2-beta.1 | + +### In Development 🚧 + +- **User Interface Component Library** - Enhanced security components for the UI + +## User Interface Improvements + +### Planned Features 📅 + +| 機能 | Target Timeline | 説明 | +| ---------------------------------- | --------------- | ---------------------------------------------- | +| **New Settings Pages** | Q2 2025 | Modernized settings interface with improved UX | +| **Custom Theme Creator** | Q2-Q3 2025 | Allow users to create and share custom themes | +| **New Connect Settings Interface** | Q1 2025 | Redesigned Unraid Connect configuration | + +## Array Management + +### Completed Features ✅ + +| 機能 | Available Since | +| --------------------------- | --------------- | +| **Array Status Monitoring** | v4.0.0 | + +### Planned Features 📅 + +| 機能 | Target Timeline | 説明 | +| ----------------------------------- | --------------- | --------------------------------- | +| **Storage Pool Creation Interface** | Q2 2025 | Simplified pool creation workflow | +| **Storage Pool Status Interface** | Q2 2025 | Real-time pool health monitoring | + +## Docker Integration + +### Completed Features ✅ + +| 機能 | Available Since | +| -------------------------------------- | --------------- | +| **Docker Container Status Monitoring** | v4.0.0 | + +### Planned Features 📅 + +| 機能 | Target Timeline | 説明 | +| -------------------------------------- | --------------- | --------------------------------- | +| **New Docker Status Interface Design** | Q3 2025 | Modern container management UI | +| **New Docker Status Interface** | Q3 2025 | Implementation of new design | +| **Docker Container Setup Interface** | Q3 2025 | Streamlined container deployment | +| **Docker Compose Support** | TBD | Native docker-compose.yml support | + +## Share Management + +### Completed Features ✅ + +| 機能 | Available Since | +| --------------------------------------- | --------------- | +| **Array/Cache Share Status Monitoring** | v4.0.0 | + +### Under Consideration 💡 + +- **Storage Share Creation & Settings** - Enhanced share configuration options +- **Storage Share Management Interface** - Unified share management dashboard + +## Plugin System + +### Planned Features 📅 + +| 機能 | Target Timeline | 説明 | +| ------------------------------- | --------------- | ------------------------------- | +| **New Plugins Interface** | Q3 2025 | Redesigned plugin management UI | +| **Plugin Management Interface** | TBD | Advanced plugin configuration | +| **Plugin Development Tools** | TBD | SDK and tooling for developers | + +## Notifications + +### Completed Features ✅ + +| 機能 | Available Since | +| --------------------------- | --------------- | +| **Notifications System** | v4.0.0 | +| **Notifications Interface** | v4.0.0 | + +--- + +## Recent Releases + +:::info[Full Release History] + +For a complete list of all releases, changelogs, and download links, visit the [Unraid API GitHub Releases](https://github.com/unraid/api/releases) page. + +::: + +### Unraid v7.2-beta.1 Highlights + +- 🎉 **API included in Unraid OS** - Native integration +- 🔐 **OIDC/SSO Support** - Enterprise authentication +- 📦 **Standalone API** - Separated from Connect plugin + +### v4.0.0 Highlights + +- 🛡️ **Permissions System Rewrite** - Enhanced security +- 📊 **Comprehensive Monitoring** - Array, Docker, and Share status +- 🔔 **Notifications System** - Real-time alerts and notifications +- 🛠️ **Developer Environment** - Improved development tools + +## Community Feedback + +:::tip[Have a Feature Request?] + +Community feedback received; API open-sourced January 2025! Please submit feature requests and feedback through: + +- [Unraid Forums](https://forums.unraid.net) +- [GitHub Issues](https://github.com/unraid/api/issues) - The API is now open source! + +::: + +## バージョンサポート + +| Unraidバージョン | APIバージョン | サポート状況 | +| ------------------- | ------------ | ------- | +| Unraid v7.2-beta.1+ | 最新 | ✅ アクティブ | +| 7.0 - 7.1.x | プラグイン経由のv4.x | ⚠️ 制限あり | +| 6.12.x | プラグイン経由のv4.x | ⚠️ 制限あり | +| < 6.12 | サポート対象外 | ❌ EOL | + +:::warning[Legacy サポート] + +Unraid 7.2より前のバージョンでは、APIをUnraid Connectプラグイン経由でインストールする必要があります。一部の機能は古いバージョンでは利用できない場合があります。 + +::: + +:::tip[Pre-release バージョン] + +Unraid OSのリリースに含まれる前の、APIのプレリリース版や新機能への早期アクセスを得るには、いつでもUnraid Connectプラグインをインストールできます。 + +::: From 56aa94928dd2cee9421cee94397709dd6b8e914f Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:26:04 -0400 Subject: [PATCH 064/437] New translations _category_.json (Japanese) --- .../current/contribute/_category_.json | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/contribute/_category_.json diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/contribute/_category_.json b/i18n/ja/docusaurus-plugin-content-docs/current/contribute/_category_.json new file mode 100644 index 00000000000..6825bb989f8 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/contribute/_category_.json @@ -0,0 +1,7 @@ +{ + "label": "貢献する", + "position": 4, + "link": { + "type": "generated-index" + } +} \ No newline at end of file From 530a7d881768548b3f4792dfaf384510d5b7a1c6 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:26:05 -0400 Subject: [PATCH 065/437] New translations style-guide.mdx (Japanese) --- .../current/contribute/style-guide.mdx | 169 ++++++++++++++++++ 1 file changed, 169 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/contribute/style-guide.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/contribute/style-guide.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/contribute/style-guide.mdx new file mode 100644 index 00000000000..b13737bf1a0 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/contribute/style-guide.mdx @@ -0,0 +1,169 @@ +--- +sidebar_position: 1 +sidebar_label: スタイルガイド +--- + +# Unraid Docs スタイルガイド + +Unraid OS は LimeTech チームと Unraid コミュニティによって形作られています。私たちのドキュメントは、包括的で、正確で、最新であることを目指しています。ユーザーは世界中のさまざまな背景を持っているため、このガイドは Unraid ドキュメント全体で一貫性があり、明確な文章を書くための基盤を示します。 + +--- + +## 記述規則 + +### スタイルとトーン + +私たちのトーンは、親しみやすさと形式的な表現のバランスを取り、ユーザーが共感しやすい、詳細で正確な内容を目指します。 + +- 操作が固定されており、逸脱の余地がない場合は、形式的で直接的な指示を使用します。 +- 文脈やシナリオを示す場合は、より親しみやすい内容にするため、会話的で説明的なトーンを使用します。 + +寄稿者として、トーンを選ぶ際は文脈と読者を考慮してください。 + +:::important + +Because Unraid OS has a global audience, we avoid jargon, slang, or idioms. These can confuse non-native English speakers and complicate the translation process. + +::: + +### Audience: Write for all levels + +Our readers range from Linux experts who understand system internals to beginners navigating Unraid for the first time. + +Write clearly and inclusively so that both experts and newcomers can follow along smoothly. + +### The ABC method: accuracy, brevity, clarity + +We prioritize: + +- **Accuracy**: Ensure content is correct and thoroughly tested. +- **Brevity**: Be concise without sacrificing necessary detail. +- **Clarity**: Use plain language and structure content for easy understanding. + +--- + +## Syntax + +Unraid Docs uses Markdown formatting combined with specific text styles to help users quickly identify interface elements and navigate the %%WebGUI|web-gui%%. + +| Element Type | Style Convention | Markdown Syntax | Example / Description | +| --------------------- | ----------------------- | --------------------------- | ----------------------------------------- | +| Option or button name | Bold | `**text**` | Select **Done** | +| User input value | Italics | `*text*` | Enter a value of *50gb* | +| Navigation path | Bold + italics; use → | `***nav1 → nav2***` | ***Settings → Disk Settings*** | +| Tab label | Bold | **tab_name** | Name of a tab to select | +| Checkbox label | Bold | **checkbox_label** | Label of a checkbox option | +| Dropdown menu option | Italics | *dropdown_option* | Selectable option within a dropdown | +| Dialog title | Heading 3 | `### Dialog Title` | Title for pop-up dialogs or modal windows | +| Tooltip text | Inline italics | *tooltip text* | Short explanation shown on hover | +| Menu item | Bold + italics | ***Menu → Submenu → Item*** | Navigation through nested menus | +| CLI and system output | Monospace (inline code) | `` `text` `` | Navigate to `http://tower.local` | +| Error message | Monospace (inline code) | `` `Error: message` `` | Exact error strings or logs | +| Document title | Heading 1 | `# Heading` | (renders as) `

Heading

` | +| Document section | Heading 2 | `## Heading` | (renders as) `

Heading

` | +| Document sub-section | Heading 3 | `### Heading` | (renders as) `

Heading

` | + +:::note + +Every heading level 2 (`##`) and smaller appears in the page Table of Contents (TOC) sidebar for easy navigation. + +::: + +--- + +## Formatting for lists and tables + +Using structured elements, such as lists and tables, effectively improves information clarity, aids comprehension, and supports quick reference. + +### Lists + +Lists help users absorb, recall, and follow key points or steps. There are two main types, each with clear use cases: + +- **Unordered lists** (bullets): Use to group related items without implying order. + *Example:* "List of common Unraid OS tools." + +- **Ordered lists** (numbered): Use to show a required sequence or procedure. + *Example:* "To start the %%array|array%%..." + +:::tip[Best practices] + +- Try to introduce the list with a clear stem sentence ending in a colon. +- Use 4–6 items max in an unordered list for ease of scanning and memorability. Longer lists may be better as a table. + +::: + +### Tables + +Tables are a great way to organize related data by grouping information into rows and columns, which makes comparisons quicker and more precise. + +:::tip[Best practices] + +- Use tables for multiple related data points that benefit from side-by-side comparison. +- Avoid tables with only 1 or 2 cells; instead, use bulleted lists or sentences. +- Introduce the table with a sentence that explains its purpose and content. + +::: + +--- + +## Abbreviations, acronyms, and initialisms + +To reduce confusion for readers, follow these principles regarding abbreviations: + +- **Abbreviations** are shortened forms of words that are usually unnecessary in Unraid Docs unless they are universally recognized. +- **Acronyms** create new words from the initial letters of other words (e.g., %%RAID|raid%%). +- **Initialisms** use initials that are pronounced individually (e.g., OS, %%ZFS|zfs%%). + +**Recommendations:** + +- Prefer existing, well-known acronyms or initialisms that are familiar to your audience. +- Avoid creating new abbreviations just for the sake of being brief. +- Always spell out uncommon acronyms or initialisms the first time they are used, followed by the abbreviation in parentheses. + *Example:* Virtual Machine Disk (VMDK) + +--- + +## Hyperlinking to other documents or sites + +Strategic linking allows readers to explore related topics and enhances their understanding. Use these guidelines for practical and accessible hyperlinking. + +### Link text guidelines + +- Link text should clearly describe the destination, helping all readers grasp the link’s purpose. +- Steer clear of vague link texts like "Click here" or "Read more," as these lack context. +- Avoid using raw URLs as inline link text. + +### Formatting links + +- Use inline Markdown links: + +``` +You can also check our [getting started guide](../unraid-os/getting-started/quick-start-guide.mdx). +``` + +- Always link to the most relevant and authoritative resource available. + +### Adding glossary terminology + +Unraid Docs utilizes a centralized glossary system to ensure consistency and accessibility of technical terms. Glossary entries are kept in the `glossary.yaml` file located in the root directory. + +To add or update a term: + +1. Edit `glossary.yaml` using the following template: + +``` +GlossaryTerm: + term: Display Name + def: Full definition text. + link:
Optional detailed link +``` + +2. To add tooltip functionality, reference the term in documentation using the syntax: + + ``` + %%Term|GlossaryTerm%% + ``` + + ...where the left side of the pipe is the text you would like it displayed, while the right side is the corresponding term entry from the YAML file. + +3. 3. The [glossary page](../glossary.mdx) will automatically update to include new terms. From add989aeb1ffc26862422936f03d7dc24a80a9a7 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:26:07 -0400 Subject: [PATCH 066/437] New translations docs-home.mdx (Japanese) --- .../current/docs-home.mdx | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/docs-home.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/docs-home.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/docs-home.mdx new file mode 100644 index 00000000000..00b704a8c27 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/docs-home.mdx @@ -0,0 +1,53 @@ +--- +slug: / +sidebar_position: 0 +--- + +# Unraid ドキュメント + +Unraid 公式ドキュメントへようこそ!この包括的なリソースは、初めてシステムをセットアップする場合でも、複雑なホームラボ環境を管理する場合でも、Unraid サーバーを最大限に活用するのに役立つよう設計されています。 + +## はじめに + +Unraid を初めてお使いの場合は、まず次の必須ガイドから始めることをおすすめします: + +- **[Unraid とは?](unraid-os/getting-started/what-is-unraid.mdx)** - Unraid のコア機能と利点について学ぶ +- **[Unraid のセットアップ](unraid-os/getting-started/set-up-unraid/create-your-bootable-media.mdx)** - インストールから初回起動までのセットアップ手順を完了する +- **[WebGUI のツアー](./unraid-os/getting-started/explore-the-user-interface/tour-the-web-gui.mdx)** - %%WebGUI|web-gui%% を自信を持って操作する + +## ヘルプが必要ですか? + +### コミュニティフォーラム + +[Unraid フォーラム](https://forums.unraid.net/) は Unraid コミュニティの中心です。ここでは次の内容が見つかります: + +- ユーザー同士の議論とトラブルシューティング +- プラグインと Docker コンテナのサポート +- ハードウェアの推奨事項と互換性に関する議論 +- コミュニティで開発された解決策と回避策 + +### 公式リソース + +- **[Unraid ホームページ](https://unraid.net/)** - 製品情報、ダウンロード、ライセンス +- **[Community Applications](https://unraid.net/community/apps)** - プラグインや Docker コンテナを閲覧してインストールする +- **[Unraid Connect](https://connect.myunraid.net/)** - リモート管理ダッシュボード + +### サポートオプション + +- **コミュニティサポート**: [フォーラム](https://forums.unraid.net/) に質問を投稿する +- **ドキュメント**: 検索機能とナビゲーションを使って答えを見つける +- **プラグインサポート**: [Community Applications](https://forums.unraid.net/forum/89-community-applications/) セクションで各プラグインのスレッドを確認する + +## 用語集の用語 + +このドキュメント全体で、%%WebGUI|web-gui%% のように書式設定された用語が表示されます。これらは、簡単な定義や説明を提供する用語集の用語です。 + +使用するには、用語集の用語にマウスオーバーして定義ツールチップを表示します。用語集全体は[用語集ページ](glossary.mdx)で確認できます + +## 貢献 + +誤りを見つけた、または提案がありますか?このドキュメントはオープンソースで、[GitHub](https://github.com/unraid/docs) でホストされています。コミュニティからの貢献を歓迎します! + +--- + +**さあ、始めましょう!** [はじめに](unraid-os/getting-started/what-is-unraid.mdx) セクションから始めるか、検索機能を使って必要な情報を探してください。探しているものが見つからない場合は、[Unraid フォーラム](https://forums.unraid.net/) がいつでもお手伝いします! From d9c29eed16f8c6169a31d9a3c94fc4dcaae8efd7 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:26:08 -0400 Subject: [PATCH 067/437] New translations glossary.mdx (Japanese) --- .../docusaurus-plugin-content-docs/current/glossary.mdx | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/glossary.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/glossary.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/glossary.mdx new file mode 100644 index 00000000000..34509b185ff --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/glossary.mdx @@ -0,0 +1,8 @@ +--- +sidebar_position: 999 +sidebar_label: 用語集 +--- + +# 用語集 + +%%RemarkAutoGlossary::list_all%% From 74988ba14c4c1850354ff511483e517b19ba66c4 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:26:09 -0400 Subject: [PATCH 068/437] New translations _category_.json (Japanese) --- .../current/unraid-connect/_category_.json | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-connect/_category_.json diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-connect/_category_.json b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-connect/_category_.json new file mode 100644 index 00000000000..1df4890ebae --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-connect/_category_.json @@ -0,0 +1,7 @@ +{ + "label": "Unraid Connect", + "position": 2, + "link": { + "type": "generated-index" + } +} From c61961ab1fddb7e89ec43a5d54318ee3287b664f Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:26:10 -0400 Subject: [PATCH 069/437] New translations automated-flash-backup.mdx (Japanese) --- .../unraid-connect/automated-flash-backup.mdx | 135 ++++++++++++++++++ 1 file changed, 135 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-connect/automated-flash-backup.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-connect/automated-flash-backup.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-connect/automated-flash-backup.mdx new file mode 100644 index 00000000000..9e114ea646e --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-connect/automated-flash-backup.mdx @@ -0,0 +1,135 @@ +--- +sidebar_position: 2 +sidebar_label: 自動フラッシュバックアップ +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# 自動フラッシュバックアップ + +Unraid のフラッシュドライブをバックアップしておくことは、ハードウェア障害、誤削除、データ破損などの問題から迅速に復旧するために非常に重要です。ローカルバックアップ(たとえば、フラッシュドライブを別の USB デバイスやネットワーク共有にコピーする方法)なら、簡単にアクセスでき、管理もしやすい一方で、盗難、火災、あるいはシステム全体に影響を及ぼす可能性のあるハードウェア障害に対して脆弱です。これに対して、クラウドバックアップは構成を安全にオフサイト保管できるため、ローカルでの災害から保護し、どこからでも復旧できるようにします。 + +ユーザーデータ、%%VMs|vm%%、または Docker コンテナに重点を置く従来のバックアップとは異なり、フラッシュバックアップは Unraid OS の構成、ライセンス、およびシステム設定を特に保持します。この重点により、最初からやり直すことなくサーバーの動作をすばやく復元できます。Unraid Connect では、OS 構成の自動クラウドベースバックアップが可能です。フラッシュデバイスに障害が発生した場合は、[Unraid USB Flash Creator tool](https://unraid.net/download) を使って最新のバックアップをすばやく復元できます。 + +Unraid Connect を使用する場合、フラッシュバックアップは完全に任意です。 + +:::tip + +Use both local and cloud backup methods for maximum protection. Cloud backups provide an additional layer of resilience that local-only solutions cannot offer. + +::: + +## データ収集とプライバシー + +
+ Click to see what data is collected and how we handle it + + Unraid Connect takes your privacy and data seriously when using flash backup: + +

Purpose

+ + Flash backup keeps only the configuration files needed to restore your Unraid OS environment. This helps you recover quickly and maintain service continuity in the event that your flash device encounters a failure. + +

Data collected

+ + The backup includes only configuration files, ensuring that sensitive information, such as passwords and %%WireGuard|wireguard%% keys, is excluded. Docker template XML files might be part of the backup and could contain application-specific credentials. + +

Data retention

+ + Only the latest backup is kept. If a backup exceeds certain limits—specifically, if individual files exceed 10 MB or the total repository size exceeds 100 MB—it will be deleted and recreated. Backups are also removed when you deactivate the flash backup feature or after a specific period of inactivity. + +

Data sharing

+ + Flash backup data is never shared with third parties. It's stored exclusively to provide you with backup and restore services. + +
+ +## Enabling flash backup + +Unraid Connect excludes sensitive data - like account passwords and %%WireGuard|wireguard%% keys - from backups until full encryption is available. However, Docker template XML files (which might contain application credentials) are included. Encryption solutions are in development. + +To activate flash backup: + +1. Go to ***Settings → Management Access → Unraid API***. + +
+ ![Flash backup activate](/img/flashbackupbutton.png) +
+ +2. Under **Flash backup**, click **Activate**. +3. Wait for activation and the initial backup to complete. The status will show **Activated: Up-to-date** when finished. + +After activation, any configuration changes are automatically backed up to the cloud within 1–2 minutes. + +:::important + +Backups do not include `config/shadow` or `config/smbpasswd` files. User accounts are preserved, but passwords are not. You will need to reset all user passwords, including the root password, after restoration. %%WireGuard|wireguard%% keys are also excluded. + +::: + +Flash backup is designed to store essential configuration files, not a full copy of your flash drive. It does not back up transient files (such as logs) or application binaries. Plugin configurations are included, but application files will need to be redownloaded at boot. Individual files up to 10 MB are backed up; if the total backup exceeds 100 MB, it will be deleted and recreated. + +## Restoring a flash backup + +To restore your configuration: + +1. Log in to Unraid Connect. +2. Select **Details** on the Dashboard. +3. Click **Generate flash backup** from the Flash backup tile. +4. The system creates a zip file containing your OS configuration and release version. +5. Click **Download flash backup** to get the zip file. +6. Use the [Unraid USB Flash Creator](https://unraid.net/download) to restore the backup to a new flash drive. + +### Restoring to internal boot + +If your server uses internal boot, restore the flash backup to a USB flash drive first. + +Then: + +1. Boot the server from that restored USB flash drive. +2. Go to ***Settings → Onboarding Wizard***. +3. Choose **internal boot**, select the target device(s), and complete the switch. + +Unraid copies the restored boot configuration to the new internal boot device as part of the internal boot setup flow. You do not manually extract the flash backup zip into the internal boot partition. + +For more details about internal boot, see the [Internal Boot FAQ (7.3+)](/unraid-os/getting-started/set-up-unraid/internal-boot-faq/). + +### Post-restoration steps + +After booting with the restored flash drive: + +- Re-activate flash backup in ***Settings → Management Access → Unraid API***. +- Reset passwords for all users (including root) on the Users page. +- For each %%VPN Tunnel|vpn-tunnel%% and peer in ***Settings → VPN Manager***, generate new keys and download updated client configurations. +- If Internet access is not available immediately after booting, reinstall plugins via ***Apps → Previous Apps*** once connectivity is restored. Configuration files will be ready for use. + +## Disabling flash backup + +To turn off flash backup: + +1. In ***Settings → Management Access → Unraid API***, click **Deactivate** for Flash Backup. +2. In the confirmation dialog, check **Also delete cloud backup** if you want to remove your backup immediately. Otherwise, backups will be automatically deleted after a period of inactivity. + +## Privacy and security + +### Backup encryption + +Currently, flash backups are stored in the cloud without encryption. As a precaution, sensitive data - including all user and root passwords, as well as all %%WireGuard|wireguard%% keys - is never included in the backup. + +### Sensitive data policy + +To protect your privacy, the following are **never** stored in cloud backups: + +- Unraid root or user account passwords +- Public, private, or shared %%WireGuard|wireguard%% keys + +:::note\[Reminder] + +Flash backup is for configuration recovery only. Always incorporate additional backup strategies for your data and critical secrets. + +::: + +--- + +\* *"%%WireGuard|wireguard%%" and the "%%WireGuard|wireguard%%" logo are registered trademarks of Jason A. Donenfeld.* From 1b5b5d0e70f2ebc1ee4cc331c7881eb54028b68d Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:26:12 -0400 Subject: [PATCH 070/437] New translations overview-and-setup.mdx (Japanese) --- .../unraid-connect/overview-and-setup.mdx | 241 ++++++++++++++++++ 1 file changed, 241 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-connect/overview-and-setup.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-connect/overview-and-setup.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-connect/overview-and-setup.mdx new file mode 100644 index 00000000000..fa79e0adc5f --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-connect/overview-and-setup.mdx @@ -0,0 +1,241 @@ +--- +sidebar_position: 1 +sidebar_label: 概要とセットアップ +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import ConnectChangeBanner from './partials/customization/change-banner.mdx'; +import ConnectRearrangeDashboard from './partials/customization/rearrange-dashboard.mdx'; +import ConnectSwitchThemes from './partials/customization/switch-themes.mdx'; + +# Unraid Connect の概要とセットアップ + +**Unraid Connect** は、Unraid OS サーバーの利用体験を向上させるために設計された、クラウド対応のコンパニオンです。サーバーの管理、監視、保守をこれまで以上に簡単にし、クラウドの利便性をホームラボやビジネス環境に直接もたらします。 + +Unraid Connect は Unraid OS とシームレスに連携し、コア機能を変えることなくサーバー体験を向上させます。Unraid Connect は、遠隔のコマンドセンターのようなものだと考えてください。安全な Web ベースのアクセスと高度な機能を提供することで、場所を問わず Unraid サーバーの機能を拡張します。 + +Unraid Connect を使うと、次のことができます: + +- 世界中のどこからでも、あらゆるデバイスで Unraid サーバーにリモートアクセスして管理できます。 +- ストレージ、ネットワーク、Docker コンテナーの状態を含む、サーバーの健全性とリソース使用状況をリアルタイムで監視できます。 +- 設定とライセンス情報を保護するために、安全なオンライン flash バックアップを実行し、スケジュール設定できます。 +- サーバーの健全性、ストレージの状態、重要なイベントに関する通知を受け取れます。 +- 動的リモートアクセスとサーバーのディープリンクを使用して、特定の管理ページに移動したり、問題をすばやくトラブルシューティングしたりできます。 +- 1 つのダッシュボードから複数のサーバーを管理できるため、複数の Unraid システムを使っているユーザーに最適です。 + +Unraid Connect は単なるアドオンではありません。Unraid プラットフォームを不可欠に拡張するものであり、Unraid OS への投資の価値、セキュリティ、利便性を最大化するよう設計されています。 + +[**Unraid Connect を始めるには、こちらをクリックしてください!**](https://connect.myunraid.net) + +## データ収集とプライバシー + +
+ Click to see what data is collected and how we handle it + + Unraid Connect は、お客様のプライバシーと透明性を重視しています。お客様のデータの取り扱いについて、知っておくべきことは次のとおりです: + +

収集されるデータとその理由

+ + サーバーが Unraid.net に接続すると、当社のインフラストラクチャへの安全な接続が確立され、Unraid Connect Dashboard でシームレスな体験を実現するために必要なデータのみが送信されます。これには以下が含まれます: + + - サーバーのホスト名、説明、アイコン + - キー ファイルの詳細と flash %%GUID|guid%% + - ローカルアクセス URL と LAN IP(証明書がインストールされている場合のみ) + - リモートアクセス URL と WAN IP(リモートアクセスが有効な場合) + - インストールされている Unraid のバージョンと稼働時間 + - Unraid Connect プラグインのバージョンと unraid-api のバージョン/稼働時間 + - %%Array|array%% のサイズと使用状況(数値のみ、ファイル固有の情報はなし) + - インストールされ、稼働中の Docker コンテナーと %%VMs|vm%% の数 + + 当社はこのデータを、リモート監視、管理、通知などの Unraid Connect 機能を有効にする目的にのみ使用します。広告やプロファイリングには使用しません。 + +

データ保持ポリシー

+ + - サーバーからの最新の更新のみを保持し、過去のデータは保存されません。 + - データは、サーバーが登録されて Unraid Connect を使用している限り保持されます。 + - データを削除するには、プラグインをアンインストールし、Let's Encrypt で発行された %%SSL|ssl%% 証明書をすべて削除するだけです。 + +

データ共有

+ + - お客様のデータは、Let's Encrypt を通じた証明書のプロビジョニングなど、Unraid Connect サービスに必要な場合を除き、**第三者と共有されることはありません**。 + - 上記に記載された内容を超えて、ユーザーコンテンツ、ファイルの詳細、または個人情報を収集したり共有したりすることはありません。 + + 詳細については、[ポリシー](https://unraid.net/policies) ページをご覧ください。 + +
+ +## インストール + +Unraid Connect は、Unraid OS 6.10 以降を必要とするプラグインとして提供されています。開始する前に、サーバーがインターネットに接続されていること、および [Community Applications](../unraid-os/using-unraid-to/run-docker-containers/community-applications.mdx) プラグインがインストールされていることを確認してください。 + +Unraid Connect をインストールするには: + +1. Unraid %%WebGUI|web-gui%% の **Apps** タブに移動します。 +2. **Unraid Connect** を検索してプラグインのインストールに進みます。ダイアログを閉じる前に、インストールが完全に完了するまで待ってください。 +3. Unraid %%WebGUI|web-gui%% の右上隅で Unraid ロゴをクリックし、**Sign In** を選択します。 + +
+ ![Unraid Connect icon](/img/icon_unraidconnect.png) +
+ +4. Unraid.net の認証情報でサインインするか、必要に応じて新しいアカウントを作成してください。 +5. 画面の指示に従って、Unraid Connect にサーバーを登録してください。 +6. 登録後は、[Unraid Connect Dashboard](https://connect.myunraid.net) にアクセスして一元管理できます。 + +:::note + +Unraid Connect requires a myunraid.net certificate for secure remote management and access. To provision a certificate, go to ***Settings → Management Access*** in the %%WebGUI|web-gui%% and click **Provision** under the Certificate section. + +::: + +## ダッシュボード + +The **Unraid Connect Dashboard** offers a centralized, cloud-based view of all your registered Unraid servers, with features like: + +- **My Servers:** All linked servers appear in a sidebar and as interactive tiles for easy selection. +- **Status (at a glance):** Quickly see which servers are online or offline, along with their Unraid OS version, license type, and recent activity. +- **Health and alerts:** Visual indicators show server health, notifications, and update status. + +When you click **Details** on a server, you will see: + +- **Online/Offline:** Real-time connectivity status. +- **License type:** Starter, Unleashed, or Lifetime. +- **Uptime:** Duration the server has been running. +- **Unraid OS version:** Current version and update availability. +- **Storage:** Total and free space on all arrays and pools. +- **Health metrics:** CPU usage, memory usage, and temperature (if supported). +- **Notifications:** Hardware/software alerts, warnings, and errors. +- **Flash backup:** Status and date of the last successful backup. + +--- + +## Managing your server remotely + +:::tip + +To use all management features, provision a myunraid.net certificate under ***Settings → Management Access*** on your server. + +::: + +With a valid **myunraid.net** certificate, Unraid Connect enables secure, remote server management directly from the Connect web interface. + +Remote management features include: + +- **Remote WebGUI access:** Access the %%WebGUI|web-gui%% from anywhere. +- **Array controls:** Start or stop %%array|array%%s and manage storage pools. +- **Docker and VM management:** View, start, stop, and monitor containers and %%VM|vm%%s. +- **Parity & Scrub:** Launch %%parity check|parity-check%% or %%ZFS|zfs%%/%%BTRFS|btrfs%% scrub jobs +- **Flash backup:** Trigger and monitor flash device backups to the cloud. +- **Diagnostics:** Download a diagnostics zip for support +- **Notifications:** Review and acknowledge system alerts. +- **Server controls:** Reboot or shut down your server remotely. +- **User management:** Manage Unraid.net account access and registration. + +You can manage multiple servers from any device - phone, tablet, or computer - with a single browser window. + +--- + +## Deep linking + +Deep linking in Unraid Connect lets you jump directly to specific sections of your Unraid %%WebGUI|web-gui%% with a single click. Simply click any of the circled link buttons (below) in the Connect interface to go straight to the relevant management page for your server. + +
+ ![Deep linking](/img/Deep-linking.png) +
+ +--- + +## Customization + +Unraid Connect provides a flexible dashboard experience, allowing you to personalize your server view and appearance. The customization options are organized below for easy reference. + + + + + + + + + + + + + + + +--- + +## License management + +Managing your licenses in Unraid Connect is easy. Under the **My Keys** section, you can: + +- View or reissue a key to a new USB. +- Upgrade your license tier directly from the Connect UI. +- Download registration key files for backup or transfer. +- Review license status and expiration (if applicable). + +
+ ![My Keys](/img/mykeys.png) +
+ +You don’t need to leave the Connect interface to manage or upgrade your licenses. + +--- + +## Language localization + +Unraid Connect supports multiple languages to cater to a global user base. You can change your language preference through the language selector in the Connect interface. + +To change your language preference: + +1. Open the Connect UI. +2. Go to the language selector. + +
+ ![Language selector](/img/languageselector.png) +
+ +3. Select your preferred language from the list. + +The interface will update automatically to reflect your selection. + +--- + +## Signing out + +You can sign out of Unraid Connect anytime from ***Settings → Management Access → Unraid Connect → Account Status*** by clicking the **Sign Out** button. + +When you sign out: + +- Your server remains listed on the Connect dashboard, but you lose access to remote management features. +- Remote access, cloud-based flash backups, and other Unraid Connect features will be disabled for that server. +- You can still download your registration keys, but you cannot manage or monitor the server remotely until you sign in again. +- Signing out does **not** disconnect your server from the local network or affect local access. + +--- + +## Uninstalling the plugin + +When you uninstall the Unraid Connect plugin: + +- All flash backup files will be deactivated and deleted from your local flash drive. +- Cloud backups are marked for removal from Unraid servers; they will be retained for 30 days, after which they are permanently purged. For immediate deletion, [disable Flash Backup](./automated-flash-backup.mdx) before uninstalling. +- Remote access will be disabled. Ensure that you remove any related port forwarding rules from your router. +- Your server will be signed out of Unraid.net. + +:::note + +Uninstalling the plugin does **not** revert your server's URL from `https://yourpersonalhash.unraid.net` to `http://computername`. If you wish to change your access URL, refer to [Disabling SSL for local access](../unraid-os/system-administration/secure-your-server/securing-your-connection.mdx#disabling-ssl-for-local-access). + +::: + +--- + +## Connection errors + +If you encounter connection errors in Unraid Connect, [open a terminal](../unraid-os/system-administration/advanced-tools/command-line-interface.mdx) from the %%WebGUI|web-gui%% and run: + +``` +unraid-api restart +``` From 51b0a9559cf47f90897a7fe8d7fa5521b3a90179 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:26:13 -0400 Subject: [PATCH 071/437] New translations change-banner.mdx (Japanese) --- .../unraid-connect/partials/customization/change-banner.mdx | 1 + 1 file changed, 1 insertion(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-connect/partials/customization/change-banner.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-connect/partials/customization/change-banner.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-connect/partials/customization/change-banner.mdx new file mode 100644 index 00000000000..4b1fa1ab755 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-connect/partials/customization/change-banner.mdx @@ -0,0 +1 @@ +Connect ダッシュボードにサーバーのバナー画像を表示するには、***設定 → 表示設定 → バナー*** の下にある %%WebGUI|web-gui%% からバナー画像をアップロードするか、選択してください。このバナーは、そのサーバーの Connect ダッシュボードに自動的に表示されます。 From 3048192d928457aaaa6d9260084178eae7994982 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:26:14 -0400 Subject: [PATCH 072/437] New translations rearrange-dashboard.mdx (Japanese) --- .../partials/customization/rearrange-dashboard.mdx | 1 + 1 file changed, 1 insertion(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-connect/partials/customization/rearrange-dashboard.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-connect/partials/customization/rearrange-dashboard.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-connect/partials/customization/rearrange-dashboard.mdx new file mode 100644 index 00000000000..c0f533d2c62 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-connect/partials/customization/rearrange-dashboard.mdx @@ -0,0 +1 @@ +サーバータイルをドラッグ&ドロップして、ダッシュボードのレイアウトをカスタマイズできます。Connect ダッシュボードでは、任意のタイルのハンバーガー(≡)ボタンをクリックして配置を変更できます。これにより、重要な情報やサービスを優先的に表示できます。 From 6a0a91cb565f1897efe3d639a631f4e745fea2d1 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:26:15 -0400 Subject: [PATCH 073/437] New translations switch-themes.mdx (Japanese) --- .../unraid-connect/partials/customization/switch-themes.mdx | 1 + 1 file changed, 1 insertion(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-connect/partials/customization/switch-themes.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-connect/partials/customization/switch-themes.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-connect/partials/customization/switch-themes.mdx new file mode 100644 index 00000000000..b752f5b740a --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-connect/partials/customization/switch-themes.mdx @@ -0,0 +1 @@ +Connect UI の右端にある太陽または月のアイコンをクリックして、ダークモードとライトモードを切り替えます。選択したテーマは Connect ダッシュボード全体に即時適用され、一貫した体験を提供します。 From 799929a00cd3f3de07d0e8950c178b100b0c17dd Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:26:16 -0400 Subject: [PATCH 074/437] New translations dynamic.mdx (Japanese) --- .../unraid-connect/partials/remote-access/dynamic.mdx | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-connect/partials/remote-access/dynamic.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-connect/partials/remote-access/dynamic.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-connect/partials/remote-access/dynamic.mdx new file mode 100644 index 00000000000..d1aa9a41092 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-connect/partials/remote-access/dynamic.mdx @@ -0,0 +1,5 @@ +**動的リモートアクセス**は、%%WebGUI|web-gui%% への安全なオンデマンドアクセスを提供します。 + +- **アクセスは必要なときにのみ有効化されます。** %%WebGUI|web-gui%% は既定ではインターネットに対して閉じたままで、攻撃対象領域を最小限に抑えます。 +- **%%UPnP|upnp%% または手動のポートフォワーディングで使用できます。** +- **Connect ダッシュボードまたは API を通じてアクセスを自動的に開閉**でき、セキュリティ強化のためセッションは時間制限付きです。 From 630b4d0e66f4fa5ee91f253c79fb44414ef70df9 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:26:18 -0400 Subject: [PATCH 075/437] New translations static.mdx (Japanese) --- .../current/unraid-connect/partials/remote-access/static.mdx | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-connect/partials/remote-access/static.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-connect/partials/remote-access/static.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-connect/partials/remote-access/static.mdx new file mode 100644 index 00000000000..b037ebc81ec --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-connect/partials/remote-access/static.mdx @@ -0,0 +1,4 @@ +**静的リモートアクセス**により、%%WebGUI|web-gui%% はインターネットから常時利用可能になります。 + +- **サーバーは、設定されたポートでインターネットから常時アクセス可能です。** +- **リスクが高まります:** %%WebGUI|web-gui%% は常に WAN トラフィックにさらされるため、潜在的な脆弱性が増します。 From 73802ec0e2eeb7ad8217e0c30a1202b270c6a33a Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:26:19 -0400 Subject: [PATCH 076/437] New translations remote-access.mdx (Japanese) --- .../current/unraid-connect/remote-access.mdx | 161 ++++++++++++++++++ 1 file changed, 161 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-connect/remote-access.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-connect/remote-access.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-connect/remote-access.mdx new file mode 100644 index 00000000000..61feeb91096 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-connect/remote-access.mdx @@ -0,0 +1,161 @@ +--- +sidebar_position: 3 +sidebar_label: リモートアクセス +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import RemoteAccessDynamic from './partials/remote-access/dynamic.mdx'; +import RemoteAccessStatic from './partials/remote-access/static.mdx'; + +# リモートアクセス + +リモートアクセスを使用して、どこからでもUnraid %%WebGUI|web-gui%%への安全なブラウザベースのアクセスを解除できます。この機能は、自宅を離れているときにサーバーを管理するのに最適で、複雑なネットワーク設定や%%VPN Tunnel|vpn-tunnel%%のセットアップは不要です。Dockerコンテナへの接続やネットワークドライブへのアクセスなど、より高度な要件には、%%VPN Tunnel|vpn-tunnel%%の使用が引き続き推奨される解決策です。 + +:::important[Security 注意] + +Before enabling remote access, ensure your root password is strong and unique. Update it on the **Users** page if required. Additionally, keep your Unraid OS updated to the latest version to protect against security vulnerabilities. [Learn more about updating Unraid here](../unraid-os/system-administration/maintain-and-update/upgrading-unraid.mdx). + +::: + +Remote access through Unraid Connect provides: + +- **Convenience** - Quickly access your server’s management interface from anywhere, using a secure, cloud-managed connection. +- **Security** - Dynamic access modes limit exposure by only allowing access to the internet when necessary, which helps reduce risks from automated attacks. +- **Simplicity** - No need for manual port forwarding or VPN client setup for basic management tasks. + +:::tip + +For full network access or advanced use cases, consider setting up [Tailscale](../unraid-os/system-administration/secure-your-server/tailscale.mdx) or a VPN solution. + +::: + +--- + +## Initial setup + +To enable remote access: + +1. In the Unraid %%WebGUI|web-gui%%, navigate to ***Settings → Management Access***. +2. Check the **HTTPS port** (default: 443). If this port is in use (e.g., by Docker), select an unused port above 1000 (like 3443, 4443, or 5443). +3. Click **Apply** if you changed any settings. +4. Under **CA-signed certificate file**, click **Provision** to generate a trusted certificate. + +Your Unraid server will be ready to accept secure remote connections via the %%WebGUI|web-gui%%, using the configured port and a trusted certificate. + +--- + +## Choosing a remote access type + +Unraid Connect offers two modes: + + + + + + + + + + + +| 機能 | Dynamic remote access | Static remote access | +| ------------------------------------ | --------------------------- | ------------------------- | +| %%WebGUI\|web-gui%% open to internet | Only when enabled | 常に | +| Attack surface | Minimized | Maximized | +| Automation | Auto open/close via Connect | Manual setup, always open | +| %%UPnP\|upnp%% support | はい | はい | +| | **Recommended for most** | | + +## Dynamic remote access setup + +To set up dynamic remote access: + +1. In ***Settings → Management Access → Unraid API***, select a dynamic option from the Remote Access dropdown: + - **Dynamic - UPnP:** Uses %%UPnP|upnp%% to open and close a random port automatically (requires %%UPnP|upnp%% enabled on your router). + - **Dynamic - Manual port forward:** Requires you to forward the selected port on your router manually. + +2. Navigate to [Unraid Connect](https://connect.myunraid.net/), and go to the management or server details page. + +3. The **Dynamic remote access** card will show a button if your server isn’t currently accessible from your location. + +4. Click the button to enable WAN access. If using %%UPnP|upnp%%, a new port forward lease is created (typically for 30 minutes) and auto-renewed while active. + +5. The card will display the current status and %%UPnP|upnp%% state. + +6. After 10 minutes of inactivity - or if you click **Disable remote access** - internet access is automatically revoked. %%UPnP|upnp%% leases are removed as well. + +--- + +## Using UPnP (Universal Plug and Play) + +%%UPnP|upnp%% automates port forwarding, simplifying remote access without requiring manual router configuration. + +To configure %%UPnP|upnp%%: + +1. **Enable %%UPnP|upnp%% on your router.** + Ensure that your router supports %%UPnP|upnp%% and verify that it is enabled in the router settings. + +2. **Enable %%UPnP|upnp%% in Unraid.** + Navigate to ***Settings → Management Access*** and change **Use %%UPnP|upnp%%** to **Yes**. + +3. **Select %%UPnP|upnp%% in Unraid Connect.** + On the Unraid Connect settings page, choose the remote access option as %%UPnP|upnp%% (select either Dynamic or Always On) and then click **Apply**. + +4. **Verify port forwarding (Always On only).** + Click the **Check** button. If successful, you'll see the message, "Your Unraid Server is reachable from the Internet." + + For Dynamic forwarding, you need to click **Enable Dynamic Remote Access** in [Unraid Connect](https://connect.myunraid.net/) to allow access. + +:::caution\[Troubleshooting] + +If the setting changes from %%UPnP|upnp%% to Manual Port Forward upon reloading, Unraid might not be able to communicate with your router. Double-check that %%UPnP|upnp%% is enabled and consider updating your router's firmware. + +::: + +--- + +## Using manual port forwarding + +Manual port forwarding provides greater control and is compatible with most routers. + +To configure manual port forwarding: + +1. **Choose a WAN port:** Pick a random port number above 1000 (for example, 13856 or 48653), rather than using the default 443. + +2. **Apply settings in Unraid:** Click **Apply** to save the port you selected. + +3. **Configure your router:** Set up a port forwarding rule on your router, directing your chosen WAN port to your server’s HTTPS port. The Unraid interface provides the correct ports and IP address. + + Some routers may require the WAN port and HTTPS port to match. If so, use the same high random number for both. + +4. **Verify port forwarding (Always On only):** Press the **Check** button. If everything is correct, you’ll see “Your Unraid Server is reachable from the Internet.” + + For dynamic forwarding, ensure to click **Enable Dynamic Remote Access** in [Unraid Connect](https://connect.myunraid.net/) to enable access. + +5. **Access your server:** Log in to [Unraid Connect](https://connect.myunraid.net/) and click the **Manage** link to connect to your server remotely. + +--- + +## Enabling secure local access + +Secure local access ensures that all connections to your Unraid %%WebGUI|web-gui%%, even within your home or office network, are encrypted using HTTPS, thereby safeguarding any sensitive information, such as login credentials and configuration data. + +Benefits of secure local access include: + +- **Encryption** - All data exchanged between your browser and the server is protected. +- **Consistency** - Use the same secure URL for both local and remote access. +- **Compliance** - Adheres to security best practices for protecting administrative interfaces. + +To enable secure local access: + +1. Go to ***Settings → Management Access***. +2. In the **CA-signed certificate** section, check for DNS Rebinding warnings. + - If no warnings show, set **Use SSL/TLS** to **Strict**. + - If warnings are present, review [DNS Rebinding Protection](../unraid-os/system-administration/secure-your-server/securing-your-connection.mdx#dns-rebinding-protection). + +:::important + +With %%SSL|ssl%%/%%TLS|tls%% set to Strict, client devices must resolve your server’s DNS name. If your Internet connection fails, access to the %%WebGUI|web-gui%% may be lost. See [Accessing your server when DNS is down](../unraid-os/system-administration/secure-your-server/securing-your-connection.mdx#accessing-your-server-when-dns-is-down) for recovery steps. + +::: From 164ec928c2978559cd2d29ddc9e0d3a25e8db080 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:26:20 -0400 Subject: [PATCH 077/437] New translations _category_.json (Japanese) --- .../current/unraid-os/_category_.json | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/_category_.json diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/_category_.json b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/_category_.json new file mode 100644 index 00000000000..a732ac293fd --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/_category_.json @@ -0,0 +1,7 @@ +{ + "label": "Unraid OS", + "position": 1, + "link": { + "type": "generated-index" + } +} From 43bff7702859d9beefa58a74aae1211170e0cd99 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:26:21 -0400 Subject: [PATCH 078/437] New translations _category_.json (Japanese) --- .../unraid-os/advanced-configurations/_category_.json | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/advanced-configurations/_category_.json diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/advanced-configurations/_category_.json b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/advanced-configurations/_category_.json new file mode 100644 index 00000000000..392ce8e92d1 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/advanced-configurations/_category_.json @@ -0,0 +1,7 @@ +{ + "label": "高度な構成", + "position": 4, + "link": { + "type": "generated-index" + } +} \ No newline at end of file From d7291c1fad6e9d3adc8cd69e5529e289fcc0c357 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:26:23 -0400 Subject: [PATCH 079/437] New translations _category_.json (Japanese) --- .../optimize-storage/_category_.json | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/advanced-configurations/optimize-storage/_category_.json diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/advanced-configurations/optimize-storage/_category_.json b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/advanced-configurations/optimize-storage/_category_.json new file mode 100644 index 00000000000..29097aed188 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/advanced-configurations/optimize-storage/_category_.json @@ -0,0 +1,7 @@ +{ + "label": "ストレージを最適化する", + "position": 1, + "link": { + "type": "generated-index" + } +} \ No newline at end of file From 8a3a3b9670d58043b38d8b59d056e2146ad60dc5 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:26:24 -0400 Subject: [PATCH 080/437] New translations zfs-storage.mdx (Japanese) --- .../optimize-storage/zfs-storage.mdx | 382 ++++++++++++++++++ 1 file changed, 382 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/advanced-configurations/optimize-storage/zfs-storage.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/advanced-configurations/optimize-storage/zfs-storage.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/advanced-configurations/optimize-storage/zfs-storage.mdx new file mode 100644 index 00000000000..5a6914fc850 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/advanced-configurations/optimize-storage/zfs-storage.mdx @@ -0,0 +1,382 @@ +--- +sidebar_position: 1 +sidebar_label: ZFSストレージ +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# ZFSストレージ + +:::important[Special ありがとうございます] + +We’d like to express our thanks to Ed Rawlings ([Spaceinvader One](https://www.youtube.com/c/SpaceinvaderOne)) for the expertise and guidance that this %%ZFS|zfs%% storage documentation has been adapted from. His tutorials and insights have assisted countless Unraid users in mastering advanced storage techniques. We appreciate his continued contributions to the Unraid community. + +::: + +%%ZFS|zfs%% brings advanced data integrity, flexible storage configurations, and high performance to your Unraid system. This guide explains %%ZFS|zfs%% core concepts and walks you through managing %%ZFS|zfs%% pools directly from the Unraid %%WebGUI|web-gui%%. Whether you're setting up new %%ZFS|zfs%% storage or integrating an existing pool, you’ll find the steps and context you need to get started confidently. + +--- + +## Why ZFS? + +%%ZFS|zfs%% is a modern file system and volume manager designed to protect your data, prevent corruption, and simplify storage management. + +With %%ZFS|zfs%%, you gain: + +- Automatic data integrity checks and self-healing +- Built-in %%RAID|raid%% support (mirrors, RAIDZ) +- %%Snapshots|snapshot%% and clones for easy backups and rollbacks +- %%ZFS|zfs%% send/receive for efficient replication +- On-the-fly compression + +Unraid supports %%ZFS|zfs%% for any storage pool. You can create a new %%ZFS|zfs%% pool, import one from another system, or use Unraid’s unique hybrid %%ZFS|zfs%% setup: add a %%ZFS|zfs%%-formatted disk directly to the Unraid %%array|array%% (not a pool) and combine %%ZFS|zfs%% features with Unraid’s %%parity|parity%% protection. + +:::info\[Example] + +You can use %%ZFS|zfs%% %%snapshots|snapshot%% and replication on a single disk as a backup target, or replicate a fast SSD %%ZFS|zfs%% pool to a %%ZFS|zfs%% disk in the %%array|array%% protected by Unraid %%parity|parity%% - getting the best of both worlds. + +::: + +
+ ![](/img/zfs1.png) +
+ +:::note + +The hybrid %%ZFS|zfs%%-in-array approach is helpful for specific backup or replication scenarios but is not a replacement for a full %%ZFS|zfs%% pool. %%ZFS|zfs%% disks in the %%array|array%% are managed individually; you do not get the combined performance, redundancy, or self-healing of a true multi-disk %%ZFS|zfs%% pool. For full %%ZFS|zfs%% functionality, always use dedicated %%ZFS|zfs%% pools. + +::: + +### Pools, vdevs, and redundancy + +A %%ZFS|zfs%% pool (called a "zpool") is made up of one or more vdevs (virtual devices). Each vdev is a group of physical disks with its own redundancy level. %%ZFS|zfs%% writes data across vdevs, but each vdev is responsible for its fault tolerance. + +:::caution + +Redundancy is always per vdev. If any vdev fails, the entire pool fails, even if other vdevs are healthy. Plan your vdevs with care! + +::: + +
+ ![](/img/zfs2.png) +
+ +--- + +## Creating a ZFS pool + +To create a %%ZFS|zfs%% pool using the %%WebGUI|web-gui%%: + +1. %%array|array%% を停止します。 +2. Click **Add Pool**. + +
+ ![](/img/zfs3.png) +
+ +3. Choose a name for your pool (for example, `raptor`). +4. Set the number of slots to match the number of disks you want in your primary data vdev(s). + +:::note + +This initial slot count is for data vdevs only. Support vdevs (such as log or cache drives) can be added separately after creating the pool. + +::: + +
+ ![](/img/zfs4.png) +
+ +5. Assign disks to the pool (disk order does not matter). + +
+ ![](/img/zfs5.png) +
+ +6. Click the pool name (e.g., `raptor`) to open its configuration screen. +7. Set the file system type to `zfs` or `zfs-encrypted` (for LUKS encryption). + +
+ ![](/img/zfs6.png) +
+ +8. Choose your allocation profile - this determines your pool's redundancy and performance. + +:::tip + +Before finalizing, review the sections on allocation profiles and topology to make an informed choice. + +::: + +
+ ![](/img/zfs7.png) +
+ +
+ ![](/img/zfs8.png) +
+ +9. Enable compression if desired (recommended for most workloads). +10. Click **Done**, then start the %%array|array%%. + +--- + +## Adding a ZFS disk to the array (Hybrid setup) + +You can add a standalone %%ZFS|zfs%% disk to your Unraid %%array|array%% (not a %%ZFS|zfs%% pool) to combine %%ZFS|zfs%% features with Unraid's %%parity|parity%% protection. + +:::info[What this enables] + +- **Parity protection:** The ZFS disk is protected by Unraid’s %%array|array%% %%parity|parity%%, ensuring your data is safe from single (or multiple, depending on your %%parity drives|parity-drives%%) disk failures. + +- **Data integrity:** %%ZFS|zfs%% provides block-level integrity checks (checksums). While a single disk can’t self-heal bit rot, %%ZFS|zfs%% will detect corruption and alert you, allowing you to restore from backup before silent data loss occurs. + +- **%%ZFS|zfs%% features:** You can utilize %%ZFS|zfs%% %%snapshots|snapshot%% and replication on this disk, making it ideal for backup targets, specific datasets, or scenarios where you want %%ZFS|zfs%% features alongside traditional Unraid storage. + +::: + +To add a %%ZFS|zfs%% disk to the %%array|array%%: + +1. Go to the **Main** tab in the %%WebGUI|web-gui%%. +2. %%array|array%% を停止します。 +3. Click on an empty slot under **Array Devices**. +4. Select the disk you want to add. + +
+ ![](/img/zfs9.png) +
+ +5. Under **File system**, choose `zfs` or `zfs-encrypted`. + +
+ ![](/img/zfs10.png) +
+ +6. **Apply** をクリックします。 +7. Start the %%array|array%% and let the disk be formatted if needed. + +--- + +## Choosing an allocation profile + +When you set up a %%ZFS|zfs%% pool, your allocation profile determines how your data is protected, how your pool performs, and how you can expand it. Here’s a simple comparison to help you decide which profile fits your needs: + +
+ ![](/img/zfs11.png) +
+ +| Profile | Redundancy | Performance | Expansion | Space Efficiency | Typical Use Case | Recommended Drive Count Per vdev | +| ------- | ----------------------------- | --------------------------------------------------------- | ---------------- | ---------------- | ---------------------------------------- | -------------------------------- | +| Stripe | なし | Fast, but risky | Add more disks | 100% | Temporary/scratch storage | Any number | +| Mirror | 1:1 (%%RAID 1\|raid1%% style) | Excellent for random I/O | Add more mirrors | 50% | High performance, easy expansion | 2 drives (can add more mirrors) | +| RAIDZ1 | 1 disk per vdev | Fast for big files. Not ideal for small or random writes. | Add new vdevs | High | General use, 1-disk fault tolerance | 3-6 drives (max 8) | +| RAIDZ2 | 2 disks per vdev | Like Z1 but slightly slower writes (extra parity) | Add new vdevs | Moderate | Important data, 2-disk fault tolerance | 6-12 drives (max 14) | +| RAIDZ3 | 3 disks per vdev | Like Z2, with more write overhead (for maximum safety) | Add new vdevs | Lower | Mission-critical, 3-disk fault tolerance | 10-16 drives (max 20) | + +:::tip[Optimizing drive counts] + +The recommended drive counts in the table above work well for most users. For even better performance, you can optimize within those ranges by choosing configurations where the number of data disks (total disks minus parity disks) is a **power of 2** (e.g., 2, 4, 8, 16). This helps align data stripes correctly, preventing wasted space and uneven I/O. + +**Examples of optimized configurations:** + +- **RAIDZ1**: 3, 5, or 9 drives (data disks = 2, 4, or 8) +- **RAIDZ2**: 4, 6, or 10 drives (data disks = 2, 4, or 8) +- **RAIDZ3**: 5, 9, or 17 drives (data disks = 2, 6, or 14) + +Note that these optimizations are optional - the recommendations above should work well for most use cases. + +::: + +:::important[How to choose] + +- Use **Mirror** if you want the best performance and easy, flexible expansion, and are okay with using more disk space for redundancy. +- Choose **RAIDZ1/2/3** if you want to maximize usable space and store large files, but keep in mind that expansion is less flexible, and random write performance is lower. +- **Stripe** is only suitable for non-critical, temporary data - if any disk fails, you lose everything. + +::: + +--- + +## Topology and expansion + +How you group disks into vdevs affects both data safety and speed. + +
+ ![](/img/zfs12.png) +
+ +- If you put all your disks into a large RAIDZ2 vdev, you can lose any two disks without losing data. However, expansion means adding another full vdev. +- You'll gain better parallel performance if you split disks into multiple smaller RAIDZ1 vdevs. Be cautious; if two disks fail in the same vdev, you will lose the whole pool. +- %%ZFS|zfs%% stripes data across vdevs, not individual disks, so more vdevs can lead to better performance for workloads with many small files or random I/O. +- Expanding a %%ZFS|zfs%% pool usually means adding a new vdev of the same layout, not just a single disk. + +:::tip + +Plan your pool’s layout to fit your needs and future growth. Unlike the Unraid %%array|array%%, you can’t add a single disk to an existing vdev using the %%WebGUI|web-gui%%. + +::: + +--- + +## Compression and RAM + +%%ZFS|zfs%% offers advanced features that can significantly improve Unraid's storage efficiency and performance. Two common topics of interest are compression and memory requirements. + +%%ZFS|zfs%% compression is transparent - it operates in the background, shrinking data before it reaches the disk. + +This offers two major benefits: + +- **Reduced disk usage:** Less storage space is consumed. +- **Improved performance:** Writing and reading less data can lead to faster operations, especially on modern CPUs. + +
+ ![](/img/zfs13.png) +
+ +:::tip + +Enable %%ZFS|zfs%% compression for most Unraid %%ZFS|zfs%% pools. It's safe, efficient, and rarely impacts compatibility or stability. + +::: + +
+ The ZFS RAM Myth - Click to expand/collapse + + You might have come across the outdated advice: “%%ZFS|zfs%% requires 1 GB of RAM per 1 TB of storage.” This is no longer applicable for most users. %%ZFS|zfs%% utilizes RAM for its Adaptive Replacement Cache (ARC), which speeds up frequently accessed reads. + + Unraid automatically limits %%ZFS|zfs%% to using a reasonable portion of your system's RAM (usually 1/8th of total RAM). This allows %%ZFS|zfs%% to perform well without affecting Docker containers, %%VMs|vm%%, or the Unraid OS. + +
+ ![](/img/zfs14.png) +
+
+ +:::info + +%%ZFS|zfs%% scales well with available memory. More RAM can enhance cache performance, but %%ZFS|zfs%% functions reliably with modest hardware. Don’t let old recommendations prevent you from using %%ZFS|zfs%% on Unraid. + +::: + +--- + +## Importing ZFS pools created on other systems + +Unraid can import %%ZFS|zfs%% pools created on other platforms with minimal hassle. + +
+ How to import a ZFS pool - Click to expand/collapse + + 1. **Stop the array:** Ensure your Unraid %%array|array%% is stopped. + 2. **Add new pool:** Click **Add Pool**. + 3. **Assign all drives:** + - Set **Number of Data Slots** to the total number of drives in your %%ZFS|zfs%% pool (including data vdevs and support vdevs). + - Assign each drive to the correct slot. + - *Example:* For a pool with a 4-drive mirrored vdev and a 2-drive L2ARC vdev, set 6 slots and assign all six drives. + 4. **Set file system to "Auto":** Click the pool name (e.g., `raptor`) and set **File System** to **Auto**. + 5. **Finish and start array:** Click **Done**, then start the %%array|array%%. + + :::info[Automatic detection] + Unraid will automatically detect and import the %%ZFS|zfs%% pool. Support vdevs (like log, cache/L2ARC, special/dedup) are listed under **Subpools** in the %%WebGUI|web-gui%%. There is no need to add subpools separately after initiating the import. Unraid will automatically import them alongside the main data disks when all required drives are assigned. + ::: + + After importing, running a %%scrub|scrub%% is highly recommended to verify data integrity. + + - Click the pool name (e.g., `raptor`) to open its configuration. + - Under **Pool Status**, check the status and click **Scrub**. + +
+ ![](/img/zfs15.png) +
+
+ +--- + +## Support vdevs (subpools) + +Unraid refers to %%ZFS|zfs%% support vdevs as subpools. Most users do **not** need these, but advanced users may encounter them: + +
+ ![](/img/zfs16.png) +
+ +| Support vdev (subpool) | Purpose | Risk/Notes | +| ---------------------- | ------------------------------------- | --------------------------------------------------------------------------------------- | +| Special vdev | Stores metadata and small files | The pool becomes unreadable if lost. | +| Dedup vdev | Enables deduplication | Requires vast amounts of RAM; risky for most users. Avoid unless you have expert needs. | +| Log vdev (SLOG) | Improves sync write performance | Optional. Only beneficial for certain workloads. | +| Cache vdev (L2ARC) | Provides SSD-based read cache | Optional. Can improve read speeds for large working sets. | +| Spare vdev | Not supported in Unraid (as of 7.1.2) | | + +:::caution + +Most Unraid users should avoid support vdevs/subpools unless you have a specific and well-understood need. They are designed for specialized workloads and can introduce complexity or risk if misused. + +::: + +--- + +## Critical support vdev drives not assigned during import + +When you import a %%ZFS|zfs%% pool into Unraid, you need to assign every drive from your original pool, including those used for support vdevs, to the pool slots. Unraid will automatically recognize each drive’s role (data, log, cache, special, or dedup) once the %%array|array%% starts. You don’t need to specify which drive serves what purpose manually. + +If you forget to include a drive that was part of a support vdev during the import, the outcome will depend on the vdev’s function: + +| Vdev type | If drive is missing during import | Result | +| -------------------------- | ----------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| Special vdev or dedup vdev | Pool will not import or will be unusable | These vdevs store critical metadata or deduplication tables. Without them, %%ZFS\|zfs%% cannot safely mount the pool. | +| Log (SLOG) vdev | Pool imports, but sync write performance drops. | The pool remains accessible, but you may notice slower performance for workloads that rely on sync writes. | +| Cache (L2ARC) vdev | Pool imports, but read cache is lost | The pool works normally, but you lose the performance boost from the L2ARC cache. No data is lost. | + +:::tip + +Always assign every physical drive from your original %%ZFS|zfs%% pool, including all support vdevs, when importing into Unraid. This ensures smooth detection and integration. For new pools created in Unraid, support vdevs are optional and generally not needed for most users. + +::: + +--- + +## Expanding storage + +%%ZFS|zfs%% is powerful, but it's important to understand how its storage expansion works - especially if you’re planning for future growth. + +Historically, %%ZFS|zfs%% vdevs have a fixed width. You can’t add a disk to an existing RAIDZ vdev to make it larger. + +Ways to expand your pool include: + +- **Adding a new vdev:** Grow your pool by adding another vdev (like a new mirror or RAIDZ group). This increases capacity, but you must add disks in sets that match the vdev’s configuration. +- **Replacing drives with larger ones:** Swap each drive in a vdev, one at a time, for a larger disk. See [drive replacement](../../using-unraid-to/manage-storage/array/replacing-disks-in-array.mdx#replacing-faileddisabled-disks) for detailed procedures. After all drives are replaced and the pool resolves, the vdev's capacity increases. +- **Creating a new pool:** Starting a new %%ZFS|zfs%% pool keeps things organized and independent for different data types or workloads. + +:::tip[Planning ahead] + +Before building your pool, consider how much storage you’ll need - not just today, but in the future. %%ZFS|zfs%% rewards good planning, especially if you want to avoid disruptive upgrades later. + +::: + +--- + +## Using ZFS pools on an existing Unraid server + +If you're running a traditional Unraid %%array|array%% and want to add %%ZFS|zfs%% pools, here are some effective ways to integrate them: + +| ユースケース | 説明 | Details / Examples | +| ------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | +| Fast SSD/NVMe pool for appdata & Docker | Store the appdata share for fast, responsive containers and databases. This supports %%snapshot\|snapshot%%s for easy rollbacks and can also host %%VM\|vm%%s for high I/O. | Many users choose a 2-drive %%ZFS\|zfs%% mirror for this. It's easy to expand and delivers strong performance. | +| %%ZFS\|zfs%% pool for important data | Use a %%ZFS\|zfs%% mirror or RAIDZ2 pool for irreplaceable files like photos, tax records, and %%user share\|user-share%% data. %%ZFS\|zfs%% checks for corruption and self-heals with redundancy. | This setup protects critical data with automatic integrity checks and self-healing capabilities. | +| Daily backup or replication target | Use a %%ZFS\|zfs%% disk (even within the Unraid %%array\|array%%) as a replication target. You can replicate other pools locally or from another Unraid server. | Utilize `zfs send/receive` or tools like Syncoid for fast and reliable backups and restores. | +| %%Snapshot\|snapshot%%-based recovery pool | Keep point-in-time %%snapshot\|snapshot%%s of critical data or containers. %%snapshot\|snapshot%%s can be auto-scheduled and are space-efficient. | This feature enables quick recovery from accidental deletions or misconfigurations. | + +## Avoiding common ZFS mistakes + +%%ZFS|zfs%% is a powerful file system, but there are several common pitfalls that can undermine its benefits. It’s important to keep the following points in mind before configuring your pool for a smoother experience: + +- **Drive size mismatch in RAIDZ:** %%ZFS|zfs%% treats all disks in a RAIDZ vdev as the size of the smallest one. To ensure the best efficiency, always use identically sized drives within each vdev. + +- **Expanding RAIDZ vdevs via the %%WebGUI|web-gui%%:** While Unraid 7.1.x and newer support RAIDZ expansion via the command line, this feature isn't yet available in the %%WebGUI|web-gui%%. For the time being, expand via the CLI or add new vdevs through the GUI. + +- **%%ZFS|zfs%% disk vs. full zpool:** A single %%ZFS|zfs%%-formatted disk in the Unraid %%array|array%% does not offer the redundancy or features of a dedicated %%ZFS|zfs%% pool. To leverage advanced functionality, use standalone pools. + +- **Deduplication without adequate RAM:** Deduplication requires significant memory, and enabling it without enough RAM can severely impact performance. Only enable deduplication if you fully understand the requirements. + +- **Vdev redundancy is local:** Redundancy in %%ZFS|zfs%% is local to each vdev and not shared across the pool. Make sure to plan your vdev layout to achieve the level of resilience you need. From 40b16d48d6d6709085708ede9f7c2938f9802360 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:26:26 -0400 Subject: [PATCH 081/437] New translations download_list.mdx (Japanese) --- .../current/unraid-os/download_list.mdx | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/download_list.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/download_list.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/download_list.mdx new file mode 100644 index 00000000000..f54ada56221 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/download_list.mdx @@ -0,0 +1,12 @@ +--- +sidebar_position: 7 +title: バージョン履歴 +--- + +import {VersionsTable} from '@site/src/components/VersionsTable'; + +# バージョン履歴 + +USB Creator が必要ですか? [Unraid の使い始め方](https://unraid.net/getting-started) + + From 50844a061c6fd27b9e7bdb7521936cac020947bd Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:26:27 -0400 Subject: [PATCH 082/437] New translations _category_.json (Japanese) --- .../current/unraid-os/getting-started/_category_.json | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/getting-started/_category_.json diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/getting-started/_category_.json b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/getting-started/_category_.json new file mode 100644 index 00000000000..6d0241240ec --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/getting-started/_category_.json @@ -0,0 +1,7 @@ +{ + "label": "Unraid の使い始め", + "position": 1, + "link": { + "type": "generated-index" + } +} \ No newline at end of file From ca27eef2868ba6399fe514e89121c7a42a9e30d4 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:26:28 -0400 Subject: [PATCH 083/437] New translations _category_.json (Japanese) --- .../explore-the-user-interface/_category_.json | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/getting-started/explore-the-user-interface/_category_.json diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/getting-started/explore-the-user-interface/_category_.json b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/getting-started/explore-the-user-interface/_category_.json new file mode 100644 index 00000000000..6876519d814 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/getting-started/explore-the-user-interface/_category_.json @@ -0,0 +1,7 @@ +{ + "label": "ユーザーインターフェースを探る", + "position": 4, + "link": { + "type": "generated-index" + } +} \ No newline at end of file From 839c3f3303fc870f61b22ff1d6827d0aac9dc26a Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:26:29 -0400 Subject: [PATCH 084/437] New translations key-features.mdx (Japanese) --- .../key-features.mdx | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/getting-started/explore-the-user-interface/key-features.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/getting-started/explore-the-user-interface/key-features.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/getting-started/explore-the-user-interface/key-features.mdx new file mode 100644 index 00000000000..277e27c3250 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/getting-started/explore-the-user-interface/key-features.mdx @@ -0,0 +1,21 @@ +--- +sidebar_position: 1 +sidebar_label: 主な機能 +--- + +# 主な機能 + +直感的な[Web インターフェース](./tour-the-web-gui.mdx)である %%WebGUI|web-gui%% を使用して、Unraid システムを管理できます。このインターフェースは、一般的な作業に必要な基本操作を提供すると同時に、経験豊富なユーザー向けの高度な調整オプションも備えています。Unraid は、ほとんどのユーザーに適した既定設定を自動的に選択しますが、必要に応じてこれらの設定を特定のニーズに合わせてカスタマイズすることもできます。 + +この設計により、Unraid は、シンプルさが最も重要な場面では使いやすく、カスタマイズが重要な場面では調整可能です。簡略化された管理機能には、次のものが含まれます: + +- **[ダッシュボード表示](./tour-the-web-gui.mdx#1-dashboard)** - ダッシュボードでは、ディスクの状態、温度、リソース使用率、アプリケーションの状態を示すインジケーターを表示し、システム全体をリアルタイムで詳細に把握できます。 +- **[アレイ操作](./tour-the-web-gui.mdx#2-main)** - %%array|array%% を簡単に管理できます。デバイスを %%array|array%% または %%cache|cache%% のどちらで使用するか割り当てたり、個々のディスクをスピンダウン/スピンアップしたり、%%array|array%% を開始・停止したり、さらにはオンザフライの %%parity checks|parity-check%% を 1 つのページから実行したりできます。 +- **[共有管理](../../using-unraid-to/manage-storage/shares.mdx)** - Unraid で共有を設定するのは簡単です。共有に名前を付け、必要に応じてアクセス ポリシーと配布ポリシーを適用し、"Create!" をクリックするだけです。 +- **[ディスク調整](../set-up-unraid/customize-unraid-settings.mdx#disk-settings)** - デバイスをいつスピンダウンするかを制御し、既定のファイルシステム形式を選択し、その他の高度な設定を調整して、デバイスの摩耗と消費電力を抑えます。 +- **[ネットワーク制御](../set-up-unraid/customize-unraid-settings.mdx#network-settings)** - %%NIC bonding|nic-bonding%% と %%bridging|nic-bridging%% を有効にし、時刻サーバーを設定し、追加のネットワーク設定を構成します。 +- **[APC UPS 安全シャットダウン](../set-up-unraid/customize-unraid-settings.mdx#ups-settings)** - APC UPS に接続されている場合、Unraid は停電時にシステムを安全にシャットダウンできます。 +- **[システム通知](../set-up-unraid/customize-unraid-settings.mdx#notification-settings)** - Unraid は、Web 管理コンソールを通じて、またメールやその他の通知システムを介して、重要なイベントを通知できます。 +- **[タスク スケジューラ](../set-up-unraid/customize-unraid-settings.mdx#scheduler)** - 自動 %%parity checks|parity-check%% をいつ実行するか、および %%Mover|mover%% スクリプトが %%cache|cache%% から %%array|array%% にファイルを転送する頻度を指定します。 +- **[Docker コンテナー](../../using-unraid-to/run-docker-containers/overview.mdx)** - 1 つのインターフェースからアプリケーションの操作を管理できます。コミュニティ提供のテンプレートを使用して、最小限の手間でアプリケーションを追加できます。 +- **[仮想マシン](../../using-unraid-to/create-virtual-machines/overview-and-system-prep.mdx)** - あらかじめ作成された %%virtual machine|vm%% イメージから選ぶか、独自のカスタム %%VMs|vm%% をゼロから作成できます。 From 7d78daac8b5f122d9db707e248856aaebe44b4df Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:26:31 -0400 Subject: [PATCH 085/437] New translations tour-the-web-gui.mdx (Japanese) --- .../tour-the-web-gui.mdx | 126 ++++++++++++++++++ 1 file changed, 126 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/getting-started/explore-the-user-interface/tour-the-web-gui.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/getting-started/explore-the-user-interface/tour-the-web-gui.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/getting-started/explore-the-user-interface/tour-the-web-gui.mdx new file mode 100644 index 00000000000..7d9fbfed1ad --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/getting-started/explore-the-user-interface/tour-the-web-gui.mdx @@ -0,0 +1,126 @@ +--- +sidebar_position: 2 +--- + +# WebGUI を見てみましょう + +%%WebGUI|web-gui%% は、Unraid サーバーの管理と設定を行うための主要なインターフェースです。整理されたナビゲーションバーと使いやすい画面を通じて、すべてのシステム機能、監視ツール、設定オプションにアクセスできます。このレイアウトは、任意の Web ブラウザーからストレージ、ユーザー、アプリケーション、システム設定を効率よく管理できるよう設計されています。 + +## ナビゲーションバー + +横方向のナビゲーションバーにより、ユーザーは Unraid システムの主要な機能領域にアクセスできます。プラグインを使ってカスタマイズし、追加のメニューやオプションを加えることもできます。これらは [Community Applications セクション](../../using-unraid-to/run-docker-containers/community-applications.mdx) で利用できます。 + +![ナビゲーションバー - 注釈付き](/img/navbar3.png) + +### 1. ダッシュボード + +**Dashboard** タブでは、Unraid サーバー上のハードウェアおよびソフトウェアコンポーネントをリアルタイムで監視できます。システム識別情報、CPU、RAM、ストレージ、ネットワーク情報、コンテナ、%%VMs|vm%%、ユーザー、共有など、さまざまな管理情報をタイル状のグリッドで表示します。 +![Dashboard タブ](/img/dashboard.png) +Dashboard は [Community Applications](../../using-unraid-to/run-docker-containers/community-applications.mdx) のプラグインで強化できます + +### 2. メイン + +The **Main** screen enables efficient management of your Unraid storage and disk operations. You can configure your %%array|array%%, %%cache pools|cache-pool%%, and boot devices, as well as manage USB storage and unassigned devices, including remote shares. It displays key information about each storage device, such as health, capacity, and file systems. +![Main tab](/img/maintab.png) +At the bottom, the Array Operation section provides maintenance options to keep your %%array|array%% running smoothly. + +### 3. 共有 + +**Shares** タブは、[User Shares](../../using-unraid-to/manage-storage/shares.mdx#user-shares) と [Disk Shares](../../using-unraid-to/manage-storage/shares.mdx#disk-shares) に分かれています。 + +名前を選択すると、各共有の詳細情報と管理オプションにアクセスできます。 + +### 4. ユーザー + +**Users** 画面では、[User Management section](../../system-administration/secure-your-server/user-management.mdx) で詳しく説明されているように、Unraid サーバー上のすべてのユーザーアカウントを管理できます。 + +![Users タブ](/img/userstab.png) + +### 5. 設定 + +**Settings** 画面では、Unraid サーバーのすべてのシステム設定を次の項目を含めて管理できます。 + +- **システム設定**: Unraid のコアコンポーネントのパラメータと動作を設定します。 +- **ネットワークサービス**: さまざまな通信プロトコルを設定し、%%Wireguard|wireguard%% %%VPN|vpn-tunnel%% を構成します。 +- **ユーザー設定**: 通知や表示設定など、個々のユーザー設定を調整します。 +- **ユーザー ユーティリティ**: プラグインを通じて追加した個別のユーティリティを管理します。 + +![設定タブ](/img/settingstab.png) + +### 6. プラグイン + +**Plugins** 画面には、Unraid サーバーにインストールされているすべてのプラグインが表示されます。 + +![Plugins タブ](/img/pluginstab.png) + +:::note + +For plugin installation steps, see [Community Applications](../../using-unraid-to/run-docker-containers/community-applications.mdx). + +::: + +### 7. Docker + +The **Docker** screen displays all containers installed from [Community Applications](../../using-unraid-to/run-docker-containers/community-applications.mdx). You can launch, stop, and configure each container, including their auto-start settings. + +:::note + +For details on running Docker containers, see [Run Docker containers](../../using-unraid-to/run-docker-containers/overview.mdx). + +::: + +### 8. VMs + +The **VMs** screen lets you manage %%virtual machines (VMs)|vm%% on your Unraid server. It displays all your created %%VMs|vm%% along with their main attributes, such as CPU assignments, %%vDisk allocation|vdisk-allocation%%, and graphics card settings. + +:::note + +This option will **only** appear in the Navigation Bar if your Unraid server meets the %%hardware virtualization|hvm%% requirements. + +::: + +### 9. Apps + +The **Apps** screen, or "Community Applications," is the official source for Unraid apps. + +![Apps tab](/img/appstab.png) + +It provides community-sourced plugins and Docker containers that enhance Unraid’s functionality beyond a basic NAS. For more details, check the [Community Applications section](../../using-unraid-to/run-docker-containers/community-applications.mdx). + +### 10. Tools + +The **Tools** screen offers various tools for managing Unraid OS, customizing the look of the %%WebGUI|web-gui%%, and system updates. + +![Tools tab](/img/toolstab.png) + +### 11. System Shortcuts + +The **System Shortcuts** section provides quick access to essential Unraid features and tools directly from the navigation bar. + +![System Shortcuts](/img/systemshortcuts.png) + +The Navigation bar displays shortcuts to Unraid features, such as: + +- ![Logout](/img/logout.png) **Logout :** Log out of the Unraid server. +- ![Terminal](/img/terminal.png) **Terminal:** Open a terminal window. +- ![File Manager](/img/filemanager.png) **File Manager:** Access the built-in file manager. +- ![Feedback](/img/feedback.png) **Feedback:** Submit feedback, report issues, or leave comments. +- ![Info](/img/infoicon.png) **Info:** View a summary of your server’s attributes. +- ![Log](/img/logicon.png) **Log:** See a list of system events. +- ![Help](/img/helpicon.png) **Help:** Enable help for the current screen. +- ![Notifications](/img/notificationicon.png) **Notifications:** View system alerts, warnings, and notices. + +### 12. Account Options + +In the top-right corner of the %%WebGUI|web-gui%%, next to your server name, is the hamburger (☰) menu for **Account Options**. This menu allows you to manage your Unraid account, access [Unraid Connect](../../../unraid-connect/overview-and-setup.mdx), upgrade your license key, and log out. + +If you're in trial mode, you can also redeem your license key here to activate Unraid as Starter, Unleashed, or Lifetime. + +### 13. Status Bar + +![Status Bar](/img/status-bar2.png) +The **Status Bar** at the bottom of the %%WebGUI|web-gui%% shows the current state of your %%array|array%% and the status of ongoing operations like %%Mover|mover%% or %%parity checks|parity-check%%. Some plugins also display important information, like system temperatures. + +--- + +\* *"%%WireGuard|wireguard%%" and the "%%WireGuard|wireguard%%" logo are registered trademarks of Jason A. Donenfeld.* From ea1a8d5c54fb01e6a0408766900da340c53ce751 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:26:32 -0400 Subject: [PATCH 086/437] New translations _category_.json (Japanese) --- .../getting-started/set-up-unraid/_category_.json | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/getting-started/set-up-unraid/_category_.json diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/getting-started/set-up-unraid/_category_.json b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/getting-started/set-up-unraid/_category_.json new file mode 100644 index 00000000000..7d851bb4576 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/getting-started/set-up-unraid/_category_.json @@ -0,0 +1,7 @@ +{ + "label": "Unraid のセットアップ", + "position": 3, + "link": { + "type": "generated-index" + } +} \ No newline at end of file From 46cdb82f9e13cd55e7dfd89af46ffb0635debfeb Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:26:33 -0400 Subject: [PATCH 087/437] New translations complete-your-post-setup-essentials.mdx (Japanese) --- .../complete-your-post-setup-essentials.mdx | 95 +++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/getting-started/set-up-unraid/complete-your-post-setup-essentials.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/getting-started/set-up-unraid/complete-your-post-setup-essentials.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/getting-started/set-up-unraid/complete-your-post-setup-essentials.mdx new file mode 100644 index 00000000000..af802b7e960 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/getting-started/set-up-unraid/complete-your-post-setup-essentials.mdx @@ -0,0 +1,95 @@ +--- +sidebar_position: 5 +sidebar_label: セットアップ後の必須項目を完了する +--- + +# セットアップ後の必須項目を完了する + +初期セットアップ、おめでとうございます! + +次に、サーバーの機能性とセキュリティを向上させる、さらにいくつかの重要な項目を確認しましょう。 + +## Back up your boot device {#back-up-your-flash-device} + +Always back up your Unraid boot device after making significant configuration changes. Regular backups are *highly* recommended. + +To back up your boot device, go to the **Main** tab, select the device, and click on **Boot Device Backup**. + +:::warning + +Store backups outside the Unraid %%array|array%% for easy access if the %%array|array%% isn't operational. [Learn more about boot-device management here](../../system-administration/maintain-and-update/changing-the-flash-device.mdx). + +::: + +:::note + +Alternatively, use the [Unraid Connect](../../../unraid-connect/overview-and-setup.mdx) plugin for automated backups to LimeTech's cloud servers. + +::: + +## Use the built-in help + +Unraid provides extensive help text for settings in the %%WebGUI|web-gui%%. Enable it by clicking the ![Help icon](/img/helpicon.png) icon at the top-right corner. You can also toggle help on individual fields by clicking their names. The %%WebGUI|web-gui%% help will typically offer the most up-to-date information help information. + +
+ ![Built in Help](/img/toolbar.png) +
+ +## Review security best practices + +Since your Unraid server contains valuable data, it's wise to review the [security best practices](../../system-administration/secure-your-server/security-fundamentals.mdx) in the documentation to avoid potential attacks and protect your information. + +## Unraid Connect + +[Unraid Connect](../../../unraid-connect/overview-and-setup.mdx) is a plugin for Unraid that can be found in the Community Applications section. With Unraid Connect, you can manage all your server instances through a [unified dashboard](https://connect.myunraid.net/). + +![Unraid Connect Dashboard](/img/unraidconnectdashboard.png) + +Unraid Connect uses your Unraid.net credentials for access management and communicates with our cloud servers over a secure connection. + +For more information on how we handle your data, please refer to the [Privacy section](../../../unraid-connect/overview-and-setup.mdx#data-collection-and-privacy) in our Unraid Connect documentation. + +## Link your license key to your account + +If you have an existing Unraid license key but haven't linked it to your Unraid.net account yet, you can do so to enable additional features and easier license management. + +Benefits of linking your license key include: + +- **Centralized management:** View and manage all your licenses from your Unraid.net account +- **Easy access:** Download your license key files from anywhere +- **Enhanced support:** Streamlined support experience with linked account information +- **Prerelease access:** Download beta and release candidate versions if eligible + +To link your license key: + +1. **From the WebGUI:** + - Go to ***Tools → Registration*** in your Unraid server's WebGUI + - Click **Sign in to Unraid.net** if you haven't already + - Your license key will automatically be linked to your account + +2. **From the account portal:** + - Visit [account.unraid.net/keys](https://account.unraid.net/keys) + - Sign in with your Unraid.net credentials + - Click **Link Existing Key** and follow the prompts + +3. **During server setup:** + - If you're setting up a new server with an existing license, you can sign in to your Unraid.net account during the initial configuration + - Your license will be automatically linked + +:::note + +Linking your license key to your account is a one-time process. Once linked, you can manage your license from either the WebGUI or your online account portal. + +::: + +:::important + +If you're having trouble linking your license key, ensure that: + +- Unraid.net アカウントのメールアドレスが、ライセンス購入時のメールアドレスと一致しています +- 正しいライセンスキー ファイルを使用しています +- Your server has internet access for account verification + +::: + +ライセンス管理の詳細については、[ライセンス FAQ](../../troubleshooting/licensing-faq.mdx) を参照してください。 From 7692d8c96973ce34e5ef4f3d10627f1001260c8b Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:26:35 -0400 Subject: [PATCH 088/437] New translations configure-your-array.mdx (Japanese) --- .../set-up-unraid/configure-your-array.mdx | 98 +++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/getting-started/set-up-unraid/configure-your-array.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/getting-started/set-up-unraid/configure-your-array.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/getting-started/set-up-unraid/configure-your-array.mdx new file mode 100644 index 00000000000..8487bf964a6 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/getting-started/set-up-unraid/configure-your-array.mdx @@ -0,0 +1,98 @@ +--- +sidebar_position: 4 +sidebar_label: アレイを設定する +--- + +# アレイを設定する + +登録キーをインストールした後、次のステップは、%%array|array%%と**pool devices**にデバイスを割り当ててストレージを設定することです。この設定によって、Unraid OSがデータをどのように管理し、%%parity|parity%%で保護し、%%cache pools|cache-pool%%でパフォーマンスを最適化するかが決まります。 + +:::important + +If you're struggling with any part of the Unraid installation, be sure to check out our [Installation FAQ](../../troubleshooting/faq.mdx#installation)! + +::: + +## Assign Parity and Data disks {#assign-parity-and-data-disks} + +You’ll use the **Main** tab in the Unraid %%WebGUI|web-gui%% to assign and review devices, including %%array|array%% and pool assignments along with any unassigned devices and your boot device (often a USB flash drive). + +![Configuring array](/img/configuringarray1.png) + +### Device Roles + +Unraid OS uses drives for various purposes: + +- **Array Devices**, which fall into two categories: + - **Parity Devices:** Provide fault tolerance, allowing recovery of data if a data drive fails. You can assign up to two parity drives. + - **Data Devices:** Store your custom shares and folders, as well as any files you add to them, i.e., media files. + +- **Pool Devices:** High-performance drives used primarily as a **cache**, storing files temporarily to enhance performance before transferring them to the %%array|array%%. + +- **Boot Device:** The device containing Unraid OS which starts your server. + +
+ Disk assignment recommendations + + These disk assignment recommendations are crafted to optimize your Unraid %%array|array%%, enhancing performance, data protection, and future expandability. By following these, you can effectively maximize your storage devices and avoid common setup issues. + + 1. **Select the largest %%parity device|parity-drives%%:** + Always choose the largest available storage device as your %%parity device|parity-drives%%(s). When expanding your %%array|array%%, data disks must be equal to or smaller than your %%parity device|parity-drives%%(s). You should purchase the largest **HDD** for your initial %%parity device|parity-drives%% to avoid future limitations. For dual %%parity disks|parity-drives%%, each parity disk must be greater than or equal to the largest data disk. + + 2. **Utilize HDDs for the %%array|array%% and SSD/NVMe drives for pools:** + For optimal performance, use **HDDs** as the primary storage devices in the %%array|array%% for general storage and %%parity|parity%% protection. Assign **SSD** or **NVMe** drives to a %%cache pool|cache-pool%% or dedicated pool to enhance high-speed read and write operations. This setup improves overall performance by taking advantage of the strengths of each type of drive. + + 3. **Protect cached data with a %%multi-device pool|multi-device-pool%%:** + To safeguard cached data, assign more than one device to the %%cache pool|cache-pool%%. A single device does not offer protection from data loss. %%Cache pools|cache-pool%% can be expanded on demand. + + :::warning + SSD support is experimental in the %%array|array%%. Some SSDs may not perform well due to variations in %%TRIM/Discard|trim-discard%% implementation, which could lead to undesirable results. This does not apply to %%cache pools|cache-pool%%. [Learn more about filesystem options here](../../using-unraid-to/manage-storage/file-systems.mdx). + ::: + + :::note + SSD-based pools are optimal for applications and virtual machines, leveraging SSD performance for faster interactions. [Learn more about running applications here](../../using-unraid-to/run-docker-containers/overview.mdx). + ::: + +
+ +:::important + +Your %%array|array%% will not start if you exceed the number of storage devices permitted by your license key. + +::: + +## Start and format the array + +After assigning all your devices, click the **Start** button under **Array Operation** to mount them and start the %%array|array%%. + +
+ ![Array Operation Start](/img/arrayoperation_start.png) +
+ +New devices will appear as *Unformatted* and cannot be used until formatted. Unraid defaults to the %%XFS|xfs%% filesystem for array devices. For %%cache pools|cache-pool%%, %%BTRFS|btrfs%% is always used by default when using auto mode, but you can choose your desired filesystem when adding devices to a pool. You can change the default filesystem for the array in ***Settings → System Settings → Disk Settings***. + +To format your devices, check the **Format** box under **Array Operation**, read the prompt carefully, and click the **Format** button. + +A parity sync will run in the background to protect the %%array|array%% even before formatting is complete. The %%array|array%% will function in an unprotected state until the sync finishes, so it's best to wait before adding data. + +### Changing filesystems on existing drives + +To change the filesystem of an existing drive: + +1. **Back up your data**: Reformatting will erase all data on the drive. +2. **Stop the array**. +3. **Click on the drive** and change the filesystem type (e.g., %%XFS|xfs%%, %%BTRFS|btrfs%%). +4. **Start the array** and check the **Format** box under **Array Operation**. +5. **Click Format** to apply the new filesystem. + +:::caution + +Reformatting a drive will erase all its data. For %%RAID|raid%% setups, check the %%parity|parity%% to avoid data loss during rebuilds. Use the [Unassigned Devices plugin](https://unraid.net/community/apps?q=unassigned+devices#r:~:text=don%27t%20be%20carefull!!!-,Unassigned%20Devices,-dlandon) to back up your files before reformatting. + +::: + +:::info + +You may stop the array, shut down, or reboot using the respective buttons in the same **Array Operation** section in the **Main** tab. + +::: From e0eb09694107a7165ea76eebc676783797427e89 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:26:36 -0400 Subject: [PATCH 089/437] New translations create-your-bootable-media.mdx (Japanese) --- .../create-your-bootable-media.mdx | 101 ++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/getting-started/set-up-unraid/create-your-bootable-media.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/getting-started/set-up-unraid/create-your-bootable-media.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/getting-started/set-up-unraid/create-your-bootable-media.mdx new file mode 100644 index 00000000000..62fb263c3c2 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/getting-started/set-up-unraid/create-your-bootable-media.mdx @@ -0,0 +1,101 @@ +--- +sidebar_position: 1 +sidebar_label: 起動可能なメディアを作成する +--- + +import FlashDriveGuidance from '../../partials/flash-drive-selection-guidance.mdx'; + +# 起動可能なメディアを作成する + +Unraid OS は USB フラッシュドライブにインストールされ、サーバーのブートデバイスとして機能します。推奨の [自動インストール方法](./create-your-bootable-media.mdx#automated-install-method) を [USB Flash Creator](https://unraid.net/download) ツールで使用するか、[手動インストール方法](./create-your-bootable-media.mdx#manual-install-method) に従うことで、この起動可能なメディアを作成できます。どちらの場合も、固有の %%GUID|guid%% を持つ高品質の USB フラッシュドライブ(4~32 GB)を用意する必要があります。 + +:::tip[Choosing reliable boot media] + +For typical USB installs, that means a quality USB flash drive; licensing depends on a unique %%GUID|guid%% on the boot device. See [Choosing a boot device](#choosing-a-usb-flash-drive) in the manual install section for brand guidance and how to avoid counterfeits. + +::: + +## 自動インストール方法 + +自動インストール方法は、Unraid OS をセットアップする最適な方法です。手順が簡単になり、エラーが減り、ほとんどのハードウェア構成で USB フラッシュドライブをすぐに使える状態にできます。この方法は、ほとんどのユーザーにとって、インストールを最も速く、最も確実に成功へ導く手段です。 + +1. **USB デバイスを準備する:** + 高品質の USB フラッシュドライブをコンピューターに挿入します。 + +2. **Download the Unraid USB Flash Creator and install Unraid OS onto the drive.** + [Windows](https://releases.unraid.net/dl/stable/usb-creator.exe) | [Mac](https://releases.unraid.net/dl/stable/usb-creator.dmg) | [Linux](https://releases.unraid.net/dl/stable/usb-creator.appimage) + +3. **セットアップを完了する:** + サーバー名とネットワーク設定をカスタマイズします。 + +4. **取り外してインストールする:** + USB ドライブを安全に取り外し、サーバーに挿入します。 + +5. **サーバーの BIOS 設定を構成する** + - 起動デバイスを USB フラッシュドライブに設定します。 + - %%IOMMU|iommu%% を含む %%hardware virtualization|hvm%% 機能を有効にします。(詳細は [HVM と IOMMU の設定](../../using-unraid-to/create-virtual-machines/overview-and-system-prep.mdx#hvm--iommu-what-they-enable) を参照してください。) + +6. **Unraid OS で起動する:** + BIOS 設定を保存して終了し、Unraid OS で起動します。 + +## 手動インストール方法 + +手動インストール方法は、USB Flash Creator ツールが利用できない場合や、お使いのハードウェアと互換性がない場合に向けて設計されています。この方法では、フォーマットとセットアップのプロセスを完全に制御できるため、上級ユーザーや USB デバイスの特定の問題をトラブルシューティングする場合に最適です。 + + + +### Choosing a boot device + + + +### USB デバイスを準備する + +1. Plug in the USB drive you are preparing as the boot device. +2. FAT32 にフォーマットします(**ex-FAT** や NTFS では**ありません**)。 +3. ボリュームラベルを `UNRAID` に設定します(大文字・小文字を区別し、すべて大文字)。 + +:::important + +On Windows, drives larger than 32 GB cannot be formatted as FAT32 using the built-in formatting tools (they default to exFAT). For drives larger than 32 GB, you'll need to use a third-party tool like [Rufus](https://rufus.ie/en/) to format as FAT32. + +::: + +### Download and extract + +1. Go to the [Unraid Download Archive](../../download_list.mdx) and download the ZIP file of your chosen release. +2. Extract the ZIP contents to the USB device. +3. Confirm that the files have been copied. + +### Make the USB device bootable + +:::note + +This section is only needed to enable Legacy boot. If setting up for UEFI boot, there is no need to run these scripts. + +::: + +Run the appropriate script for your OS: + +**Windows 7 or later:** + +- Right-click `make_bootable` and select **Run as administrator**. + +**Mac:** + +- Double-click `make_bootable_mac` and enter your admin password. + +**Linux:** + +- Copy `make_bootable_linux` to your hard drive. +- Unmount the USB drive. +- In the terminal, run: + + ```bash + sudo bash ./make_bootable_linux + ``` + +:::note + +The USB drive may briefly disappear and reappear a few times during this process. This is normal. + +::: From e926ecffd790042a162cfa43b2bd0053cd9d2f28 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:26:38 -0400 Subject: [PATCH 090/437] New translations customize-unraid-settings.mdx (Japanese) --- .../customize-unraid-settings.mdx | 461 ++++++++++++++++++ 1 file changed, 461 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/getting-started/set-up-unraid/customize-unraid-settings.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/getting-started/set-up-unraid/customize-unraid-settings.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/getting-started/set-up-unraid/customize-unraid-settings.mdx new file mode 100644 index 00000000000..38f73760789 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/getting-started/set-up-unraid/customize-unraid-settings.mdx @@ -0,0 +1,461 @@ +--- +sidebar_position: 6 +sidebar_label: Unraid 設定をカスタマイズする +--- + +# Unraid 設定をカスタマイズする + +Unraid OS は自動的に機能しますが、**Settings** タブの Unraid **%%WebGUI|web-gui%%** から、IP アドレス、ホスト名、ディスクのチューナブル設定などをさらにカスタマイズできます。 + +:::tip[Tailscale 統合] + +**Tailscale** is an optional plugin that you can install via the **Apps** tab by searching for "Tailscale". It provides secure remote access to your network and adds a **Tailscale** section to your **Settings** for enhanced remote management capabilities. + +::: + +
+ ![Toolbar - Settings](/img/toolbar_settings.png) +
+ +Don't forget - the %%WebGUI|web-gui%% includes built-in help. To access help for a specific field, click the prompt next to it, or use the **Help** icon ![Help icon](/img/helpicon.png) at the top right of the interface to toggle help for all fields. + +## System settings + +**System Settings** enable you to configure key functionalities like network, share, %%VM|vm%%, and disk settings. + +### CPU pinning + +%%CPU Pinning|cpu-pinning%% allows you to assign specific CPU cores to %%VMs|vm%% (Virtual Machines) or Docker containers. This is particularly important for performance-sensitive workloads, such as gaming %%VMs|vm%%. Even if you manually assign Docker containers to avoid conflicts with your gaming %%VM|vm%%, the host operating system may still utilize those cores for tasks like managing the %%WebGUI|web-gui%%, running a %%parity check|parity-check%%, or performing %%BTRFS|btrfs%% operations. + +- When you pin a core to a %%VM|vm%% or Docker container, that core is allocated to the %%VM|vm%% or container. However, Unraid OS may still access it for routine tasks. +- When you isolate a core, it becomes dedicated to the %%VM|vm%% or container and is no longer accessible to Unraid OS. +- You can pin cores without needing to restart your server, but applying CPU isolation changes does require a system restart. + +### Date & time + +On this page, you can set your time zone and toggle the use of up to four NTP servers. You should adjust Unraid to match your time zone for accurate timekeeping. + +
+ ![Toolbar - Settings](/img/date-time.png) +
+ +### Disk settings + +You can modify additional settings for your disk devices on this page. Enable your %%array|array%% to start automatically on boot, adjust disk %%spin-down timers|spin-down-timers%%, and even change advanced driver settings like %%SMART polling frequency|smart-polling%%. + +
+
+ Disk Settings +
+ +
+ Global SMART Settings +
+
+ +### Docker + +Docker containers allow you to integrate pre-configured Linux applications into your Unraid server. For more details, see the [Docker Management](../../using-unraid-to/run-docker-containers/managing-and-customizing-containers.mdx) page. + +
+ ![Settings - Docker](/img/settings-docker.png) +
+ +### Identification + +Unraid defaults to the hostname `tower`, but you can change it here. You can also add a description or model number for your system. + +
+ ![Settings - Identification](/img/settings-identification.png) +
+ +### Management access + +You can configure various access settings for your Unraid server, including enabling Telnet or %%SSH|ssh%%, setting ports for %%SSL|ssl%%/%%TLS|tls%%, HTTP, and HTTPS, and defining the default landing page for Unraid. For detailed information about securing your %%WebGUI|web-gui%% with %%SSL|ssl%% certificates, see [Securing your connection](../../system-administration/secure-your-server/securing-your-connection.mdx). + +
+ ![Settings - Management Access](/img/settings-management-access.png) +
+ +### Network settings + +By default, Unraid tries to obtain an IP address from a DHCP server on your local network, usually provided by your router. On this page, you can configure a static IP address, set up %%bonding|nic-bonding%%, %%bridging|nic-bridging%%, or explore other options. While setting a static IP is recommended, it is not necessary to use Unraid. + +
+ ![Network Settings](/img/settings-network.png) +
+ +#### WiFi setup + +Unraid supports WiFi connectivity for situations where a wired network connection isn't practical or available. While a wired connection is generally recommended for better stability and performance, a wireless setup can be a suitable alternative when running a cable isn't an option. + +:::important[Initial setup requirements] + +For the initial WiFi setup, you'll need either: + +- A local keyboard and monitor connected to your server (boot into GUI mode), or +- A temporary wired connection to access the %%WebGUI|web-gui%% + +Once WiFi is configured, you can remove the wired connection and manage your server wirelessly. + +::: + +##### Setting up WiFi + +1. Access the %%WebGUI|web-gui%% and go to ***Settings → Network Settings → Wireless wlan0***. +2. Enable WiFi by toggling the **Enable WiFi** option. +3. Configure the **Regulatory Region**: + - In most cases, it’s best to leave this set to **Automatic**. + - If your preferred network isn't appearing in the scan results, set it to your specific location (country/region). +4. Scan for available networks: + - Available WiFi networks should be listed. + - Click the **Connect to WiFi network** (ᯤ) icon next to your preferred network. +5. Enter your network credentials: + - Type your WiFi password. + - Review and adjust any additional settings if needed. + - Click **Join this network** to connect. + +:::tip[Docker containers and WiFi] + +If you plan to use Docker containers with WiFi, ensure to unplug any wired connections **before** starting the Docker service. This helps prevent network configuration conflicts that can occur when both interfaces are active simultaneously. + +::: + +##### Supported WiFi features + +Unraid's WiFi implementation supports the following: + +- **WPA2** and **WPA3 security protocols**, including WPA2/WPA3 Enterprise networks. If both WPA2 and WPA3 are available, Unraid will automatically use WPA3 for enhanced security. +- **Modern WiFi adapters** that have Linux in-kernel driver support. Older adapters may not be compatible. + +:::info[USB WiFi adapters] + +If you're using a USB WiFi adapter, check this list of [USB WiFi adapters supported with Linux in-kernel drivers](https://github.com/morrownr/USB-WiFi/blob/main/home/USB_WiFi_Adapters_that_are_supported_with_Linux_in-kernel_drivers.md) to ensure compatibility. + +If your WiFi adapter isn't detected, please start a new thread on the [Unraid forums](https://forums.unraid.net/) and provide your diagnostics for investigation. + +::: + +##### WiFi limitations + +WiFi has some limitations compared to wired networking: + +- You can only connect to **one WiFi network** at a time. +- Only one wireless NIC is supported - `wlan0`. If your system has multiple wireless adapters (`wlan1`, `wlan2`, etc.), only `wlan0` will be used. +- Unlike wired connections, you **cannot combine multiple wireless connections** to improve reliability. +- **`wlan0` cannot participate in a bond**. You cannot combine WiFi and Ethernet connections in a bond configuration. +- It's best to use either a wired connection or WiFi, but **not both at the same time**. If you need to temporarily connect or disconnect a network cable while using WiFi, your server should automatically adjust to use the active connection within about a minute. For important information about Docker containers when switching between connection types, see the **Docker and virtual machine considerations** section below. + +##### Docker and virtual machine considerations + +When using WiFi, there are specific considerations for Docker containers and %%virtual machines|vm%%: + +###### Dockerコンテナ + +- On ***Settings → Docker***, when WiFi is enabled, the system automatically uses **ipvlan** for custom networks (macvlan is not supported with WiFi). +- Host access to custom networks must be disabled in ***Settings → Docker***. +- Container **Network Type** cannot use `br0`, `bond0`, or `eth0`. + +:::caution + +Docker cannot participate in two networks sharing the same subnet. If you switch between wired and wireless connections, you will need to restart Docker and reconfigure all existing containers to use the new interface. This network configuration change requires container reconfiguration. It's strongly recommended to choose either wired or wireless and not switch between them. +::: + +###### Virtual machines + +It's recommended to set your %%VM|vm%% **Network Source** to **virbr0** (Private NAT). This mode works with any number of %%VMs|vm%% and provides network access through %%NAT|nat%%. Note that mDNS does not work through NAT, so the %%VM|vm%% will need to access other local network devices by IP address, not hostname. You can add IP addresses and hostnames to the hosts file on the %%VM|vm%% operating system to allow access by hostname. The %%VMs|vm%% won't be directly accessible from other devices on your LAN, but you can still access them via %%VNC|vnc-session%% through the host. + +For more information about %%VM|vm%% networking, see [Overview and system prep](../../using-unraid-to/create-virtual-machines/overview-and-system-prep.mdx). + +### Power mode + +The **Power Mode** setting allows you to optimize your Unraid server for energy efficiency, balanced operation, or maximum performance. You can choose from available modes - **Best power efficiency**, **Balanced operation**, or **Best performance** - to match your workload and energy preferences. Adjusting Power Mode can help reduce power consumption, lower system temperatures, or provide additional resources for demanding tasks. + +Changes take effect immediately and do not require a system restart. + +
+ ![Power Mode](/img/settings-powermode.png) +
+ +### Global share settings + +%%User shares|user-share%% can greatly simplify the organization and access of content across multiple disks in the %%array|array%%. You have the option to specify which disks are allowed to participate in %%user shares|user-share%% through global inclusion or exclusion settings. + +
+ ![Global Share Settings](/img/settings-globalshare.png) +
+ +### UPS settings + +Unraid can be connected to an APC (or compatible) UPS (Uninterruptible Power Supply) to allow the system to safely shut down during a power loss while still receiving battery power. You can configure the UPS connection and set policies for the shutdown command on this page. + +
+ ![UPS Settings](/img/settings-ups.png) +
+ +### VMマネージャー + +**Virtual machines** can turn your server into a desktop or media player, and run applications not designed for Linux. For details on managing %%VMs|vm%% on Unraid, see [VM setup](../../using-unraid-to/create-virtual-machines/vm-setup.mdx). + +
+ ![VM Manager](/img/settings-vmmanager.png) +
+ +## Network services + +**Network Services** let you configure network communication protocols on your Unraid server, which are essential for user and disk shares. You can also enable an %%FTP|ftp%% server, a logging server, and set up a %%VPN|vpn-tunnel%% for secure remote access. + +### NFS (Network file system) + +NFSv4 support is available in Unraid. You can enable or disable it for %%user shares|user-share%% and adjust the `fuse_remember` tunable to help resolve *NFS Stale File Handle* errors. + +
+ ![NFS](/img/settings-nfs.png) +
+ +### SMB (Server message block) + +The SMB protocol is used by Microsoft Windows clients. From this page, you can enable it, define a workgroup, or join an Active Directory domain. + +
+ ![SMB](/img/settings-smb.png) +
+ +### FTP (File transfer protocol) + +Users can connect via %%FTP|ftp%% only if they are added to the **FTP users** field on this page. If no users are added, the %%FTP|ftp%% service will not start. + +
+ ![FTP](/img/settings-ftp.png) +
+ +### Syslog server + +The %%Syslog server|syslog-server%% permanently stores your system log, which is useful for troubleshooting since Unraid clears the log after each reboot. + +
+ ![Syslog Server](/img/settings-syslog.png) +
+ +### Tailscale + +:::note + +The Tailscale section is only available if you have installed the Tailscale plugin. + +::: + +The %%Tailscale|tailscale%% section allows for secure remote access via the %%Tailscale|tailscale%% %%VPN|vpn-tunnel%%. Here, you can log in to connect your Unraid server to your %%Tailnet|tailnet%%, view the assigned IP address and hostname, and enable or disable %%Tailscale|tailscale%% connectivity. + +You can also configure your server as a %%Subnet Router|subnet-routing%% for local devices or as an Exit Node to route internet traffic. This section enables management of advertised routes, exit node status, Docker container integration options, and connection status monitoring for troubleshooting. + +
+ ![Tailscale Settings](/img/settings-tailscale.png) +
+ +### VPN manager + +You can establish a %%VPN|vpn-tunnel%% connection to your Unraid server using [%%Wireguard|wireguard%%](https://www.wireguard.com/) for secure internet connections. + +
+ ![VPN Manager](/img/settings-vpnmanager.png) +
+ +## User preferences + +User Preferences allow you to configure various aspects of your interactions with Unraid OS, including notifications, display settings, UI customization, and the %%Mover|mover%% schedule. + +### Confirmations + +You can enable/disable the requirement for confirmations when performing various tasks from this location. + +
+ ![Confirmations](/img/settings-confirmations.png) +
+ +### Console settings + +Allows you to customize the local system console. You can select the keyboard layout, adjust the screen blanking timeout, and enable or disable persistent Bash history across reboots. These options enhance your experience when using Unraid with a connected monitor and keyboard. + +
+ ![Console Settings](/img/settings-console.png) +
+ +### Display settings + +Customize the Unraid %%WebGUI|web-gui%% appearance on this page by adjusting the date and time format, number format, and toggling between tabbed and non-tabbed views. You can also select the temperature unit and choose from different themes for the user interface. + +
+ ![Display Settings](/img/settings-display.png) +
+ +### Notification settings + +Unraid can send you notifications about important system events, updates, and alerts through your browser, email, or third-party notification services. The Notification Settings page allows you to control how and when you receive these notifications. + +To access Notification Settings, navigate to ***Settings → User Preferences → Notification Settings***. + +
+ ![Notification Settings](/img/settings-notifications.png) +
+ +#### Display and behavior settings + +Configure how notifications appear in your browser: + +- **Notifications display**: Choose between *Detailed* or *Summarized* notification styles +- **Display position**: Set where notifications appear (*top-right*, *top-left*, *bottom-right*, *bottom-left*, or *center*) +- **Auto-close (seconds)**: How long notifications stay visible before automatically closing +- **Date format**: Choose your preferred date format for notification timestamps +- **Time format**: Choose between *12 hours* or *24 hours* time display +- **Store notifications to boot drive**: Save notification history to your boot device (requires available storage space on the boot device) + +#### Notification types + +Control which events trigger notifications: + +- **System notifications**: General system events and messages +- **Unraid OS update notification**: Alerts when new Unraid OS versions are available +- **Plugins update notification**: Alerts when plugin updates are available +- **Docker update notification**: Alerts when Docker container updates are available +- **Language update notification**: Alerts when language pack updates are available +- **Array status notification**: Alerts about %%array|array%% events and status changes + +For each notification type, you're able to set the frequency to *Never check*, or checking daily, weekly, monthly, or, in some cases, even multiple times a day. + +#### Delivery methods + +Choose how you want to receive notifications for each category (*Notices*, *Warnings*, and *Alerts*): + +- **Browser**: Display notifications in the %%WebGUI|web-gui%% when you're logged in +- **Email**: Send notifications via email (requires [SMTP configuration](#smtp-settings)) +- **Agents**: Send notifications through configured third-party services + +:::tip + +Enable **Browser** notifications for immediate visibility when using the %%WebGUI|web-gui%%, and **Email** for alerts when you're away from your server. Use **Agents** to integrate with mobile apps and services like Discord or Telegram. + +::: + +#### SMTP settings + +To receive email notifications, you need to configure your email server settings. Unraid supports many email providers including Gmail, Outlook, and custom SMTP servers. + +The SMTP settings can be found at ***Settings → User Preferences → Notification Settings → SMTP Settings***. + +**Basic configuration:** + +- **Preset service**: Select a preset configuration (*Gmail*, *Outlook/Hotmail*, or *Custom*) to auto-fill common settings +- **Sending email address**: The email address notifications will be sent from +- **Email recipients**: Comma-separated list of email addresses to receive notifications +- **Priority in header**: Mark emails as high priority (*Yes* or *No*) +- **Email subject prefix**: Text to prepend to all notification email subjects (default: *Unraid Status:*) + +**Server settings:** + +- **Mail server**: SMTP server address (e.g., `smtp.gmail.com`) +- **Mail server port**: SMTP port number (common ports: `465` for SSL/TLS, `587` for STARTTLS, `25` for unencrypted) +- **Use SSL/TLS**: Enable SSL/TLS encryption (*Yes* or *No*) +- **Use STARTTLS**: Use STARTTLS for encryption (*Yes* or *No*) +- **Define a TLS certificate**: Specify a custom TLS certificate if needed (*Yes* or *No*) +- **TLS certificate location**: Path to custom certificate file (only if *Define a TLS certificate* is enabled) + +**Authentication:** + +- **Authentication method**: Choose *None*, *CRAM-MD5*, or *Login* (username/password) +- **Username**: Your email account username (usually your full email address) +- **Password**: Your email account password or app-specific password + +After configuring your settings, use the **TEST** button to verify your email configuration is working correctly. + +##### Configuring Gmail with app passwords + +Gmail requires app-specific passwords when using SMTP with accounts that have 2-step verification enabled (which is recommended for security). + +**To set up Gmail notifications:** + +1. In **Preset service**, select *Gmail* (this will auto-fill the **Mail server** and **Mail server port**) +2. Enter your Gmail address in **Sending email address** +3. Enter recipient email address(es) in **Email recipients** +4. Set **Username** to your full Gmail address (e.g., `yourname@gmail.com`) +5. For **Password**, you'll need to generate an app password: + - Go to your [Google Account settings](https://myaccount.google.com/) + - Navigate to **Security** + - Under "How you sign in to Google," ensure **2-Step Verification** is enabled (required for app passwords) + - In the same section, find and click **App passwords** (or search for "App passwords" in the search bar) + - You may need to verify your identity + - Enter a custom name for the App name, like "Unraid Server". + - Click **Create** + - Google will generate a 16-character password. + - Copy this password and paste it into the **Password** field in Unraid +6. Click **TEST** to verify the configuration +7. Click **DONE** to save your settings + +:::tip[Default Gmail settings] + +- **Mail server**: `smtp.gmail.com` +- **Mail server port**: `465` +- **Use SSL/TLS**: `Yes` +- **Use STARTTLS**: `No` +- **Authentication method**: `Login` + +::: + +:::warning[Security 推奨] + +Always use app passwords instead of your main Gmail password. App passwords can be revoked individually without changing your main account password, providing better security if your Unraid configuration is ever compromised. + +::: + +#### Notification agents + +Notification agents allow you to send alerts to third-party services and mobile apps. Unraid includes built-in support for many popular notification services. + +To access Notification Agents, click the **Notification Agents** link on the Notification Settings page, or navigate to ***Settings → User Preferences → Notification Settings → Notification Agents***. + +**Built-in agents include:** + +- Bark **Bark**: iOS notification app +- Boxcar **Boxcar**: Push notification service +- Discord **Discord**: Send notifications to Discord channels via webhook +- Gotify **Gotify**: Self-hosted notification server +- ntfy.sh **ntfy.sh**: Simple HTTP-based notification service +- Prowl **Prowl**: iOS push notifications +- Pushbits **Pushbits**: Self-hosted notification relay +- Pushbullet **Pushbullet**: Cross-platform notification service +- Pushover **Pushover**: Push notification service for iOS and Android +- Pushplus **Pushplus**: Chinese push notification service +- ServerChan **ServerChan**: Chinese server monitoring and notification service +- Slack **Slack**: Send notifications to Slack channels via webhook +- Telegram **Telegram**: Send messages to Telegram bot + +**Configuring an agent:** + +1. Select the agent you want to configure from the list +2. Change **Agent function** from *Disabled* to *Enabled* +3. Fill in the required fields for that service: + - Most agents require a **webhook URL**, **API token**, or **access token** + - Some services require additional configuration like channel IDs or group codes +4. Configure **Notification title** (usually set to *Subject* to use the notification subject) +5. Configure **Notification message** (usually set to *Description* to use the full notification text) +6. Click **DONE** to save + +Each agent has different requirements - consult the documentation for your chosen service to obtain the necessary API keys, webhook URLs, or tokens. + +:::tip + +You can enable multiple agents simultaneously. For example, you might use Discord for team notifications and Pushover for personal mobile alerts. Note that **all notifications** are sent to **all enabled agents**, so using multiple agents may result in receiving duplicate notifications. + +::: + +### スケジューラー + +The Scheduler settings page allows you to easily configure the frequency for automated tasks including %%parity checks|parity-check%%, the cache %%Mover|mover%%, and %%TRIM/Discard|trim-discard%% operations for SSDs. + +## User utilities + +Third-party plugins are displayed here, enhancing Unraid’s functionality and giving you more control over your server. For example, the [Community Applications plugin](../../using-unraid-to/run-docker-containers/community-applications.mdx) is included. Other plugins offer features for system monitoring, maintenance, storage management, and `appdata` backups. + +--- + +\* *"%%WireGuard|wireguard%%" and the "%%WireGuard|wireguard%%" logo are registered trademarks of Jason A. Donenfeld.* From fe9332b80f2f588ca0be28d36f5eb662ad0d64d5 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:26:39 -0400 Subject: [PATCH 091/437] New translations deploy-and-configure-unraid-os.mdx (Japanese) --- .../deploy-and-configure-unraid-os.mdx | 176 ++++++++++++++++++ 1 file changed, 176 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/getting-started/set-up-unraid/deploy-and-configure-unraid-os.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/getting-started/set-up-unraid/deploy-and-configure-unraid-os.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/getting-started/set-up-unraid/deploy-and-configure-unraid-os.mdx new file mode 100644 index 00000000000..f1377c5daee --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/getting-started/set-up-unraid/deploy-and-configure-unraid-os.mdx @@ -0,0 +1,176 @@ +--- +sidebar_position: 2 +sidebar_label: Unraid OSを展開して設定する +--- + +# Unraid OSを展開して設定する + +Unraid OSを初めて起動した後は、%%WebGUI|web-gui%%を使用してシステム設定を完了します。このインターフェースでは、サーバーの管理、ストレージの設定、ユーザー共有の構成、%%hardware virtualization|hvm%%やDockerコンテナなどの機能の制御を行えます。 + +:::info\[Localize] + +It may be easier for users to follow this guide after configuring their language settings. Check out [Multi-language support](../../using-unraid-to/customize-your-experience/multi-language-support.mdx) to make the %%WebGUI|web-gui%% more accessible in your preferred language. + +::: + +## Connect to the Unraid WebGUI + +You can connect to the %%WebGUI|web-gui%% in two ways: + +- **GUI Mode:** Boot Unraid in GUI mode and sign in using a keyboard and monitor connected to the server. Use `root` as the username with no initial password. +- **Web Browser:** On another device on your local network, visit `http://tower.local`. If you set a different hostname, use that instead of `tower` (i.e., for the hostname `unraidserver`, you'd visit `http://unraidserver.local`). %%mDNS|mdns%% handles the resolution of these `.local` addresses. + +:::important + +The Unraid server is accessible on your LAN as soon as it’s fully booted. You can find the IP address on your router’s DHCP client list or by using a network scanning tool. + +::: + +## Set a root password + +When you access the %%WebGUI|web-gui%% for the first time, you'll be prompted to create a strong password for the %%root user|root-user%%. + +Make sure your password is: + +- Unique +- At least 8 characters long. (Although, best practice recommends 12+ for the most secure passwords!) +- A mix of letters, numbers, and special characters + +We recommend using a password manager for secure storage. + +
+ ![Set root password](/img/Set_root_password.png) +
+ +:::tip + +If you forget your root password, you can reset it following the [Reset your password](../../system-administration/secure-your-server/user-management.mdx#reset-your-password) guide. You can also update your password in the Users page of the %%WebGUI|web-gui%%. + +::: + +## Onboarding + +:::note[Unraid 7.3 and later] + +The onboarding wizard below applies to Unraid 7.3 and later. + +::: + +1. Press **Get Started** to launch the onboarding wizard. If you prefer to configure manually, select **Skip Setup**. + +
+ ![Step 1: Welcome to Unraid](/img/onboarding_step1.png) +
+ + To relaunch the wizard later, go to ***Settings → Onboarding Wizard***. + +2. Configure your server settings, including server name and description, time zone, language, and optional SSH and theme preferences. Then click **Next**. + +
+ ![Step 2: Configure Settings](/img/onboarding_step2.png) +
+ +3. Choose your boot option: + + - For **flash boot**, keep the default USB/flash boot configuration and click **Next**. + +
+ ![Step 3: Flash Boot](/img/onboarding_step3a.png) +
+ + - For **internal boot**, choose single or mirrored boot mode, select the + device(s), and set the space reserved for the boot partition. Then click + **Next**. + + If you have questions about device counts or mirrored boot, see the [Internal Boot FAQ (7.3+)](./internal-boot-faq.mdx), which also includes video walkthroughs. For TPM-based licensing questions, see the [TPM Licensing FAQ (7.3+)](../../troubleshooting/tpm-licensing-faq.mdx). + +
+ ![Step 3: Internal Boot](/img/onboarding_step3b.png) +
+ +4. Optionally choose whether to preinstall key plugins, then click **Next**. + +
+ ![Step 4: Plugins](/img/onboarding_step4.png) +
+ +5. Review the summary, then click **Confirm & Apply**. + +
+ ![Step 5: Summary](/img/onboarding_step5.png) +
+ +6. On the **Next Steps** screen, review the recommended follow-up actions, then click: + + - **Go to Dashboard** if you chose flash boot + - **Reboot** if you chose internal boot + +
+ ![Step 6: Next Steps](/img/onboarding_step6.png) +
+ +For internal boot questions, see the [Internal Boot FAQ (7.3+)](./internal-boot-faq.mdx). + +## Register your license key + +Log in to your Unraid.net account to obtain a license key: + +1. In the %%WebGUI|web-gui%%, go to the **Get Started** section. + +
+ ![Get started](/img/Upc_get_started.png) +
+ +2. Sign in or create an account, after which a trial key will be installed automatically. + +
+ ![Install trial key](/img/Upc_install_trial_key.png) +
+ + This process allows you to manage your Unraid OS license keys, obtain new keys, recover lost ones, or upgrade your license. + +:::important + +For details on your license, visit ***Tools → Registration*** in the %%WebGUI|web-gui%%. + +::: + +## BIOS Recommendations + +Before deploying Unraid OS, it's important to verify your system's BIOS and storage controller settings. Below, you can find a checklist to help ensure compatibility, stability, and access to key features. + +
+ Click to expand our BIOS and Storage Controller checklist + +Proper BIOS and storage controller configuration is vital for a stable Unraid OS deployment. Use this checklist before your first boot. + +### Basic Settings + +✅ Set the USB flash drive as the primary boot device.\ +✅ Configure the storage controller to **%%AHCI|ahci%%** mode with SATA connections.\ +✅ Set the controller to **%%HBA mode|hba-mode%%** (not **%%RAID|raid%%**).\ +✅ Disable **Secure Boot** as it is not supported by Unraid OS. + +### Advanced Settings + +✅ Enable **%%hardware virtualization|hvm%%** features (e.g., **%%Intel VT-x|intel-vt-x%%** or **%%AMD-V|amd-v%%**) for **%%virtual machines (VMs)|vm%%**.\ +✅ Enable **%%IOMMU|iommu%%** support (Intel VT-d or AMD-Vi) for PCI device assignment to VMs. + +### Troubleshooting Tips + +If Unraid OS does not boot, try: + +✅ Adjusting the boot order to: **Forced-FDD**, **USB-HDD**, **USB-ZIP**.\ +✅ Disabling USB 2.0/3.0 support.\ +✅ Toggling any Fast Boot features.\ +✅ Toggling USB keyboard support. + +For further assistance, visit the [Unraid general support forum](https://forums.unraid.net/). + +:::important +Many motherboards limit boot device selection to 12 hard drives. If your USB flash drive is recognized as a hard drive, you may not be able to boot from it after installing 12 physical hard drives. Configure the BIOS to treat the flash drive as a removable device whenever possible. + +If using an add-on HBA, you may be able to disable INT 13h support to prevent its connected drives from appearing in the bootable devices list, helping to stay within the 12-drive limit. +::: + +
From 021419b9c27b6ae89f15b8fab9e978e298739f21 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:26:41 -0400 Subject: [PATCH 092/437] New translations unraid-net.mdx (Japanese) --- .../unraid-os/getting-started/unraid-net.mdx | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/getting-started/unraid-net.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/getting-started/unraid-net.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/getting-started/unraid-net.mdx new file mode 100644 index 00000000000..b8b4e0fd75d --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/getting-started/unraid-net.mdx @@ -0,0 +1,31 @@ +--- +sidebar_position: 2 +sidebar_label: Unraid.net +--- + +# Unraid.net + +Unraid.net アカウントは、フォーラム、[Unraid Connect](../../unraid-connect/overview-and-setup.mdx)、ライセンス管理を含む、Unraid のオンラインサービスへのアクセス窓口です。基本的なサーバー機能には必須ではありませんが、アカウントを持つことで、ライセンス管理の簡素化、プレリリース版へのアクセス、サポートの強化などの利点があります。 + +#### Unraid.net アカウントの利点には、次のものがあります: + +- **%%Single Sign-On (SSO)|sso%%:** Access Unraid's systems with one set of credentials. +- **ライセンス管理:** ライセンスキーとサーバー登録を簡単に管理できます。 +- **プレリリース版へのアクセス:** Unraid のプレリリース版をダウンロードしてテストできます。 +- **サポートの強化:** フォーラムに参加し、アカウントに関する更新を受け取れます。 +- **安全な認証:** 多要素認証 (MFA) オプションを備えた安全なログインを利用できます。 + +### アカウントと保存されるデータ + +Unraid.net は、%%AWS Cognito|aws-cognito-oauth%% を介した安全な認証のために、account.unraid.net で %%SSO|sso%% システムを使用しています。お客様のデータは安全に保存され、暗号化されます。%%AWS Cognito|aws-cognito-oauth%% のユーザープールデータベースには、登録ユーザーについて次の情報が保持されます: + +| データの種類 | 説明 | +| ---------------------------- | ---------------------------------- | +| ユーザー ID | アカウントの一意の識別子 | +| ユーザー名 | お客様が選択した Unraid.net ユーザー名 | +| メールアドレス | 連絡およびアカウント復旧に使用 | +| Unraid フォーラム ID | アカウントをフォーラムでのアクティビティにリンクします | +| プレリリース権限 | Unraid のプレリリース版をダウンロードできるかどうかを示します | +| %%パスワードハッシュ\|hash%% | パスワードの、安全なソルト付き一方向ハッシュ版 | +| MFA の詳細 | 多要素認証の情報 | +| Google/Apple %%SSO\|sso%% 情報 | 第三者によるサインイン属性(使用されている場合) | From 909a2ca6a8c3d1b8c103c5170ad4cf7eddd29cd2 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:26:42 -0400 Subject: [PATCH 093/437] New translations what-is-unraid.mdx (Japanese) --- .../getting-started/what-is-unraid.mdx | 190 ++++++++++++++++++ 1 file changed, 190 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/getting-started/what-is-unraid.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/getting-started/what-is-unraid.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/getting-started/what-is-unraid.mdx new file mode 100644 index 00000000000..784d8ccd231 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/getting-started/what-is-unraid.mdx @@ -0,0 +1,190 @@ +--- +sidebar_position: 1 +sidebar_label: Unraidとは何ですか? +--- + +# Unraidとは何ですか? + +Unraidは、ハードウェアを完全に制御できるように設計された組み込みオペレーティングシステムです。堅牢なネットワーク接続ストレージ(NAS)システム、%%application server|application-server%%、そして%%virtual machines (VMs)|vm%%のホストとして機能します。 + +Unraid installs on a USB flash drive and boots from it, loading into a root RAM file system. It uses a modern Linux kernel with updated hardware drivers, allowing it to run on nearly any 64-bit x86_64 system while maintaining a minimal memory footprint. All configuration data for the operating system is stored on the boot drive and loads simultaneously with the operating system. + +Unraidには、簡単に管理できる[ユーザーフレンドリーなWebインターフェース](./explore-the-user-interface/tour-the-web-gui.mdx)があります。一般的な作業向けの基本操作と、経験豊富なユーザー向けの高度な設定を備えています。多くの人に適した設定を既定値として採用しつつ、カスタマイズも可能です。このシンプルさと柔軟性の組み合わせにより、コンテンツを効果的に保存、保護、共有、楽しむことができます。 + +**Unraidの中核機能は、次の3つの主要分野にあります:** + +
+

ソフトウェア定義NAS

ユーザーがネットワーク上でストレージ容量を効率的に共有できるようにします。
+ + ### アレイとパリティ + + Unraidは、64ビット対応のあらゆるシステムをネットワーク接続ストレージ(NAS)デバイスに変えるための、シンプルで柔軟なソリューションを提供します。IDE、SATA、SASのいずれで接続されたドライブでも扱うことができ、さまざまな容量のドライブに対応しています。つまり、ストレージの需要が増えたときに、新しいドライブを1台ずつ追加でき、構成を拡張しても既存データを再編成する必要はありません。 + + The main job of an Unraid %%array|array%% is to organize and protect the data stored across several drives. It does this by using up to two special drives called %%parity drive|parity-drives%%s. These %%parity drive|parity-drives%%s are important because they help reconstruct your data if one of the other drives fails. In fact, with just one %%parity drive|parity-drives%%, you can protect all the other drives in your %%array|array%%, keeping your data safe. Plus, you can mix different sized drives and easily expand your storage over time, making Unraid a user-friendly option for anyone looking to manage their data effectively. + +
+ パリティの仕組み - クリックして展開/折りたたみ + + Unraidでは、%%parity|parity%%情報がリアルタイムで更新されます。仕組みを理解するために、ハードドライブの内容を長いビット列と考えてみてください。各ビットは0か1のいずれかです。すべてのドライブにわたってn番目のビット値を合計し、その合計が偶数か奇数かを判定することで、対応するn番目の%%parity|parity%%ビットを適切に設定できます。データドライブが故障した場合、この%%parity|parity%%情報により正確なビット値を特定できるため、交換用ドライブ上で精密な再構築が可能になります。 + + たとえば: + +
+ ![パリティなし](/img/No_parity_500px.png) +
+ + In the image above, three drives contain streams of bits that vary by device size. These drives are unprotected, so if one fails, data will be lost. To protect against failure, we need a fourth disk as a %%parity disk|parity-drives%%, which must be equal to or larger than the largest data disk. + + To set the %%parity|parity%% bits, we find the total for each column. If the sum is even, the %%parity|parity%% bit is 0; if odd, the %%parity|parity%% bit is 1. + + 先ほどと同じ画像ですが、フレームごとに%%parity|parity%%を計算したものです: + +
+ ![パリティ](/img/Parity@500px.png) +
+ + 例ではドライブ2が故障し、交換用の新しいドライブを購入したとします: + +
+ ![ドライブ障害](/img/Drive_failure@500px.png) +
+ + 新しいディスク上のデータを再構築するには、%%parity|parity%%ビットを計算するのではなく、失われたビットを求めます。1列目の合計は0なので、失われたビットは0です。6列目の合計は1なので、失われたビットは1です。 + + %%parity|parity%%を使用したディスクの再構築は、データ損失を防ぎ、障害耐性を提供して、ドライブが故障してもシステムへ完全にアクセスできるようにします。 + +
+ + ### ユーザー共有 + + Unraidは、ほとんどの%%RAID|raid%%システムとは異なり、データを1つにまとめるのではなく、個々のドライブに保存します。%%root user|root-user%%として、%%user shares|user-share%%を作成できます。これは、%%array|array%%や%%cache pool|cache-pool%%内の複数のドライブからファイルを集める最上位フォルダーのようなものです。つまり、どの特定のドライブにファイルが保存されているかを気にする必要はなく、Unraidが整理してくれます。 + + これらの共有は、特定のドライブを含めたり除外したり、ストレージ全体でファイルをどのように分散するかを設定してカスタマイズすることもできます。さらに、%%SMB|samba%%や%%NFS|nfs%%などのネットワークオプションを設定し、セキュリティ設定を適用することで、ユーザーの共有アクセスを管理できます。プライベートなデータを安全に保つために、ユーザーアカウントを作成し、信頼できる相手にアクセス制限を設定できます。 + + ```mdx-code-block + +
+
+ User shares distribution example + +
User shares - Distribution
+
+ +
+ User shares distribution example larger + +
User shares - Access
+
+
+ + ``` + + ### キャッシュドライブを理解する + + Unraidの際立った機能の1つが%%cache drive|cache%%で、データ転送の高速化に役立ちます。%%cache drive|cache%%を3台以上のドライブと併用すると、書き込み速度は最大で**3倍**になります。%%cache drive|cache%%を使った%%user shares|user-share%%にファイルを保存すると、データはまず%%cache drive|cache%%に保存されます。これにより高速に書き込みでき、その後%%Mover|mover%%と呼ばれる処理が、通常は夜間にデータをメインのストレージ%%array|array%%へ移動し、%%cache drive|cache%%の空きを確保します。 + + データ保護をさらに強化するために、複数のドライブを使った%%cache pool|cache-pool%%を構成できます。この構成はストレージ容量を増やすだけでなく、%%ZFS|zfs%%や%%BTRFS|btrfs%%などの技術を使って、%%RAID 1|raid1%%に似た追加の保護をデータに提供します。総じて、Unraidによる共有と%%cache drives|cache%%の管理は、柔軟で効率的、かつ安全なストレージソリューションを実現します。 + + [Learn more about configuring shares and cache here.](../using-unraid-to/manage-storage/array/overview.mdx) + +
+ ![Cache Poolでのデータキャプチャの仕組み](/img/Cache-pool.gif) +
+
+ +
+

アプリケーションサーバー

コンテナ化されたアプリケーションの実行を可能にします。
+ + Unraidは、Dockerコンテナ化によってストレージソリューションを多用途な%%application server|application-server%%へと変えます。このアプローチは、システムの安定性と使いやすさを維持しながら、従来のNASの制限を克服します。 + + 従来のNASソリューションには、アプリケーションホスティングに関して次の3つの主要な課題があります: + + 1. **OSの互換性問題** - 異なるオペレーティングシステム向けに設計されたアプリケーションを実行できないこと。 + 2. **Complex lifecycle management** - Difficult installation experiences can leave residual artifacts after removal. + 3. **アプリケーションの競合** - ソフトウェアコンポーネント同士、またはシステム操作と干渉する可能性があります。 + + UnraidのDocker活用は、次の3つの重要な方法でこれらの課題に対処します: + + 1. **OSからの独立性** - 各コンテナは独自のLinux環境で実行されるため、ホストOSとの互換性問題がありません。 + 2. **イメージベースの展開** - 事前設定済みのアプリケーションパッケージにより、ワンクリックでインストールでき、アプリケーションを完全にアンインストールできます。 + 3. **プロセスの分離** - コンテナ化されたアプリケーションは別々のユーザー空間で動作するため、ソフトウェア間の競合を防ぎます。 + + Dockerコンテナを使うと、%%virtual machines|vm%%に伴うオーバーヘッドなしに、隔離された軽量な環境でアプリケーションを実行できます。Unraidは、[Docker Hub](https://hub.docker.com/)と[Community Applications](../using-unraid-to/run-docker-containers/community-applications.mdx)を通じて、事前設定済みの数千ものアプリにアクセスできるようにすることで、Dockerの利用を簡単にします。このコンテナ化アプローチにより、Unraidユーザーは互換性の問題なしに複数のアプリケーションを同時に実行できます。また、自己完結型のアプリケーションパッケージを使用することでシステムを整理しやすくし、Dockerのエコシステムを通じてサーバー機能を簡単に拡張できます。 + + :::note + Dockerの詳細設定については、[Dockerコンテナの実行](../using-unraid-to/run-docker-containers/managing-and-customizing-containers.mdx)を参照してください。 + ::: + +
+ +
+

仮想化プラットフォーム

ベアメタルに近い性能で仮想マシンを実行します。
+ + Unraidは仮想化ホストとして機能し、%%hypervisor|hypervisor%%を使用して仮想ゲストに安全にリソースを割り当てます。これにより、ネットワーク接続ストレージにとどまらず、さまざまなアプリケーションを隔離された環境で実行できます。 + + :::tip + Unraidでハードウェア仮想化を使うには、CPU、チップセット、BIOS、デバイスドライバーが互換性を備えていることを確認してください。必要条件の全一覧は、[VMセットアップガイド](../using-unraid-to/create-virtual-machines/overview-and-system-prep.mdx)にあります。サーバーがこれらの要件を満たしていない場合、Unraidの%%WebGUI|web-gui%%では%%VMs|vm%%メニューが無効になります。 + ::: + +
+ 仮想マシン(VM)の利用による利点 - クリックして展開/折りたたみ + + DockerコンテナはLinuxベースのアプリケーションで人気ですが、%%VMs|vm%%はUnraidサーバー構成の柔軟性と効率を高め、Unraidサーバーで次のような明確な利点をもたらします: + + - **分離:** %%VMs|vm%%は別々の環境で独立して実行されるため、1つが故障しても他に影響しません。 + + - **統合:** 複数の物理サーバーを1台のUnraidマシンに統合し、ハードウェア要件を減らして保守を簡素化できます。 + + - **リソース割り当て:** Unraidでは、各%%VM|vm%%にCPU、メモリ、ストレージ、ネットワークリソースを個別に割り当てることができ、重要なワークロードに必要なリソースを確保できます。 + + - **テストと開発:** %%VMs|vm%%を使うと、複数の物理マシンを用意しなくても、異なる環境でソフトウェアを簡単に作成・テストできます。 + + - **セキュリティ:** %%VMs|vm%%の分離によりセキュリティが強化され、マルウェアが相互に広がりにくくなります。 + + - **レガシーアプリケーションのサポート:** %%VMs|vm%%により、最新のハードウェアでは互換性がない可能性のあるレガシーアプリケーションやオペレーティングシステムを実行できます。 + + - **リソースの分離:** 各%%VM|vm%%に専用リソースを割り当てられるため、%%VMs|vm%%間での性能問題を防げます。 + + - **リソースの過剰割り当て:** 物理リソースで通常は許容される数より多くの%%VMs|vm%%を実行できますが、すべてが同時に割り当てられたリソースを完全に使うわけではないことを理解しておく必要があります。 + +
+ +
+ 仮想化向けの割り当て可能デバイスのサポート - クリックして展開/折りたたみ + + Unraid's %%KVM|kvm%%-based virtualization uses modern tools for flexible hardware assignment while maintaining host stability. + + 主な構成要素は次のとおりです: + + **中核技術** + + - %%QEMU|qemu%%と%%libvirt|libvirt%%: %%VM|vm%%のライフサイクルを管理します。 + - %%VFIO|vfio%%デバイスパススルー: ハードウェアへ直接アクセスできます。 + - %%VirtIO|virtio%%と%%VirtFS|virtfs%%: ストレージとネットワークの性能を最適化します。 + - %%OVMF|ovmf%%: %%UEFI|uefi%%とセキュアブートをサポートします。 + + **割り当て済みリソース** + + - **計算:** %%CPU pinning|cpu-pinning%%による専用CPUコア。 + - **メモリ:** 分離されたRAM。 + - **ストレージ:** %%VirtIO|virtio%%によるSSD最適化された%%virtual disks|vdisk%%。 + - **周辺機器:** %%GPU passthrough|gpu-passthrough%%サポートを含む、PCI/USBデバイスの完全なパススルー。 + + **プラットフォームの柔軟性** + + - %%i440fx|i440fx%%と%%Q35|q35%%のマシンタイプをサポートします。 + - %%Xen HVM|xen-hvm%%および%%Xen PV|xen-pv%%のワークロードに対応しています。 + - %%Intel VT-x|intel-vt-x%%と%%AMD-V|amd-v%%のハードウェア仮想化を有効にします。 + +
+ ![割り当て可能なリソース](/img/KVM@2x.png) +
+
+ + %%VM|vm%%のセットアップ手順については、[仮想マシンの作成](../using-unraid-to/create-virtual-machines/overview-and-system-prep.mdx)を参照してください。 + + :::caution + %%GPU passthrough|gpu-passthrough%%には互換性のあるハードウェアが必要です([VMセットアップ](../using-unraid-to/create-virtual-machines/vm-setup.mdx)を参照)。 + ::: + +
From 4312ca8b0460c65384294ff7c2b95d95b6a15a8b Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:26:45 -0400 Subject: [PATCH 094/437] New translations 6.10.0.md (Japanese) --- .../current/unraid-os/release-notes/6.10.0.md | 898 ++++++++++++++++++ 1 file changed, 898 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.10.0.md diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.10.0.md b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.10.0.md new file mode 100644 index 00000000000..42178594670 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.10.0.md @@ -0,0 +1,898 @@ +## バージョン 6.10.0 2022-05-07 + +変更点と新機能の概要 + +### UPC と My Servers プラグイン + +最も目立つ新機能は、WebGUI ヘッダーの右上隅にあります。これを _User Profile Component_、または UPC と呼びます。UPC により、ユーザーは登録キーをより適切に管理し、オプションの _My Servers_ プラグインをインストールできます。 + +_My Servers_ とは、Unraid サーバーと連携する、クラウドベースのサービスと機能のセットを指します。_My Servers_ プラグインをインストールすると、既存の Unraid.net アカウントでサーバーにサインインするか、新しい Unraid.net アカウントを作成するよう求められます。インストール後の _My Servers_ の機能には次のものがあります: + +- _リアルタイム状態_ - プラグインをインストールすると、_My Servers Dashboard_ の各サーバータイルに、サーバーがオンラインかオフラインか、ストレージ使用率、その他の情報など、リアルタイムの状態が表示されます。 +- Local Access リンク - これは LAN 上のサーバー WebGUI への直接リンクです。 +- Remote Access リンク - **有効な場合**、インターネット経由でリモートからサーバー WebGUI を開くためのリンクが _My Servers Dashboard_ に表示されます。 +- Automatic Flash Backup - 登録済みの各サーバーには、USB フラッシュ起動デバイスの内容で初期投入されたプライベート git リポジトリが提供されます(ただし、パスワードなどの個人情報を含む一部のファイルは除きます)。その後、設定変更は自動的にコミットされます。USB Flash Creator ツールへの入力として使用できる、設定を新しい USB フラッシュデバイスへ移行するためのカスタム zip ファイルをダウンロードするリンクが提供されます。 +- 重要なセキュリティ関連アップデートの通知。重大なセキュリティ脆弱性が発見され修正された場合、登録済みサーバーに関連付けられたすべてのメールアドレスに通知を送信します。 +- 新しい My Servers フォーラム掲示板での投稿権限。 + +サインイン済みのサーバーは、リアルタイム状態を中継する目的で、クラウドベースの Lime Technology プロキシサーバーに websocket 接続を維持します。詳細は My Servers のプライバシーセクションを参照してください。 + +### セキュリティ変更 + +_root_ パスワードの定義が **必須** になりました。また、_root_ ユーザーのパスワードを変更すると、すべての WebGUI ブラウザーセッションがログアウトされます。 + +また、Users ページに _root_ と他のユーザー名を区別するための区分を追加しました。_root_ の UserEdit ページには、SSH の authorized keys を貼り付けるためのテキストボックスがあります。 + +新しい設定では、_flash_ 共有のデフォルトのエクスポート設定は No です。 + +新しい設定では、SMBv1 は既定で無効です。 + +新しい設定では、telnet と ssh は既定で無効です。 + +すべての新しい user share では、デフォルトのエクスポート設定は No です。 + +Diagnostics から、'go' ファイル内に見つかったパスワードなどの特定の文字列を削除しました。 + +#### Let's Encrypt のワイルドカード SSL 証明書への移行 + +このリリース以降、**新しい単一ホスト SSL 証明書の発行は行いません**(これをレガシー証明書と呼びます)。代わりに、新しい Unraid.net SSL 証明書はすべて **ワイルドカード証明書** になります(引き続き Let's Encrypt により提供されます)。 + +ワイルドカード証明書を使用してサーバーにアクセスするための URL は、次の形式になります: + +- `https://[lan-ip].[hash].myunraid.net` + +ここで、 + +- `[lan-ip]` は、ドットをダッシュに置き換えたサーバーの LAN IP アドレスです +- `[hash]` は、このサーバー固有の 40 文字の 16 進文字列(160 ビット)です(レガシー証明書の類似する `[hash]` とは異なります) + +例: + +- `https://192-168-100-1.af01305221921f93aabae93f13800dcea41dc681e.myunraid.net` + +"myunraid.net" で待ち受ける新しい DDNS サーバーを追加しました。このサーバーはドメイン名から `[lan-ip]` を抽出し、ダッシュをドットに戻した IP アドレスを返します。この方法には、ユーザーと私たちの双方にいくつかの利点があります: + +- 証明書を最初に _provision_ するとき、またはサーバーの LAN IP アドレス(あるいは WAN IP アドレス)が変更されたときの DNS 伝播遅延を排除します。ドメイン名には IP アドレスが含まれるため、IP アドレスが変更されるとドメイン名も変更され、途中の DNS キャッシュに残りません。また、TTL を 1 時間から 7 日に変更し、オーバーヘッドをさらに削減するとともに、誰かのインターネット接続が短時間ダウンした場合の問題を軽減します。 +- サーバーが DDNS サーバーを能動的に更新する必要はなくなりました。 +- リモートアクセスの WAN IP アドレスが、ローカルアクセス URL の先頭に "www" を付けるだけでは判別できないため、プライバシーが向上します。 +- DNS の機能を 'unraid.net' ドメインから切り離し、'myunraid.net' ドメインに分離しました。 + +以前のリリースでは、Unraid.net SSL 証明書を _provision_(割り当ててダウンロード)するコードは、まずユーザーの LAN で _DNS Rebinding Protection_ が有効かどうかを確認し、有効であれば証明書を provision しませんでした。LE 証明書にはほかの用途もあるため、_provision_ は常に実行されるようコードを変更しました。次に、Management Access ページの "Use SSL/TLS" 設定における _Auto_ 選択のロジックを変更しました。現在は、LE 証明書が provision され、かつ DNS Rebinding Protection が有効でない場合にのみ Auto を選択できます。これは微妙な変更ですが、Remote Access などの特定の _My Servers_ 機能を利用できるようにします。 + +アップグレード後は、新しい URL でサーバーブックマークを変更する必要があります。あるいは、_My Servers_ プラグインをインストールしていれば、Dashboard の各サーバーに local access link が含まれます。My Servers プラグインをインストールしていない場合は、DDNS 更新デーモンがないため、静的 DHCP リースを設定するか、サーバーに静的 IP アドレスを割り当てることを推奨します。最後に、nginx を次の URL について次のように設定しました: + +- `http://./` + +または + +- `https://./` + +は `https://[lan-ip].[hash].myunraid.net` にリダイレクトされます + +使用例を含む詳細は、ドキュメントの[こちら](../system-administration/secure-your-server/securing-your-connection.mdx)をご覧ください。 + +### 仮想化 + +libvirt と qemu の両方が更新されました。さらに、qemu は OpenGL サポートと ARM エミュレーション(実験的)付きでコンパイルされています。 + +#### Windows 11 サポート + +TPM と Secure boot を必要とする Windows 11 をサポートするため、TPM エミュレーションを追加し、自動的に TPM 対応 OVMF BIOS を選択する "Windows 11" VM テンプレートを追加しました。また、Windows 10 VM を Windows 11 にアップグレードするための手順も用意しています。この機能を提供するために必要な変更とコンポーネントを調査して特定してくれた [@ich777](https://forums.unraid.net/profile/72388-ich777/) に特別な感謝を。 + +### Docker + +#### Docker ラベル + +- Docker compose を使う人がアイコンと GUI アクセスを利用できるように、Docker ラベルを追加しました +- どのラベルが使用されているかを正確に確認するには、Docker の 'run' コマンドの出力を見てください + +#### Docker カスタムネットワーク + +- カスタムネットワーク用の新しい設定が利用可能です。もともとカスタムネットワークは macvlan モードで作成され、このモードは version 6.10 へのアップグレード時にも保持されます +- macvlan モード使用時に一部の人が経験するクラッシュに対処するため、新しい ipvlan モードを導入しました。該当する場合は ipvlan モードに変更してテストしてください。モードの変更にあたり、Docker レベルで再設定する必要はなく、内部ではすべて処理されます。 + +#### Docker ブリッジネットワーク (docker0) + +- docker0 は IPv6 をサポートするようになりました。これは、IPv4 で行っているのと同様に docker0 にプライベート IPv6 サブネット (fd17::/64) を割り当て、ネットワーク変換を使って外部と通信することで実現されています +- ブリッジネットワークに接続されたコンテナは、IPv4 と IPv6 の両方で接続できるようになりました(もちろん、システムのネットワーク設定で IPv6 が構成されている必要があります) +- さらに、IPv6 の使用(または未使用)により適切に対応するため、IPv6 実装にいくつかの強化を加えました + +### WireGuard + +WireGuard プラグインは WebGUI に統合され、つまりプラグインは不要になりました。以前プラグインをインストールしていた場合は、アンインストールされて "Plugins/Plugin File Install Errors" ページへ移動されます。削除ボタンを押してそのページから取り除きたい場合を除き、操作は不要です。WireGuard のトンネルと設定は保持されます。[WireGuard を始めるにはこちらの投稿を参照してください](https://forums.unraid.net/topic/84226-wireguard-quickstart/)。 + +熟練のネットワーク専門家 [@bonienl](https://forums.unraid.net/profile/2736-bonienl/) が、WireGuard 仮想ネットワークインターフェースを docker コンテナにバインドする機能を追加しました。この機能の用途の一つは、WireGuard 対応 VPN を構成し、それをそのコンテナ専用に使用しつつ、メインのサーバーは通常の LAN ネットワークインターフェースを使用することです。[詳細はこの投稿を参照してください。](https://forums.unraid.net/topic/84316-wireguard-vpn-tunneled-access-to-a-commercial-vpn-provider/#comment-781381) + +### Linux カーネル + +Linux 5.15.x LTS カーネルへアップグレードされ、いわゆる _Sequoia_ と _Dirty Pipe_ の脆弱性緩和策が含まれています。 + +対応するハードウェアが検出された場合、**カーネル内蔵の GPU ドライバー** が既定で読み込まれるようになりました: + +- amdgpu +- ast +- i915 +- radeon + +これらのドライバーは、主に _GUI boot_ モードで使用されるマザーボードのオンボードグラフィックスに必要です。適切なファイルをドライバー名で作成することで、ドライバーの読み込みを禁止できます: + +`echo "blacklist i915" > /boot/config/modprobe.d/i915.conf` + +あるいは、System Devices ページを使ってデバイスを Linux から完全に分離できます。なお、Unraid OS 6.9 リリースではカーネル内蔵 GPU ドライバーは既定でブラックリスト化されており、ドライバーの読み込みを有効にするには空の "conf" ファイルを作成する必要があります。Unraid OS 6.10 にアップグレード後は、それらのファイルを削除しても、そのまま残しておいても構いません。この変更は、新規ユーザーの _Desktop GUI_ 体験を大幅に改善するために行われました。 + +**その他のカーネル変更:** + +- Intel GVT-g のサポートを追加しました。これにより、[@ich777](https://forums.unraid.net/profile/72388-ich777/) の _Intel-GVT-g_ プラグインを使用して、Intel i915 iGPU を複数の仮想 GPU に分割し、複数の VM にパススルーできます。 +- gnif/vendor-reset のサポートを追加しました。これにより、[@ich777](https://forums.unraid.net/profile/72388-ich777/) の _AMD Vendor Reset_ プラグインが簡素化され、AMD ビデオカードを正しくリセットできるようになります。 +- 当カーネル向けに修正した、いわゆる "add-relaxable-rmrr-5\_8\_and\_up.patch" を追加しました: + [https://github.com/kiler129/relax-intel-rmrr/blob/master/patches/add-relaxable-rmrr-5\_8\_and\_up.patch](https://github.com/kiler129/relax-intel-rmrr/blob/master/patches/add-relaxable-rmrr-5_8_and_up.patch) + これを指摘してくれた [@ich777](https://forums.unraid.net/profile/72388-ich777/) に感謝します。 +- 追加の ACPI カーネルオプションを有効にしました +- TPM カーネルモジュールを有効にしました(まだ使用していません)- これは仮想マシン向けのエミュレート TPM サポートではなく、物理 TPM を利用する Unraid ホスト向けです。 +- Realtek RTL8152/RTL8153 ベースの USB イーサネットアダプターをサポート +- NFSv4 サポートを有効にしました。 + +### 基本パッケージ + +基本パッケージセットのほぼすべてが更新されました。 + +SMB について: Samba バージョン 4.15 の SMB3 マルチチャネルは、もはや "experimental" と表示されませんが、既定では **無効** です。Settings/SMB Settings ページで有効にできます。一部のユーザーから、特定のネットワーク bond 構成と組み合わせた SMB3 マルチチャネルで問題が報告されています。 + +要望により mcelog パッケージを追加しました。このパッケージの追加により、AMD プロセッサを搭載している場合、システムログに次のエラーメッセージが表示されることがあります: + +`mcelog: ERROR: AMD Processor family 23: mcelog does not support this processor. Please use the edac_mce_amd module instead.` + +これをどう扱うべきかはまだ不明です。mcelog は rasdaemon に置き換えられて非推奨になっているようです。これはさらに調査する必要があります。 + +### その他の改善 + +リリースノートからは見つけにくい、やや分かりにくい改善もあります。これらの改善の一部は内部的なもので、実際には見えません: + +サーバー情報を取得し、WebGUI をリアルタイムで更新する**イベント駆動モデル** + +- このモデルの利点は拡張性です。複数のブラウザーを同時に WebGUI で開いても、影響はほとんどありません +- さらに、古いブラウザーセッションが CSRF エラーを発生させることはもうありません +- ブラウザーを 24 時間 365 日開いたままにする人は、WebGUI が常に応答性を保つことに気づくでしょう +- 特定のサーバーに対して開かれたすべてのブラウザーインスタンス間で、一貫した状態情報が維持されます + +**Plugins ページ** + +- Plugins ページは、情報を 2 段階で読み込むようになりました。まずプラグインの一覧を作成し、その後、より時間のかかるプラグインの状態フィールドをバックグラウンドで取得します。その結果、特に多くのプラグインをインストールしている場合に、Plugins ページの読み込みが速くなります + +**ダッシュボードのグラフ** + +- ダッシュボードでは 2 つのグラフが利用できるようになりました。CPU グラフは既定で表示され、NETWORK グラフは Interface の新しいオプションです('General Info' の選択を参照) +- 不要な場合は CPU グラフを非表示にすることもできます +- 両方のグラフには設定可能なタイムラインがあり、既定は 30 秒です。各グラフごとに個別に変更して、より長い、または短い履歴を表示できます。 +- グラフはリアルタイムで更新され、さまざまな状況下でのサーバーの挙動を観察するのに役立ちます + +**スケジューラーの改善** + +- パリティチェックをより小さな単位に分割し、複数日または複数週間にわたって実行できるようになりました。たとえば、チェックを 01:00am から 06:00am までの時間帯で数日連続して実行し、完了するまで続けることができます。これにより、長時間のパリティチェックが映画鑑賞などの通常の毎日の活動を妨げることはありません。 +- pool の 'balance' と 'scrub' 操作をスケジュールし、完全な balance が推奨されるかどうかを計算できるようになりました。 + +_GUI-mode_ ブートで利用できる **Firefox の内蔵ブラウザー** は AppImage としてビルドされ、_bzfirmware_ 圧縮ファイルシステムイメージ内に配置されています。これにより、約 60MB の RAM を節約できます。 + +**Community Apps プラグインのインストールを簡略化。** WebGUI には自動的に Apps メニュー項目が含まれ、CA がまだインストールされていない場合は、ページに Install ボタンが表示されます。プラグインリンクを探す必要はありません。 + +**Terminal のフォントサイズを大きくし**、macOS _Monterey_ の問題を修正しました。Terminal のフォントサイズは Settings/Display Settings ページから設定できます。 + +**Mover** は '.partial' ファイルを作成し、完了時に名前を変更します。 + +**システム起動時** にブート時の bz ファイルの sha256sum を確認し、破損がないことを検証します。 + +**WebGUI により管理される cookie について**、sameSite cookie 属性を 'strict' から 'lax' に変更しました。この変更は、Safari で Terminal ウィンドウが開かない問題を解決するために行われました。 + +**ServerChan と Pushplus** の通知エージェントを追加しました。[@ludoux](https://forums.unraid.net/profile/168579-ludoux/) に感謝します + +**Template Repositories** は削除されました。代替については[こちらの投稿を参照](https://forums.unraid.net/topic/112170-allow-template-repositories-to-be-hosted-from-other-sources/page/2/#comment-1126265)してください + +### その他のバグ修正 + +- wsd デーモンが CPU コアの 100% を消費し始める場合をなくすため、より保守されている wsdd2 と呼ばれる WSD サーバーコンポーネントのバージョンに切り替えました。 +- スペースを含む共有名に docker イメージを作成できない問題を修正しました。 +- 'mover' がスペースを含む pool 名に移動できない問題を修正しました。 +- 権限が反映されない [User Share](../using-unraid-to/manage-storage/shares.mdx#user-shares) のファイルシステム上の問題を修正しました。 +- ジャイアントフレームが動作しない問題を修正しました。 +- sysctl: net.netfilter.nf\_conntrack\_count の最大値超過を処理(設定を 131072 に増やす) - Community Member [@DieFalse](https://forums.unraid.net/profile/77686-diefalse/) に感謝 +- [@thohell](https://forums.unraid.net/profile/12113-thohell/) によって見つかった、他の I/O がアクティブなときに md\_sync\_limit が stripe\_head キャッシュ使用量の制限に反映されないバグを修正しました。この修正の影響で、他の I/O(動画のストリーミングなど)が発生している場合、パリティ操作は大幅に遅くなります。パリティ sync 操作のスロットリングは、'Settings/Disk Settings/Tunable (md\_sync\_limit)' の値を変更して調整できます。 +- btrfs pool デバイス置換の境界条件を修正しました。重要: btrfs の複数デバイス pool からデバイスの割り当てを解除し、そのデバイスがまだ物理的に存在する場合、array Start 時に、存在すればそのデバイス上の LUKS ヘッダーを **消去** し、パーティション構造を **削除** して、事実上そのデバイスに含まれるすべてのデータを消去します。これは、btrfs にそのデバイスをもう使用しないよう認識させ、別の pool に割り当てられるよう解放するために必要です。 +- 複数デバイスの btrfs pool でデバイスを置換した際、古いデバイスが依然として missing として表示される不具合を修正しました。 +- スピンダウンした SAS ドライブを搭載したサーバーでデバイスをホットプラグすると、SAS ドライブが未割り当てとして表示されることがある問題を修正しました。 +- docker および/または VM の起動後にサーバーが Windows Network から消える問題を修正しました。 +- md/unraid ドライバーの回帰により XFS が混乱し、オンライン縮小が発生したと誤認する問題を修正しました。 +- 修正: VM が一時停止またはサスペンド状態のときに array を停止しても Unraid がハングしないようにしました。 +- その他、多数の小さなバグ修正と改善。 + +## Unraid OS 6.9.2 との変更点 + +#### ベースディストリビューション + +- aaa\_base: バージョン 15.0 +- aaa\_glibc-solibs: バージョン 2.33 +- aaa\_libraries: バージョン 15.0 +- acl: バージョン 2.3.1 +- acpid: バージョン 2.0.33 +- apcupsd: バージョン 3.14.14 +- at: バージョン 3.2.3 +- attr: バージョン 2.5.1 +- avahi: バージョン 0.8 +- bash: バージョン 5.1.016 +- beep: バージョン 1.3 +- bin: バージョン 11.1 +- bind: バージョン 9.16.27 +- bluez-firmware: バージョン 1.2 +- bridge-utils: バージョン 1.7.1 +- brotli: バージョン 1.0.9 +- btrfs-progs: バージョン 5.16 +- bzip2: バージョン 1.0.8 +- ca-certificates: バージョン 20220403 +- celt051: バージョン 0.5.1.3 +- cifs-utils: バージョン 6.14 +- coreutils: バージョン 9.0 +- cpio: バージョン 2.13 +- cpufrequtils: バージョン 008 +- cracklib: バージョン 2.9.7 +- cryptsetup: バージョン 2.4.3 +- curl: バージョン 7.83.1 (CVE-2022-22576 CVE-2022-27774 CVE-2022-27775 + CVE-2022-27776 CVE-2022-27778 CVE-2022-27779 CVE-2022-27780 + CVE-2022-27781 CVE-2022-27782 CVE-2022-30115) +- cyrus-sasl: バージョン 2.1.27 +- db48: バージョン 4.8.30 +- dbus: バージョン 1.12.20 +- dcron: バージョン 4.5 +- devs: バージョン 2.3.1 +- dhcpcd: バージョン 9.4.1 +- diffutils: バージョン 3.8 +- dmidecode: バージョン 3.3 +- dnsmasq: バージョン 2.86 +- docker: バージョン 20.10.14 (CVE-2022-24769) +- dosfstools: バージョン 4.2 +- e2fsprogs: バージョン 1.46.5 +- ebtables: バージョン 2.0.11 +- eject: バージョン 2.1.5 +- elogind: バージョン 246.10 +- elvis: バージョン 2.2\_0 +- etc: バージョン 15.0 +- ethtool: バージョン 5.16 +- eudev: バージョン 3.2.11 +- file: バージョン 5.41 +- findutils: バージョン 4.8.0 +- flex: バージョン 2.6.4 +- floppy: バージョン 5.5 +- fuse3: バージョン 3.10.5 +- gawk: バージョン 5.1.1 +- gdbm: バージョン 1.22 +- genpower: バージョン 1.0.5 +- getty-ps: バージョン 2.1.0b +- git: バージョン 2.35.3 (CVE-2022-24765) +- glib2: バージョン 2.70.3 +- glibc: バージョン 2.33 +- glibc-zoneinfo: バージョン 2022a +- gmp: バージョン 6.2.1 +- gnutls: バージョン 3.7.2 +- gptfdisk: バージョン 1.0.8 +- grep: バージョン 3.7 +- gzip: バージョン 1.12 (CVE-2022-1271) +- hdparm: バージョン 9.63 +- hostname: バージョン 3.23 +- htop: バージョン 3.1.2 +- icu4c: バージョン 69.1 +- inetd: バージョン 1.79s +- infozip: バージョン 6.0 +- inih: バージョン 53 +- inotify-tools: バージョン 3.20.11.0 +- iproute2: バージョン 5.16.0 +- iptables: バージョン 1.8.7 +- iputils: バージョン 20211215 +- irqbalance: バージョン 1.7.0 +- jansson: バージョン 2.14 +- jemalloc: バージョン 5.2.1 +- jq: バージョン 1.6 +- json-c: バージョン 0.15\_20200726 +- json-glib: バージョン 1.6.6 +- kbd: バージョン 1.15.3 +- keyutils: バージョン 1.6.3 +- kmod: バージョン 29 +- krb5: バージョン 1.19.2 +- lbzip2: バージョン 2.5 +- less: バージョン 590 +- libaio: バージョン 0.3.112 +- libarchive: バージョン 3.6.1 +- libcap-ng: バージョン 0.8.2 +- libcgroup: バージョン 0.41 +- libdaemon: バージョン 0.14 +- libdrm: バージョン 2.4.109 +- libedit: バージョン 20210910\_3.1 +- libepoxy: バージョン 1.5.9 +- libestr: バージョン 0.1.9 +- libevent: バージョン 2.1.12 +- libfastjson: バージョン 0.99.9 +- libffi: バージョン 3.3 +- libgcrypt: バージョン 1.9.4 +- libgpg-error: バージョン 1.44 +- libgudev: バージョン 237 +- libidn: バージョン 1.38 +- libjpeg-turbo: バージョン 2.1.2 +- liblogging: バージョン 1.0.6 +- libmnl: バージョン 1.0.4 +- libnetfilter\_conntrack: バージョン 1.0.8 +- libnfnetlink: バージョン 1.0.1 +- libnftnl: バージョン 1.2.1 +- libnl3: バージョン 3.5.0 +- libpcap: バージョン 1.10.1 +- libpciaccess: バージョン 0.16 +- libpng: バージョン 1.6.37 +- libpsl: バージョン 0.21.1 +- libseccomp: バージョン 2.5.1 +- libssh: バージョン 0.9.6 +- libssh2: バージョン 1.10.0 +- libtasn1: バージョン 4.18.0 +- libtirpc: バージョン 1.3.2 +- libtpms: バージョン 0.9.0 +- libunistring: バージョン 0.9.10 +- libunwind: バージョン 1.6.2 +- libusb: バージョン 1.0.24 +- libusb-compat: バージョン 0.1.7 +- libuv: バージョン 1.41.0 +- libvirt: バージョン 8.2.0 +- libvirt-php: バージョン 0.5.6a +- libwebp: バージョン 1.2.2 +- libwebsockets: バージョン 4.2.0 +- libx86: バージョン 1.1 +- libxml2: バージョン 2.9.14 (CVE-2022-29824) +- libxslt: バージョン 1.1.35 +- libzip: バージョン 1.8.0 +- lm\_sensors: バージョン 3.6.0 +- lmdb: バージョン 0.9.29 +- logrotate: バージョン 3.18.1 +- lshw: バージョン B.02.19.2 +- lsof: バージョン 4.94.0 +- lsscsi: バージョン 0.32 +- lvm2: バージョン 2.03.13 +- lz4: バージョン 1.9.3 +- lzip: バージョン 1.22 +- lzo: バージョン 2.10 +- mc: バージョン 4.8.27 +- mcelog: バージョン 180 +- miniupnpc: バージョン 2.1 +- mpfr: バージョン 4.1.0 +- nano: バージョン 6.0 +- ncompress: バージョン 5.0 +- ncurses: バージョン 6.3 +- net-tools: バージョン 20181103\_0eebece +- nettle: バージョン 3.7.3 +- network-scripts: バージョン 15.0 +- nfs-utils: バージョン 2.5.4 +- nghttp2: バージョン 1.46.0 +- nginx: バージョン 1.21.6 +- nss-mdns: バージョン 0.14.1 +- ntfs-3g: バージョン 2021.8.22 +- ntp: バージョン 4.2.8p15 +- numactl: バージョン 2.0.13 +- oniguruma: バージョン 6.9.7.1 +- openssh: バージョン 8.8p1 +- openssl: バージョン 1.1.1o (CVE-2022-1292) +- openssl-solibs: バージョン 1.1.1o (CVE-2022-1292) +- p11-kit: バージョン 0.24.1 +- pam: バージョン 1.5.2 +- patch: バージョン 2.7.6 +- pciutils: バージョン 3.7.0 +- pcre: バージョン 8.45 +- pcre2: バージョン 10.39 +- php: バージョン 7.4.29 (CVE-2021-21708) +- pixman: バージョン 0.40.0 +- pkgtools: バージョン 15.0 +- procps-ng: バージョン 3.3.17 +- pv: バージョン 1.6.6 +- qemu: バージョン 6.2.0 +- qrencode: バージョン 4.1.1 +- reiserfsprogs: バージョン 3.6.27 +- rpcbind: バージョン 1.2.5 +- rsync: バージョン 3.2.3 +- rsyslog: バージョン 8.2102.0 +- samba: バージョン 4.15.7 (CVE-2021-44141 CVE-2021-44142 CVE-2022-0336 + CVE-2021-44141 CVE-2021-441412 CVE-2022-0336) +- sdparm: バージョン 1.12 +- sed: バージョン 4.8 +- sg3\_utils: バージョン 1.47 +- shadow: バージョン 4.8.1 +- smartmontools: バージョン 7.3 +- spice: バージョン 0.15.0 +- sqlite: バージョン 3.37.2 +- ssmtp: バージョン 2.64 +- sudo: バージョン 1.9.9 +- swtpm: バージョン 0.7.3 (CVE-2022-23645) +- sysfsutils: バージョン 2.1.0 +- sysvinit: バージョン 2.99 +- sysvinit-scripts: バージョン 15.0 +- talloc: バージョン 2.3.2 +- tar: バージョン 1.34 +- tcp\_wrappers: バージョン 7.6 +- tdb: バージョン 1.4.6 +- telnet: バージョン 0.17 +- tevent: バージョン 0.11.0 +- traceroute: バージョン 2.1.0 +- tree: バージョン 1.8.0 +- ttyd: バージョン 20211023 +- usbredir: バージョン 0.8.0 +- usbutils: バージョン 014 +- utempter: バージョン 1.2.0 +- util-linux: バージョン 2.37.4 +- vbetool: バージョン 1.2.2 +- vsftpd: バージョン 3.0.5 +- wayland: バージョン 1.20.0 +- wget: バージョン 1.21.2 +- which: バージョン 2.21 +- wireguard-tools: バージョン 1.0.20210914 +- wsdd2: バージョン 20111022 +- xfsprogs: バージョン 5.13.0 +- xxHash: バージョン 0.8.1 +- xz: バージョン 5.2.5 (CVE-2022-1271) +- yajl: バージョン 2.1.0 +- zlib: バージョン 1.2.12 +- zstd: バージョン 1.5.2 + +#### GUI-mode に含まれるもの + +- adwaita-icon-theme: バージョン 40.1.1 +- at-spi2-atk: バージョン 2.38.0 +- at-spi2-core: バージョン 2.42.0 +- atk: バージョン 2.36.0 +- cairo: バージョン 1.16.0 +- dbus-glib: バージョン 0.112 +- freetype: バージョン 2.11.1 +- fribidi: バージョン 1.0.11 +- gd: バージョン 2.3.3 +- gdk-pixbuf2: バージョン 2.42.6 +- graphite2: バージョン 1.3.14 +- gtk+3: バージョン 3.24.31 +- harfbuzz: バージョン 3.2.0 +- hicolor-icon-theme: バージョン 0.17 +- libtiff: バージョン 4.3.0 +- libxkbcommon: バージョン 1.3.1 +- pango: バージョン 1.48.11 +- shared-mime-info: バージョン 2.1 +- startup-notification: バージョン 0.12 +- appres: バージョン 1.0.5 +- dejavu-fonts-ttf: バージョン 2.37 +- editres: バージョン 1.0.7 +- encodings: バージョン 1.0.5 +- fontconfig: バージョン 2.13.92 +- freeglut: バージョン 3.2.1 +- glew: バージョン 2.2.0 +- glu: バージョン 9.0.2 +- libICE: バージョン 1.0.10 +- libSM: バージョン 1.2.3 +- libX11: バージョン 1.7.3.1 +- libXau: バージョン 1.0.9 +- libXaw: バージョン 1.0.14 +- libXcomposite: バージョン 0.4.5 +- libXcursor: バージョン 1.2.0 +- libXdamage: バージョン 1.1.5 +- libXdmcp: バージョン 1.1.3 +- libXevie: バージョン 1.0.3 +- libXext: バージョン 1.3.4 +- libXfixes: バージョン 6.0.0 +- libXfont: バージョン 1.5.2 +- libXfont2: バージョン 2.0.5 +- libXfontcache: バージョン 1.0.5 +- libXft: バージョン 2.3.4 +- libXi: バージョン 1.8 +- libXinerama: バージョン 1.1.4 +- libXmu: バージョン 1.1.3 +- libXpm: バージョン 3.5.13 +- libXrandr: バージョン 1.5.2 +- libXrender: バージョン 0.9.10 +- libXres: バージョン 1.2.1 +- libXt: バージョン 1.2.1 +- libXtst: バージョン 1.2.3 +- libXxf86dga: バージョン 1.1.5 +- libXxf86misc: バージョン 1.0.4 +- libXxf86vm: バージョン 1.1.4 +- libdmx: バージョン 1.1.4 +- libevdev: バージョン 1.12.0 +- libfontenc: バージョン 1.1.4 +- libglvnd: バージョン 1.3.3 +- libpthread-stubs: バージョン 0.4 +- libxcb: バージョン 1.14 +- libxkbfile: バージョン 1.1.0 +- libxshmfence: バージョン 1.3 +- listres: バージョン 1.0.4 +- mkfontscale: バージョン 1.2.1 +- mtdev: バージョン 1.1.6 +- sessreg: バージョン 1.1.2 +- setxkbmap: バージョン 1.3.2 +- transset: バージョン 1.0.2 +- xauth: バージョン 1.1.1 +- xcb-util: バージョン 0.4.0 +- xdpyinfo: バージョン 1.3.2 +- xdriinfo: バージョン 1.0.6 +- xev: バージョン 1.2.4 +- xf86-input-evdev: バージョン 2.10.6 +- xf86-input-keyboard: バージョン 1.9.0 +- xf86-input-mouse: バージョン 1.9.3 +- xf86-input-synaptics: バージョン 1.9.1 +- xf86-video-ast: バージョン 1.1.5 +- xf86-video-mga: バージョン 2.0.0 +- xf86-video-vesa: バージョン 2.5.0 +- xhost: バージョン 1.0.8 +- xinit: バージョン 1.4.1 +- xkbcomp: バージョン 1.4.5 +- xkbevd: バージョン 1.1.4 +- xkbutils: バージョン 1.0.4 +- xkeyboard-config: バージョン 2.34 +- xkill: バージョン 1.0.5 +- xload: バージョン 1.1.3 +- xlsatoms: バージョン 1.1.3 +- xlsclients: バージョン 1.1.4 +- xmessage: バージョン 1.0.5 +- xmodmap: バージョン 1.0.10 +- xorg-server: バージョン 1.20.14 +- xprop: バージョン 1.2.5 +- xrandr: バージョン 1.5.1 +- xrdb: バージョン 1.2.1 +- xrefresh: バージョン 1.0.6 +- xset: バージョン 1.2.4 +- xsetroot: バージョン 1.1.2 +- xsm: バージョン 1.0.4 +- xtrans: バージョン 1.4.0 +- xwd: バージョン 1.0.8 +- xwininfo: バージョン 1.1.5 +- xwud: バージョン 1.0.5 +- imlib2: バージョン 1.7.1 +- fluxbox: バージョン 1.3.7 +- slim: バージョン 1.3.6 +- vte3: バージョン 0.50.2 +- sakura: バージョン 3.5.0 +- xclock: バージョン 1.0.9 +- xterm: バージョン 370 +- hwloc: バージョン 2.2.0 + +#### Linux カーネル + +- バージョン: 5.15.40-Unraid (CVE-2021-33909 CVE-2021-33910 + CVE-2022-0847) +- patch: "drm/i915/gen11: WAs を icl\_gt\_workarounds\_init() に移動" +- patch: このカーネル向けに修正した "add-relaxable-rmrr-5\_8\_and\_up.patch" +- 追加された機能: + - いくつかの ACPI 関連 CONFIG 設定 + - CONFIG\_TCG\_TPM と関連する TPM チップドライバー + - CONFIG\_NFS\_V4: NFS バージョン 4 の NFS クライアントサポート + - CONFIG\_NFSD\_V4: NFS バージョン 4 の NFS サーバーサポート + - CONFIG\_USB\_RTL8152: Realtek RTL8152/RTL8153 ベースの USB イーサネットアダプター + - CONFIG\_USB\_NET\_AQC111: Aquantia AQtion USB から 5/2.5GbE へのコントローラーのサポート + - CONFIG\_USB4: USB4 と Thunderbolt の統合サポート + - CONFIG\_USB4\_NET: USB4 および Thunderbolt ケーブル経由のネットワーキング + - CONFIG\_DRM\_I915\_GVT: Intel GVT-g グラフィックス仮想化ホストサポートを有効化 + - CONFIG\_DRM\_I915\_GVT\_KVMGT: Intel GVT-g の KVM/VFIO サポートを有効化 + - CONFIG\_VFIO\_MDEV: 中間デバイスドライバーフレームワーク + - CONFIG\_VFIO\_MDEV\_DEVICE: 中間デバイス向け VFIO ドライバー + - CONFIG\_FTRACE: トレーサー + - CONFIG\_FUNCTION\_TRACER: カーネル関数トレーサー + - CONFIG\_KPROBES: Kprobes + - CONFIG\_DEBUG\_KERNEL: カーネルデバッグ + - CONFIG\_KALLSYMS\_ALL: kallsyms にすべてのシンボルを含める + - CONFIG\_ISCSI\_TCP: TCP/IP 経由の iSCSI イニシエーター(Community Member [@ich777](https://forums.unraid.net/profile/72388-ich777/) による) + - CONFIG\_GIGABYTE\_WMI: Gigabyte WMI 温度ドライバー +- BPF カーネルオプション(ユーザー要望): + - CONFIG\_BPF\_SYSCALL: bpf() システムコールを有効化 + - CONFIG\_BPF\_JIT: BPF Just In Time コンパイラを有効化 + - CONFIG\_BPF\_JIT\_ALWAYS\_ON: BPF JIT を恒久的に有効化し、BPF インタープリターを削除 + - CONFIG\_NET\_CLS\_BPF: BPF ベースの分類器 + - CONFIG\_NET\_CLS\_ACT: アクション + - CONFIG\_NET\_ACT\_BPF: BPF ベースのアクション + - CONFIG\_IKHEADERS: /sys/kernel/kheaders.tar.xz を通じてカーネルヘッダーを有効化 + - CONFIG\_NET\_SCH\_SFQ: Stochastic Fairness Queueing (SFQ) + - CONFIG\_NET\_ACT\_POLICE: トラフィック制御 + - CONFIG\_NET\_ACT\_GACT: 汎用アクション + - CONFIG\_GACT\_PROB: 確率サポート + - CONFIG\_NET\_SCH\_INGRESS: Ingress/classifier-action Qdisc + - CONFIG\_CGROUP\_BPF: cgroup にアタッチされた eBPF プログラムのサポート +- md/unriad: バージョン 2.9.22 + - 修正: md\_sync\_limit が無視されていた + +#### 管理 + +- より良い IPv6 サポート +- diagnostics: bz\*.sha256 値を追加 +- diagnostics: 匿名化の改善 +- diagnostics: mover を匿名化 +- diagnostics: folders.txt のパッケージ一覧を改善 +- diagnostics: 169.254.x.x アドレスを匿名化しない +- emhttp の新しいデフォルト: + - root パスワードが必須 + - 新しく作成された共有は既定ではエクスポートされない + - あらかじめ定義された 'flash' 共有は既定ではエクスポートされない + - ssh、telnet: 既定で無効 + - NetBIOS は既定で無効 + - WSD は既定で有効(新しい 'wsdd2' パッケージを使用) + - macOS 互換性の向上を既定で有効化 + - 'domains' および 'system' 共有について、'Enable Copy-on-write' のデフォルト設定を 'No' から 'Auto' に変更 + - poll\_attributes の tunable デフォルト値を 30 分から 30 秒に変更。 +- emhttpd: 'rootshare' を予約名に追加 +- emhttpd: 回帰を修正: user shares は既定で有効であるべき +- emhttpd: UpdateDNS 関数が送信する情報を最小化 +- emhttpd: share 設定が変更されたときに shfs キャッシュ済み共有情報を無効化するため shfs ioctl を使用 +- emhttpd: 未割り当てデバイスの read/write カウンターの誤った処理を修正 +- emhttpd: ホットプラグされた未割り当てデバイスに誤ったデバイス名が割り当てられることがある問題を修正 +- emhttpd: btrfs-replace のケースを修正 +- emhttpd: btrfs pool デバイスの置換後も 'missing' が表示される問題を修正 +- emhttpd: root パスワード変更時にすべての PHP セッションを削除(全員をログアウト) +- emhttpd: シングルスロット pool のデバイス状態処理を修正 +- emhttpd: nvme /dev/disk/by-id シンボリックリンク内の複数のアンダースコアを 1 つに統合 +- firefox: バージョン 91.0.r20210823123856 (AppImage) +- mover: 埋め込みスペースのある共有を移動できないバグを修正 +- mover: 移動中はファイル名に '.partial' サフィックスを追加 +- rc.docker: 起動時のネットワーク競合状態を修正 +- rc.libvirt: VM が一時停止またはサスペンド状態のときに array を停止しても Unraid がハングしないようにする +- rc.libvirt: NAMES リストに追加する前に VM の存在を確認 +- rc.mcelog: mcelog を基本ディストリビューションに追加 +- rc.nginx: fastcgi\_read\_timeout を 120s から 640s に変更 +- rc.nginx: ttyd のサイドローディングを削除 +- rc.nginx: Lets Encrypt ワイルドカード証明書をサポート +- rc.nginx: カスタムのワイルドカード自己署名証明書をサポート +- rc.nginx: 自己署名証明書の subject OU を "unRAID" から "Unraid" に変更 +- rc.nginx: カスタム証明書の Subject フィールド処理で大文字小文字を無視 +- rc.nginx: USE\_SSL==no かつ CA 署名証明書がない場合に https で 404 を返す既定の server block を削除 +- rc.samba: SMB Multi Channel を既定で無効化; Settings/SMB Settings ページに制御を追加 +- rc.S: 初回起動時に bz ファイルの sha256 を確認 +- shfs: 権限が無視されるバグを修正 + ('default\_permissions' が mount コマンドに欠けていた) +- sysctl: net.netfilter.nf\_conntrack\_count の最大値超過を処理 + (設定を 131072 に増やす) +- ttyd: ローカルの Firefox Terminal ウィンドウで文字化けする問題を修正 +- upgradepkg: 既存パッケージの方が新しい場合はアップグレードしない +- wsdd2: 既定でアクティブなインターフェースのみで待ち受ける(br0、bond0、または eth0) +- WebGUI: ヘッダー UPC を統合 +- WebGUI: CA をインストールするための Apps リンクを追加 +- WebGUI: 内部コンテナ参照を追加 +- WebGUI: 新しい設定 "Terminal font size" を追加 +- WebGUI: Pushplus 用の通知エージェントを追加 +- WebGUI: ServerChan 用の通知エージェントを追加 +- WebGUI: filetree に 'root' フォルダー保護を追加 +- WebGUI: システムシャットダウン後の追跡を追加 +- WebGUI: VM 用の利用可能な NIC に vmxnet3 と e1000 を追加 +- WebGUI: 管理アクセスページに「User 'root'」参照を追加 +- WebGUI: プラグインのインストールに失敗したときの通知を追加 +- WebGUI: 追加: 累積パリティチェック。これにより、パリティチェックを複数の時間ウィンドウに分割できます。 +- WebGUI: メインページと shares ページの行ハイライトを、色覚障害のある方により適したものに調整 +- WebGUI: 必要に応じてアイコンをダウンロードせずに、CA がすべての docker 情報を取得できるようにする +- WebGUI: すべての通知エージェントがリンクを送信できるようにする +- WebGUI: rsyslog.conf のローカルルール用にルールセットを許可 +- WebGUI: コンテナのログウィンドウとコンソールウィンドウを同時に開けるようにする +- WebGUI: ユーザー指定 URL では常に「WebUI」を表示 +- WebGUI: BTRFS の balance と scrub のスケジューラ +- WebGUI: BTRFS balance: ボリュームが空のときの推奨メッセージを修正 +- WebGUI: 複数セッションが開かれている場合の配列同期を改善 +- WebGUI: docker コンテナ変数の翻訳を改善 +- WebGUI: CSS の軽微な修正 +- WebGUI: Dashboard の Parity 状態を無効かつエミュレートされていない状態に変更 +- WebGUI: モバイルデバイス上の Safari により適するようにページ切り替えを変更 +- WebGUI: パリティ同期通知のレベルを error から notice に変更 +- WebGUI: Android のサポートを改善するためにヘッダー選択を変更 +- WebGUI: flash のオフライン / 破損のクイックチェックを行う +- WebGUI: styles フォルダを整理 +- WebGUI: ドロップダウンメニューで長すぎる共有名を短縮 +- WebGUI: ContextMenu: オプション「button」を追加: デフォルトは「left」 + (現在の動作)。その他のオプションは「right」と「both」 +- WebGUI: notify のポーリングを Nchan に変換 +- WebGUI: favicon.ico を作成 +- WebGUI: ユーザーがログアウトしたときに syslog エントリを作成 +- WebGUI: Dashboard: CPU と NETWORK のチャートを追加 +- WebGUI: ディスクのしきい値が無効なときのバー色を修正 +- WebGUI: Dashboard: CPU の詳細表示とグラフ表示を分離 +- WebGUI: DockerRepositories.page を削除。代替手段については [こちらの投稿](https://forums.unraid.net/topic/112170-allow-template-repositories-to-be-hosted-from-other-sources/page/2/#comment-1126265) を参照 +- WebGUI: Device\_list で .png アイコンをフォントアイコンに置換 +- WebGUI: Diagnostics で非推奨のプラグイン最大バージョンエラーを修正 +- WebGUI: Diagnostics: 共有の概要を追加 +- WebGUI: Diagnostics: 現在のプラグインバージョンを含める +- WebGUI: Diagnostics: パスワードなどを含む go の行を削除 +- WebGUI: Diagnostics: 匿名化を刷新 +- WebGUI: Diagnostics: DHCP ログを追加 +- WebGUI: Diagnostics: DNS Rebinding Protection のチェックを追加 +- WebGUI: Diagnostics: URL の詳細を追加 +- WebGUI: Diagnostics: 到達可能な IP を非公開化 +- WebGUI: DisplaySettings: 「showBannerGradient」を追加 +- WebGUI: 偽陽性の ERST エラーをハイライトしない +- WebGUI: Docker ページの読み込みを改善 +- WebGUI: Docker 設定: ブラウザのプリセットを抑制 +- WebGUI: Docker の使用率警告は image ファイルの場合のみ +- WebGUI: Docker: Network / Privacy カテゴリを追加 +- WebGUI: Docker: crypto をカテゴリとして追加 +- WebGUI: Docker: インストール済みユーザーテンプレートを更新しない +- WebGUI: Docker: 削除 / 再作成時の不正なキャッシュを修正 + image +- WebGUI: Docker: 一部のまれな状況で CA 内にいるときのブラウザの戻るボタンに関する + 端のケースを処理 +- WebGUI: Docker: アイコン参照を既定の疑問符に無視させる +- WebGUI: Docker: テンプレートは v2 としてのみ保存 +- WebGUI: Docker: テンプレート編集時に破損が存在する場合の PHP エラーを抑制 +- WebGUI: Docker: CA タグをサポート +- WebGUI: Docker: コンテキストメニューで ReadMe をサポート +- WebGUI: Docker: すべてのカスタムネットワークに説明を追加 +- WebGUI: Docker: リモート WireGuard アクセス用のルートを追加: + - 「Host access to custom networks」を有効にしてアクセスを許可する必要があります + - ネットワーク 'br0' のコンテナは、家庭用ルーター(ゲートウェイ)に静的ルートを設定することなく、WireGuard からリモートアクセスできます +- WebGUI: Docker: 設定に時間単位を追加 +- WebGUI: Docker: ネットワーク選択に WireGuard の説明を追加 +- WebGUI: Docker: 長すぎる作成者名を短縮 +- WebGUI: Docker: 複数画面を開くと GUI が応答しなくなる問題を修正 +- WebGUI: Docker: 重なって表示されるコンテナ ID を修正 +- WebGUI: Docker: 存在しないコンテナのアンインストールを試みたあと、スピナーが消えない問題を修正 +- WebGUI: Docker: ファイルツリーが表示されないことがある問題を修正 +- WebGUI: Docker: 固定表示モードでヘッダー表示により隙間ができる問題を修正 +- WebGUI: Docker: 固定表示モードでのリスト表示を修正 +- WebGUI: Docker: コンテナが存在しない場合のテンプレート削除を修正 +- WebGUI: Docker: ポップアップウィンドウがブラウザウィンドウ内に収まるようにする +- WebGUI: Docker: contextmenu を最適化 +- WebGUI: Docker: web ログ表示で bash の ANSI カラーを処理 +- WebGUI: Docker: ポップアップウィンドウの閉じるボタンを削除 +- WebGUI: Docker: 翻訳を最適化 +- WebGUI: Docker: 更新ウィンドウが選択したテーマの色を使用 +- WebGUI: Edit/Add Container: ブラウザコンソールのエラーを修正 +- WebGUI: spin down の遅延設定に応じて SMART 拡張テストを有効/無効にする +- WebGUI: syslog サーバーのポートに関するエラーチェックなど +- WebGUI: テキスト入力の送信時に二重引用符をエスケープ +- WebGUI: ファイルタイプアイコンの選択を拡張 +- WebGUI: プロトコル付きの ipaddr() を拡張: ipv4 + ipv6 の場合、プロトコルは ipv4 が既定 +- WebGUI: CPU モデルが表示されないことがある問題を修正 +- WebGUI: balance レベル計算時の PHP エラーを修正 +- WebGUI: New Config 実行後の破損チェックを修正 +- WebGUI: Notify で csrf-token が欠落していた問題を修正 +- WebGUI: monitor の誤検出を修正 +- WebGUI: ネットワークボンディングの表示を修正 +- WebGUI: 空のプールが存在する場合の Main ページのプール表示を修正 +- WebGUI: themes auzre & gray の回帰エラーを修正 +- WebGUI: Firefox で themes azure/gray のサイドバーを修正 +- WebGUI: Fix: DNS Rebinding チェックを改善 +- WebGUI: 共有およびディスク計算の PHP エラーを修正 +- WebGUI: デバイス名に "-" が含まれる場合に balance/scrub スケジュールが保存されない問題を修正 +- WebGUI: コメント欄を選択したディスクのみに修正 +- WebGUI: 一時停止 / 再開時のパリティ所要時間 + 速度を修正 +- WebGUI: smart 温度設定ができないことがある問題を修正 +- WebGUI: Fixed: VM 9p の共有追加の問題を修正 +- WebGUI: Fixed: デバイスが存在しないときに device info のボタンが動作しない問題を修正 +- WebGUI: Fixed: cookies の samesite 属性が欠落していた問題を修正 +- WebGUI: Fixed: パリティ履歴が誤って処理されることがある問題を修正 +- WebGUI: Fixed: アレイ停止中にデバイス割り当てが変更されたときの競合状態を修正 +- WebGUI: Fixed: プールデバイス専用の特定のディスク設定を修正 +- WebGUI: Fixed: パリティチェックの速度計算を修正 +- WebGUI: Fixed: docker コマンド後にスピナーが表示されたままになる問題を修正 +- WebGUI: Browse 機能の修正と強化 +- WebGUI: フォントファイルの更新: +- CSS 設定を調整 + - フォントファイルを整理し、woff 形式のみを使用 + - clear-sans フォントを復元 +- bitstream フォントを更新 + - bitstream → source code pro + - clear-sans → source sans pro +- WebGUI: root パスワードの作成を強制 +- WebGUI: array や shares にカーソルを合わせたときに選択行をハイライト +- WebGUI: バックグラウンドプロセスの検出と処理を改善 +- WebGUI: 古くなったプラグインページとエラープラグインページの形式を改善 +- WebGUI: email と Discord エージェント通知にリンクを含める +- WebGUI: 「showBannerGradient」設定の既定を「yes」にする +- WebGUI: 超ワイドモニターでのポップアップウィンドウ幅を制限 +- WebGUI: docker アイコンのダウンロード失敗をログに記録 +- WebGUI: モバイルデバイスにより適するよう monitor 機能の更新頻度を下げる +- WebGUI: Main ページ - リンクの応答性向上のため表の更新頻度を下げる +- WebGUI: 「full」ページで WireGuard の商標表示を見えるようにする +- WebGUI: ヘルプテキスト内のリンクを目立つようにする(赤色) +- WebGUI: Management: 使用中ポートのチェックを修正 +- WebGUI: その他の更新と修正 +- WebGUI: Start ボタンを暗号化フィールドの下に移動 +- WebGUI: NFS: READ 操作後の hostList のコピーを修正 +- WebGUI: Nchan: マルチプレックスチャンネルを使用し、エラーレポートを追加 +- WebGUI: ユーザー画像としてアップロードできるのは png ファイルのみ +- WebGUI: 動的サイズのターミナルウィンドウを開く +- WebGUI: パリティチェック: 操作が一時停止中は spinup/spindown を許可 +- WebGUI: パリティチェック: 完了時に Done ボタンを再導入 +- WebGUI: パリティ操作の強化: + - ディスクのクリア操作を追加 + - 履歴ビューにパリティ操作アクションを追加 + - パリティ履歴に「size」列を追加 + - SMART 属性の CSS 調整 + - パリティより小さい data-rebuild の計算を修正 + - Parity-Sync と Data-Rebuild を個別の操作として分離 + - アレイ停止状態で追加ボタンを表示 + - テキスト面の強化 + - コピー / クリアの進行状況に Nchan 更新を使用 +- WebGUI: パリティ: アイドル時間を除いた表示上の所要時間 +- WebGUI: プラグインマネージャー: ブランチ選択が不要に無効化される問題を修正 +- WebGUI: プラグインページの読み込みを改善 +- WebGUI: スクリプトのセキュリティを予防的に強化 +- WebGUI: SMART 検出ロジックを緩和 +- WebGUI: 更新頻度を少し緩和 +- WebGUI: Nchan のエラー検出を削除(通信が遅い場合でも接続を再確立するため、Nchan の自動再接続に依存) +- WebGUI: 非推奨のフォント拡張子 eot、svg、ttf を削除 +- WebGUI: ポーリングスクリプトをイベント駆動の Nchan インターフェースに置換 +- WebGUI: デバイス名の既定の大文字小文字設定に戻す +- WebGUI: filedrop.js を改訂 +- WebGUI: メニュー項目を右クリックまたは長押しすると、選択したメニューを開くようにする +- WebGUI: SSH 認可鍵 UI +- WebGUI: モバイルデバイスのサポート向上のため Main ページの更新頻度を 1 秒に設定 +- WebGUI: Shares: 誤ったサイズ計算を修正 +- WebGUI: VM Manager の VM ページに IP を表示 +- WebGUI: ユーザーの管理アクセスおよび shares アクセスグループを表示 +- WebGUI: javascript が無効な場合に警告を表示 +- WebGUI: Unraid LE SSL 証明書の発行 / 更新にはサインインが必要 +- WebGUI: flash ドライブが見つからない場合の syslinux ページの PHP エラーを抑制 +- WebGUI: 将来の T2FA をサポート +- WebGUI: filetree 表示での多言語をサポート +- WebGUI: ルーティングテーブルで IPv6 anycast アドレスを抑制 +- WebGUI: ルーティングテーブルで関連性のない IPv6 ルートを抑制 +- WebGUI: システムデバイスの追加 +- WebGUI: システム情報: 翻訳を修正 +- WebGUI: 翻訳サポート(Unraid.net) +- WebGUI: 翻訳: 空のセッションが作成される問題を修正 +- WebGUI: Credits.page を更新 +- WebGUI: DashStats.page を更新 +- WebGUI: FileTree.php を更新 +- WebGUI: 最新のヘルプテキストで GUI を更新 +- WebGUI: Outlook/Hotmail の smtp 設定を更新 +- WebGUI: 警告テキストを更新 +- WebGUI: css ファイルを woff および woff2 形式のみを使用するよう更新 +- WebGUI: UpdateDNS で IPv4 を優先し、その後 IPv6 を使用 +- WebGUI: より多くの言語をサポートするよう bitstream フォントを更新 +- WebGUI: Display settings と Docker のヘルプテキストを更新 +- WebGUI: flash の破損検出にバックグラウンドチェックを使用 +- WebGUI: インターネット接続チェックに https を使用 +- WebGUI: デバイス情報ページにタブ表示を使用 +- WebGUI: ロギングウィンドウに ttyd を使用 +- WebGUI: VM Manager: virtio-win-0.1.208.iso のダウンロードリンクを追加 +- WebGUI: VM Manager: Windows 11 テンプレートと OVMF TPM を追加 +- WebGUI: VM エディターのスタイルを更新 +- WebGUI: VM: 欠落していたパス選択を修正(GPU ファームウェアファイル用) +- WebGUI: VMs: virtio-win iso リストを自動更新 +- WebGUI: VMs: contextmenu を最適化 +- WebGUI: 適用前に WebGUI ポートを検証 +- WebGUI: VirtIO ISO ダウンロードの保存先を検証 +- WebGUI: ソース表示時に、どの .page ファイルが担当しているかを特定 +- WebGUI: WireGuard を統合 +- WebGUI: WireGuard の更新: + - Dockerコンテナ向けのトンネルルーティングを追加する + - WGトンネルをコンテナ(カスタム + ネットワーク)で自動的に利用可能にする + - VPNプロバイダーのインポート設定ファイルをより堅牢にする。 + - Docker向けVPNトンネル経由アクセス + - システム向けVPNトンネル経由アクセス +- WebGUI: WireGuard: トンネル削除に失敗した場合に警告を追加 +- WebGUI: WireGuard: 新しいネットワークモードを導入: +- WebGUI: WireGuard: 再起動後にネットワークを再作成するロジックを追加 +- WebGUI: WireGuard: IPv4 + IPv6 トンネルの適切な処理を修正 +- WebGUI: WireGuard: "リモートトンネル経由アクセス" でピアのDNSサーバーを事前設定 +- WebGUI: WireGuard: トンネルが非アクティブな場合にキルスイッチを使用 +- WebGUI: WireGuard: ユーザーの nginx 設定と unraid.net API +- WebGUI: WireGuard: 公開IPで直接接続している場合に警告 +- WebGUI: WireGuard: すべてのキーを受け入れるようインポート機能を修正 +- WebGUI: WireGuard: 管理インターフェースを選択可能にする: +- WebGUI: WireGuard: 管理インターフェースを選択可能にする: + - デフォルトは eth0 - 将来の拡張用 +- WebGUI: WireGuard: ファイル入力から ListenPort を削除: + - ListenPort は一意でなければならないため、代わりに WG にランダムなローカルポートを生成させる +- WebGUI: CSS スクロールバーの改善 +- WebGUI: diagnostics: myunraid.net の URL を匿名化する修正 +- WebGUI: dockerMan Security: Config 要素から HTML タグを削除 +- WebGUI: dockerMan: 説明から HTML を削除 +- WebGUI: 修正: パスワードのロックアウトが適切に解除されない問題 +- WebGUI: 修正: メール通知から再認証メッセージを削除 +- WebGUI: 改善: 配列または共有にマウスオーバーしたときに選択行をハイライト +- WebGUI: jQuery: バージョン 3.6.0 +- WebGUI: CA署名付き証明書のサブジェクトをリンクとして表示 +- WebGUI: diagnostics でホストを匿名化 +- WebGUI: UpdateDNS.php をリファクタリング: 詳細出力を既定で匿名化、 + その他の改善 +- WebGUI: "My Servers" のスケルトンページを削除 +- WebGUI: require sign in to provision cert +- WebGUI: support simultaneous LAN SSL with self-signed cert and + DNS-based SSL with Lets Encrypt cert +- WebGUI: 各種多言語修正 + +["WireGuard" と "WireGuard" ロゴは Jason A. Donenfeld の登録商標です。](https://www.wireguard.com/) + +## パッチ + +[Unraid Patch plugin](https://forums.unraid.net/topic/185560-unraid-patch-plugin/) をインストールしている場合は、_**Tools → Unraid Patch**_ に移動して以下のパッチ / ホットフィックスを取得してください: + +- セキュリティ更新の一部。詳細は [このブログ記事](https://unraid.net/blog/cvd) を参照してください。追加のセキュリティ更新のため、最新の安定版へのアップグレードを推奨します。 From 968f71262b25feb862b1e51b9b0a38b324ab53d4 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:26:47 -0400 Subject: [PATCH 095/437] New translations 6.10.1.md (Japanese) --- .../current/unraid-os/release-notes/6.10.1.md | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.10.1.md diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.10.1.md b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.10.1.md new file mode 100644 index 00000000000..12a3dca405d --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.10.1.md @@ -0,0 +1,21 @@ +## バージョン 6.10.1 2022-05-21 + +一部のユーザーは、"1" 以外の USB フラッシュパーティションから起動します。つまり、 +/dev/sda1 の代わりに /dev/sda2 をボリュームラベル +UNRAID として設定しているユーザーもいれば、フラッシュ上にまったくパーティションを持たないユーザーもいます。この場合、/boot に対して /dev/sda から起動し、マウントします。 + +ラベル UNRAID を持つ起動デバイスの検出における 6.10.0 の変更により、パーティション 1 のみが考慮される回帰が導入され、これらのユーザーは起動シーケンスを完了できなくなりました。 + +これは 6.10.1 で修正されました。なお、6.10.1 と 6.10.0 の機能面での変更はこれだけです。 + +## Unraid OS 6.10.0 との変更ログ + +#### 管理 + +- startup: パーティション 1 以外からの USB フラッシュ起動のサポートに関する回帰を修正 + +## パッチ + +[Unraid Patch plugin](https://forums.unraid.net/topic/185560-unraid-patch-plugin/) をインストールしている場合は、_**Tools → Unraid Patch**_ に移動して以下のパッチ / ホットフィックスを取得してください: + +- セキュリティ更新の一部。詳細は [このブログ記事](https://unraid.net/blog/cvd) を参照してください。追加のセキュリティ更新のため、最新の安定版へのアップグレードを推奨します。 From 325c378f3dc38e09140d61f83948992e8426e1af Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:26:48 -0400 Subject: [PATCH 096/437] New translations 6.10.2.md (Japanese) --- .../current/unraid-os/release-notes/6.10.2.md | 87 +++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.10.2.md diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.10.2.md b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.10.2.md new file mode 100644 index 00000000000..be7cad2d6be --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.10.2.md @@ -0,0 +1,87 @@ +## バージョン 6.10.2 2022-05-27 + +### Intel VT-d が有効な場合、tg3 ドライバでデータ破損が発生する可能性あり + +Linux 5.15 カーネル、tg3 ドライバ、および Intel VT-d を有効にした組み合わせが、データ破損の原因となっているようです。これは、Broadcom NetXtreme ギガビット Ethernet NIC を含む複数のプラットフォームで確認されています(ほかにもある可能性があります)。このリリースには、次の回避策が含まれています: + +サーバー起動の非常に早い段階(rc.S)で Intel VT-d が有効と検出された場合、スクリプトは無条件で次のファイルを作成します: + +`/etc/modprobe.d/tg3.conf` + +次の内容で: + +`blacklist tg3` + +したがって、既定では VT-d が有効、つまり BIOS またはカーネルの "intel_iommu=off" によって無効化されていない場合、すべてのプラットフォームで tg3 ドライバをブラックリストに追加します。VT-d が有効でも tg3 に問題が起きないプラットフォームを使っている場合はどうでしょうか。その場合は、フラッシュデバイス上に空の \_empty_ ファイルを作成する必要があります: + +`config/modprobe.d/tg3.conf` + +起動シーケンスが続くと、次のコマンドを実行する段階に達します: + +`install -p -m 0644 /boot/config/modprobe.d/* /etc/modprobe.d` + +フラッシュ上に保存された _空白_ の tg3.conf ファイルは、実質的にそのブラックリスト登録を解除します。 + +NIC がブラックリストに登録されるため、ネットワーク接続を失うユーザーが出るでしょう。問題のあるプラットフォームで実行している場合は、BIOS に入り VT-d を無効にしてください。問題のないプラットフォームであれば、フラッシュの config/modprobe.d ディレクトリに空の tg3.conf ファイルを作成する必要があります。 + +この問題に対する適切な修正を特定して統合するにはしばらく時間がかかる可能性があり、その時点で自動ブラックリスト登録のコードを削除します。 + +#### E3-1265LV2 搭載の HP MicroServer Gen 8 で Intel VT-d を無効にする方法 + +サーバーを再起動し、次に: + +- 起動中に F9 キーを押して BIOS に入ります。 +- BIOS が読み込まれたら、メニュー System Options → Processor Options → Intel(R) VT-d を開きます +- 無効に設定します +- Esc を押してトップメニューに戻ります +- F10 を押して BIOS を終了し、保存します + +これでサーバーは通常どおり再起動するはずです。手順を共有してくださったコミュニティメンバー [Oceanic に感謝します](https://forums.unraid.net/topic/124108-unraid-os-version-6102-available/#comment-1132042)。 + +### セキュリティ関連の変更 + +- Firefox ブラウザは、重大なセキュリティ脆弱性に対処するため、バージョン 100.0.2 に更新されました。Firefox を使用している場合は、すべてのプラットフォームでのアップグレードも推奨します。 +- ユーザー名に文字列 'root' が含まれている場合、WebGUI のログインが 'root' 以外のユーザーのパスワードを受け付けてしまう問題を修正しました。 +- Linux カーネルは、"security bypass" 脆弱性に対処するため 5.15.43 に更新されました。 + +### その他の変更 + +- Management Access ページの "Use SSL/TLS" 設定で、ドロップダウン メニューの "Auto" を "Strict" に変更しました。これにより、この設定の動作がより適切に表現されます。 +- Docker マネージャーは、アイコンのフォールバックとして Docker ラベルを使用するようになりました。 +- VM マネージャーは、VM の XML を編集しなくても、ブリッジに加えて LibVirt ネットワークを使用するオプションを提供するようになりました。 +- カスタム SSL 証明書の処理を改善しました。 +- \[6.10.1] 回帰修正: パーティション 1 以外からの USB フラッシュ ブートをサポート +- その他のさまざまなバグ修正 + +## Unraid OS 6.10.1 との差分の変更ログ + +#### ベースディストリビューション + +- firefox AppImage: バージョン: 100.0.r20220519220738 (CVE-2022-1802 + CVE-2022-1529) + +#### Linux カーネル + +- バージョン 5.15.43-Unraid (CVE-2022-21499) + +#### 管理 + +- nginx: リダイレクト URL に既定のポート番号を付加しないようにする +- nginx: 自己署名証明書ファイル: コモンネームとすべての代替名を受け入れる +- 起動時: 複数のネットワーク インターフェースに同じ MAC アドレスが割り当てられる問題を修正 +- 起動時: Intel VT-d が有効な場合は tg3 を既定でブラックリストに追加 +- WebGUI: Management Access: Use SSL/TLS 設定: 'Auto' を 'Strict' に変更 +- WebGUI: 修正: コントローラー選択時に smGlue が含まれない問題 +- WebGUI: 修正: & を含む共有名を許可 +- WebGUI: LXC ターミナルのサポートを追加 (LXC プラグイン用) +- WebGUI: Docker Web UI でアイコンのフォールバックとして Docker ラベルを使用 +- WebGUI: VM マネージャー: libvirt ネットワークをサポート (GUI から libvirt ネットワークにアクセス可能にする) +- WebGUI: 'root' を含む別のユーザー名のパスワードで 'root' ログインが成功してしまう問題を修正 +- WebGUI: OS ページのスペル修正: warninging → warning +- WebGUI: ヘルプテキストの見直し: 軽微な修正 + +## パッチ + +[Unraid Patch plugin](https://forums.unraid.net/topic/185560-unraid-patch-plugin/) をインストールしている場合は、_**Tools → Unraid Patch**_ に移動して以下のパッチ / ホットフィックスを取得してください: + +- セキュリティ更新の一部。詳細は [このブログ記事](https://unraid.net/blog/cvd) を参照してください。追加のセキュリティ更新のため、最新の安定版へのアップグレードを推奨します。 From f6b05f77cf8f8f96d160bbeb195c05462d8ca5c4 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:26:49 -0400 Subject: [PATCH 097/437] New translations 6.10.3.md (Japanese) --- .../current/unraid-os/release-notes/6.10.3.md | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.10.3.md diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.10.3.md b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.10.3.md new file mode 100644 index 00000000000..2229a53fd91 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.10.3.md @@ -0,0 +1,51 @@ +## バージョン 6.10.3 2022-06-14 + +### 改善 + +Intel VT-d が有効な一部のプラットフォーム、特に HP Microserver Gen8/9 で発生し得たデータ破損の問題を修正しました。 +これは、Linux カーネルのデフォルト IOMMU 動作モードを「DMA Translation」から「Pass-through」に変更することで修正されました。 + +- また、Intel VT-d が有効な場合の 'tg3' のブラックリスト登録も削除しました。これは、慎重を期して追加されたものでした。というのも、データ破損の初期報告ではすべて、(偶然にも)'tg3' ネットワークドライバを使用していたプラットフォームが関係していたためです。空の 'config/modprobe.d/tg3.conf' ファイルを作成していた場合は、削除してかまいません。 + +**プラグイン作者向け:** プラグインファイルには、新しいバージョンが利用可能になったときに Markdown 形式のメッセージを表示する `` タグを含めることができます。 +これは、アップグレード前にユーザーへ指示や警告を伝えるために使用してください。 + +ログウィンドウの色分けを復活しました。 + +### バグ修正 + +Mellanox NIC の検出の問題を修正しました。 + +WebGUI のその他のバグ修正 + +## Unraid OS 6.10.2 との変更点 + +### ベースディストリビューション + +- 変更なし + +### Linux カーネル + +- バージョン 5.15.46-Unraid +- CONFIG\_IOMMU\_DEFAULT\_PASSTHROUGH: Passthrough + +### 管理 + +- 起動時: ネットワークデバイスの検出を改善 +- WebGUI: ログファイルに色分けを追加 +- WebGUI: フラッシュの破損が見つかった場合はテストを再試行 +- WebGUI: syslog の読み取りを改善 +- WebGUI: syslog 表示時にログサイズ設定を追加 +- WebGUI: プラグインマネージャー: ALERT メッセージ機能を追加 +- WebGUI: バナーに INFO アイコンを追加 +- WebGUI: PageMap ページに翻訳を追加 +- WebGUI: 修正: 非英語の言語パックがインストールされている場合、修正しないはずのパリティチェックが実際には修正を行っていた問題 +- WebGUI: azure/gray テーマを更新 + - Firefox のサポートを改善 + - 使用率と通知のインジケーターを右側に移動 + +## パッチ + +[Unraid Patch plugin](https://forums.unraid.net/topic/185560-unraid-patch-plugin/) をインストールしている場合は、_**Tools → Unraid Patch**_ に移動して以下のパッチ / ホットフィックスを取得してください: + +- セキュリティ更新の一部。詳細は [このブログ記事](https://unraid.net/blog/cvd) を参照してください。追加のセキュリティ更新のため、最新の安定版へのアップグレードを推奨します。 From 2b706a7939293770e557b0b9376719d8fe0d321d Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:26:51 -0400 Subject: [PATCH 098/437] New translations 6.11.0.md (Japanese) --- .../current/unraid-os/release-notes/6.11.0.md | 314 ++++++++++++++++++ 1 file changed, 314 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.11.0.md diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.11.0.md b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.11.0.md new file mode 100644 index 00000000000..f671f8e85a8 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.11.0.md @@ -0,0 +1,314 @@ +## バージョン 6.11.0 2022-09-23 + +### 改善 + +- 今回のリリースでは、いくつものベースパッケージの更新に加え、複数のCVE緩和策が含まれています。 + +- Linuxカーネルの更新には、[Processor MMIO stale-data vulnerabilities](https://lwn.net/Articles/898011/) に対する緩和策が含まれています。 + +- プラグインシステムは再設計され、'plugin install' をバックグラウンドで実行できるようになりました。これにより、インストールがクラッシュしたと思い込んでユーザーがウィンドウを閉じてしまう問題、実際にはクラッシュしていないにもかかわらず発生していた問題が軽減されます。 + +- その他、WebGUI の多くの改善。 + +- VMマネージャーのフォームエディタで、カスタムVNCポートを指定できるようになりました。XMLエディタで指定したカスタムポート番号は、フォームベースのエディタに切り替えても保持されます。 + +- 非回転デバイスのスピンダウンでは、デバイスが対応していれば、そのデバイスをスタンバイモードにします。同様に、スピンアップ、またはそのデバイスへのいずれかのI/Oにより、通常動作に復帰します。 + +- SMART情報から取得したNVMeデバイスの機能を表示します。 + +- mellanox connectx4+ カードでSR-IOVをサポートするために必要なカーネル CONFIG オプションを追加しました + +- Dynamix SSD TrimプラグインをUnraid OSのWebGUIに統合しました。 + +- cgroup2 の予備サポート。起動するには syslinux の append 行に 'unraidcgroup2' を指定してください。 + +- ベースディストリビューションに perl を含めました。 + +### バグ修正 + +- VM名に埋め込まれた '#' 文字があるとVMログを開けない、VMマネージャーの問題を修正しました。 + +- スケジュールによるパリティチェックの一時停止/再開が動作しない問題を修正しました。 + +- 登録キーのインストールに関する問題を修正しました。 + +- セキュリティ緩和策に対応するため 'samba' を更新しました。また、"Attempt to set a LOCK\_MAND lock via flock(2)." と警告するカーネルメッセージも解消されるはずです。 + +- 'test' ブランチから 'next' への切り替え時の問題を修正しました。 + +- スタンバイモードをサポートしないデバイスのスピンダウンを試行しないようにしました。 + +- 古い cyras-sasl ライブラリが原因で発生していた AD 参加の問題を修正しました + +- CPU が未対応の場合(ほとんどの AMD プロセッサー)、mcelog デーモンを起動しないようにしました。 + +- nginx が SSL 証明書の更新を認識しない問題を修正しました。 + +- wireguard: WGトンネルを開始する前にゲートウェイ(ネクストホップ)の到達可能性を確認します。 + +- "btrfs filesystem show" コマンドの出力に混在する "ERROR:" 文字列を無視します。これにより、libblkid がパリティディスクを btrfs ファイルシステムとしてタグ付けしてしまう問題が解決します。これは、ライブラリが "magic number" を探す場所がたまたま btrfs と一致してしまうためです。その後の "btrfs fi" コマンドはこのデバイスから btrfs メタデータを読み取ろうとしますが、実際にはそこに btrfs ファイルシステムが存在しないため失敗します。 + +- 共有名にスペースが含まれている場合に、unRAIDアレイからキャッシュプール(Prefer モード)へファイルを移動できなかった mover の問題を修正しました。 + +## 変更ログ - Unraid OS 6.10.3 との差分 + +#### 管理 + +- unRAIDServer.plg において、展開済みファイルの sha256 チェックを追加しました。 +- bash: /etc/profile で PATH から "."(カレントディレクトリ)を除外 +- docker: 実行中のコンテナがない場合は 'docker stop' を呼び出さない +- emhttpd: スタンバイ(スピン)サポートを改善 +- mover: 共有名にスペースが含まれている場合に、アレイからキャッシュへファイルを移動できない問題を修正 +- rc.nginx: OCSP 応答URLを含む証明書で OCSP stapling を有効化 +- rc.nginx: 'woff' フォントファイルを圧縮し、ブラウザーにキャッシュを指示 +- rc.wireguard: WireGuard の自動起動に関するトラブルシューティングを改善 +- rc.S: プラグインのドライバーモジュールを早期に読み込めるよう対応 +- SMB: USB Flash ブートデバイス向けの 'fruit' 設定を修正 +- SMB: Linuxカーネルから削除されたため、NTLMv1 サポートを削除 +- SMB: (一時的に)vfs\_fruit 設定を別ファイル /etc/samba/smb-fruit.conf に移動 +- SMB: (一時的に)Samba の 'idmap\_hash is deprecated' 警告行を削除 +- startup: /boot/extra に存在する可能性のあるダウングレード版パッケージのインストールを防止 +- upc: バージョン v1.3.0 +- WebGUI: プラグインシステムの更新 + - フロントエンドとバックエンドの動作を分離 + - nchan を通信チャネルとして使用 + - バックエンドが継続している間もウィンドウを閉じられるようにする + - SWAL をウィンドウマネージャーとして使用 + - Plugins ページに複数削除機能を追加 + - 詳細付きで全プラグインを更新する機能を追加 +- WebGUI: docker: WebUI の प्राथमिकソースとして docker ラベルを使用 + - これにより、Web UI アドレスの解析時に 'net.unraid.docker.webui' docker ラベルが प्राथमिकソースになります。docker ラベルがない場合は、代わりにテンプレート値が使用されます。 +- WebGUI: Credits.page を更新 +- WebGUI: VMマネージャー: VM名に埋め込まれた '#' があるとVMログを開けない問題を修正 +- WebGUI: 管理アクセスページ: 自己署名証明書の詳細を追加 +- WebGUI: パリティチェック: 回帰エラーを修正 +- WebGUI: スクリプト内でのセッション作成を削除 +- WebGUI: SSHキーの正規表現を更新 + - ed25519/sk-ed25519 のサポートを追加 + - ecdsa のサポートを削除(安全でないため) + - 有効なキータイプを確認するために適切な正規表現を使用 +- WebGUI: 各種スタイルを更新 +- WebGUI: 管理アクセス: HTTP पोर्ट設定は常に有効であるべき +- WebGUI: 修正: VNC पोर्ट設定を保持 +- WebGUI: プラグインシステムの回帰エラーを修正 +- WebGUI: 登録キーのインストール問題を修正 +- WebGUI: カスタム画像が選択されたときにケース選択を強調表示 +- WebGUI: 修正(upc): v1.4.2 の apiVersion チェック回帰 +- WebGUI: NVMEドライブ向けにディスク機能ページを更新 +- WebGUI: chore(upc): v1.6.0 +- WebGUI: プラグインシステムと docker の更新 +- WebGUI: システム情報 - スタイル更新 +- WebGUI: Plugins: ヘッダーボタンの位置を同じに保つ +- WebGUI: 低解像度でのコンテナサイズのオーバーフローを防止 +- WebGUI: VMマネージャー: GUI に起動順序と CD ホットプラグ機能を追加 +- WebGUI: Docker Manager: コンテナラベルでシェルを指定できるようにする。 +- WebGUI: 修正: Discord 通知エージェントの URL +- WebGUI: 利用可能な情報がない場合、バナー メッセージの情報アイコンを非表示 +- WebGUI: スピンダウンメッセージを追加し、SCSIドライブの場合は識別子に -n を使用 +- WebGUI: SAS Selftest を修正 +- WebGUI: プラグインの複数更新を修正 +- WebGUI: UPS 表示の改善: + - 各カテゴリにアイコンを追加 + - ダッシュボードのUPSセクションに翻訳を追加 + - 出力電圧 / 周波数の値を追加 + - 設定に応じた色分けを追加 + - 単位を正規化 + - 更新をほぼリアルタイム化 + - UPSモデル欄を追加 +- WebGUI: JQuery: バージョン 3.6.1 +- WebGUI: JQueryUI: バージョン 1.13.2 +- WebGUI: フォントファイルURLの 'cache busting' を改善 +- WebGUI: 修正: docker ポップアップウィンドウの文字色が時々正しくない +- WebGUI: 修正: Read Check 中に読み取りエラーを表示 +- WebGUI: VMマネージャー: USB 起動ポリシーを追加; 不足している USB サポートを追加 +- WebGUI: Docker: コンテナが存在しない場合の JavaScript エラーを修正 +- WebGUI: サードパーティのシステム診断を追加 + - サードパーティのプラグインパッケージ用の診断を追加 + - /dev/dri デバイス用の診断を追加 + - /dev/dvb デバイス用の診断を追加 + - nvidia デバイス用の診断を追加 + +#### Linux カーネル + +- バージョン 5.19.9 (CVE-2022-21123 (CVE-2022-21123 CVE-2022-21125 CVE-2022-21166) +- md/unraid: バージョン 2.9.24 +- CONFIG\_IOMMU\_DEFAULT\_PASSTHROUGH: Passthrough +- CONFIG\_VIRTIO\_IOMMU: Virtio IOMMU ドライバー +- CONFIG\_X86\_AMD\_PSTATE: AMD Processor P-State ドライバー +- CONFIG\_FIREWIRE: FireWire ドライバースタック +- CONFIG\_FIREWIRE\_OHCI: OHCI-1394 コントローラー +- CONFIG\_FIREWIRE\_SBP2: ストレージデバイス(SBP-2 プロトコル) +- CONFIG\_FIREWIRE\_NET: 1394 上での IP ネットワーク +- CONFIG\_INPUT\_UINPUT: ユーザーレベルドライバーのサポート +- CONFIG\_INPUT\_JOYDEV: ジョイスティックインターフェース +- CONFIG\_INPUT\_JOYSTICK: ジョイスティック/ゲームパッド +- CONFIG\_JOYSTICK\_XPAD: X-Box ゲームパッドのサポート +- CONFIG\_JOYSTICK\_XPAD\_FF: X-Box ゲームパッドの振動サポート +- CONFIG\_JOYSTICK\_XPAD\_LEDS: Xbox360 コントローラーの 'BigX' LED をサポート +- CONFIG\_MLX5\_TLS: Mellanox Technologies TLS Connect-X サポート +- CONFIG\_MLX5\_ESWITCH: Mellanox Technologies MLX5 SRIOV E-Switch サポート +- CONFIG\_MLX5\_CLS\_ACT: MLX5 TC classifier action サポート +- CONFIG\_MLX5\_TC\_SAMPLE: MLX5 TC sample オフロードサポート +- CONFIG\_MLXSW\_SPECTRUM: Mellanox Technologies Spectrum ファミリーのサポート +- CONFIG\_NET\_SWITCHDEV: スイッチ(およびスイッチ系)デバイスのサポート +- CONFIG\_TLS: Transport Layer Security サポート +- CONFIG\_TLS\_DEVICE: Transport Layer Security のハードウェアオフロード +- CONFIG\_TLS\_TOE: Transport Layer Security の TCP スタックバイパス +- CONFIG\_VMD: Intel Volume Management Device ドライバー +- 追加のセンサードライバーを追加: + - CONFIG\_AMD\_SFH\_HID: AMD Sensor Fusion Hub + - CONFIG\_SENSORS\_AQUACOMPUTER\_D5NEXT: Aquacomputer D5 Next 水冷ポンプ + - CONFIG\_SENSORS\_MAX6620: Maxim MAX6620 ファンコントローラー + - CONFIG\_SENSORS\_NZXT\_SMART2: NZXT RGB & Fan Controller / Smart Device v2 + - CONFIG\_SENSORS\_SBRMI: エミュレートされた SB-RMI センサー + - CONFIG\_SENSORS\_SHT4x: Sensirion の湿度・温度センサー。SHT4x および互換品。 + - CONFIG\_SENSORS\_SY7636A: Silergy SY7636A + - CONFIG\_SENSORS\_INA238: Texas Instruments INA238 + - CONFIG\_SENSORS\_TMP464: Texas Instruments TMP464 および互換品 + - CONFIG\_SENSORS\_ASUS\_WMI: ASUS WMI X370/X470/B450/X399 + - CONFIG\_SENSORS\_ASUS\_WMI\_EC: ASUS WMI B550/X570 + - CONFIG\_SENSORS\_ASUS\_EC: ASUS EC センサー +- patch: drivers/bluetooth/btrtl.c の不足しているファームウェアへの参照を追加 + - rtl8723d\_fw\.bin + - rtl8761b\_fw\.bin + - rtl8761bu\_fw\.bin + - rtl8821c\_fw\.bin + - rtl8822cs\_fw\.bin + - rtl8822cu\_fw\.bin +- CONFIG\_BPF\_UNPRIV\_DEFAULT\_OFF: 権限のない BPF をデフォルトで無効化 +- patch: Team Group MP33 M.2 2280 1TB NVMe 向けの quirks(nsid の ID がグローバルに重複) +- すべての IPv6 カーネルオプションを有効化: + - CONFIG_INET6_\* + - CONFIG_IPV6_\* +- CONFIG\_RC\_CORE: リモートコントローラーのサポート +- CONFIG\_SFC\_SIENA: Solarflare SFC9000 サポート +- CONFIG\_SFC\_SIENA\_MCDI\_LOGGING: Solarflare SFC9000 系の MCDI ロギングサポート +- CONFIG\_SFC\_SIENA\_MCDI\_MON: Solarflare SFC9000 系の hwmon サポート +- CONFIG\_SFC\_SIENA\_SRIOV: Solarflare SFC9000 系の SR-IOV サポート +- CONFIG\_ZRAM: 圧縮RAMブロックデバイスのサポート +- CONFIG\_ZRAM\_DEF\_COMP\_LZ4: デフォルトのRAM圧縮方式(lz4) +- すべての EDAC カーネルオプションを有効化 + - CONFIG\_EDAC: EDAC(Error Detection And Correction)報告 + - CONFIG_EDAC_\* + +#### ベースディストリビューション + +- aaa\_base: バージョン 15.1 +- aaa\_glibc-solibs: バージョン 2.36 +- aaa\_libraries: バージョン 15.1 +- at: バージョン 3.2.3 +- bind: バージョン 9.18.6 +- btrfs-progs: バージョン 5.19.1 +- ca-certificates: バージョン 20220622 +- cifs-utils: バージョン 7.0 +- coreutils: バージョン 9.1 +- cracklib: バージョン 2.9.8 +- cryptsetup: バージョン 2.5.0 +- curl: バージョン 7.85.0 +- cyrus-sasl: バージョン 2.1.28 +- dbus: バージョン 1.14.0 +- dhcpcd: バージョン 9.4.1 +- dmidecode: バージョン 3.4 +- docker: バージョン 20.10.17 (CVE-2022-29526 CVE-2022-30634 CVE-2022-30629 CVE-2022-30580 CVE-2022-29804 CVE-2022-29162 CVE-2022-31030) +- etc: バージョン 15.1 +- ethtool: バージョン 5.19 +- eudev: バージョン 3.2.11 +- file: バージョン 5.43 +- findutils: バージョン 4.9.0 +- firefox: バージョン 105.0.r20220922151854-x86\_64 (AppImage) +- fuse3: バージョン 3.12.0 +- gawk: バージョン 5.2.0 +- gdbm: バージョン 1.23 +- git: バージョン 2.37.3 +- glib2: バージョン 2.72.3 +- glibc: バージョン 2.36 +- glibc-zoneinfo: バージョン 2022c +- gnutls: バージョン 3.7.7 +- gptfdisk: バージョン 1.0.9 +- grep: バージョン 3.8 +- gzip: バージョン 1.12 +- hdparm: バージョン 9.65 +- htop: バージョン 3.2.1 +- icu4c: バージョン 71.1 +- inotify-tools: バージョン 3.22.6.0 +- iperf3: バージョン 3.11 +- iproute2: バージョン 5.19.0 +- iptables: バージョン 1.8.8 +- jemalloc: バージョン 5.3.0 +- json-c: バージョン 0.16\_20220414 +- json-glib: バージョン 1.6.6 +- kmod: バージョン 30 +- krb5: バージョン 1.20 +- libaio: バージョン 0.3.113 +- libarchive: バージョン 3.6.1 +- libcap-ng: バージョン 0.8.3 +- libcgroup: バージョン 3.0.0 +- libdrm: バージョン 2.4.113 +- libepoxy: バージョン 1.5.10 +- libffi: バージョン 3.4.2 +- libgcrypt: バージョン 1.10.1 +- libgpg-error: バージョン 1.45 +- libidn: バージョン 1.41 +- libjpeg-turbo: バージョン 2.1.4 +- libmnl: バージョン 1.0.5 +- libnetfilter\_conntrack: バージョン 1.0.9 +- libnfnetlink: バージョン 1.0.2 +- libnftnl: バージョン 1.2.3 +- libnl3: バージョン 3.7.0 +- libpng: バージョン 1.6.38 +- libssh: バージョン 0.10.4 +- libtasn1: バージョン 4.19.0 +- libtirpc: バージョン 1.3.3 +- liburcu: バージョン 0.13.1 +- libusb: バージョン 1.0.26 +- libwebp: バージョン 1.2.4 +- libxml2: バージョン 2.9.14 +- libxslt: バージョン 1.1.36 +- libzip: バージョン 1.9.2 +- logrotate: バージョン 3.20.1 +- lsof: バージョン 4.95.0 +- lzip: バージョン 1.23 +- mc: バージョン 4.8.28 +- mcelog: バージョン 189 +- nano: バージョン 6.4 +- nfs-utils: バージョン 2.6.2 +- nghttp2: バージョン 1.49.0 +- nginx: バージョン 1.22.0 +- ntfs-3g: バージョン 2022.5.17 +- ntp: バージョン 4.2.8p15 +- oniguruma: バージョン 6.9.8 +- openssh: バージョン 9.0p1 +- openssl: バージョン 1.1.1q (CVE-2022-1292 CVE-2022-2097 CVE-2022-2274) +- openssl-solibs: バージョン 1.1.1q (CVE-2022-1292) +- p11-kit: バージョン 0.24.1 +- pciutils: バージョン 3.8.0 +- pcre2: バージョン 10.40 +- perl: バージョン 5.36.0 +- php: バージョン 7.4.30 (CVE-2022-31625 CVE-2022-31626) +- pkgtools: バージョン 15.1 +- rpcbind: バージョン 1.2.6 +- rsync: バージョン 3.2.6 +- samba: バージョン 4.17.0 (CVE-2022-2031 CVE-2022-32744 CVE-2022-32745 CVE-2022-32746 CVE-2022-32742) +- sqlite: バージョン 3.39.3 +- sudo: バージョン 1.9.11p3 +- sysfsutils: バージョン 2.1.1 +- sysstat: バージョン 12.6.0 +- sysvinit-scripts: バージョン 15.1 +- talloc: バージョン 2.3.4 +- tar: バージョン 1.34 +- tevent: バージョン 0.13.0 +- tree: バージョン 2.0.2 +- util-linux: バージョン 2.38.1 +- wayland: バージョン 1.21.0 +- wget: バージョン 1.21.3 +- xfsprogs: バージョン 5.18.0 +- xz: バージョン 5.2.6 +- zlib: バージョン 1.2.12 + +["WireGuard" と "WireGuard" ロゴは Jason A. Donenfeld の登録商標です。](https://www.wireguard.com/) + +## パッチ + +[Unraid Patch plugin](https://forums.unraid.net/topic/185560-unraid-patch-plugin/) をインストールしている場合は、_**Tools → Unraid Patch**_ に移動して以下のパッチ / ホットフィックスを取得してください: + +- セキュリティ更新の一部。詳細は [このブログ記事](https://unraid.net/blog/cvd) を参照してください。追加のセキュリティ更新のため、最新の安定版へのアップグレードを推奨します。 From 238619c5ea8eb0f57a9bade2d1118d4da403849a Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:26:53 -0400 Subject: [PATCH 099/437] New translations 6.11.1.md (Japanese) --- .../current/unraid-os/release-notes/6.11.1.md | 93 +++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.11.1.md diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.11.1.md b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.11.1.md new file mode 100644 index 00000000000..7856705a47c --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.11.1.md @@ -0,0 +1,93 @@ +## バージョン 6.11.1 2022-10-06 + +### 改善 + +qemu と libvirt の両方を最新バージョンに更新しました: + +- ppc、riscv32/riscv64、aarch64 のサポートを追加しました。 + +docker を v20.10.18 に更新し、ネットワーク機能を改善しました: + +- DHCP を使用している場合は、システム起動時に処理を続行する前に IPv4 の割り当てを待機します。これにより、ホストからカスタムネットワークへのアクセスが有効になっている場合の起動時レースコンディションの可能性を回避できます。 +- docker サービスの開始時にユーザー定義ネットワークを再接続できるようにしました。これで、定義済みのすべてのネットワークは自動的に再接続されます。 + +VM Manager の改善: + +- Unraid ホスト共有を VM にマッピングするために Virtiofs を使用するオプションを実装しました。 +- Virtual Machines 向けの Spice HTML クライアントを追加しました(実験的)。 + +### 主なバグ修正 + +- Dashboard などの特定のページを開くと、USB Flash 起動デバイスへの書き込みが不要に発生する問題を修正しました。 + +- WG トンネルがシステム起動時に自動起動されていない場合に、docker コンテナがインターネットにアクセスできてしまう問題を修正しました。**ユーザーは WG 設定を再生成することを推奨します。** これは、たとえばフィールドをクリックして値を変更し、その後元に戻して Apply ボタンを有効化し、最後に Apply をクリックすることで実行できます。 + +- 特定のブラウザーやデバイスで空のポップアップウィンドウが表示される問題を修正しました。 + +- 受信 SMB 接続に対する「NTLMv1 認証」を復元しました。 + +## Unraid OS 6.11.0 との差分変更ログ + +#### ベースディストリビューション + +- acpid: バージョン 2.0.34 +- bash: バージョン 5.2.000 +- bind: バージョン 9.18.7 +- ca-certificates: バージョン 20220922 +- dbus: バージョン 1.14.2 +- dnsmasq: バージョン 2.87 +- docker: バージョン 20.10.18 (CVE-2022-27664 CVE-2022-32190 CVE-2022-36109) +- git: バージョン 2.38.0 +- glib2: バージョン 2.72.4 +- glibc-zoneinfo: バージョン 2022d +- gnutls: バージョン 3.7.8 +- harfbuzz: バージョン 5.2.0 +- intel-microcode: バージョン 20220809 +- libXtst: バージョン 1.2.4 +- libXxf86vm: バージョン 1.1.5 +- libffi: バージョン 3.4.3 +- libvirt: バージョン 8.7.0 +- libvirt-php: バージョン 0.5.6 +- lsof: バージョン 4.96.3 +- nghttp2: バージョン 1.50.0 +- pango: バージョン 1.50.11 +- qemu: バージョン 7.1.0(ppc、riscv32/64 サポートを追加し、arm を aarch64 に置き換えてビルド) +- sqlite: バージョン 3.39.4 +- xterm: バージョン 373 +- xz: バージョン 5.2.7 + +#### Linux カーネル + +- バージョン 5.19.14 +- CONFIG\_DRM\_MGAG200: Matrox G200 +- CONFIG\_X86\_SGX: Software Guard eXtensions (SGX) +- CONFIG\_X86\_SGX\_KVM: Software Guard eXtensions (SGX) 仮想化 +- CONFIG\_CRYPTO\_ZSTD: Zstd 圧縮アルゴリズム +- md/unraid: バージョン 2.9.25 +- patch: EDID の「すべて 0 のブロック」と「ヘッダーが破損しています」という通知を抑制 +- patch: ユーザーから報告された非準拠デバイス向けの NVMe の quirks を追加 + +#### 管理 + +- WebGUI: VM Manager: GUI オプションを更新 + - 9P と Virtiofs を含める + - Windows 向けの 9P オプションを削除 + - Virtiofs と Windows を Linux に加えて使用する場合の XML を更新 + - VM Share の GUI オプションを更新 +- WebGUI: 修正: VM ページでの不正確なフィードバック表示 +- WebGUI: Dashboard: グラフデータを cookie ではなくファイルに保存 +- WebGUI: OS をダウングレードする前に診断情報の提供をユーザーに求める +- WebGUI: VNC に加えて Spice HTML クライアントを追加 +- WebGUI: Windows スタイルの設定ファイルの処理を改善 +- WebGUI: WireGuard: ルーティングで明示的なインターフェース名を追加 +- WebGUI: SWAL: ウィンドウを閉じる際に nchan を停止するため、「esc」ボタンをインターセプト +- WebGUI: nchan: コマンド実行を遅延 + - これにより、特定のブラウザーやデバイスで空のポップアップウィンドウが発生するのを防ぎます + +["WireGuard" と "WireGuard" ロゴは Jason A. Donenfeld の登録商標です。](https://www.wireguard.com/) + +## パッチ + +[Unraid Patch plugin](https://forums.unraid.net/topic/185560-unraid-patch-plugin/) をインストールしている場合は、_**Tools → Unraid Patch**_ に移動して以下のパッチ / ホットフィックスを取得してください: + +- セキュリティ更新の一部。詳細は [このブログ記事](https://unraid.net/blog/cvd) を参照してください。追加のセキュリティ更新のため、最新の安定版へのアップグレードを推奨します。 From dc597cac5432c3e9faa24c3cc2ad72bc7792083e Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:26:54 -0400 Subject: [PATCH 100/437] New translations 6.11.2.md (Japanese) --- .../current/unraid-os/release-notes/6.11.2.md | 110 ++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.11.2.md diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.11.2.md b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.11.2.md new file mode 100644 index 00000000000..9690ce9f23c --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.11.2.md @@ -0,0 +1,110 @@ +## バージョン 6.11.2 2022-11-04 + +このリリースはバグ修正と細かな改善に重点を置いています。Samba には重要なセキュリティ緩和策が含まれているため、すべてのユーザーに更新を推奨します。 + +### VMマネージャー + +物理 USB デバイスをパススルーして VM を起動する場合、新しい設定 **Enable USB boot** があります。これを **Yes** に設定する必要があります。これは、最新の OVMF コンポーネントで機能変更があったためです。 + +変更: + +- USB と USB Boot の起動順序を追加します。'boot order' フィールドを使用すると、VM はパススルーされた NVMe コントローラー/デバイスから起動できます。 +- virtiofs/9p の Unraid 共有マッピングを追加します。 +- CD ホットプラグの不具合を修正。 +- テンプレート内でのホットプラグを修正。 +- パススルーからカスタム CPU への変更を修正。 +- ゲストエージェントのテストにより、libvirt ログ内のエラーメッセージを抑制し、ゲストが実行中でない場合、またはゲストエージェントがインストールされていない場合のテキストを表示します。 +- HyperV 設定を変更できない問題を修正。 +- 'start with console' オプションを追加します。 +- QEMU 用 OVMF: バージョン edk2-stable202208 + +### WireGuard + +変更: + +- 既定の network.cfg 設定を使用している場合のトンネル設定の問題を修正しました。 +- ルート設定の টাইपोを修正。 + +### プラグインマネージャー + +変更: + +- CDN URL からプラグインファイルを読み取れない場合は、非 CDN URL にフォールバックします。 +- プラグインファイルは '.plg' で終わる必要があることを強制します。 +- プラグインのダウンロードに失敗したときに post hook が失敗する問題を修正。 +- wget のパラメータを調整して、無期限にハングしないようにします。 + +### スケジューラー + +スケジュールされたパリティチェックでは、既定のモードを Non-correcting に変更します。パリティチェック中にディスクの問題が発生した場合は、既定を non-correct にしておく方が安全です。同期エラーが検出された場合は、ユーザーがログを分析し、適切に対処できます。 + +### その他の WebGUI + +変更: + +- DashStats: 数値が xxx.x の場合、受信ネットワーク統計の表示位置がずれています。 +- Docker: Docker カスタムネットワーク設定へのヘルプの追加/明確化。 +- Docker: 孤立したイメージでの表示の乱れを修正 +- SMART 属性: メッセージを「属性を読み取れません」から「属性は利用できません」に明確化 +- ShareEdit/ShareList: 共有プールが定義済みのプールではない場合、プール未定義を表示 + +### Linux カーネル + +- バージョン 5.19.17 +- patch: ユーザーから報告された非準拠デバイス向けの追加の NVMe BOGUS_NID クイークス +- サウンドサポート: + - CONFIG_SOUND: サウンドカードのサポート + - CONFIG_SND: Advanced Linux Sound Architecture + - CONFIG_SND_OSSEMUL: OSS エミュレーションを有効にする + - CONFIG_SND_PCM_OSS: OSS PCM (デジタルオーディオ) API + - CONFIG_SND_HRTIMER: HR タイマーバックエンドのサポート + - CONFIG_SND_SUPPORT_OLD_API: 古い ALSA API をサポート + - CONFIG_SND_PROC_FS: Sound Proc FS サポート +- CONFIG_IPV6: IPv6 プロトコル(モジュールから組み込みへ変更) + +### ベースディストリビューション + +CVE 緩和策を含むパッケージ更新: + +- bash: バージョン 5.2.002 +- bind: バージョン 9.18.8 (CVE-2022-38178 CVE-2022-38178 CVE-2022-3080 CVE-2022-2795) +- btrfs-progs: バージョン 6.0 +- curl: バージョン 7.86.0 +- dbus: バージョン 1.14.4 +- freeglut: バージョン 3.4.0 +- git: バージョン 2.38.1 (CVE-2022-39253 CVE-2022-39260) +- glibc-zoneinfo: バージョン 2022e +- harfbuzz: バージョン 5.3.1 +- icu4c: バージョン 72.1 +- iproute2: バージョン 6.0.0 +- kernel-firmware: バージョン 20221017_48407ff +- less: バージョン 608 +- libXmu: バージョン 1.1.4 +- libXrender: バージョン 0.9.11 +- libedit: バージョン 20221009_3.1 +- libffi: バージョン 3.4.4 +- libgpg-error: バージョン 1.46 +- libpciaccess: バージョン 0.17 +- libunistring: バージョン 1.1 +- libxkbfile: バージョン 1.1.1 +- libxshmfence: バージョン 1.3.1 +- lsof: バージョン 4.96.4 +- nginx: バージョン 1.22.1 +- openssh: バージョン 9.1p1 +- php: バージョン 7.4.32 +- pixman: バージョン 0.42.0 +- rsync: バージョン 3.2.7 +- samba: バージョン 4.17.2 (CVE-2021-20251 CVE-2022-3437 CVE-2022-3592) +- sudo: バージョン 1.9.12 +- tree: バージョン 2.0.4 +- xkeyboard-config: バージョン 2.37 +- xterm: バージョン 375 +- zlib: バージョン 1.2.13 (CVE-2022-37434) + +["WireGuard" と "WireGuard" ロゴは Jason A. Donenfeld の登録商標です。](https://www.wireguard.com/) + +## パッチ + +[Unraid Patch plugin](https://forums.unraid.net/topic/185560-unraid-patch-plugin/) をインストールしている場合は、_**Tools → Unraid Patch**_ に移動して以下のパッチ / ホットフィックスを取得してください: + +- セキュリティ更新の一部。詳細は [このブログ記事](https://unraid.net/blog/cvd) を参照してください。追加のセキュリティ更新のため、最新の安定版へのアップグレードを推奨します。 From ec00817183499f950a89b2318a89b5b5513f641c Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:26:55 -0400 Subject: [PATCH 101/437] New translations 6.11.3.md (Japanese) --- .../current/unraid-os/release-notes/6.11.3.md | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.11.3.md diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.11.3.md b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.11.3.md new file mode 100644 index 00000000000..40ec9b567a3 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.11.3.md @@ -0,0 +1,36 @@ +## バージョン 6.11.3 2022-11-08 + +このリリースは、不具合修正と小規模な改善に重点を置いています。特に、2TBを超えるデバイスのフォーマットを妨げる不具合のため、ベースライブラリをロールバックする必要があります。 + +### 管理 + +- 2TBを超えるデバイスのフォーマットに使用される 'sgdisk' の不具合を回避するため、'libpopt.so.0.0.1' をロールバックしました。 +- 'root' ユーザーの説明設定が再起動後に保持されない問題を修正しました。 +- 情報ウィンドウが空のまま開くことがある問題を修正しました。 + +### VMマネージャー + +- USB Boot の編集時に正しい値を設定し、Share Selection を修正しました。 +- NIC の起動順序を追加しました。 + +### ベースディストリビューション + +- gptfdisk: バージョン 1.0.8(バージョン 1.0.9 からロールバック) +- libXext: バージョン 1.3.5 +- libXinerama: バージョン 1.1.5 +- libdrm: バージョン 2.4.114 +- libedit: バージョン 20221030\_3.1 +- mcelog: バージョン 190 +- ntfs-3g: バージョン 2022.10.3 +- openssl: バージョン 1.1.1s +- openssl-solibs: バージョン 1.1.1s +- pixman: バージョン 0.42.2 +- sessreg: バージョン 1.1.3 +- sudo: バージョン 1.9.12p1 +- xsetroot: バージョン 1.1.3 + +## パッチ + +[Unraid Patch plugin](https://forums.unraid.net/topic/185560-unraid-patch-plugin/) をインストールしている場合は、_**Tools → Unraid Patch**_ に移動して以下のパッチ / ホットフィックスを取得してください: + +- セキュリティ更新の一部。詳細は [このブログ記事](https://unraid.net/blog/cvd) を参照してください。追加のセキュリティ更新のため、最新の安定版へのアップグレードを推奨します。 From 473e48559e806393bdfb48644cbabc5f7ba164c2 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:26:56 -0400 Subject: [PATCH 102/437] New translations 6.11.4.md (Japanese) --- .../current/unraid-os/release-notes/6.11.4.md | 60 +++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.11.4.md diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.11.4.md b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.11.4.md new file mode 100644 index 00000000000..751cbc8f26c --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.11.4.md @@ -0,0 +1,60 @@ +## バージョン 6.11.4 2022-11-18 + +このリリースはバグ修正と小規模な改善に重点を置いています。 + +### 診断 + +- Diagnostics で共有情報の表示を修正。 + +### Docker + +- docker: バージョン 20.10.21(CVE-2022-39253 CVE-2022-2879 CVE-2022-2880 CVE-2022-41715) +- 修正: 孤立イメージを削除した後の「お待ちください」メッセージ。 +- 新規インストールでは IPVLAN をデフォルトに設定。 + +### Samba + +- samba: バージョン 4.17.3(CVE-2022-42898) +- デフォルトの「最大オープンファイル数」を、現在 40960 に設定されている 'ulimit -n' の値に設定。 + +### VMマネージャー + +- ネットワーク PCI デバイスに起動順序を設定できるようにする。 +- 長い間利用可能だったものの API マニュアルには記載されていなかった libvirt\_domain\_interface\_addresses を使用するよう変更。この関数を使用すると、たとえば "Domain id=4 is tainted: custom-ga-command" のような tainted 警告がログに書き込まれなくなります。 +- VM 名称変更の修正。 + +### その他 + +- Trial キーで array の自動起動を妨げていた問題を修正。 +- パスワードにマルチバイト UTF-8 文字が含まれている場合のエンコーディング問題を修正。 +- Parity History: 日付に曜日を追加。 +- Shares: 修正: 非表示の共有名の作成を許可しない。 +- メインページ: 新しいブラウザーセッションを開いたときにディスク転送統計を再初期化。 +- 管理アクセスページ: SSL のメッセージを改善 +- Firefox: バージョン 107.0.r20221110173214(AppImage) +- すべてのブラウザーセッションが閉じられたときに、不要なバックグラウンドプロセスを停止。 + +### ベースディストリビューション + +- bash: バージョン 5.2.009 +- btrfs-progs: バージョン 6.0.1 +- gdk-pixbuf2: バージョン 2.42.10 +- glibc-zoneinfo: バージョン 2022f +- intel-microcode: バージョン 20221108 +- libX11: バージョン 1.8.2 +- libnftnl: バージョン 1.2.4 +- nghttp2: バージョン 1.51.0 +- php: バージョン 7.4.33(CVE-2022-31630 CVE-2022-37454) +- sed: バージョン 4.9 +- sysstat: バージョン 12.7.1 +- xkbevd: バージョン 1.1.5 +- xkill: バージョン 1.0.6 +- xlsatoms: バージョン 1.1.4 +- xlsclients: バージョン 1.1.5 +- xz: バージョン 5.2.8 + +## パッチ + +[Unraid Patch plugin](https://forums.unraid.net/topic/185560-unraid-patch-plugin/) をインストールしている場合は、_**Tools → Unraid Patch**_ に移動して以下のパッチ / ホットフィックスを取得してください: + +- セキュリティ更新の一部。詳細は [このブログ記事](https://unraid.net/blog/cvd) を参照してください。追加のセキュリティ更新のため、最新の安定版へのアップグレードを推奨します。 From c0cbdf406e01e2230195965d60f43397474b4470 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:26:58 -0400 Subject: [PATCH 103/437] New translations 6.11.5.md (Japanese) --- .../current/unraid-os/release-notes/6.11.5.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.11.5.md diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.11.5.md b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.11.5.md new file mode 100644 index 00000000000..9ea84afb1d0 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.11.5.md @@ -0,0 +1,13 @@ +## バージョン 6.11.5 2022-11-20 + +このリリースでは、誤ったファイルを変更してしまった変更を元に戻しています。その結果、カスタム Docker ネットワークタイプの「macvlan」を選択できなくなっていました。新規インストールでは、今後はデフォルトで「ipvlan」が選択されます。 + +### Docker + +- 修正: IPVLAN をデフォルトにするのは新規インストールのみとする。 + +## パッチ + +[Unraid Patch plugin](https://forums.unraid.net/topic/185560-unraid-patch-plugin/) をインストールしている場合は、_**Tools → Unraid Patch**_ に移動して以下のパッチ / ホットフィックスを取得してください: + +- セキュリティ更新の一部。詳細は [このブログ記事](https://unraid.net/blog/cvd) を参照してください。追加のセキュリティ更新のため、最新の安定版へのアップグレードを推奨します。 From a0679dca4f61c42742a975cdf38c082f47b4fbdb Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:26:59 -0400 Subject: [PATCH 104/437] New translations 6.12.0.md (Japanese) --- .../current/unraid-os/release-notes/6.12.0.md | 563 ++++++++++++++++++ 1 file changed, 563 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.12.0.md diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.12.0.md b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.12.0.md new file mode 100644 index 00000000000..ebc1ca9f2d5 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.12.0.md @@ -0,0 +1,563 @@ +# バージョン 6.12.0 2023-06-14 + +## アップグレードに関する注意事項 + +起動時に、`config/vfio-pci.cfg` で指定された PCI デバイスがすべて正しくバインドされない場合、VM の自動起動は無効になります。個別の VM は引き続き起動できます。これは、カーネル更新または物理ハードウェアの変更によりハードウェア PCI ID が変化した場合に、Unraid ホストのクラッシュを防ぐためです。VM の自動起動を復元するには、`/var/log/vfio-pci-errors` を確認し、問題の PCI ID を `config/vfio-pci.cfg` ファイルから削除して再起動してください。 + +6.12 から 6.11.5 以前へ戻す場合、ダウングレード後にすべての Docker コンテナを強制更新し、手動で起動する必要があります。これは 6.12.0-rc1 以降で基盤となる cgroup v2 の変更があるため必要です。 + +Linux の [Multi-Gen LRU](https://lwn.net/Articles/856931/) は比較的新しい機能で、現在は含まれていますが既定では有効になっていません。`config/go` ファイルに次の行を追加すると有効化できます: + +`echo y > /sys/kernel/mm/lru_gen/enabled` + +6.12 から 6.11.5 以前へ戻す場合は、その行を削除する必要がある場合があります。 + +6.12.0-beta5 で作成した zpool がある場合は、それらのプールを消去して再作成してください。 + +### 非推奨/壊れているプラグイン + +Unraid 6.12 と互換性がないことが判明しているプラグインがいくつかあり、起動時にインストールされません。影響を受ける各プラグインについて通知が表示され、**Plugins/Plugin File Install Errors** に移動して一覧を確認できます。 + +- disklocation-master バージョン 2022.06.18(olehj による `Disk Location`、ダッシュボードを壊します) + - OS をアップグレードする前にこのプラグインを更新してください +- plexstreams バージョン 2022.08.31(dorgan による `Plex Streams`、ダッシュボードを壊します) + - OS をアップグレードする前にこのプラグインを更新してください +- corsairpsu バージョン 2021.10.05(Fma965 による `Corsair PSU Statistics`、ダッシュボードを壊します) + - OS をアップグレードする前にこのプラグインを更新してください +- gpustat バージョン 2022.11.30a(b3rs3rk による `GPU Statistics`、ダッシュボードを壊します) + - SimonF による `GPU Statistics` に切り替えてください +- ipmi バージョン 2021.01.08(dmacias72 による `IPMI Tools`、ダッシュボードを壊します) + - SimonF による `IPMI Tools` に切り替えてください +- nut バージョン 2022.03.20(dmacias72 による `NUT - Network UPS Tools`、ダッシュボードを壊します) + - SimonF による `NUT - Network UPS Tools` に切り替えてください +- NerdPack バージョン 2021.08.11(dmacias72 による `Nerd Tools`) + - UnRAIDES による `NerdTools` に切り替えてください +- upnp-monitor バージョン 2020.01.04c(ljm42 による `UPnP Monitor`、PHP 8 非対応) +- ZFS-companion バージョン 2021.08.24(campusantu による `ZFS-Companion`、ダッシュボードを壊します) + +影響を受けるプラグインの一部は別の開発者に引き継がれています。**Apps** ページで代替プラグインを検索することをおすすめします。プラグイン固有の質問は、そのプラグインのサポートスレッドでお願いします。 + +### 既知の問題 + +#### i915 ドライバに関連するクラッシュ + +注: これは Unraid [6.12.6](6.12.6.md#bug-fixes-and-improvements) 以降ではもはや問題ではありません。 + +11世代 Intel Rocket Lake システムの一部で、i915 iGPU に関連するクラッシュが発生することを確認しています。Rocket Lake システムが Unraid 6.12.0-6.12.5 でクラッシュする場合は、Web ターミナルを開いて次を入力し、その後再起動してください: + +`echo "options i915 enable_dc=0" >> /boot/config/modprobe.d/i915.conf` + +このオプションを設定すると消費電力が増える場合がありますが、この GPU でこの問題が解決する可能性があります。 + +#### macvlan に関連する call trace + +macvlan に関連する call trace が発生している場合、まず _**Settings > Docker**_ に移動し、詳細表示に切り替えて、**Docker custom network type** を **macvlan** から **ipvlan** に変更することをおすすめします。これは Unraid がバージョン 6.11.5 以降で採用している既定の設定で、多くのシステムで動作するはずです。 + +ただし、一部のユーザーからは、特定のルーター(Fritzbox)でポート転送に問題があることや、ipvlan モードで高度なネットワーク管理ツール(Ubiquity)の機能が一部制限されることが報告されています。 + +6.12.0 では、[2 NIC の Docker 分割方式](https://forums.unraid.net/topic/137048-guide-how-to-solve-macvlan-and-ipvlan-issues-with-containers-on-a-custom-network/) が有効な回避策ですが、より良い解決策を備えた Unraid [6.12.4](6.12.4.md) へのアップグレードを推奨します。 + +#### Plex + +しばらくすると Docker コンテナの起動に問題が発生し、Plex を使用している場合は、Plex の Docker コンテナ設定を開き、詳細表示に切り替えて、Extra Params に `--no-healthcheck` を追加してください + +### ロールバック + +[アップグレードに関する注意事項](#upgrade-notes) の下のコメントを参照してください + +## ZFS プール + +今回のリリースでは、ユーザー定義のプール内に ZFS ファイルシステムを作成できるようになりました。unRAID 配列内の任意のデータデバイスを、単一デバイスの ZFS ファイルシステムでフォーマットすることもできます。ZFS の概要については、[この記事](https://arstechnica.com/information-technology/2020/05/zfs-101-understanding-zfs-storage-and-performance/) を参照してください。 + +完全な ZFS 実装は 2 つの Unraid OS リリースに分けて提供されます。このリリースでの初期サポートには以下が含まれます: + +- raid0、mirror、raidz1、raidz2、raidz3 の root プロファイルをサポートします。mirror vdev では最大 4-way mirror。複数の vdev グループ。 +- 単一デバイスの削除をサポートします: デバイスがまだサーバー内に存在する場合、パーティションテーブルの消去には 'wipefs' が使用されます。 +- 欠落した単一デバイスを、同じサイズ以上の新しいデバイスに置き換えることをサポートします。 +- ZFS プールのスケジュール済みトリミングをサポートします。 +- プール名の変更をサポートします。 +- プール名は小文字で始める必要があり、小文字、数字、アンダースコア、ダッシュのみを含めることができます。プール名は数字で終わってはいけません。 +- root 以外の vdev はこのリリースでは構成できませんが、インポートは可能です。注: インポートされたハイブリッドプールは、このリリースでは拡張できない場合があります。 +- 他のシステムで作成されたプールは、プールの作成方法によってインポートできる場合とできない場合があります。将来の更新で、どのシステムからでもプールをインポートできるようになります。 + +ZFS プールには 3 つの変数があります: + +- profile - ルートのデータ構成: raid0、mirror(最大 4-way)、raidz1、raidz2、raidz3 +- width - 各 root vdev あたりのデバイス数 +- groups - プール内の root vdev の数 + +ZFS プール作成時、WebGUI はプールに割り当てられたデバイス数に基づいて、すべてのトポロジー オプションを表示します。 + +root の単一 vdev mirror に対する特別な扱い: + +- 単一デバイスの ZFS プールは、1 回の操作で最大 3 台の追加デバイスを追加することで、複数デバイスの mirror に変換できます。 +- 2 デバイスの mirror は 1 台のデバイスを追加することで 3 デバイスに増やせます。同様に、3 デバイスの mirror は 1 台のデバイスを追加することで 4 デバイス mirror に増やせます。 + +追加の root vdev を追加するには、同時にプールへ 'width' 数の新しいデバイスを割り当てる必要があります。新しい vdev は既存の vdev と同じ 'profile' で作成されます。vdev の追加/拡張に関するさらなる柔軟性は、将来の更新で提供されます。 + +**steini84** プラグインで作成されたプールは、次のようにインポートできます。まず、インポートするプール内のデバイス数に対応するスロット数で新しいプールを作成します。次に、すべてのデバイスを新しいプールに割り当てます。配列の Start 時にプールは認識されるはずですが、特定の zpool トポロジーは認識されない場合があります(報告してください)。このリリースでインポートできるのはパーティション #1 を使用しているプールのみです。例として、この `lsblk` の出力: + +```bash +# lsblk +NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS +sdb 8:16 0 7.3T 0 disk +├─sdb1 8:17 0 2G 0 part +└─sdb2 8:18 0 7.3T 0 part +``` + +は、ディスクの 2 番目のパーティション (`sdb2`) がデータに使用されており、インポート**できない**ことを示します。 + +混在したトポロジーはサポートされません。たとえば、mirror root vdev と raidz root vdev の両方を持つプールは認識されません。 + +Autotrim は、**on** または **off** に設定できます(unRAID 配列内の単一デバイス ZFS ボリュームを除く)。 + +Compression は **on** または **off** に設定でき、**on** では **lz4** が選択されます。将来の更新で他のアルゴリズム/レベルも指定できるようになります。 + +新しい ZFS プールを作成する際に **zfs - encrypted** を選択できます。これは他の暗号化ボリュームと同様に、LUKS を介したデバイスレベルの暗号化を適用します。現時点では ZFS ネイティブ暗号化はサポートされていません。 + +システム起動時に、/etc/modprobe.d/zfs.conf ファイルが自動生成され、ZFS ARC が搭載メモリの 1/8 に制限されます。必要に応じて、カスタムの 'config/modprobe.d/zfs.conf' ファイルを作成することで上書きできます。将来の更新では、メモリ圧迫に応じた自動調整を含む ARC の WebGUI からの設定機能が追加される予定です。たとえば VM の起動/停止などです。 + +ZFS プールの最上位ユーザー共有は、通常のディレクトリではなく dataset として作成されます。 + +## 共有ストレージの概念変更 + +今回のリリースでは、共有へのストレージ割り当て方法に概念変更があります。メインストレージが unRAID 配列で、任意の "Cache" を持つという旧来の概念は、多くの新規ユーザーにとってわかりにくいものでした。特に _cache_ は ZFS では特定の意味を持つためです。 + +また、以下で説明するように、_exclusive share_ の概念を導入しました。これは、すべてのデータが単一の名前付きプールに存在する共有のことです。この場合、FUSE ベースの User Share ファイルシステムは、プール内の実際の共有ディレクトリへの **symlink** を返します。そのため、データ転送を含む共有内のすべての操作は FUSE をバイパスし、パフォーマンスが向上します。この機能は主に、高速ネットワーク経由でアクセスされる大規模で高速な ZFS プールの I/O を最大化することを目的としています + +これはフロントエンド側の変更のみです。既存の共有はアップグレード時に自動的にこの新しい構造で表示され、以前のバージョンに戻すと自動的に元の形式に戻ります。 + +共有のストレージ オプションの設定は、次の 2 つの入力で指定します: + +- プライマリ ストレージ +- セカンダリーストレージ + +プライマリ ストレージは、**新規** のファイル/フォルダーが作成される場所です。プライマリ ストレージが最小空き容量の設定を下回っている場合、新しいファイルとフォルダーは、設定されていればセカンダリ ストレージに作成されます。 + +各入力にはドロップダウンがあり、設定ルールに応じて "array"、"none"、および各名前付きプールが選択肢として表示されます: + +プライマリ ストレージのドロップダウンについて: + +- "none" オプションは表示されません。つまり、プライマリ ストレージを選択する必要があります +- 任意の名前付きプールを選択できます +- "Array" を選択できます(unRAID 配列を意味します) + +セカンダリ ストレージのドロップダウンについて: + +- "none" オプションが含まれます。つまり、セカンダリ ストレージは任意です +- プライマリ ストレージがプール名の場合、選択肢は "none" と "Array" のみです。将来的にはここに他のプールも表示される予定です。 +- プライマリ ストレージが "Array" の場合、選択肢として表示されるのは "none" のみです + +プライマリまたはセカンダリ ストレージのいずれかに "Array" が選択されると、追加設定が表示されます: + +- アロケーションメソッド +- 含めるディスク +- 除外されたディスク +- スプリットレベル + +プライマリまたはセカンダリ ストレージのいずれかに _btrfs_ の名前付きプールが選択されると、追加設定が表示されます: + +- コピーオンライトを有効にする + +プライマリまたはセカンダリ ストレージのいずれかに _ZFS_ の名前付きプールが選択された場合、現時点では追加設定はありませんが、将来的には追加される可能性があります。たとえば、共有は ZFS dataset として作成されるため、これを実装する必要がある場合は、親プールとは異なる圧縮設定を持たせることができます。 + +### ムーバーアクション + +共有にセカンダリ ストレージが設定されている場合、"Mover action" 設定が有効になり、ユーザーは mover の転送方向を選択できるようになります: + +- プライマリからセカンダリへ(既定) +- セカンダリからプライマリへ + +### 排他的共有 + +新しい設定 "Settings/Global Share Settings/Permit exclusive shares" [Yes/No] を追加しました。既定値は No です。Yes に設定され、かつ共有のプライマリ ストレージがプールで、セカンダリ ストレージが "none" に設定されている場合、/mnt/user/_share_ にプールの共有ディレクトリを直接指す symlink が作成されます。(共有が他のどのボリュームにも存在しないことを確認する追加チェックも行われます。) + +新しいステータス フラグ 'Exclusive access' があり、symlink が存在する場合は 'Yes'、それ以外は 'No' に設定されます。排他的共有は Shares ページにも表示されます。 + +symlink を設定する利点は、I/O が FUSE ベースの user share ファイルシステム (shfs) をバイパスするため、パフォーマンスを大幅に向上できることです。 + +いくつかの制限があります: + +- 排他的共有で新しいファイルを作成する際、共有の最小空き容量とプールの最小空き容量の両方の設定は無視されます。 +- 共有が NFS エクスポートされている場合、その共有を排他的にすることはできません。つまり、syslink は作成されません。これは、symlink がサーバーではなく NFS クライアント側で解決されるためです。この制限は将来の更新で解除できることを期待しています。 + +### クリーンアップ ボタン + +Shares ページに表示される CLEAN UP ボタンは、有効になっている場合、存在しない共有の config/share/_share_.cfg ファイルがあることを示します。このボタンをクリックすると、それらのファイルが削除されます。 + +## その他の改善 + +### btrfs + +プールで使用する場合、Autotrim は **on** または **off** に設定できます。 + +Compression は **on** または **off** に設定でき、**on** では **zstd** が選択されます。将来の更新で他のアルゴリズム/レベルも指定できるようになります。 + +### xfs + +単一スロット プールとして使用する場合、Autotrim は **on** または **off** に設定できます。 + +### Docker + +**Docker data-root** を ZFS ストレージ プール内のディレクトリに配置するよう設定できます。この場合、Docker は 'zfs' ストレージ ドライバを使用します。このドライバは各イメージ層ごとに個別の dataset を作成します。そのため、**directory** を使用して Docker を設定する際は、以下をおすすめします: + +まず、次のように設定された **docker** ユーザー共有を作成します: + +- 共有名: **docker** +- プライマリ ストレージ: _**ZFS プール名**_ +- セカンダリ ストレージ: **none** + +次に、**Docker settings** ページで: + +- docker を有効にする: **Yes** +- Docker data-root: **directory** +- Docker ディレクトリ: **/mnt/user/docker** + +docker の永続状態を削除する必要がある場合は、まず Docker settings ページを開き、**Enable docker** を **No** に設定して **Apply** をクリックします。docker が停止したら、**Delete directory** チェックボックスをオンにして **Delete** をクリックします。これにより、さまざまなファイルやディレクトリだけでなく、dataset として保存されているすべてのレイヤーも削除されます。 + +Docker を再度有効にする前に、必ず上記のとおり **docker** 共有を先に再作成してください。 + +#### その他の Docker の変更 + +- CreateDocker: GHCR やその他の新しいコンテナ レジストリがますます普及しているため、ラベル **Docker Hub URL** を **Registry URL** に変更しました。 +- 停止タイムアウトのユーザー設定を尊重します。 +- OCI 形式のイメージを受け入れます。 +- コンテナ一覧で readmore-js を無効にするオプションを追加しました。 +- 修正: 選択されている場合、Docker コンテナのコンソールは bash を使用しません。 +- docker の正常なシャットダウン検出の問題を修正しました。 +- rc.docker: dockerd の起動時間を 15 秒ではなく 30 秒にします。 + +### VMマネージャー + +仮想コンソールでコピー/貼り付けを有効にする場合、すでにインストールされている QEMU エージェントに加えて、クライアント側に追加ソフトウェアをインストールする必要があります。Windows と Linux の両方向けの spice-vdagent の場所は[こちら](https://www.spice-space.org/download.html)です。コピー/貼り付け機能は web spice viewer では動作しないため、virt-viewer を使用する必要があります。 + +#### その他の VM の変更 + +- vdisk に Serial オプションを追加しました。 +- 標準外の GUI ポートが定義されているユーザー向けの Spice のバグ修正です。 +- QEMU 用 OVMF: stable202302 版 +- バスのテキストを修正しました。 +- 仮想コンソールでコピー/貼り付けオプションを有効にします。 +- Virtiofs の Memory Backup 処理を更新しました。 +- VM が存在しないときにロックアップする問題を修正しました。 +- rtl8139 ネットワークモデルのサポートを追加しました。 +- 翻訳漏れを修正しました。 +- 並べ替え可能な項目にロック/ロック解除を追加しました。 +- コピー/貼り付けが有効な場合の Spice Mouse の修正です。 +- PCI デバイスが見つからない、または割り当てが誤っているように見えても、ページが読み込まれるようにします。 +- リモート ビューアーと Web コンソールのオプションを選択できるようにします。 +- .vv ファイルをダウンロードしてリモート ビューアーを起動するオプション。ダウンロード時にブラウザーが .vv ファイルを開くように設定されている場合。 +- リモート ビューアー コンソールのサポートを追加しました。 +- Remove-lock-posix='on'-flock='on'/- +- 手動で配列を Start した後、Autostart とマークされた VM が起動しない問題を修正しました。 +- 最大メモリが 1TB を超える場合の修正です。 +- ユーザーが vcpu のピン留めを削除した場合の VM ページ読み込みの問題を修正しました。 +- ovmf-stable: バージョン 202305(ビルド 3)。 +- 通知の件名を修正しました。 + +### ダッシュボード + +WebGUI のダッシュボードは再設計され、要素(タイル)を上下および列間で移動できるようになりました。これにより、ユーザーはタイルを好きなように整理できます。この機能を有効にするには、メニューバー上の小さな **lock** アイコンをクリックする必要があります: + +- 緑は通常状態(ページはロックされています) +- 赤は注意状態(ページはロック解除されています) + +注: **lock** アイコンは Docker ページと VM ページにも表示され、起動順序を並べ替えるにはクリックする必要があります。 + +### ネットワークの改善 + +新しいセクションを追加しました: Settings/Network Settings/Interface Extra + +この新しいセクションでは、Unraid サービスで使用するインターフェースをユーザーが定義できます。既定では、IP アドレスを持つ通常のすべてのインターフェースが待受インターフェースの一覧に含まれます。 + +Unraid の組み込み WireGuard 機能のトンネルは、WireGuard トンネルが有効化または無効化されると、自動的に一覧に追加または削除されます。ユーザーはこれらのトンネルを待受インターフェースの一覧から除外できます。 + +Tailscale または Zerotier のインターフェースを使用するには、通信のインターフェース名または IP アドレスを、含める待受インターフェースの一覧に追加する必要があります。**重要:** インターフェースを一覧に追加する前に、Tailscale または Zerotier のコンテナが実行中であることが必須です。詳細については、[この Community フォーラム投稿](https://forums.unraid.net/bug-reports/prereleases/unraid-os-version-6120-rc7-available-r2427/?tab=comments#comment-24235) を参照してください。 + +#### その他のネットワークの変更 + +- カスタム インターフェースのサポート(例: Tailscale VPN トンネルまたは zerotier L2 トンネル) +- create\_network\_ini - ネットワーク変更完了時に smb を再起動 +- rc.inet1 - bridge インターフェースに iptables 処理を追加し、macvlan インターフェースと同様に動作するようにします +- rc.avahidaemon - IP アドレスを持つ通常インターフェースのみにサービスを待機させます。これにはプライマリ インターフェースと ipv4 / ipv6 サポートの設定が含まれます +- rc.docker - ipv4 のみに設定されている場合、docker0 と shim インターフェースの ipv6 link-local アドレスを抑制します +- rc.samba - smb、nmb サービスを IP アドレスを持つ通常インターフェースのみに待機させます。これにはプライマリ インターフェースと ipv4 / ipv6 サポートの設定が含まれます(wsdd2 も対象) +- rc.ssh - IP アドレスを持つ通常インターフェースのみに待機します。これにはプライマリ インターフェースと ipv4 / ipv6 サポートの設定が含まれます +- /etc/resolve.conf が DNS Server を auto/static 間で切り替えると削除されることがある問題を修正しました。 +- 説明フィールドの処理に関するバグを修正しました。 +- 遅い DHCP サーバーからの IP アドレス認識に関する nginx の修正 + +### その他の改善/バグ修正 + +- プールあたりの最大デバイス数を 30 から 60 に増やしました。将来のリリースで上限を完全に撤廃する予定です。 +- webTerminal: 視認性向上のため、'w+o' が設定されているディレクトリ一覧の背景色を変更しました。また、最新の Chrome での問題を軽減するため、レンダラーを webgl から canvas に変更しました。 +- 永続 USB flash の 'config' ディレクトリから ntp drift ファイルの保存/復元を修正しました。 +- 不要な /root/.config/remmina ファイルを削除しました +- Share Edit: 無効な ZFS 名が使用された場合に警告する +- Share Edit: 1 文字の名前を許可する +- Matrix/Synapse 連携のために [Pushbits Agent](https://github.com/pushbits/server) を追加しました。 +- cgroup2 が既定になりました +- ループバック イメージは directio を使ってマウントされなくなりました +- newperms スクリプトは /mnt/ のみで動作するよう制限されました。 +- 既存のパッケージを古いバージョンで置き換えないよう upgradepkg を修正しました。 +- Unraid OS のアップグレード時に、現在の PCI バス/デバイス情報がファイル '/boot/previous/hardware' に保存されます。 +- NFS: UPD transport を有効化 +- emhttp: cache pool (null) の syslog 文字列を修正 +- emhttp: 選択した置換デバイスに対して cache pool のデバイスサイズ表示が誤る問題を修正 +- mover: symlink の不適切な処理を修正 +- mover: 以前のリリースと異なる形式の syslog エントリを記録する問題を修正 +- plugin: エラーメッセージに Run コマンドの戻り値を表示 +- shfs: 上位レベルの隠しディレクトリ('.' で始まる名前)を無視する +- terminal: OpenTerminal: 終了シグナル(強制停止)を変更 +- Unraid OS のアップグレード: 再起動せずに以前のアップグレードがないか確認 +- WebGUI: PHP8 をサポートし、PHP の最大メモリを 128M から 256M に増加 +- WebGUI: ManagementAccess: eth0 に IP がない場合は Provision/Renew/Upgrade ボタンを無効化 +- WebGUI: ManagementAccess: myservers.unraid.net の SSL 証明書と組み合わせた WireGuard のローカル IP アドレスをサポート +- WebGUI: Main と Shares ページの "view" アイコンを左へ移動 +- WebGUI: 閉じたバナーを 1 か月間非表示のままにする +- WebGUI: Dashboard: "select case" のリグレッションエラーを修正 +- WebGUI: Dashboard: 項目を列間で移動可能にする +- WebGUI: Dashboard: カスタム タイル追加用の API +- WebGUI: Dashboard: プロセッサ情報の再配置 +- WebGUI: Dashboard: UPS 情報の再配置 +- WebGUI: Dashboard: メモリ情報の再配置 +- WebGUI: Dashboard: VPN ヘッダーの再配置 +- WebGUI: Dashboard: ヘッダーの再配置 +- WebGUI: モバイル デバイス向けに jqueryUI touch punch を追加 +- WebGUI: 複数回出現する要素の ID を CLASS に変更 +- WebGUI: 白と黒のテーマでヘッダーをスクロール可能にする + - 画面スペースより多くの項目がある場合、ユーザーはそれらをスクロールできるようになりました(以前はこれらの項目は表示されませんでした) +- WebGUI: Dashboard と Docker: 並べ替え可能な項目用のロック ボタンを導入 + - 既定では並べ替え可能な項目はロックされており、モバイル デバイスでページをスクロールできるようになります。要求に応じて項目を並べ替え可能にできます +- WebGUI: Users: タイトルバーにアイコンを追加 +- WebGUI: Tools: 新機能 -> PHP Settings + - PHP 情報を表示 + - エラー報告を設定 + - LOG を開いてエラーをリアルタイムで確認 +- WebGUI: System info: 非アクティブなポートの読み取りを修正 +- WebGUI: Plugin: 実際に実行されるコマンドを含める +- WebGUI: System info: cache の改善 +- WebGUI: System info: メモリの改善 +- WebGUI: DeviceInfo: 消去操作実行中はボタンを無効化 +- WebGUI: Docker: ファイルツリーの修正 +- WebGUI: Dashboard: プールごとの heat alarm 表示を修正 +- WebGUI: Notifications: 動作を改訂 + - 新しい通知を 3 秒後に自動で閉じる + - 閉じた後に通知が再表示される問題を修正 +- WebGUI: DeviceList: オフライン状態で FS タイプを追加 +- WebGUI: Bark 用通知エージェントを追加 +- WebGUI: Main: ディスクがマウントされていないときは browse アイコンを非表示 +- WebGUI: Diagnostics: 追加の btrfs と ZFS 情報を追加 +- WebGUI: Dashboard: ZFS のメモリ使用量を追加 +- WebGUI: Revised New Permissions + - ディスクまたは共有のどちらか一方を選択してください(両方は不可) +- WebGUI: diagnostics に testparm を追加 +- WebGUI: 新しい UD の予約マウントポイント /mnt/addons をサポート +- WebGUI: 温度表示が華氏に設定されているときに Attributes を表示する問題を修正 +- WebGUI: Dashboard の変更: + - ダッシュボードを完全にロックする: ページのロック解除時のみ編集/移動が可能になります + - それぞれのタイルが再び表示されると空の列が補充され、すべてをリセットする必要はありません + - Docker と VM ページに視覚的な "move indicator" を追加し、行を移動できることがより明確になりました。 + - 移動が有効なときにカーソル形状を変更 + - タイルのタイトルをインデックスとして使用 +- WebGUI: 修正: ローカル Firefox アカウントのポップアップ postmessages が動作しない +- WebGUI: SMART テストは、スピンダウン遅延の選択肢がないため UD ディスクでは実行できません +- WebGUI: 共有設定の変更を適用した際、ステータス フッターが "Starting services" のまま止まる問題。 +- WebGUI: 孤立したイメージのテーブルレイアウトを修正 +- WebGUI: Plugin: 互換性がない場合は更新ボタンを表示しない +- WebGUI: Plugin: wget のパーセンテージ検出をより堅牢に +- WebGUI: OpenTerminal: クライアントを制限 +- WebGUI: コンテキストメニュー: 三角形の配置を自動化 +- WebGUI: Dashboard: プール警告を修正 +- WebGUI: UD で SMART の長時間テストを許可 +- WebGUI: /proc/cpuinfo からプロセッサタイプを読み取る +- WebGUI: CSS: firefox のスクロールバー問題を解決 +- WebGUI: 共有追加: 隠し共有名のチェックを修正 +- WebGUI: 表示設定: 不足していた既定値を追加 +- WebGUI: Array Operation: Start ボタンのダブルクリックを防止 +- WebGUI: DeviceInfo: shareFloor を単位付きで表示 +- WebGUI: DeviceInfo: 自動 floor 計算を追加 +- WebGUI: 自動サイズのメッセージを追加 +- WebGUI: Shares: 情報アイコンを追加 +- WebGUI: DeviceInfo と Shares ページを更新 +- WebGUI: ネットワーク表示の異常を修正 +- WebGUI: 新しい共有の最小空き容量を自動入力 +- WebGUI: feat(upc): 接続用に v3 へ更新 +- WebGUI: 共有/プールサイズ計算: パーセンテージ値を表示し、入力可能にする +- wireguard: WG トンネルの IP アドレスに対する SSL サポートを追加(myunraid.net のワイルドカード証明書のみ) +- wireguard: 不完全な WireGuard 設定時の nginx の問題を修正 + +### リリース _bz_ ファイルの差分 + +Unraid OS は、USB Flash ブート デバイスのルートにある 5 つのいわゆる _bz_ ファイル一式で構成されています: + +- bzimage - Linux カーネル +- bzroot - コンソール デスクトップを除いたルートファイルシステム +- bzroot-gui - コンソール デスクトップに必要な追加ファイル +- bzmodules - Linux カーネルに関連するモジュール(ドライバ) +- bzfirmware - 一部のモジュールに必要なデバイス ファームウェア + +6.12 リリース以降、これらのファイルの内容は再配置されています: + +- bzimage - Linux カーネル(以前と同じ) +- bzroot - /usr ディレクトリ ツリーを除いたルートファイルシステム +- bzroot-gui - コンソール デスクトップを自動起動する単一ファイル(互換性のため) +- bzmodules - Linux カーネルに関連するモジュール(ドライバ)と、一部のモジュールに必要なデバイス ファームウェア +- bzfirmware - /usr ディレクトリとその中のすべてのファイル。コンソール デスクトップを含む + +これらの変更により起動プロセスが高速化され、約 1GB の RAM が解放されます。また、将来的に Unraid OS にさらに多くの "stuff" を追加しても、追加の RAM を必要としなくなります。最後に、**non-GUI** モードで起動した場合は、コンソールでログインして 'slim' コマンドを入力することでデスクトップを起動できます。 + +#### 手動アップデート + +手動アップデートとは、**Tools/Update OS** 機能を使わずに USB flash ブートデバイス上の Unraid OS を更新することを指します。通常は次のいずれかを行います: + +- ターミナル ウィンドウを開き、リリース zip ファイルを wget で取得し、リリースを unzip してから、_bz_ ファイルをブート デバイスのルートに 'cp' します。 + +または + +- ネットワーク上で 'flash' 共有をエクスポートし、PC から _bz_ ファイルを直接 flash にドラッグします。 + +どちらの方法でも、6.12 以降では _bzfirmware_ ファイルがマウントされたまま上書きされるため、**失敗する可能性があります**。 + +これを回避するには、まず flash デバイス上に一時ディレクトリを作成し、既存のすべての _bz_ ファイルをその一時ディレクトリへ 'mv'(またはドラッグ)する必要があります。これで、新しい _bz_ ファイルを flash デバイスのルートにコピーして再起動できます。 + +## Linux カーネル + +- バージョン 6.1.33 +- md/unraid: バージョン 2.9.27 +- CONFIG\_FS\_DAX: ファイルシステムベースの Direct Access (DAX) サポート +- CONFIG\_VIRTIO\_FS: Virtio ファイルシステム +- CONFIG\_ZONE\_DEVICE: デバイスメモリ(pmem、HMM など)のホットプラグ サポート +- CONFIG\_USBIP\_HOST: ホスト ドライバ +- CONFIG\_INTEL\_MEI: Intel Management Engine Interface +- CONFIG\_INTEL\_MEI\_ME: ME 有効の Intel チップセット +- CONFIG\_INTEL\_MEI\_GSC: Intel MEI GSC 埋め込みデバイス +- CONFIG\_INTEL\_MEI\_PXP: ME Interface の Intel PXP サービス +- CONFIG\_INTEL\_MEI\_HDCP: ME Interface の Intel HDCP2.2 サービス +- CONFIG\_INTEL\_PMC\_CORE: Intel PMC Core ドライバ +- CONFIG\_DRM\_I915\_PXP: Intel PXP サポートを有効化 +- CONFIG\_SCSI\_FC\_ATTRS: Fibre Channel 転送属性 +- CONFIG\_FUSION\_SPI: SPI 用 Fusion MPT ScsiHost ドライバ +- CONFIG\_FUSION\_FC: FC 用 Fusion MPT ScsiHost ドライバ +- CONFIG\_FUSION\_CTL: Fusion MPT miscellaneous device (ioctl) ドライバ +- CONFIG\_FUSION\_LOGGING: Fusion MPT ロギング機能 +- CONFIG\_X86\_AMD\_PSTATE: AMD Processor P-State ドライバー +- CONFIG\_LRU\_GEN: Multi-Gen LRU +- CONFIG\_SERIAL\_8250\_NR\_UARTS=32: 8250/16550 シリアル ポートの最大数 +- CONFIG\_SERIAL\_8250\_RUNTIME\_UARTS=4: 実行時に登録する 8250/16550 シリアル ポート数 +- CONFIG\_FANOTIFY: ファイルシステム全体のアクセス通知 + +## ベースディストリビューションの更新 + +- aaa\_glibc-solibs: バージョン 2.37 +- adwaita-icon-theme: バージョン 43 +- at-spi2-core: バージョン 2.46.0 +- bash: バージョン 5.2.015 +- bash\_completion: バージョン 2.11 +- bind: バージョン 9.18.12 +- btrfs-progs: バージョン 6.2.1 +- ca-certificates: バージョン 20221205 +- cryptsetup: バージョン 2.6.1 +- curl: バージョン 7.88.1 +- dbus: バージョン 1.14.6 +- diffutils: バージョン 3.9 +- dnsmasq: バージョン 2.89 +- docker: バージョン 23.0.6 +- e2fsprogs: バージョン 1.47.0 +- encodings: バージョン 1.0.7 +- file: バージョン 5.44 +- firefox: バージョン 111.0(AppImage) +- freetype: バージョン 2.13.0 +- fuse3: バージョン 3.12.0 +- gawk: バージョン 5.2.1 +- git: バージョン 2.39.2 +- glib2: バージョン 2.74.6 +- glibc: バージョン 2.37 +- glibc-zoneinfo: バージョン 2022g +- gnutls: バージョン 3.7.9 +- gptfdisk: バージョン 1.0.9 +- gtk+3: バージョン 3.24.37 +- harfbuzz: バージョン 7.1.0 +- htop: バージョン 3.2.2 +- iproute2: バージョン 6.2.0 +- iptables: バージョン 1.8.9 +- iputils: バージョン 20221126 +- kernel-firmware: 20230531_fc90c59 +- less: バージョン 612 +- libICE: バージョン 1.1.1 +- libSM: バージョン 1.2.4 +- libX11: バージョン 1.8.4 +- libXau: バージョン 1.0.11 +- libXcomposite: バージョン 0.4.6 +- libXdamage: バージョン 1.1.6 +- libXdmcp: バージョン 1.1.4 +- libXpm: バージョン 3.5.15 +- libXrandr: バージョン 1.5.3 +- libXres: バージョン 1.2.2 +- libXxf86dga: バージョン 1.1.6 +- libarchive: バージョン 3.6.2 +- libdrm: バージョン 2.4.115 +- libfontenc: バージョン 1.1.7 +- libglvnd: バージョン 1.6.0 +- libjpeg-turbo: バージョン 2.1.5.1 +- libpcap: バージョン 1.10.3 +- libpng: バージョン 1.6.39 +- libpsl: バージョン 0.21.2 +- liburcu: バージョン 0.14.0 +- libwebp: バージョン 1.3.0 +- libxkbcommon: バージョン 1.5.0 +- libxkbfile: バージョン 1.1.2 +- libxshmfence: バージョン 1.3.2 +- lmdb: バージョン 0.9.30 +- logrotate: バージョン 3.21.0 +- lsof: バージョン 4.98.0 +- lz4: バージョン 1.9.4 +- lzlib: バージョン 1.13 +- mc: バージョン 4.8.29 +- mcelog: バージョン 191 +- mpfr: バージョン 4.2.0 +- nano: バージョン 7.2 +- ncurses: バージョン 6.4 +- nginx: バージョン 1.23.3 +- nghttp2: バージョン 1.52.0 +- openssh: バージョン 9.2p1 +- openssl: バージョン 1.1.1t +- openssl-solibs: バージョン 1.1.1t +- openzfs: バージョン 2.1.12 +- pango: バージョン 1.50.14 +- pciutils: バージョン 3.9.0 +- pcre2: バージョン 10.42 +- php: バージョン 8.2.4 +- php-libvirt: バージョン 0.5.7 +- php-markdown: バージョン 2.0.0 +- samba: バージョン 4.17.7 +- sqlite: バージョン 3.41.0 +- sudo: バージョン 1.9.13p2 +- sysstat: バージョン 12.7.2 +- tdb: バージョン 1.4.8 +- tevent: バージョン 0.14.1 +- traceroute: バージョン 2.1.2 +- transset: バージョン 1.0.3 +- tree: バージョン 2.1.0 +- usbutils: バージョン 015 +- xcb-util: バージョン 0.4.1 +- xdriinfo: バージョン 1.0.7 +- xf86-video-vesa: バージョン 2.6.0 +- xfsprogs: バージョン 6.1.1 +- xhost: バージョン 1.0.9 +- xinit: バージョン 1.4.2 +- xkbcomp: バージョン 1.4.6 +- xkeyboard-config: バージョン 2.38 +- xorg-server: バージョン 21.1.7 +- xprop: バージョン 1.2.6 +- xrandr: バージョン 1.5.2 +- xset: バージョン 1.2.5 +- xterm: バージョン 379 +- xz: バージョン 5.4.1 +- zstd: バージョン 1.5.4 + +## パッチ + +[Unraid Patch plugin](https://forums.unraid.net/topic/185560-unraid-patch-plugin/) をインストールしている場合は、_**Tools → Unraid Patch**_ に移動して以下のパッチ / ホットフィックスを取得してください: + +- セキュリティ更新の一部。詳細は [このブログ記事](https://unraid.net/blog/cvd) を参照してください。追加のセキュリティ更新のため、最新の安定版へのアップグレードを推奨します。 From f6d7574654de16bb6c360b532f1290520708ae23 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:27:01 -0400 Subject: [PATCH 105/437] New translations 6.12.1.md (Japanese) --- .../current/unraid-os/release-notes/6.12.1.md | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.12.1.md diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.12.1.md b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.12.1.md new file mode 100644 index 00000000000..f140de58bf9 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.12.1.md @@ -0,0 +1,56 @@ +# バージョン 6.12.1 2023-06-20 + +[6.12.0](6.12.0.md) との変更点 + +## アップグレードに関する注意事項 + +### 既知の問題 + +一般的な既知の問題については、[6.12.0 リリースノート](6.12.0.md#known-issues) を参照してください。 + +### ロールバック + +6.12.0 より前にロールバックする場合は、[6.12.0 リリースノート](6.12.0.md#rolling-back) も参照してください。 + +## バグ修正 + +- emhttpd: 予約済み名前一覧から "unraid" を削除 +- emhttpd: 'btrfs filesystem show' コマンドの出力内の "ERROR" 文字列を適切に処理 +- emhttpd: すでに Started の場合は cmdStart を防止 +- network: サービス再読み込み機能を改良: サービスが 1 回だけ再読み込みされるようにする +- network: rc.library: ファイルではなくインターフェースから IP アドレスを直接読み取る +- network: NTP: 待ち受けインターフェースを修正 +- network: NTP: WG トンネルとユーザー定義インターフェースを除外 +- network: NTP: 設定にインターフェース名を追加 +- network: SSH: 設定にインターフェース名を追加 +- WebGUI: UPS 設定ページの PHP8 警告を修正 +- WebGUI: ダッシュボード: c\_max 値に基づいて ZFS の割合を表示 +- WebGUI: ダッシュボード: ZFS 使用率バーの色付けを抑制 +- WebGUI: ダッシュボード: その他の細かな修正 + +## Linux カーネル + +- バージョン 6.1.34 + +## ベースディストリビューション + +- ttyd: バージョン 1.7.3(特定の FireFox バージョンで下線文字が表示されない問題を修正) + +### セキュリティ更新 + +- ca-certificates: バージョン 20230506 +- curl: バージョン 8.1.2(CVE-2023-28322 CVE-2023-28321 CVE-2023-28320 CVE-2023-28319) +- git: バージョン 2.35.8(CVE-2023-25652 CVE-2023-25815 CVE-2023-29007) +- ntp: バージョン 4.2.8p17(CVE-2023-26551 CVE-2023-26552 CVE-2023-26553 CVE-2023-26554 CVE-2023-26555) +- openssl: バージョン 1.1.1u(CVE-2023-2650) +- openssh: バージョン 9.3p1 +- php: バージョン 8.2.7 +- libX11: バージョン 1.8.6(CVE-2023-3138) +- libssh: バージョン 0.10.5(CVE-2023-1667 CVE-2023-2283) +- zstd: バージョン 1.5.5 + +## パッチ + +[Unraid Patch plugin](https://forums.unraid.net/topic/185560-unraid-patch-plugin/) をインストールしている場合は、_**Tools → Unraid Patch**_ に移動して以下のパッチ / ホットフィックスを取得してください: + +- セキュリティ更新の一部。詳細は [このブログ記事](https://unraid.net/blog/cvd) を参照してください。追加のセキュリティ更新のため、最新の安定版へのアップグレードを推奨します。 From e06e82dfe8fe92dde74fdf6351793c38e11951f2 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:27:02 -0400 Subject: [PATCH 106/437] New translations 6.12.10.md (Japanese) --- .../unraid-os/release-notes/6.12.10.md | 70 +++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.12.10.md diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.12.10.md b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.12.10.md new file mode 100644 index 00000000000..facc885d1aa --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.12.10.md @@ -0,0 +1,70 @@ +# バージョン 6.12.10 2024-04-03 + +## アップグレードに関する注意事項 + +このリリースでは、6.12.9 で報告された 2 つの問題を解決するために、Linux カーネルを以前のバージョンに戻しています。さらに、curl のセキュリティ更新とコーナーケースのバグ修正も含まれています。 + +注意: Unraid OS v6.12.x およびそれ以前のすべてのバージョンは、xz バックドア [CVE-2024-3094](https://nvd.nist.gov/vuln/detail/CVE-2024-3094) の影響を受けません。 + +### 既知の問題 + +#### 旧式のプラグイン + +旧式のプラグインは問題を引き起こす可能性があります。常に最新の状態に保つことを推奨します。 + +#### macvlan に関連するコールトレースとクラッシュ + +macvlan に関連するコールトレース(または、実際には原因不明のクラッシュ全般)が発生している場合、まず _**Settings > Docker**_ に移動し、**advanced** 表示に切り替えて、**Docker custom network type** を **macvlan** から **ipvlan** に変更することを推奨します。これは Unraid がバージョン 6.11.5 以降で採用している既定の構成であり、ほとんどのシステムで動作するはずです。 + +一部のルーター(Fritzbox)からのポートフォワーディングや、ipvlan モード時の高度なネットワーク管理ツール(Ubiquity)の機能低下について、問題が報告されていることに注意してください。これが影響する場合は、Unraid [6.12.4](6.12.4.md#fix-for-macvlan-call-traces) 以降で利用可能な代替の解決策を参照してください。 + +#### Jumbo フレームによるネットワークの問題 + +いずれかの種類のネットワーク問題が発生している場合は、Jumbo フレームが有効になっていないことを確認してください。 +_**Settings > Network Settings > eth0**_ に移動し、**Desired MTU** が 1500 であることを確認してください。 +詳細は、[Fix Common Problems における Jumbo フレームの警告](https://forums.unraid.net/topic/120220-fix-common-problems-more-information/page/2/#comment-1167702) を参照してください。 + +#### Realtek ネットワークカードによる問題 + +アップグレードされたカーネルにより、Jumbo フレームと組み込みの Realtek 8125 ドライバに関するデッドロックの問題は修正されています。ただし、Jumbo フレームに関する上記のアドバイスは引き続き推奨します。 + +それでもネットワークの安定性に問題があり、_**Tools > System Devices**_ に Realtek イーサネットコントローラが表示される場合は、表示されている部品番号を控え、Community Apps でそのデバイス用の Realtek ベンダー提供ドライバプラグインがあるか検索してください。 +詳細は、[Realtek ドライバプラグインのサポートページ](https://forums.unraid.net/topic/141349-plugin-realtek-r8125-r8168-and-r81526-drivers/) を参照してください。 + +#### その他の問題はありますか? + +**Fix Common Problems** プラグインをインストールすることを強く推奨します。一般的な設定上の問題を警告してくれるためです。 + +他のクラッシュや安定性の問題がある場合は、_**Settings > Syslog Server**_ に移動し、**Mirror syslog to flash** を有効にしてください。これにより USB フラッシュ起動デバイスへの書き込み回数が増えますが、クラッシュ後にログを収集する短期的な用途には有用です。 + +次回再起動後、_**Tools > Diagnostics**_ に移動して匿名化された診断情報をダウンロードしてください(6.12.5 以降、診断には flash ドライブにミラーされたログが自動的に含まれます)。 + +最後に、[General Support](https://forums.unraid.net/forum/55-general-support/) で新しいトピックを作成し、問題の詳細をすべて提供してください。問題が解決したら、必ず **Mirror syslog to flash** を無効にしてください。 + +### ロールバック + +6.12.9 より前にロールバックする場合は、[6.12.9 リリースノート](6.12.9.md#rolling-back) も参照してください。 + +## [6.12.9](6.12.9.md) との差分 + +### バグ修正と改善 + +- Unassigned Devices プラグイン経由でリモート SMB 共有をマウントする際の問題を修正しました。 +- 一部の Asmedia コントローラで接続されたすべてのデバイスが認識されない問題を修正しました。 +- nfs: (元に戻す)NFSv4 のマウントを既定にする +- zfs: デバイスが欠落した状態でインポートされたプールに対し、定義されているプールスロットが不足しているかどうかを検出します。 +- SystemDrivers の翻訳の問題を修正 + +### Linux カーネル + +- バージョン 6.1.79 + +### ベースディストリビューション + +- curl: バージョン: 8.7.1 (CVE-2024-2466 CVE-2024-2398 CVE-2024-2379 CVE-2024-2004) + +## パッチ + +[Unraid Patch plugin](https://forums.unraid.net/topic/185560-unraid-patch-plugin/) をインストールしている場合は、_**Tools → Unraid Patch**_ に移動して以下のパッチ / ホットフィックスを取得してください: + +- セキュリティ更新の一部。詳細は [このブログ記事](https://unraid.net/blog/cvd) を参照してください。追加のセキュリティ更新のため、最新の安定版へのアップグレードを推奨します。 From d539936d2e6f71ee0fd360579f4e1052d728cea4 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:27:03 -0400 Subject: [PATCH 107/437] New translations 6.12.11.md (Japanese) --- .../unraid-os/release-notes/6.12.11.md | 80 +++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.12.11.md diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.12.11.md b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.12.11.md new file mode 100644 index 00000000000..7d997dbcc95 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.12.11.md @@ -0,0 +1,80 @@ +# バージョン 6.12.11 2024-07-16 + +## アップグレードに関する注意事項 + +このリリースには、Unraid 7 での作業からバックポートしたいくつかの優れたバグ修正に加え、OpenSSH のセキュリティ修正と +Linux カーネルおよび OpenZFS の更新が含まれています。 + +### 既知の問題 + +#### 旧式のプラグイン + +旧式のプラグインは問題を引き起こす可能性があります。常に最新の状態に保つことを推奨します。 + +#### Docker フォークボム + +壊れた、または悪意のある Docker コンテナが、システム上の利用可能なすべてのプロセス ID を使用できるため、安定性が低下します。現在 +Unraid 7 で修正をテストしており、将来のリリースにバックポートする予定です(注: この修正は [6.12.12](6.12.12.md) に含まれています)。 +これに該当すると疑われる場合の回避策は、Docker テンプレートの _Extra Parameters_ 設定に `--pids-limit 2048` を追加して、コンテナが使用できる PID 数を +制限することです。 + +#### macvlan に関連するコールトレースとクラッシュ + +macvlan に関連するコールトレース(または、実際には原因不明のクラッシュ全般)が発生している場合、まず _**Settings > Docker**_ に移動し、**advanced** 表示に切り替えて、**Docker custom network type** を **macvlan** から **ipvlan** に変更することを推奨します。これは Unraid がバージョン 6.11.5 以降で採用している既定の構成であり、ほとんどのシステムで動作するはずです。 + +一部のルーター(Fritzbox)からのポートフォワーディングや、ipvlan モード時の高度なネットワーク管理ツール(Ubiquity)の機能低下について、問題が報告されていることに注意してください。これが影響する場合は、Unraid [6.12.4](6.12.4.md#fix-for-macvlan-call-traces) 以降で利用可能な代替の解決策を参照してください。 + +#### Jumbo フレームによるネットワークの問題 + +いずれかの種類のネットワーク問題が発生している場合は、Jumbo フレームが有効になっていないことを確認してください。 +_**Settings > Network Settings > eth0**_ に移動し、**Desired MTU** が 1500 であることを確認してください。 +詳細は、[Fix Common Problems における Jumbo フレームの警告](https://forums.unraid.net/topic/120220-fix-common-problems-more-information/page/2/#comment-1167702) を参照してください。 + +#### Realtek ネットワークカードによる問題 + +アップグレードされたカーネルにより、Jumbo フレームと組み込みの Realtek 8125 ドライバに関するデッドロックの問題は修正されています。ただし、Jumbo フレームに関する上記のアドバイスは引き続き推奨します。 + +それでもネットワークの安定性に問題があり、_**Tools > System Devices**_ に Realtek イーサネットコントローラが表示される場合は、表示されている部品番号を控え、Community Apps でそのデバイス用の Realtek ベンダー提供ドライバプラグインがあるか検索してください。 +詳細は、[Realtek ドライバプラグインのサポートページ](https://forums.unraid.net/topic/141349-plugin-realtek-r8125-r8168-and-r81526-drivers/) を参照してください。 + +#### その他の問題はありますか? + +**Fix Common Problems** プラグインをインストールすることを強く推奨します。一般的な設定上の問題を警告してくれるためです。 + +他のクラッシュや安定性の問題がある場合は、_**Settings > Syslog Server**_ に移動し、**Mirror syslog to flash** を有効にしてください。これにより USB フラッシュ起動デバイスへの書き込み回数が増えますが、クラッシュ後にログを収集する短期的な用途には有用です。 + +次回再起動後、_**Tools > Diagnostics**_ に移動して匿名化された診断情報をダウンロードしてください(6.12.5 以降、診断には flash ドライブにミラーされたログが自動的に含まれます)。 + +最後に、[General Support](https://forums.unraid.net/forum/55-general-support/) で新しいトピックを作成し、問題の詳細をすべて提供してください。問題が解決したら、必ず **Mirror syslog to flash** を無効にしてください。 + +### ロールバック + +6.12.10 より前にロールバックする場合は、[6.12.10 リリースノート](6.12.10.md#rolling-back) も参照してください。 + +## [6.12.10](6.12.10.md) との差分 + +### バグ修正と改善 + +- ログイン時の Error 500 を修正 +- ダッシュボード + - タイル管理で空のダイアログが表示される問題を修正 + - 不正な形式の状態のまま残っている visibility cookie を整理 +- VMs + - bridge 値から変更しても、NIC が 1 つより多い VM が更新されず、VM の起動に失敗する問題を修正 + - GPU を削除して仮想ディスプレイを追加すると、出力がなくなる場合がある問題を修正 +- 「trim now」と cron ジョブの間で trim を一貫させる + +### Linux カーネル + +- バージョン 6.1.99 +- zfs: バージョン 2.1.15 + +### ベースディストリビューション + +- openssh: バージョン 9.8p1 (CVE-2024-6387) + +## パッチ + +[Unraid Patch plugin](https://forums.unraid.net/topic/185560-unraid-patch-plugin/) をインストールしている場合は、_**Tools → Unraid Patch**_ に移動して以下のパッチ / ホットフィックスを取得してください: + +- セキュリティ更新の一部。詳細は [このブログ記事](https://unraid.net/blog/cvd) を参照してください。追加のセキュリティ更新のため、最新の安定版へのアップグレードを推奨します。 From 7ae4bbb338d59e0759e1f8e1c2a015dc13fd6910 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:27:05 -0400 Subject: [PATCH 108/437] New translations 6.12.12.md (Japanese) --- .../unraid-os/release-notes/6.12.12.md | 83 +++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.12.12.md diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.12.12.md b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.12.12.md new file mode 100644 index 00000000000..426d2689e8d --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.12.12.md @@ -0,0 +1,83 @@ +# バージョン 6.12.12 2024-08-20 + +## アップグレードに関する注意事項 + +Unraid 6.12 は Unraid 7 で進められている作業の恩恵を引き続き受けており、このリリースには Unraid 7 からさらにいくつかのバグ修正がバックポートされているほか、curl のセキュリティ修正も含まれています。 + +### 既知の問題 + +#### 旧式のプラグイン + +旧式のプラグインは問題を引き起こす可能性があります。常に最新の状態に保つことを推奨します。 + +#### macvlan に関連するコールトレースとクラッシュ + +macvlan に関連するコールトレース(または、実際には原因不明のクラッシュ全般)が発生している場合、まず _**Settings > Docker**_ に移動し、**advanced** 表示に切り替えて、**Docker custom network type** を **macvlan** から **ipvlan** に変更することを推奨します。これは Unraid がバージョン 6.11.5 以降で採用している既定の構成であり、ほとんどのシステムで動作するはずです。 + +一部のルーター(Fritzbox)からのポートフォワーディングや、ipvlan モード時の高度なネットワーク管理ツール(Ubiquity)の機能低下について、問題が報告されていることに注意してください。これが影響する場合は、Unraid [6.12.4](6.12.4.md#fix-for-macvlan-call-traces) 以降で利用可能な代替の解決策を参照してください。 + +#### Jumbo フレームによるネットワークの問題 + +いずれかの種類のネットワーク問題が発生している場合は、Jumbo フレームが有効になっていないことを確認してください。 +_**Settings > Network Settings > eth0**_ に移動し、**Desired MTU** が 1500 であることを確認してください。 +詳細は、[Fix Common Problems における Jumbo フレームの警告](https://forums.unraid.net/topic/120220-fix-common-problems-more-information/page/2/#comment-1167702) を参照してください。 + +#### Realtek ネットワークカードによる問題 + +アップグレードされたカーネルにより、Jumbo フレームと組み込みの Realtek 8125 ドライバに関するデッドロックの問題は修正されています。ただし、Jumbo フレームに関する上記のアドバイスは引き続き推奨します。 + +それでもネットワークの安定性に問題があり、_**Tools > System Devices**_ に Realtek イーサネットコントローラが表示される場合は、表示されている部品番号を控え、Community Apps でそのデバイス用の Realtek ベンダー提供ドライバプラグインがあるか検索してください。 +詳細は、[Realtek ドライバプラグインのサポートページ](https://forums.unraid.net/topic/141349-plugin-realtek-r8125-r8168-and-r81526-drivers/) を参照してください。 + +#### その他の問題はありますか? + +**Fix Common Problems** プラグインをインストールすることを強く推奨します。一般的な設定上の問題を警告してくれるためです。 + +他のクラッシュや安定性の問題がある場合は、_**Settings > Syslog Server**_ に移動し、**Mirror syslog to flash** を有効にしてください。これにより USB フラッシュ起動デバイスへの書き込み回数が増えますが、クラッシュ後にログを収集する短期的な用途には有用です。 + +次回再起動後、_**Tools > Diagnostics**_ に移動して匿名化された診断情報をダウンロードしてください(6.12.5 以降、診断には flash ドライブにミラーされたログが自動的に含まれます)。 + +最後に、[General Support](https://forums.unraid.net/forum/55-general-support/) で新しいトピックを作成し、問題の詳細をすべて提供してください。問題が解決したら、必ず **Mirror syslog to flash** を無効にしてください。 + +### ロールバック + +6.12.11 より前のバージョンへロールバックする場合は、[6.12.11 のリリースノート](6.12.11.md#rolling-back)も参照してください。 + +## [6.12.11](6.12.11.md) との差分 + +### バグ修正と改善 + +- デフォルトの _Docker PID Limit_ を _**Settings > Docker Settings**_ に追加して、Docker の fork bomb から保護します +- shfs: 「split level 0」(手動分割レベル)の回帰を修正 +- keys.lime-technology.com への hosts ファイルのハードコードされたエントリを削除 +- Docs へのリンクでは "go links" を使用 +- 設定に空の値が含まれている場合の UPS 設定ページを修正 +- update.php: 使用後にリリースファイルポインタを解放 +- Diagnostics: IPv6 アドレスを匿名化 +- 修正: array を停止してから再起動すると、nfsd が実行されていない +- 修正: share を削除しても SMB および NFS から削除されない +- 修正: ルートの保存が英語でしか動作しない +- rc.S スクリプトの起動時改善: + - ブートセクタのバックアップを自動修復 + - 続行できずブートを継続できない場合は、すべてのファイルシステムを明示的にアンマウント +- shares ページでユーザーを自然順に並べ替え +- webgui: document.write() の使用を置き換え +- ヘルプテキストの টাইポを修正 +- 廃止された /etc/apcupsd/doshutdown スクリプトを削除 +- UserEdit: Ed25519、FIDO/U2F Ed25519、RSA に加えて、SSH 鍵タイプ DSA、ECDSA、および FIDO/U2F ECDSA をサポート +- 修正: PHPSettings.page: PHP のエラー報告デフォルトの不一致を修正 +- Dashboard: パリティ同期/チェック中のメッセージをやわらげる + +### Linux カーネル + +- バージョン 6.1.103 + +### ベースディストリビューション + +- curl: バージョン 8.9.1(CVE-2024-7264) + +## パッチ + +[Unraid Patch plugin](https://forums.unraid.net/topic/185560-unraid-patch-plugin/) をインストールしている場合は、_**Tools → Unraid Patch**_ に移動して以下のパッチ / ホットフィックスを取得してください: + +- セキュリティ更新の一部。詳細は [このブログ記事](https://unraid.net/blog/cvd) を参照してください。追加のセキュリティ更新のため、最新の安定版へのアップグレードを推奨します。 From cd42b030e006ca72fff8691d09b54c54ec3209b4 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:27:06 -0400 Subject: [PATCH 109/437] New translations 6.12.13.md (Japanese) --- .../unraid-os/release-notes/6.12.13.md | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.12.13.md diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.12.13.md b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.12.13.md new file mode 100644 index 00000000000..bb01216f148 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.12.13.md @@ -0,0 +1,35 @@ +# バージョン 6.12.13 2024-08-22 + +## アップグレードに関する注意事項 + +これは、Linux カーネルを更新して、一部の HDD デバイスがスピンダウンできなかった [regression](https://lore.kernel.org/lkml/45cdf1c2-9056-4ac2-8e4d-4f07996a9267@kernel.org/T/) を修正するためのクイックリリースです。 + +最近の変更の詳細については、[6.12.12 リリースノート](6.12.12.md)を参照してください。 + +### 既知の問題 + +#### Windows VM は VirtIO-net ドライバーを使用してください + +カーネルの regression により、VirtIO ネットワークドライバーを使用している Windows VM からの送信転送では、パフォーマンスが大幅に低下します。回避策は VirtIO-net ドライバーに切り替えることです。(注: これは [6.12.14](6.12.14.md) で修正されました)。 + +その他の既知の問題については、[6.12.12 リリースノート](6.12.12.md#known-issues)を参照してください。 + +### ロールバック + +6.12.12 より前のバージョンにロールバックする場合は、[6.12.12 リリースノート](6.12.12.md#rolling-back)も参照してください。 + +## [6.12.12](6.12.12.md) との差分 + +### バグ修正と改善 + +- ハードドライブのスピンダウンに関する問題を解決するためにカーネルを更新 + +### Linux カーネル + +- バージョン 6.1.106 + +## パッチ + +[Unraid Patch plugin](https://forums.unraid.net/topic/185560-unraid-patch-plugin/) をインストールしている場合は、_**Tools → Unraid Patch**_ に移動して以下のパッチ / ホットフィックスを取得してください: + +- セキュリティ更新の一部。詳細は [このブログ記事](https://unraid.net/blog/cvd) を参照してください。追加のセキュリティ更新のため、最新の安定版へのアップグレードを推奨します。 From 73e14e945ba8e19574c311b156da89066a461af5 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:27:07 -0400 Subject: [PATCH 110/437] New translations 6.12.14.md (Japanese) --- .../unraid-os/release-notes/6.12.14.md | 67 +++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.12.14.md diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.12.14.md b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.12.14.md new file mode 100644 index 00000000000..7ee8794f122 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.12.14.md @@ -0,0 +1,67 @@ +# バージョン 6.12.14 2024-11-26 + +## アップグレードに関する注意事項 + +このリリースには、重要なバグ修正とセキュリティ更新が含まれています。 + +_**すべてのユーザーにアップグレードを強く推奨します**_ + +### 既知の問題 + +#### 新しい Windows の変更により、Public 共有へのアクセスが失われる可能性があります + +最近の Windows 11 24H2 のセキュリティ変更により、Unraid の public 共有への「guest」アクセスが機能しない場合があります。これを回避する最も簡単な方法は、接続に使用している Windows アカウントと同じ名前のユーザーを Unraid に作成することです。Unraid のユーザーパスワードが Windows アカウントのパスワードと同じでない場合、Windows は資格情報の入力を求めます。 + +Microsoft アカウントを使用している場合は、Unraid にシンプルなユーザー名のユーザーを作成してパスワードを設定し、その後 Windows で _**コントロール パネル → 資格情報マネージャー → Windows 資格情報 → Windows 資格情報の追加**_ に移動して、正しい Unraid サーバー名と資格情報を追加するとよいでしょう。 + +あるいは、[Windows の guest フォールバックを再有効化する](https://techcommunity.microsoft.com/blog/filecab/accessing-a-third-party-nas-with-smb-in-windows-11-24h2-may-fail/4154300)こともできます +(推奨されません)。 + +#### Realtek ネットワークカードによる問題 + +最近のカーネルへのアップグレード後、Realtek ドライバープラグインに関する問題が複数報告されています。アップグレード前に予防的にアンインストールするか、ネットワークの問題が発生した場合は後で削除することをお勧めします。 + +その他の既知の問題については、[6.12.12 リリースノート](6.12.12.md#known-issues)を参照してください。 + +### ロールバック + +6.12.13 より前のバージョンにロールバックする場合は、[6.12.13 のリリースノート](6.12.13.md#rolling-back)も参照してください。 + +## [6.12.13](6.12.13.md) からの変更点 + +### バグ修正と改善 + +- emhttpd: swap-disable 操作で、対象の残り容量が正しく消去されない問題を修正 +- ShareList: 共有のプライマリープールが無効な場合、たとえば名前が変更されたか削除された場合に、インジケーターを表示します。 +- ShareEdit: プールの名前変更が、そのプールを使用している共有に影響する可能性があることをユーザーに警告します。 +- DiskSettings: "default file system" は Unraid 配列ディスクに適用されることを明確化。 +- コンテナの VPN 資格情報を公開しないよう、診断から ps.txt を削除。 +- Windows 11 24H2 からの public 共有アクセスに関するヘルプテキストを追加。 +- フィードバックフォームを更新し、メールアドレスを必須にする +- _**設定 → UPS 設定**_ ページの apcupsd マニュアルへのリンクを修正 +- ヘルプテキスト内の btrfs man ページへのリンクを修正 +- rc.docker - インデックスが 0 より大きいカスタムインターフェースが正しく再構築されるようにする +- rc.rsyslogd: PID 名前空間付きで pgrep、killall を使用。 +- webGUI: http クエリパラメータの処理を改善 +- kernel: [6.12.13](6.12.13.md) で導入された、Windows VM と VirtIO ネットワークドライバに関連するパフォーマンス低下の問題を解決 + +### Linux カーネル + +- バージョン 6.1.118 + +### ベースディストリビューション + +- firefox: バージョン 132.0.r20241110231641 (AppImage) (CVE-2024-11691 - 11699) +- intel-microcode: バージョン 20241112 +- libssh: バージョン 0.10.6 +- libssh2: バージョン 1.11.1 (CVE-2023-48795) +- openssl: バージョン 1.1.1zb (CVE-2024-9143) +- php: バージョン 8.2.26 [複数の CVE](https://www.php.net/ChangeLog-8.php#8.2.26) +- samba: バージョン 4.19.9 (CVE-2018-14628) +- wget: バージョン 1.25.0 (CVE-2024-10524) + +## パッチ + +このリリースで利用可能なパッチは現在ありませんが、パッチが利用可能になったときに受け取れるよう、[Unraid Patch プラグイン](https://forums.unraid.net/topic/185560-unraid-patch-plugin/)のインストールを推奨します。 + +新しいリリースには追加のセキュリティ更新が含まれています。詳細は[このブログ記事](https://unraid.net/blog/cvd)を参照してください。 From 87a81d057377ea3369ac57fa5ea1a0010f4b5be2 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:27:08 -0400 Subject: [PATCH 111/437] New translations 6.12.15.md (Japanese) --- .../unraid-os/release-notes/6.12.15.md | 60 +++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.12.15.md diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.12.15.md b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.12.15.md new file mode 100644 index 00000000000..d09aac14b63 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.12.15.md @@ -0,0 +1,60 @@ +# バージョン 6.12.15 2025-01-21 + +## アップグレードに関する注意事項 + +このリリースには、重要なバグ修正とセキュリティ更新が含まれています。 + +_**すべてのユーザーにアップグレードを強く推奨します**_ + +### 既知の問題 + +#### 新しい Windows の変更により、Public 共有へのアクセスが失われる可能性があります + +最近の Windows 11 24H2 のセキュリティ変更により、Unraid の public 共有への「guest」アクセスが機能しない場合があります。これを回避する最も簡単な方法は、接続に使用している Windows アカウントと同じ名前のユーザーを Unraid に作成することです。Unraid のユーザーパスワードが Windows アカウントのパスワードと同じでない場合、Windows は資格情報の入力を求めます。 + +Microsoft アカウントを使用している場合は、Unraid にシンプルなユーザー名のユーザーを作成してパスワードを設定し、その後 Windows で _**コントロール パネル → 資格情報マネージャー → Windows 資格情報 → Windows 資格情報の追加**_ に移動して、正しい Unraid サーバー名と資格情報を追加するとよいでしょう。 + +あるいは、[Windows の guest フォールバックを再有効化する](https://techcommunity.microsoft.com/blog/filecab/accessing-a-third-party-nas-with-smb-in-windows-11-24h2-may-fail/4154300)こともできます +(推奨されません)。 + +#### Realtek ネットワークカードによる問題 + +最近のカーネルへのアップグレード後、Realtek ドライバープラグインに関する問題が複数報告されています。アップグレード前に予防的にアンインストールするか、ネットワークの問題が発生した場合は後で削除することをお勧めします。 + +その他の既知の問題については、[6.12.12 リリースノート](6.12.12.md#known-issues)を参照してください。 + +### ロールバック + +6.12.14 より前にロールバックする場合は、[6.12.14 リリースノート](6.12.14.md#rolling-back) も参照してください。 + +## [6.12.14](6.12.14.md) との差分 + +### バグ修正と改善 + +- WebGUI: Dashboard、VM Manager、Docker Manager ページのメモリリークを修正 +- WebGUI: バグ修正: JavaScript コンソールへのログ出力機能を復元 +- WebGUI: Unraid のバージョン番号をクリックすると、Unraid Docs ウェブサイトのリリースノートを読み込みます +- WebGUI: CA インストール URL を新しいリポジトリに切り替え +- 修正: Wireguard のデフォルト MTU に合わせて Docker Wireguard ブリッジの MTU を設定 +- 修正: ダウンロード失敗時に空の Trial.key を正しく処理 +- 修正: メール通知に問題がある場合、Agent 通知が機能しない +- 修正: nfsd が正しく再起動しない +- 修正: Erase pool ダイアログにプール名が表示されない +- /etc/os-release ファイルに意味のある内容を作成 +- make\_bootable\_linux: バージョン 1.4 + - mtools がインストールされているか検出 + +### Linux カーネル + +- バージョン 6.1.126 +- md/unraid: リビルド/同期中のデバイス障害の処理を修正 + +### ベースディストリビューション + +- git: バージョン 2.46.3 (CVE-2024-50349 CVE-2024-52006) +- php: バージョン 8.2.27 +- rsync: バージョン 3.4.1 (CVE-2024-12084 CVE-2024-12085 CVE-2024-12086 CVE-2024-12087 CVE-2024-12088 CVE-2024-12747) + +## パッチ + +このリリースで利用可能なパッチは現在ありませんが、パッチが利用可能になったときに受け取れるよう、[Unraid Patch プラグイン](https://forums.unraid.net/topic/185560-unraid-patch-plugin/)のインストールを推奨します。 From 7108f4e3483d3a4b2ebec07e79514f5d3d81b91c Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:27:10 -0400 Subject: [PATCH 112/437] New translations 6.12.2.md (Japanese) --- .../current/unraid-os/release-notes/6.12.2.md | 63 +++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.12.2.md diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.12.2.md b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.12.2.md new file mode 100644 index 00000000000..5572b134cca --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.12.2.md @@ -0,0 +1,63 @@ +# バージョン 6.12.2 2023-06-29 + +[6.12.1](6.12.1.md) との差分 + +## アップグレードに関する注意事項 + +### 既知の問題 + +一般的な既知の問題については、[6.12.0 リリースノート](6.12.0.md#known-issues) を参照してください。 + +### ロールバック + +6.12.0 より前にロールバックする場合は、[6.12.0 リリースノート](6.12.0.md#rolling-back) も参照してください。 + +## ハイライト + +これは主に不具合修正リリースであり、軽微なセキュリティ更新も含まれます。その他のハイライト: + +- Unraid OS 6.12 の開発中に導入された **docker** v23.0.6 を、Unraid OS 6.11 で使用されていた **docker** の最新パッチリリースである v20.10.24 に戻しました。これは、**docker** で見つかったメモリ使用量の増加やその他の問題に対処するためです。 +- WireGuard トンネルの開始または停止時に 'update\_services' スクリプトを呼び出すための小さな必要な変更は、Update OS ページから更新すると 'config/wireguard/\*.conf' ファイルすべてに自動的に適用されます。手動で更新する場合、またはダウングレードする場合は、Settings/VPN Manager ページの設定で "dummy change" を行い、その後 Apply をクリックする必要があります。 + +## バグ修正と改善 + +- メール通知: PHP8 の CRLF 処理変更を回避するため、/etc/php.ini に 'mail.mixed\_lf\_and\_crlf=On' を追加 +- emhttpd: 回帰不具合を修正: エミュレートされた ZFS ボリュームが認識されない +- emhttpd: 回帰不具合を修正: diskFsType==auto で defaultFsType が暗号化を指定している場合、フォーマットに失敗する +- emhtptd: 回帰不具合を修正: diskFsType==auto の場合にマウントに失敗する +- htop: /root/.config/htop/htoprc の既定ファイルを削除 +- network: RC サービスの更新: + - NFS - サービス再読み込みを修正 + - RPC - サービス再読み込みを修正 + - NGINX - デフォルトが 443 の場合、FQDN リダイレクトの HTTPS ポートを削除 + - すべてのサービス - IPv4 リンクローカル割り当て (169.254.xxx.xxx) を登録 + - すべてのサービス - ロックファイルをプログラム可能にする + - WireGuard: 競合状態を避けるためサービス更新を遅延 + - rc.library: bind リスト内で重複を許可しない +- WebGUI: ダッシュボードの更新: + - タイル内容の表示/非表示を再導入 + - すべての内容を一度に表示/非表示にする新しいアイコン機能を追加 + - 列間の隙間を縮小 + - description -> model + - ZFS: パーセンテージ値を最大 100% に修正 + - prototype 関数を使用: これにより、サードパーティ開発者が動的コンテンツを自動的に非表示にしやすくなります + - 重複する IP 割り当てを処理し、警告を表示 + - ヘッダー MEMORY を SYSTEM に変更 +- WebGUI: OS 更新: アップグレード前にリリースノートを読んだことを確認するチェックボックスを追加 +- WebGUI: 診断: 重複割り当ての一覧を含める +- WebGUI: NFS: Security/Private 用に Rule フィールドを 256 文字から 512 文字に拡張。 + +## Linux カーネル + +- バージョン 6.1.36 + +## ベースディストリビューション + +- bind: バージョン -9.16.42 (CVE-2023-2911) +- docker: 20.10.24 (v23.0.6 からロールバック) + +## パッチ + +[Unraid Patch plugin](https://forums.unraid.net/topic/185560-unraid-patch-plugin/) をインストールしている場合は、_**Tools → Unraid Patch**_ に移動して以下のパッチ / ホットフィックスを取得してください: + +- セキュリティ更新の一部。詳細は [このブログ記事](https://unraid.net/blog/cvd) を参照してください。追加のセキュリティ更新のため、最新の安定版へのアップグレードを推奨します。 From 1ba9bea615f91b90c8938b4b79726e644bf1762e Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:27:11 -0400 Subject: [PATCH 113/437] New translations 6.12.3.md (Japanese) --- .../current/unraid-os/release-notes/6.12.3.md | 59 +++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.12.3.md diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.12.3.md b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.12.3.md new file mode 100644 index 00000000000..84e60449b04 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.12.3.md @@ -0,0 +1,59 @@ +# バージョン 6.12.3 2023-07-14 + +[6.12.2](6.12.2.md) との差分 + +## アップグレードに関する注意事項 + +### 既知の問題 + +一般的な既知の問題については、[6.12.0 リリースノート](6.12.0.md#known-issues) を参照してください。 + +### ロールバック + +6.12.0 より前にロールバックする場合は、[6.12.0 リリースノート](6.12.0.md#rolling-back) も参照してください。 + +## ネットワーク + +このリリースでは、特に IPv6 に関連するネットワークの不具合が修正されています。その副次的効果として、特定の状況で WebGUI が読み込まれない問題も解決されるはずです。 + +注: IPv6 を無効化するコードを 'go' スクリプトに記述している場合は、それを削除し、代わりに 'Settings/Network Settings' ページから無効化してください。IPv6 を手動で無効にすると競合が発生します。 + +## Docker + +このリリースでは、配列が停止したときに Docker が適切に停止しない問題が修正されており、クリーンでないシャットダウンにつながる可能性がありました。 + +しばらくすると Docker コンテナの起動に問題が発生し、Plex を使用している場合は、Plex の Docker コンテナ設定を開き、詳細表示に切り替えて、Extra Params に `--no-healthcheck` を追加してください + +## バグ修正と改善 + +- rc.docker: + - docker デーモンの実行チェックを改訂 + - rc.docker: shim インターフェースとの競合を避けるため、必要に応じてメインインターフェースのルートメトリックを変更 +- rc.library: + - ipv6 の max/min に対するコード最適化 + - ipv4 マップドアドレスをサポート +- rc.nginx: lo インターフェース上で ipv4/ipv6 を明示的に選択 +- shfs: ZFS がいずれかのボリュームである場合の共有サイズ計算を修正 +- WebGUI: + - VM 設定ページ: টাইポを修正 + - Share Edit ページ: 最小空き容量の設定を常に利用可能にする + - WireGuard: Ipv6 マスクの টাইポを修正 + - ルーティングテーブル: 値が 0 の場合のメトリック値の表示を修正 + +## Linux カーネル + +- バージョン 6.1.38 +- Intel Core(第2世代以降)CPU モデルで、電力の監視および制限を行うサポートを追加: + - CONFIG\_POWERCAP: 汎用 powercap sysfs ドライバ + - CONFIG\_INTEL\_RAPL: MSR インターフェース経由の Intel RAPL サポート + - CONFIG\_IDLE\_INJECT: アイドル注入フレームワーク + +## ベースディストリビューション + +- firefox: バージョン 115.0.r20230710165010 (AppImage) + +## パッチ + +[Unraid Patch plugin](https://forums.unraid.net/topic/185560-unraid-patch-plugin/) をインストールしている場合は、_**Tools → Unraid Patch**_ に移動して以下のパッチ / ホットフィックスを取得してください: + +- セキュリティ更新の一部。詳細は [このブログ記事](https://unraid.net/blog/cvd) を参照してください。追加のセキュリティ更新のため、最新の安定版へのアップグレードを推奨します。 From af8ac690b9d70a937d34996fc4827b84ce418514 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:27:12 -0400 Subject: [PATCH 114/437] New translations 6.12.4.md (Japanese) --- .../current/unraid-os/release-notes/6.12.4.md | 152 ++++++++++++++++++ 1 file changed, 152 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.12.4.md diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.12.4.md b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.12.4.md new file mode 100644 index 00000000000..c61c692c770 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.12.4.md @@ -0,0 +1,152 @@ +# バージョン 6.12.4 2023-08-31 + +## アップグレードに関する注意事項 + +### 既知の問題 + +一般的な既知の問題については、[6.12.0 リリースノート](6.12.0.md#known-issues) を参照してください。 + +### ロールバック + +以前のバージョンにロールバックする前に、Bridging が有効になっていることを確認することが重要です: + +- _**設定 > ネットワーク設定 > eth0 > Bridging を有効にする**_ = Yes + +その後、アレイを Start すると(Docker および VM サービスとともに)、Docker コンテナ、VM、WireGuard トンネルが以前の設定に更新され、古いリリースでも動作するはずです。 + +古いバージョンに入ったら、次の設定がご利用の構成に対して正しいことを確認してください: + +- _**設定 > Docker > カスタムネットワークへのホストアクセス**_ +- _**設定 > Docker > Docker カスタムネットワークタイプ**_ + +6.12.0 より前にロールバックする場合は、[6.12.0 リリースノート](6.12.0.md#rolling-back) も参照してください。 + +## macvlan のコールトレースの修正 + +このリリースでの大きなニュースは、macvlan のコールトレースとクラッシュに関連する問題を解決したことです! + +問題の根本は、カスタム Docker ネットワークに使用される macvlan は、親インターフェースが bridge(br0 のようなもの)の場合に信頼性が低く、物理インターフェース(eth0 のようなもの)や bond(bond0 のようなもの)で最もよく動作することです。これは以前からのカーネルの問題だと考えており、[バグ報告](https://bugzilla.kernel.org/show_bug.cgi?id=217777)を投稿しました。 + +If you are getting call traces related to macvlan, as a first step we recommend navigating to _**Settings > Docker**_, +switch to advanced view, and change the "Docker custom network type" from macvlan to ipvlan. This is the default +configuration that Unraid has shipped with since version 6.11.5 and should work for most systems. +If you are happy with this setting, then you are done! You will have no more call traces related to macvlan +and can skip ahead to [the next section](#system-drivers-page). + +ただし、一部のユーザーからは、ipvlan モードで特定のルーター(Fritzbox)からのポート転送に問題があることや、高度なネットワーク管理ツール(Ubiquity)で機能が低下することが報告されています。 + +そのようなユーザー向けに、macvlan の問題を回避するためにネットワークを再構成する新しい方法があります。いくつかの設定を調整すると、Docker コンテナ、VM、WireGuard トンネルはそれらを使用するよう自動的に調整されるはずです: + +- _**設定 > ネットワーク設定 > eth0 > Bonding を有効にする**_ = Yes でも No でも可。この解決策ではどちらでも動作します +- _**設定 > ネットワーク設定 > eth0 > Bridging を有効にする**_ = No(これにより macvlan が自動的に有効になります) +- _**設定 > Docker > カスタムネットワークへのホストアクセス**_ = 有効 + +Note: if you previously used the [2-nic docker segmentation method](https://forums.unraid.net/topic/137048-guide-how-to-solve-macvlan-and-ipvlan-issues-with-containers-on-a-custom-network/), +you will also want to revert that: + +- _**設定 > Docker > インターフェース eth0 または bond0 上のカスタムネットワーク**_(つまり、eth0/bond0 が eth1/bond1 ではなくカスタムネットワーク用に構成されていることを確認してください) + +アレイを Start すると、ホスト、VM、Docker コンテナはすべて通信できるようになり、コールトレースも აღარ くならないはずです! + +### トラブルシューティング + +- カスタム IP を持つ Docker コンテナが起動しない場合は、それらを編集して "Network type" を "Custom: eth0" または "Custom: bond0" に変更してください。これを自動的に行おうとしましたが、カスタマイズの状況によっては手動で行う必要があるかもしれません。 +- VM のネットワークに問題がある場合は、それらを編集して Network Source を "vhost0" に設定してください。また、MAC アドレスが割り当てられていることも確認してください。 +- WireGuard トンネルが起動しない場合は、各トンネルにダミーの変更を加えて保存してください。 +- Docker コンテナへのポート転送に問題がある場合(特に Fritzbox ルーターで)、ルーター上のポート転送を削除して再作成してください。 + +### もう少し技術的に… + +このリリースへアップグレードした後、eth0 で bridging が有効なままであれば、すべては以前と同じように動作します。コールトレースへの回避策として、カスタム Docker ネットワークを無効にする、macvlan の代わりに ipvlan を使う、またはコンテナを eth1 上に置く 2 NIC Docker セグメンテーション方式を使う、という方法を試せます。 + +このリリース以降、eth0 で bridging を無効にすると、Docker コンテナと VM が使用する新しい macvtap ネットワークを作成します。br0 ではなく eth0 を親とすることで、コールトレースを回避しています。 + +副次的な利点として、macvtap ネットワークは bridged ネットワークより高速だと報告されているため、Docker コンテナや VM との通信時に速度向上が見られるかもしれません。 + +参考: メインインターフェース(eth0)で bridging が無効になると、Docker カスタムネットワークタイプは macvlan に設定され、非表示になります。システム上で bridging が有効な他のインターフェースがある場合は、従来の ipvlan オプションが利用可能です。ここで説明している新しい修正を使用するには、その設定を macvlan のままにしておく必要があります。 + +## システムドライバー ページ + +システムで利用可能な/使用中のドライバーを確認するには、_**Tools > System Drivers**_ に移動してください。プラグインによってインストールされたサードパーティ製ドライバー(NVIDIA や Realtek など)には、そのドライバーのサポートページへのリンクがあるアイコンがあります。さらに、これで flash ドライブ上のファイルを探さなくても、任意のドライバーの modprobe.d 設定ファイルを追加・変更・削除できるようになりました。 + +## その他のバグ修正と改善 + +- このリリースでは、ネットワーク、Libvirt、Docker、WireGuard、NTP、NGINX、NFS、RPC のコーナーケースを解決しています。また、VM Manager に、更新時にも VNC パスワードを保持する改善が含まれています。 + +- シャットダウン処理を変更し、NUT プラグインがシステムを適切にシャットダウンできるようにしました。 + +- 自動的に閉じる前の通知表示時間は、設定可能になりました(_**設定 > 通知設定**_ を参照)。 + +- 小さな変更として、/boot/extra 内のパッケージはプラグインによってインストールされたパッケージにより近い扱いとなり、インストールはコンソールではなく syslog に記録されます。 + +- Update OS プロセスは、必要に応じて Plugin-Update-Helper スクリプトを自動的に更新します。 + +## [6.12.3](6.12.3.md) からの変更点 + +### ベースディストリビューション + +- create\_network\_ini: + - dhcp フックを修正 + - IP アドレス収集を改善 +- diagnostics: + - 診断用 version txt ファイルに以前の Unraid バージョンを追加。 + - ntp.conf、sshd.config、および servers.conf(URL は匿名化)を追加 + - IP アドレスを匿名化 +- docker: + - shim または macvtap ネットワーク使用時にルーティングを追加 + - "host access" が有効な場合のルーティングを修正 + - shim/vhost インターフェースから IPv6 を削除(一部のルーターは非互換) +- libvirt、nginx、nfs、rpc: 実行中プロセスの検出を変更 +- nfsclient: v4 でネゴシエーションを開始し、atime 変更を無効化 +- rc.6: シャットダウン中も /usr と /lib をマウントしたままにする +- rc.docker: + - コンテナとサービスに同じ IPv6 ネットワークを作成 + - dockerd 停止時のログを増やす +- rc.inet1: + - bridging に promiscuous mode を使用しない + - dhcpcd に永続オプションを追加 +- rc.library: インターフェースは常に同じ順序で一覧表示し、ipv6 表示を修正 +- rc.libvirt: XML に 'itco' watchdog がある場合は削除 +- rc.local: 自動生成された /etc/modprobe.d/zfs.conf ファイルに注釈を追加 +- rc.services: + - ログを追加 + - WireGuard の "VPN tunneled access for docker" トンネルを services から除外 + - ntp 用の WireGuard トンネルを除外(コード最適化) + +#### パッケージの更新 + +- btrfs-progs: 6.3.3 +- curl: バージョン 8.2.0(CVE-2023-32001) +- firefox: バージョン 117.0.r20230824132758(AppImage) +- kernel-firmware: バージョン 20230724\_59fbffa +- krb5: バージョン 1.19.2(CVE-2023-36054) +- openssh: バージョン 9.3p2(CVE-2023-38408) +- openssl: バージョン 1.1.1v(CVE-2023-3817 CVE-2023-3446) +- samba: バージョン 4.17.10(CVE-2023-3496 CVE-2022-2127 CVE-2023-34968 CVE-2023-3496 CVE-2023-3347) + +### Linux カーネル + +- バージョン 6.1.49(CVE-2023-20593) +- CONFIG\_SCSI\_MPI3MR: Broadcom MPI3 ストレージコントローラーデバイスドライバー + +### WebGUI + +- ダッシュボード: ZFS を使用していないときは ZFS バーを非表示にする +- Docker 設定: サブネットサイズを修正 +- Feedback: フィードバックスクリプトをリファクタリング +- ネットワーク設定: DNS 設定が時々消える問題を修正 +- 通知: 新しい通知オプション: 自動クローズ時間、既定値は 5 秒 +- プール: 最小空き領域: アレイ停止時のみ有効 +- 共有とプール: "Minimum free space" を割合ではなく絶対値で表示 +- System Drivers: 新しいページ +- 翻訳: 言語ファイル内のキーと値をトリム +- VM Manager: 更新中も VNC パスワードを保持 +- VM Manager: ダウンロードした '.vv' ファイルを削除 +- CSS: overflow-x を 'auto' に設定 +- monitor\_nchan を更新 + +## パッチ + +[Unraid Patch plugin](https://forums.unraid.net/topic/185560-unraid-patch-plugin/) をインストールしている場合は、_**Tools → Unraid Patch**_ に移動して以下のパッチ / ホットフィックスを取得してください: + +- セキュリティ更新の一部。詳細は [このブログ記事](https://unraid.net/blog/cvd) を参照してください。追加のセキュリティ更新のため、最新の安定版へのアップグレードを推奨します。 From ec5cb79ca65c304883a55840f022ec555ac2e8d3 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:27:14 -0400 Subject: [PATCH 115/437] New translations 6.12.5.md (Japanese) --- .../current/unraid-os/release-notes/6.12.5.md | 63 +++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.12.5.md diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.12.5.md b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.12.5.md new file mode 100644 index 00000000000..e3406ec3b48 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.12.5.md @@ -0,0 +1,63 @@ +# バージョン 6.12.5 2023-11-27 + +## アップグレードに関する注意事項 + +このリリースにはバグ修正とセキュリティ更新が含まれています。すべてのユーザーにアップグレードを推奨します。 + +### 既知の問題 + +[ZFS データ破損](https://github.com/openzfs/zfs/issues/15526)の問題に対する緩和策が含まれています。これは、デフォルトの `/etc/modprobe.d/zfs.conf` ファイルに次のオプションを含めることで実現されます: + +`zfs_dmu_offset_next_sync=0` + +一般的な既知の問題については、[6.12.0 リリースノート](6.12.0.md#known-issues) を参照してください。 + +### ロールバック + +6.12.4 より前へロールバックする場合は、[6.12.4 リリースノート](6.12.4.md#rolling-back)も参照してください。 + +## [6.12.4](6.12.4.md) との差分 + +### バグ修正と改善 + +- 非常に古い 'MemTest86+' を Memtest86+ バージョン 6.20 に置き換える + - [ブートオプション](https://github.com/memtest86plus/memtest86plus#boot-options) も利用できます。 +- 「mirror syslog to flash」が有効な場合は、Tools -> Syslog で syslog-previous を表示し、diagnostics でも確認してください +- Docker: + - Docker コンテナが常に停止するとは限らず、docker がアンマウントできない原因になっていた + - カスタムネットワーク上で IPv6 を使用している Docker コンテナを起動できなかった +- emhttpd: User Shares が有効でない場合、array Start シーケンス中に update\_cron が呼び出されなかった +- rc.nginx stop - nginx を強制終了する +- shfs: 'include' マスクに 6 台以上のディスクが指定されている場合、割り当て方法が正しく動作していなかった +- webgui: + - Downgrade.php が 6.12 向けに更新されていなかった + - ipvlan / macvlan の設定を常に表示する +- ZFS: 他のシステムのプールが確実にインポートされるように 'zfs import -f' を使用する +- 未フォーマットのデバイスの自動スピンダウンを防止する + +### パッケージの更新 + +- curl: バージョン 8.4.0 (CVE-2023-38546 CVE-2023-38545 CVE-2023-38039) +- firefox: バージョン 119.0.r20231106151204 (AppImage) +- intel-microcode: バージョン 20231114 +- kernel-firmware: 20231024\_4ee0175 +- qemu: バージョン 7.2.0 +- samba: バージョン 4.17.12 (CVE-2023-3961 CVE-2023-4091 CVE-2023-4154 CVE-2023-42669 CVE-2023-42670) +- smartmontools: バージョン 7.4 +- zfs: バージョン 2.1.13 + +### Linux カーネル + +- バージョン 6.1.63 +- CONFIG\_USB\_NET\_CDC\_NCM: CDC NCM サポート +- CONFIG\_NFS\_V4\_1: NFSv4.1 用 NFS クライアントサポート +- CONFIG\_NFS\_V4\_1\_MIGRATION: 移行のための NFSv4.1 クライアントサポート +- CONFIG\_NFS\_V4\_2: NFSv4.2 用 NFS クライアントサポート +- CONFIG\_NFS\_V4\_2\_READ\_PLUS: NFS: NFSv4.2 READ\_PLUS 操作のサポートを有効化 +- CONFIG\_NFSD\_V4\_2\_INTER\_SSC: NFSv4.2 サーバー間 COPY + +## パッチ + +[Unraid Patch plugin](https://forums.unraid.net/topic/185560-unraid-patch-plugin/) をインストールしている場合は、_**Tools → Unraid Patch**_ に移動して以下のパッチ / ホットフィックスを取得してください: + +- セキュリティ更新の一部。詳細は [このブログ記事](https://unraid.net/blog/cvd) を参照してください。追加のセキュリティ更新のため、最新の安定版へのアップグレードを推奨します。 From d77ebe14cba980abacfb32627fe373ea6c1ccaaf Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:27:15 -0400 Subject: [PATCH 116/437] New translations 6.12.6.md (Japanese) --- .../current/unraid-os/release-notes/6.12.6.md | 65 +++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.12.6.md diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.12.6.md b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.12.6.md new file mode 100644 index 00000000000..6a7ef7bdd09 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.12.6.md @@ -0,0 +1,65 @@ +# バージョン 6.12.6 2023-12-01 + +## アップグレードに関する注意事項 + +このリリースにはバグ修正と、OpenZFS の重要なパッチリリースが含まれています。すべてのユーザーにアップグレードをおすすめします。 + +### 既知の問題 + +#### 旧式のプラグイン + +旧式のプラグインは問題を引き起こす可能性があります。常に最新の状態に保つことを推奨します。 + +#### macvlan に関連するコールトレースとクラッシュ + +macvlan に関連するコールトレース(または、実際には原因不明のクラッシュ全般)が発生している場合、まず _**設定 > Docker**_ に移動し、**詳細** 表示に切り替えて、**Docker カスタムネットワークタイプ** を **macvlan** から **ipvlan** に変更することをおすすめします。これは Unraid がバージョン 6.11.5 以降で提供している既定の構成であり、ほとんどのシステムで動作するはずです。 + +一部のユーザーから、ipvlan モード時に特定のルーター(Fritzbox)からのポート転送に問題があること、また高度なネットワーク管理ツール(Ubiquity)で機能が制限されることが報告されています。これが影響する場合は、Unraid [6.12.4](6.12.4.md#fix-for-macvlan-call-traces) 以降で利用可能な代替ソリューションを参照してください。 + +#### Jumbo フレームによるネットワークの問題 + +何らかのネットワーク問題が発生している場合は、jumbo フレームが有効になっていないことを確認してください。_**設定 > ネットワーク設定 > eth0**_ に移動し、**Desired MTU** が 1500 であることを確認してください。詳細は [Fix Common Problems の jumbo フレームに関する警告](https://forums.unraid.net/topic/120220-fix-common-problems-more-information/page/2/#comment-1167702) を参照してください。 + +#### Realtek ネットワークカードによる問題 + +最新の Linux カーネルに含まれる標準の Realtek ドライバが、ネットワークおよび安定性の問題を引き起こしています。問題が発生しており、さらに _**ツール > システムデバイス**_ に Realtek イーサネットコントローラが表示されている場合は、表示されるパーツ番号を控えて Community Apps でそのデバイス用の Realtek ドライバプラグインがあるか検索してください。詳細は [Realtek ドライバプラグインのサポートページ](https://forums.unraid.net/topic/141349-plugin-realtek-r8125-r8168-and-r81526-drivers/) を参照してください。 + +#### Adaptec 7 Series HBA は非互換 + +aacraid ドライバを使用する Adaptec 7 Series HBA をお使いの場合は、最新のカーネルではドライバに回帰不具合があるため、当面は 6.12.4 のままにしておくことをおすすめします。詳細は Linux カーネルのこの [バグレポート](https://bugzilla.kernel.org/show_bug.cgi?id=217599) を参照してください。 + +#### その他の問題はありますか? + +**Fix Common Problems** プラグインをインストールすることを強く推奨します。一般的な設定上の問題を警告してくれるためです。 + +他のクラッシュや安定性の問題がありますか?_**設定 > Syslog Server**_ に移動し、**Mirror syslog to flash** を有効にしてください。これにより flash ドライブの消耗は増えますが、クラッシュ後にログを収集する短期的な用途には有用です。次回の再起動後、_**ツール > Diagnostics**_ に移動して匿名化された診断情報をダウンロードしてください(6.12.5 以降では、diagnostics に flash ドライブへミラーされたログが自動的に含まれます)。その後、[General Support](https://forums.unraid.net/forum/55-general-support/) で新しいトピックを作成し、問題の詳細をすべて提供してください。問題が解決したら、必ず **Mirror syslog to flash** を無効にしてください。 + +### ロールバック + +6.12.4 より前へロールバックする場合は、[6.12.4 リリースノート](6.12.4.md#rolling-back)も参照してください。 + +## [6.12.5](6.12.5.md) からの変更 + +### バグ修正と改善 + +- modprobe.d/zfs.conf: `zfs_dmu_offset_next_sync=0` の緩和策を削除 - もう不要 +- network: IPv6 の静的アドレス割り当てを修正 +- [Rocket Lake システム上の i915 ドライバに関連するクラッシュ](6.12.0.md#crashes-related-to-i915-driver) への回避策は不要になりました。 + アップグレード後、Web ターミナルを開いて次のコマンドを入力し、その後再起動してください: + + `rm /boot/config/modprobe.d/i915.conf` + +### パッケージの更新 + +- nvme-cli: バージョン 2.6 +- zfs: バージョン 2.1.14 + +### Linux カーネル + +- バージョン 6.1.64 + +## パッチ + +[Unraid Patch plugin](https://forums.unraid.net/topic/185560-unraid-patch-plugin/) をインストールしている場合は、_**Tools → Unraid Patch**_ に移動して以下のパッチ / ホットフィックスを取得してください: + +- セキュリティ更新の一部。詳細は [このブログ記事](https://unraid.net/blog/cvd) を参照してください。追加のセキュリティ更新のため、最新の安定版へのアップグレードを推奨します。 From 5dc67deb11f26aaf42eaf4ccc538bdc013998c40 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:27:17 -0400 Subject: [PATCH 117/437] New translations 6.12.8.md (Japanese) --- .../current/unraid-os/release-notes/6.12.8.md | 109 ++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.12.8.md diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.12.8.md b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.12.8.md new file mode 100644 index 00000000000..4a756bd2ddc --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.12.8.md @@ -0,0 +1,109 @@ +# バージョン 6.12.8 2024-02-15 + +## アップグレードに関する注意事項 + +このリリースには、非常に重要な修正が 2 つ含まれています。まず、最近の +[セキュリティアドバイザリ](https://www.docker.com/blog/docker-security-advisory-multiple-vulnerabilities-in-runc-buildkit-and-moby/) に対応する修正を取り込むため、Docker を更新しました。 + +次に、新たに追加されたアレイドライブに標準外のパーティション +レイアウトがある場合にデータ損失につながる可能性のある特殊な不具合を修正しました。これらのドライブのいずれかを追加した場合、アレイを 2 回目に起動したときにそのドライブは未フォーマットとして表示されます。これが発生した場合は、サポートまでご連絡ください。データ復旧をお手伝いします。この問題に遭遇していなくても、将来ドライブを追加した際に影響を受けないよう、アップグレードすることをお勧めします。 + +このリリースには、ネットワーク、Docker コンテナ、Time Machine サポート、VM におけるいくつかの改善に加え、一部のシステムで Dashboard に発生していた遅延の修正も含まれています。また、NVME および SSD ドライブの SMART 属性処理も改善しました。 +詳細は以下をご覧ください。 + +### 既知の問題 + +#### 旧式のプラグイン + +旧式のプラグインは問題を引き起こす可能性があります。常に最新の状態に保つことを推奨します。 + +#### macvlan に関連するコールトレースとクラッシュ + +macvlan に関連するコールトレース(または、実際には原因不明のクラッシュ全般)が発生している場合、まず _**Settings > Docker**_ に移動し、**advanced** 表示に切り替えて、**Docker custom network type** を **macvlan** から **ipvlan** に変更することを推奨します。これは Unraid がバージョン 6.11.5 以降で採用している既定の構成であり、ほとんどのシステムで動作するはずです。 + +一部のルーター(Fritzbox)からのポートフォワーディングや、ipvlan モード時の高度なネットワーク管理ツール(Ubiquity)の機能低下について、問題が報告されていることに注意してください。これが影響する場合は、Unraid [6.12.4](6.12.4.md#fix-for-macvlan-call-traces) 以降で利用可能な代替の解決策を参照してください。 + +#### Jumbo フレームによるネットワークの問題 + +いずれかの種類のネットワーク問題が発生している場合は、Jumbo フレームが有効になっていないことを確認してください。 +_**Settings > Network Settings > eth0**_ に移動し、**Desired MTU** が 1500 であることを確認してください。 +詳細は、[Fix Common Problems における Jumbo フレームの警告](https://forums.unraid.net/topic/120220-fix-common-problems-more-information/page/2/#comment-1167702) を参照してください。 + +#### Realtek ネットワークカードによる問題 + +アップグレードされたカーネルにより、Jumbo フレームと組み込みの Realtek 8125 ドライバに関するデッドロックの問題は修正されています。ただし、Jumbo フレームに関する上記のアドバイスは引き続き推奨します。 + +それでもネットワークの安定性に問題があり、_**Tools > System Devices**_ に Realtek イーサネットコントローラが表示される場合は、表示されている部品番号を控え、Community Apps でそのデバイス用の Realtek ベンダー提供ドライバプラグインがあるか検索してください。 +詳細は、[Realtek ドライバプラグインのサポートページ](https://forums.unraid.net/topic/141349-plugin-realtek-r8125-r8168-and-r81526-drivers/) を参照してください。 + +#### その他の問題はありますか? + +**Fix Common Problems** プラグインをインストールすることを強く推奨します。一般的な設定上の問題を警告してくれるためです。 + +他のクラッシュや安定性の問題がある場合は、_**Settings > Syslog Server**_ に移動し、**Mirror syslog to flash** を有効にしてください。これにより USB フラッシュ起動デバイスへの書き込み回数が増えますが、クラッシュ後にログを収集する短期的な用途には有用です。 + +次回再起動後、_**Tools > Diagnostics**_ に移動して匿名化された診断情報をダウンロードしてください(6.12.5 以降、診断には flash ドライブにミラーされたログが自動的に含まれます)。 + +最後に、[General Support](https://forums.unraid.net/forum/55-general-support/) で新しいトピックを作成し、問題の詳細をすべて提供してください。問題が解決したら、必ず **Mirror syslog to flash** を無効にしてください。 + +### ロールバック + +以前のリリースにロールバックすると、Docker のセキュリティ問題および [Upgrade notes](#upgrade-notes) に記載されているデータ損失の可能性があるシナリオに対してシステムが脆弱になりますのでご注意ください。 + +6.12.6 より前にロールバックする場合は、[6.12.6 リリースノート](6.12.6.md#rolling-back) も参照してください。 + +## 6.12.7 との差分 + +rc リリースからのアップグレードに関連する問題を修正しました。 + +## [6.12.6](6.12.6.md) との差分 + +### バグ修正と改善 + +- Docker: + - WG ルートが正しいインターフェース(br0、eth0、または bond0)に追加されるよう修正 + - Docker イメージのアンマウントに "lazy unmount" を使用し、アレイ停止の妨げを防止 + - 複数のセキュリティ問題(CVE-2024-21626、CVE-2024-24557)に対応するため更新 +- ネットワークの改善: + - DHCP アドレスを割り当てる前にキャリアを確認して、より高速に起動 + - IPv4 および IPv6 アドレスの先頭のゼロを削除 + - コマンドラインからのネットワークトラブルシューティングを支援する新しい '/etc/rc.d/rc.inet1 status' および '/etc/rc.d/rc.inet1 status ip' コマンド +- 通知: 通知エージェントに ntfy.sh を追加 +- SMART の改善: + - NVME Selftest を修正 + - 'Accumulated power on time, hours:minutes xxxxx:yy' SMART 属性の表示を修正 + - SSD の SMART 属性に書き込まれた KB/MB/GB/TB を表示 + - 'SSD endurance remaining' SMART 属性を追加 +- システムログ: + - デフォルトでは、syslog はシャットダウン時に USB ブートフラッシュへコピーされます。無効にするには _**Settings > Syslog Server**_ を参照してください + - 上記のログおよび **Mirror syslog to flash** のログは、次回の起動時に _**Tools > Syslog**_ と診断情報で利用可能になります +- VM Manager: ダウングレード時の修正。VM テンプレートが最新の QEMU マシンタイプに更新されている場合、ダウングレード後に見つからなくなります。この変更では、指定されたマシンタイプの最新の現行バージョンを見つけます。 +- ZFS: 他システムのプールのインポートを許可するため、zpool import に "-f" フラグを使用 +- その他: + - 新規インストールでは EFI ブートを既定で有効にする + - Dashboard と Docker ページの遅延を修正(フラッシュデバイスへの書き込みも削減) + - フォーマット: すでに有効な場合はデバイスのパーティション レイアウトを初期化しない。 + - OS の更新: Update OS と Downgrade OS のページを再設計。詳しくは [ブログ記事](https://unraid.net/blog/new-update-os-tool) を参照 + - MacOS が 'flash' 共有に書き込めない問題を修正し、Time Machine 互換性を復元(fruit の変更) + - Community Apps(インストール済みの場合)が複数インストール時にコンテナを自動的に開始できるようにする + - フィードバックフォーム: DONE ボタンを CANCEL に変更 + +### パッケージの更新 + +- docker: バージョン 24.0.9 +- kernel-firmware: バージョン 20231226\_abfcad8 + +### Linux カーネル + +- バージョン 6.1.74 + - CONFIG\_USB\_SERIAL\_XR: USB MaxLinear/Exar USB-シリアル ドライバー + - CONFIG\_CAN: CAN バス サブシステムのサポート + - CONFIG\_CAN\_NETLINK: Netlink サポート付き CAN デバイスドライバー + - CONFIG\_CAN\_GS\_USB: Geschwister Schneider UG および candleLight 互換インターフェース + - CONFIG\_SCSI\_LPFC: Emulex LightPulse Fibre Channel サポート + +## パッチ + +[Unraid Patch plugin](https://forums.unraid.net/topic/185560-unraid-patch-plugin/) をインストールしている場合は、_**Tools → Unraid Patch**_ に移動して以下のパッチ / ホットフィックスを取得してください: + +- セキュリティ更新の一部。詳細は [このブログ記事](https://unraid.net/blog/cvd) を参照してください。追加のセキュリティ更新のため、最新の安定版へのアップグレードを推奨します。 From 2e56bad4d27bb0dc690027effea510d3277b3b32 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:27:18 -0400 Subject: [PATCH 118/437] New translations 6.12.9.md (Japanese) --- .../current/unraid-os/release-notes/6.12.9.md | 83 +++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.12.9.md diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.12.9.md b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.12.9.md new file mode 100644 index 00000000000..ab6e35b1070 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.12.9.md @@ -0,0 +1,83 @@ +# バージョン 6.12.9 2024-03-26 + +## アップグレードに関する注意事項 + +これはバグ修正版リリースであり、コミュニティから報告された問題をまとめて修正しています。詳細は以下のとおりです。 +すべてのユーザーにこのリリースへのアップグレードを強く推奨します。 + +### 既知の問題 + +#### 旧式のプラグイン + +旧式のプラグインは問題を引き起こす可能性があります。常に最新の状態に保つことを推奨します。 + +#### macvlan に関連するコールトレースとクラッシュ + +macvlan に関連するコールトレース(または、実際には原因不明のクラッシュ全般)が発生している場合、まず _**Settings > Docker**_ に移動し、**advanced** 表示に切り替えて、**Docker custom network type** を **macvlan** から **ipvlan** に変更することを推奨します。これは Unraid がバージョン 6.11.5 以降で採用している既定の構成であり、ほとんどのシステムで動作するはずです。 + +一部のルーター(Fritzbox)からのポートフォワーディングや、ipvlan モード時の高度なネットワーク管理ツール(Ubiquity)の機能低下について、問題が報告されていることに注意してください。これが影響する場合は、Unraid [6.12.4](6.12.4.md#fix-for-macvlan-call-traces) 以降で利用可能な代替の解決策を参照してください。 + +#### Jumbo フレームによるネットワークの問題 + +いずれかの種類のネットワーク問題が発生している場合は、Jumbo フレームが有効になっていないことを確認してください。 +_**Settings > Network Settings > eth0**_ に移動し、**Desired MTU** が 1500 であることを確認してください。 +詳細は、[Fix Common Problems における Jumbo フレームの警告](https://forums.unraid.net/topic/120220-fix-common-problems-more-information/page/2/#comment-1167702) を参照してください。 + +#### Realtek ネットワークカードによる問題 + +アップグレードされたカーネルにより、Jumbo フレームと組み込みの Realtek 8125 ドライバに関するデッドロックの問題は修正されています。ただし、Jumbo フレームに関する上記のアドバイスは引き続き推奨します。 + +それでもネットワークの安定性に問題があり、_**Tools > System Devices**_ に Realtek イーサネットコントローラが表示される場合は、表示されている部品番号を控え、Community Apps でそのデバイス用の Realtek ベンダー提供ドライバプラグインがあるか検索してください。 +詳細は、[Realtek ドライバプラグインのサポートページ](https://forums.unraid.net/topic/141349-plugin-realtek-r8125-r8168-and-r81526-drivers/) を参照してください。 + +#### その他の問題はありますか? + +**Fix Common Problems** プラグインをインストールすることを強く推奨します。一般的な設定上の問題を警告してくれるためです。 + +他のクラッシュや安定性の問題がある場合は、_**Settings > Syslog Server**_ に移動し、**Mirror syslog to flash** を有効にしてください。これにより USB フラッシュ起動デバイスへの書き込み回数が増えますが、クラッシュ後にログを収集する短期的な用途には有用です。 + +次回再起動後、_**Tools > Diagnostics**_ に移動して匿名化された診断情報をダウンロードしてください(6.12.5 以降、診断には flash ドライブにミラーされたログが自動的に含まれます)。 + +最後に、[General Support](https://forums.unraid.net/forum/55-general-support/) で新しいトピックを作成し、問題の詳細をすべて提供してください。問題が解決したら、必ず **Mirror syslog to flash** を無効にしてください。 + +### ロールバック + +「Docker Patch 6.12.8」の機能は現在、Unraid に組み込まれています。6.12.8 にロールバックする場合は、そのプラグインを再インストールするとよいでしょう。 + +6.12.8 より前のバージョンにロールバックする場合は、[6.12.8 リリースノート](6.12.8.md#rolling-back) も参照してください。 + +## [6.12.8](6.12.8.md) からの変更点 + +### バグ修正と改善 + +- Docker + - コンテナの追加または更新時に、設定ファイル内の空のパスを無視する + - コンテナ更新時の特定の問題を解決 + - コンテナの更新が利用可能な場合の通知を修正 +- 管理アクセスページ + - IPv6 URL の表示に関する問題を解決 + - 従来の 'unraid.net' SSL 証明書のサポートを削除し、"UpdateDNS" を削除 +- Diagnostics: トラブルシューティングを支援するため php エラーログを含める +- System Drivers: ページの表示を妨げていた翻訳の問題を解決 +- UPC: + - サーバーの説明におけるシングルクォートおよびダブルクォートの問題を解決 + - unraid-api がインストールされていない場合は、起動しようとしない +- http のみモードでサーバーの説明またはモデルを変更したとき、または + http または https のいずれかのモードでサーバー名を変更したときのリダイレクトエラーを修正 +- /run の tmpfs サイズ上限を 32M から 128M に増加 +- GPT パーティションテーブルの作成とカーネルに再読み込みを指示する処理の間に遅延を導入し、 + "device or resource busy" エラーを防止 +- shfs: zfs ボリュームに関連する highwater 割り当て方式を修正 +- nfs: NFSv4 マウントがデフォルトで有効になるようにする +- さまざまな PHP 警告を解決 +- 新規インストール時のデフォルトの時刻サーバーを "time.google.com" に変更 + +### Linux カーネル + +- バージョン 6.1.82 + +## パッチ + +[Unraid Patch plugin](https://forums.unraid.net/topic/185560-unraid-patch-plugin/) をインストールしている場合は、_**Tools → Unraid Patch**_ に移動して以下のパッチ / ホットフィックスを取得してください: + +- セキュリティ更新の一部。詳細は [このブログ記事](https://unraid.net/blog/cvd) を参照してください。追加のセキュリティ更新のため、最新の安定版へのアップグレードを推奨します。 From f8b41ee2c622219e80ccaa83fb90428994e58c9b Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:27:20 -0400 Subject: [PATCH 119/437] New translations 6.9.0.md (Japanese) --- .../current/unraid-os/release-notes/6.9.0.md | 683 ++++++++++++++++++ 1 file changed, 683 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.9.0.md diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.9.0.md b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.9.0.md new file mode 100644 index 00000000000..62147d297e4 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.9.0.md @@ -0,0 +1,683 @@ +## バージョン 6.9.0 2021-02-27 + +新機能の概要 + +## 複数プール + +この機能により、プールごとに最大 30 台のストレージデバイスを持つ、名前付きプールを最大 35 個まで定義できます。プールは Main ページから作成および管理します。 + +- 注: 6.9.0 より前のキャッシュディスク/プールは、現在では単に "cache" という名前のプールです。サーバーをアップグレードしてキャッシュディスク/プールが定義されている場合、`config/disk.cfg` のバックアップが `config/disk.cfg.bak` に保存され、その後キャッシュデバイス割り当て設定は `config/disk.cfg` から `config/pools/cache.cfg` という新しいファイルへ移動されます。後で 6.9.0 より前の Unraid OS リリースに戻すと、キャッシュデバイスの割り当ては失われ、キャッシュ用にデバイスを手動で再割り当てする必要があります。正しいデバイスを再割り当てする限り、データはそのまま保持されるはずです。 + +ユーザー共有を作成したり、既存のユーザー共有を編集したりすると、その共有に関連付けるプールを指定できます。割り当てられたプールは、現在のキャッシュプールの動作と同じように機能します。 + +注意すべき点として、共有のディレクトリ一覧を取得すると、その共有を含む Unraid アレイのディスクボリュームとすべてのプールは次の順序でマージされます: + +> 共有に割り当てられたプール +> +> disk1 +> +> `:` +> +> disk28 +> +> [strverscmp()](https://man7.org/linux/man-pages/man3/strverscmp.3.html) の順序で並ぶ _その他すべて_ のプール。 + +単一デバイスのプールは xfs、btrfs、または(非推奨の)reiserfs でフォーマットできます。複数デバイスのプールは btrfs でのみフォーマットできます。将来のリリースでは、複数の "Unraid array" プールや、その他いくつかのプールタイプがサポートされる予定です。 + +- 注: もう 1 つ注意すべき点があります。2 デバイスの btrfs プールがあるとします。これは btrfs でいう "raid1" であり、多くの人が "ミラーリングされたディスク" と理解するものです。まあ、同じデータが両方のディスクに存在するという点ではほぼそのとおりですが、必ずしもブロックレベルでそうとは限りません。次に別のプールを作成し、既存の 2 デバイス btrfs プールのデバイスの 1 つを解除してこのプールに割り当てたとします。すると、x2 の単一デバイス btrfs プールができます。アレイの Start 時に、ユーザーは当然、まったく同じデータを持つ x2 のプールがあると思うかもしれません。しかし、**そうではありません**。代わりに、Unraid OS は btrfs デバイスが既存の複数デバイスプールから削除されたことを検出すると、アレイの Start 時にそのデバイスに `wipefs` を実行し、マウント時に古いプールに含まれないようにします。もちろん、これは移動したデバイス上のすべてのデータを事実上削除します。 + +### 追加の btrfs バランスオプション + +複数デバイスのプールは、引き続き既定で btrfs の _raid1_ プロファイルを使用して作成されます。プールに 3 台以上のデバイスがある場合、_raid1c3_ プロファイル(別々のデバイス上にデータを 3 重化)への再バランスが可能になりました。プールに 4 台以上のデバイスがある場合は、_raid1c4_(別々のデバイス上にデータを 4 重化)へ再バランスできます。また、_raid6_ のバランス操作ではメタデータを _raid1c3_ に設定するよう変更しました(以前は _raid1_ でした)。 + +ただし、これらのバランスフィルタのいずれかを完全に空のボリュームに適用すると、一部のデータエクステントが以前のプロファイルのまま残ることを確認しています。解決策は、同じバランスをもう一度実行するだけです。これは btrfs のバグだと考えており、解決策が出ない場合は、2 回目のバランスを既定でコードに追加します。現時点では、そのままにしています。 + +### SSD の 1 MiB パーティションアライメント + +パーティション 1 の開始位置を 1 MiB 境界に揃えた、別のパーティションレイアウトを追加しました。つまり、512 バイトセクターを持つデバイスではパーティション 1 はセクター 2048 から始まり、4096 バイトセクターを持つデバイスではセクター 256 から始まります。このパーティションタイプは現在、未フォーマットの非回転ストレージのみをフォーマットする際に使用されます。 + +1 MiB アライメントにどのような利点があるかは明確ではありません。SSD デバイスによっては違いが見られないこともあれば、かなりの性能差が出ることもあります。LimeTech は、よほどの理由がない限り(あるいは OCD のせいでどうしても我慢できないのでない限り)、既存の SSD デバイスのパーティションを切り直すことは推奨していません。 + +SSD を再パーティションするには、まずデバイス上の既存のパーティション構造をすべて消去する必要があります。もちろん、**これによりデバイス上のすべてのデータが消去されます**。おそらく最も簡単な方法は、アレイを Stopped にした状態で、消去するデバイスを特定し、`blkdiscard` コマンドを使用することです: + +`blkdiscard /dev/xxx  # たとえば /dev/sdb または /dev/nvme0n1 など` + +警告: 正しいデバイス識別子を入力したことを必ず確認してください。**そのデバイス上のすべてのデータが失われます!** + +次回のアレイ Start 時にそのデバイスは未フォーマットとして表示され、すでにパーティション構造が存在しないため、Unraid OS がそれを作成します。 + +- 注: SSD ベースのキャッシュディスク/プールを再パーティションしてデータを保持したい場合は、特定の構成に関する支援のために [Unraid Community Forum](https://forums.unraid.net/forum/55-general-support/) に投稿することをご検討ください。Prerelease board の [この投稿](https://forums.unraid.net/bug-reports/prereleases/unraid-os-version-690-beta29-available-r1066/) も参照してください。 + +### SMART の扱いとストレージしきい値警告 + +`config/smart-one.cfg` という設定ファイルがあり、SMART に関連する情報、たとえば SMART 情報を取得する目的で `smartctl` に渡すコントローラタイプなどを保存しています。また、そのファイルにはボリュームの警告および重大なしきい値も保存されています。このリリースから、これらの設定は別の方法で扱われます。 + +SMART 設定の場合、設定はスロット ID ではなくデバイス ID ごとに保存されます。これにより、未割り当てデバイスの SMART を管理できます。また、どのスロットに割り当てられても SMART 設定を "デバイスに追従させる" ことができます。ただし、その結果、既定値と異なるすべてのデバイスについて、SMART 設定を手動で再設定する必要があります。 + +ボリュームの警告および重大な空き容量しきい値設定は、この設定ファイルから移動し、代わりに `config/disk.cfg`(Unraid アレイ用)と各プールのプール設定ファイルに保存されるようになりました。つまり、既定値と異なるすべてのボリュームについて、これらの設定を手動で再設定する必要があります。 + +アップグレード後、次のような通知を受け取ることがあります: +`Notice [TOWER] - Disk 1 returned to normal utilization level`. 上記のとおり、すべての SMART 設定は既定値にリセットされました。既定値を確認するには `Settings -> Disk Settings` を開き、個別のドライブの上書き設定は `Main -> Disk X -> Settings` で行ってください。 + +## モジュール/サードパーティ製ドライバーのサポート強化 + +Linux モジュールと firmware は、`/lib/modules` と `/lib/firmware` に読み取り専用でマウントされる個別の squashfs ファイルとして配布していることを思い出してください。現在では、これらの各マウントポイントに overlayfs を設定し、現在実行中のカーネルバージョン向けにビルドされていることを条件に、プラグインシステムを使ってサードパーティ製モジュールをインストールできるようになりました。さらに、USB フラッシュブートデバイス上に `config/modprobe.d` という新しいディレクトリを定義し、その内容は Linux カーネルがモジュールを読み込む前のブートシーケンスの早い段階で `/etc/modprobe.d` にコピーされます。 + +この手法は Nvidia ドライバーのインストールに使用されており(以下を参照)、また Community Developers によって、ベースの Unraid OS に含まれていないモジュールをより簡単に追加する方法として利用できます。カスタムの bzimage、bzmodules、bzfirmware、bzroot ファイルをビルドする必要はありません! + +### モジュールへのパラメータ渡し + +`config/modprobe.d` 内の `conf` ファイルを使って、モジュールにオプションを指定し引数を渡すことができます。 + +例として、現時点では、bond 内でどのネットワークインターフェースを "primary" にするかを指定する UI サポートがありません。bonding ドライバーは既定で最初のメンバーを単純に選択します。構成によっては、たとえば 1Gbit/s(eth0)と 10Gbit/sec(eth1)のインターフェースを持つ bond がある場合など、明示的に優先インターフェースを指定すると便利なことがあります。 + +bond の設定には bonding カーネルモジュールの読み込みが含まれるため、この方法で primary に設定するインターフェースを指定できます: + +フラッシュ上に次のファイルを作成します: `config/modprobe.d/bonding.conf`。中身はこの 1 行だけにしてから、再起動します: + +`options bonding primary=eth1` + +再起動後、次のコマンドを入力して正常に動作したか確認できます: + +`cat /proc/net/bonding/bond0` + +そこで、選択されたインターフェースが "Primary Slave" として表示されるはずです。 + +### Nvidia ドライバー + +`/lib/modules` と `/lib/firmware` にマウントされる squashfs オーバーレイを作成し、さらにカスタムのモジュールパラメータを定義する仕組みを提供する目的は、bz\* ファイルのカスタムビルドを必要とせずに、サードパーティ製ドライバーを Unraid OS に統合する方法を提供することです。Unraid OS で最も要望の多いサードパーティ製ドライバーの 1 つが、Nvidia の GPU Linux ドライバーです。このドライバーは、Docker コンテナーでのトランスコード機能に必要です。Unraid OS のプラグインとしてこのドライバーを提供するには、開発環境のセットアップ、ドライバーとツールのコンパイル、その後の bzmodules の展開、ドライバーの追加、新しい bzmodules の作成、そして最終的に USB フラッシュのルートディレクトリへの置き換えまで、多くの作業が必要でした。この作業はコミュニティメンバーの [@chbmb](https://forums.unraid.net/profile/6219-chbmb/)、[@bass\_rock](https://forums.unraid.net/profile/78406-bass_rock/)、および他のメンバーによって実現されました。彼らの作業に加え、メンバー [@ich777](https://forums.unraid.net/profile/72388-ich777/) の協力により、現在では新しいカーネルを使用する各新しい Unraid OS リリース向けに、ベースの bz\* 配布物には直接含まれない個別の Nvidia ドライバーパッケージを作成しています。 + +各カーネルでサポートされるドライバーのバージョンを示す JSON ファイルは、こちらからダウンロードできます: + +[https://s3.amazonaws.com/dnld.lime-technology.com/drivers/releases.json](https://s3.amazonaws.com/dnld.lime-technology.com/drivers/releases.json) + +各ドライバーパッケージには、Nvidia Linux GPU ドライバーと一連のコンテナツールが含まれています。コンテナツールには次が含まれます: + +`nvidia-container-runtime`\ +`nvidia-container-toolkit`\ +`libnvidia-container` + +これらのツールは、Docker コンテナーでの高速トランスコードを実現するうえで役立ちます。ツールの提供と支援をしてくださったコミュニティメンバー [@ich777](https://forums.unraid.net/profile/72388-ich777/) に大いに感謝します。[@ich777](https://forums.unraid.net/profile/72388-ich777/) は、正しいドライバーのインストールを容易にする [便利なプラグイン](https://raw.githubusercontent.com/ich777/unraid-nvidia-driver/master/nvidia-driver.plg) も提供しています。 + +プラグインシステムを使ってサードパーティ製モジュールを Unraid OS に組み込む機能は、まだ開発途上です。たとえば、Linux 標準ツリー内の Intel イーサネットドライバーを Intel の独自 Linux ドライバーに置き換えることも候補になり得ます。 + +## Docker + +同じ種類の複数のコンテナーに対して、異なるアイコンを選べるようになりました。この変更により、インストール済みのすべての docker アプリケーションのアイコンを再ダウンロードする必要があります。この処理中は、最初に Dashboard または Docker タブを読み込む際に遅延が発生することが予想されますが、コンテナーが表示される前に起こります。 + +Docker エンジン向けのストレージ割り当てに柔軟性を持たせるための変更も行いました。これは Settings/Docker Settings/Docker data root 設定で構成します。これにより、Docker の永続状態(イメージレイヤー)の保存方法を次のように選択できます: + +- `/var/lib/docker` にループバックマウントされた btrfs 形式の vdisk 内。 この場合、イメージファイル名は 'docker.img' でなければなりません。 +- `/var/lib/docker` にループバックマウントされた xfs 形式の vdisk 内。 この場合、イメージファイル名は 'docker-xfs.img' でなければなりません。 +- `/var/lib/docker` にバインドマウントされた、指定ディレクトリ内。 さらに、そのディレクトリが置かれているファイルシステムは btrfs または xfs でなければなりません。 + +Docker は、btrfs 形式の vdisk/ディレクトリの場合は 'btrfs' ストレージドライバーを使用し、xfs 形式の vdisk/ディレクトリの場合は 'overlay2' ストレージドライバーを使用します。 + +実装は次のとおりです。まず `rc.docker` が、`/var/lib/docker` にマウントされているファイルシステムの種類を検出します。現在は btrfs または xfs のいずれかをサポートしており、docker のストレージドライバーは適切に設定されます。 + +次に、`mount_image` を修正して、ループバックファイル名の接尾辞に応じて btrfs または xfs のどちらかでフォーマットされたループバックファイルをサポートします。たとえば、ファイル名が `docker.img` のように `.img` で終わる場合は、`mkfs.btrfs` を使用します。ファイル名が `docker-xfs.img` のように `-xfs.img` で終わる場合は、`mkfs.xfs` を使用します。 + +さらに、ループバックの代わりにディレクトリをバインドマウントする機能も追加しました。ファイル名が `.img` で終わらない場合、コードはそれを `/var/lib/docker` にバインドマウントされるディレクトリ名(おそらく共有上)と見なします。たとえば `/mnt/user/system/docker/docker` であれば、まず必要に応じて `/mnt/user/system/docker/docker` ディレクトリを作成します。このパスがユーザー共有上にある場合は、そのパスを "参照解除" してディスクパスを取得し、そのパスを `/var/lib/docker` にバインドマウントします。たとえば `/mnt/user/system/docker/docker` が "disk1" 上にある場合、`/mnt/disk1/system/docker/docker` をバインドマウントします。注意: 共有は cache-only か cache-no である必要があります。そうしないと 'mover' がディレクトリを移動しようとしますが、スクリプトはそれを確認しません。 + +## 仮想化 + +[@Skitals](https://forums.unraid.net/profile/97624-skitals/) による Tools → System Devices ページの変更を、[@ljm42](https://forums.unraid.net/profile/61877-ljm42/) による改良とともに統合しました。起動時にチェックボックスをいくつか選ぶだけで、Linux から分離する PCI デバイスを選択できるようになりました。これにより、それらのデバイスを VM に割り当てるために予約しやすくなります。この手法は _stubbing_ と呼ばれます(起動時にデバイスにスタブまたはダミーのドライバーを割り当て、実際の Linux ドライバーが割り当てられないようにするためです)。 + +個々のドライバーを _blacklist_ できるなら、なぜ VM に割り当てるためにそのデバイスを stub する必要があるのか、と思うかもしれません。答えは次のとおりです。確かにできます。しかし、同じ種類のデバイスが複数あり、その一部は VM にパススルーし、残りにはホスト Linux ドライバーをインストールする必要がある場合は、VM に渡すデバイスには stubbing を使わなければなりません。 + +注: VFIO-PCI Config プラグインをインストールしていた場合、その機能は現在 Unraid OS 6.9 に組み込まれているため、削除してください。Syslinux ファイルを変更して手動でデバイスを stub していた場合は、[vfio-pci ガイド](https://forums.unraid.net/topic/93781-guide-bind-devices-to-vfio-pci-for-easy-passthrough-to-vms/) に記載の新しい方法への切り替えを検討してください。 + +## 多言語サポート + +Unraid 6.9 のもう 1 つの魅力的な新機能は、言語パックをダウンロードして、Unraid OS をさまざまな言語で使用できることです。 + +[@bonienl](https://forums.unraid.net/profile/2736-bonienl/) によって、Unraid OS Management Utility、別名 WebGUI に多言語サポートを提供するための膨大な作業と労力が投入されました。現在、_英語、スペイン語、フランス語、ドイツ語、オランダ語、アラビア語、簡体字中国語、ポルトガル語、ポーランド語_ が利用可能で、他にもいくつか開発中です。 + +[@Squid](https://forums.unraid.net/profile/10290-squid/) のおかげで、言語パックは Community Applications プラグイン経由でインストールできます。Language という新しいカテゴリを探してください。 + +- 注: 言語をインストールするには Community Applications を最新にしておく必要があります。詳細は [こちらを参照](https://forums.unraid.net/topic/38582-plug-in-community-applications/page/124/?tab=comments#comment-866710) してください。 + +各言語パックは、公開されている [Unraid organization の GitHub リポジトリ](https://github.com/unraid) にあります。翻訳ミスを修正したい方は、ぜひクローンして Pull Request を送ってください。言語翻訳と PR のマージは [@SpencerJ](https://forums.unraid.net/profile/88446-spencerj/) が管理しています。 + +_多言語サポートの詳細については、[ガイドをご覧ください。](https://unraid.net/blog/unraid-6-9-multi-language-support)_ + +[Unraid Community Forum の多言語セクション](https://forums.unraid.net/forum/75-multi-language-section/) も追加しました。 + +## その他 + +### GPU ドライバー統合 + +Unraid OS には、選択された in-tree GPU ドライバーとして ast (Aspeed)、i915 (Intel)、amdgpu および radeon (AMD) が含まれるようになりました。後方互換性のため、これらのドライバーは `/etc/modprobe.d` 内の対応する `conf` ファイルにより既定で blacklist されています: + +`/etc/modprobe.d/ast.conf`\ +`/etc/modprobe.d/i915.conf`\ +`/etc/modprobe.d/amdgpu.conf`\ +`/etc/modprobe.d/radeon.conf` + +これらのファイルにはそれぞれ 1 行だけがあり、そのドライバーを _blacklist_ して Linux カーネルに読み込まれないようにしています。 + +USB フラッシュブートデバイスの `config/modprobe.d` ディレクトリに独自の `conf` ファイルを作成することで、これらのファイルの設定を上書きできます。たとえば amdgpu ドライバーの blacklist を解除するには、ターミナルセッションで次のコマンドを入力して空のファイルを作成します: + +`touch /boot/config/modprobe.d/amdgpu.conf` + +これは 1 回だけ実行すればよく、go スクリプトに追加する必要はありません。 + +6.9.1 では、go スクリプトに GPU 用の modprobe コマンドや `/dev/dri` の権限を修正するコマンドが含まれている場合、それらを削除してください: + +`modprobe amdgpu`\ +`chmod -R 777 /dev/dri` + +6.9.0 では、使用している docker が GPU にアクセスできない場合、go スクリプトにこの行を追加/維持してください: + +`chmod -R 777 /dev/dri` + +ただし、次の行は削除してください: + +`modprobe amdgpu` + +### Linux カーネル + +LTS(Long Term Supported)カーネル、バージョン 5.10.x を使用しています。 + +カーネルで有効になった新機能: + +- WireGuard モジュール +- iScsi Target モジュール +- USB/IP モジュール + +以下のアウトオブツリードライバーが含まれます: + +- QLogic QLGE 10Gb Ethernet ドライバーサポート(staging から) +- RealTek r8125: バージョン 9.003.05(より新しい r8125 用に含まれる) +- HighPoint rr272x\_1x: バージョン v1.10.6-19\_12\_05(ユーザー要望による) + +Linux カーネルを更新するにあたり、アウトオブツリードライバーがビルドできなくなった場合は、そのドライバーは除外されることに注意してください。 + +以下のドライバーは **除外** されています: + +- Highpoint RocketRaid r750(ビルド不可) +- Highpoint RocketRaid rr3740a(ビルド不可) +- Tehuti Networks tn40xx(ビルド不可) + +これらのドライバーのいずれかが必要な場合は、Bug Report を作成してください。代替案を探すためにしばらく調査します。あるいは、コントローラのメーカーに働きかけて、**彼ら** にドライバーを更新してもらうほうがさらに良いでしょう。 + +### 基本パッケージ + +すべて最新バージョンに更新しました。さらに、[Linux PAM](https://en.wikipedia.org/wiki/Linux_PAM) が統合されました。これにより、将来のリリースで 2 要素認証パッケージをインストールできるようになります。 + +### SAS スピン制御 + +SAS デバイスのスピンアップ/スピンダウンを(ようやく)適切にサポートできるはずです。[@doron](https://forums.unraid.net/profile/8006-doron/) の多大な協力により、ほぼ実現しています。SAS デバイスは一般に、デバイスのスピンダウンがまれな企業環境向けに設計されており、多くのデバイスでこの機能に関する挙動が一貫していません。このリリース自体には SAS デバイスのスピン処理は組み込まれていませんが、[@doron](https://forums.unraid.net/profile/8006-doron/) がプラグインを提供しており、いくつかの厄介な詳細に引き続き対処しています。 + +### SSH の改善 + +セキュリティ向上のため `/etc/ssh/sshd_conf` に変更があります(提案をくださった [@Mihai](https://forums.unraid.net/profile/89549-mihai/) と [@ljm42](https://forums.unraid.net/profile/61877-ljm42/) に感謝します): + +- ssh 経由でログインできるのは root ユーザーのみです(覚えておいてください: Unraid OS に従来型ユーザーはありません。'root' だけです) +- パスワードは必須になりました。パスワードを設定するには、Users タブ(または構成によっては Settings -> Users)に移動し、"root" ユーザーを選択して複雑なパスワードを 2 回入力し、CHANGE(RESET ではありません)を押してください +- root 以外のトンネリングは無効です + +さらに、アップグレード時に USB フラッシュブートデバイス上に `config/ssh/root` ディレクトリが存在することを確認し、このディレクトリへのシンボリックリンク `/root/.ssh` を設定しました。これにより、`/root/.ssh` に置いたファイルは再起動後も保持されます。 + +そのため、以前 `go` スクリプトに `authorized_keys` やその他のファイルを `/root/.ssh` にコピーするコマンドを追加していた場合は、それらを削除し、代わりにファイルを `config/ssh/root` に置いてから再起動してください。 + +注: sshd の起動スクリプト `/etc/rc.d/rc.sshd` を確認すると、起動時に `config/ssh` ディレクトリ内のすべてのファイルが `/etc/ssh` にコピーされます(サブディレクトリは除く)。目的はホストの ssh 鍵を復元することですが、この仕組みを使って独自の `ssh_conf` と `sshd_conf` ファイルを定義することもできます。 + +### "unexpected GSO errors" + +システムログが次のようなエラーで埋め尽くされている場合: + +`Feb 20 09:09:21 Tower kernel: tun: unexpected GSO type: 0x0, gso_size 31, hdr_len 66` + +各 VM を編集し、Ethernet ブリッジのモデルタイプを `virtio` から `virtio-net` に変更する必要があります。ほとんどの場合、VM 編集ページの「Form View」で Update をクリックするだけで実行できます。その他のネットワーク構成では、xml を直接編集する必要があるかもしれません。例: + +```xml + + + + + +
+ +``` + +### "noVNC encountered an error" + +アップグレード後に `noVNC encountered an error` メッセージが表示された場合は、ブラウザーのキャッシュを消去してください。 + +### AFP サポートは削除されました + +Apple さえもこのプロトコルから [離れつつあります](https://www.macworld.com/article/3600899/using-afp-to-share-a-mac-drive-its-time-to-change.html)。 + +macOS との最良の相互運用性、および Time Machine 用に共有をエクスポートする場合は、「Settings/SMB Settings/Enhanced macOS interoperability」を「Yes」に設定してください。 + +## 変更履歴 + +#### ベースディストリビューション + +- aaa\_elflibs: バージョン 15.0 build 27 +- acl: バージョン 2.2.53 +- acpid: バージョン 2.0.32 +- apcupsd: バージョン 3.14.14 +- at-spi2-core: バージョン 2.36.1 +- at: バージョン 3.2.1 +- attr: バージョン 2.4.48 +- avahi: バージョン 0.8 +- bash: バージョン 5.0.018 +- beep: バージョン 1.3 +- bin: バージョン 11.1 +- bluez-firmware: バージョン 1.2 +- bridge-utils: バージョン 1.7 +- brotli: バージョン 1.0.9 build 2 +- btrfs-progs: バージョン 5.10 +- bzip2: バージョン 1.0.8 +- ca-certificates: バージョン 20201219 +- celt051: バージョン 0.5.1.3 +- cifs-utils: バージョン 6.11 +- coreutils: バージョン 8.32 +- cpio: バージョン 2.13 +- cpufrequtils: バージョン 008 +- cryptsetup: バージョン 2.3.4 +- curl: バージョン 7.74.0 (CVE-2020-8231 CVE-2020-8286 CVE-2020-8285 + CVE-2020-8284) +- cyrus-sasl: バージョン 2.1.27 +- db48: バージョン 4.8.30 +- dbus: バージョン 1.12.20 +- dcron: バージョン 4.5 +- devs: バージョン 2.3.1 build 25 +- dhcpcd: バージョン 8.1.9 +- diffutils: バージョン 3.7 +- dmidecode: バージョン 3.3 +- dnsmasq: バージョン 2.84 (CVE-2020-25681 CVE-2020-25682 CVE-2020-25683 + CVE-2020-25684 CVE-2020-25685 CVE-2020-25686 CVE-2020-25687) +- docker: バージョン 19.03.14 +- dosfstools: バージョン 4.1 +- e2fsprogs: バージョン 1.45.6 +- ebtables: バージョン 2.0.11 +- eject: バージョン 2.1.5 +- elvis: バージョン 2.2\_0 +- etc: バージョン 15.0 +- ethtool: バージョン 5.9 +- eudev: バージョン 3.2.5 +- file: バージョン 5.39 +- findutils: バージョン 4.7.0 +- flex: バージョン 2.6.4 +- floppy: バージョン 5.5 +- fontconfig: バージョン 2.13.92 +- freetype: バージョン 2.10.4 +- fribidi: バージョン 1.0.10 +- fuse3: バージョン 3.10.0 +- gawk: バージョン 4.2.1 +- gd: バージョン 2.2.5 +- gdbm: バージョン 1.18.1 +- genpower: バージョン 1.0.5 +- getty-ps: バージョン 2.1.0b +- git: バージョン 2.29.1 +- glib2: バージョン 2.66.2 +- glibc-solibs: バージョン 2.30 build 2 +- glibc-zoneinfo: バージョン 2020d +- glibc: バージョン 2.30 build 2 +- gmp: バージョン 6.2.0 +- gnutls: バージョン 3.6.15 +- gptfdisk: バージョン 1.0.5 +- grep: バージョン 3.4 +- gtk+3: バージョン 3.24.23 +- gzip: バージョン 1.10 +- harfbuzz: バージョン 2.7.2 +- haveged: バージョン 1.9.13 +- hdparm: バージョン 9.60 +- hostname: バージョン 3.23 +- htop: バージョン 3.0.2 +- icu4c: バージョン 68.1 +- inetd: バージョン 1.79s +- infozip: バージョン 6.0 +- inotify-tools: バージョン 3.20.2.2 +- intel-microcode: バージョン 20210216 +- iproute2: バージョン 5.9.0 +- iptables: バージョン 1.8.5 +- iputils: バージョン 20200821 +- irqbalance: バージョン 1.6.0 +- jansson: バージョン 2.13.1 +- jasper: バージョン 2.0.22 +- jemalloc: バージョン 5.2.1 +- jq: バージョン 1.6 +- kernel-firmware: バージョン 20210211\_f7915a0 +- keyutils: バージョン 1.6.1 +- kmod: バージョン 27 +- krb5: バージョン 1.18.2 +- lbzip2: バージョン 2.5 +- lcms2: バージョン 2.11 +- less: バージョン 563 +- libX11: バージョン 1.6.12 +- libaio: バージョン 0.3.112 +- libarchive: バージョン 3.4.3 +- libcap-ng: バージョン 0.8 build 2 +- libcgroup: バージョン 0.41 +- libdaemon: バージョン 0.14 +- libdrm: バージョン 2.4.102 +- libedit: バージョン 20191231\_3.1 +- libestr: バージョン 0.1.11 +- libevdev: バージョン 1.10.0 +- libevent: バージョン 2.1.12 +- libfastjson: バージョン 0.99.8 +- libffi: バージョン 3.3 +- libgcrypt: バージョン 1.8.7 +- libglvnd: バージョン 1.3.2 +- libgpg-error: バージョン 1.39 +- libgudev: バージョン 234 +- libidn: バージョン 1.36 +- libjpeg-turbo: バージョン 2.0.5 +- liblogging: バージョン 1.0.6 +- libmnl: バージョン 1.0.4 +- libnetfilter\_conntrack: バージョン 1.0.8 +- libnfnetlink: バージョン 1.0.1 +- libnftnl: バージョン 1.1.8 +- libnl3: バージョン 3.5.0 +- libpcap: バージョン 1.9.1 +- libpciaccess: バージョン 0.16 +- libpng: バージョン 1.6.37 +- libpsl: バージョン 0.21.1 build 2 +- librsvg: バージョン 2.50.1 +- libseccomp: バージョン 2.4.3 +- libssh2: バージョン 1.9.0 +- libssh: バージョン 0.9.5 +- libtasn1: バージョン 4.16.0 +- libtirpc: バージョン 1.2.6 +- libunistring: バージョン 0.9.10 +- libusb-compat: バージョン 0.1.5 +- libusb: バージョン 1.0.23 +- libuv: バージョン 1.34.0 +- libvirt-php: バージョン 0.5.5 +- libvirt: バージョン 6.6.0 (CVE-2020-14339) +- libwebp: バージョン 1.1.0 build 3 +- libwebsockets: バージョン 3.2.2 +- libx86: バージョン 1.1 +- libxkbcommon: バージョン 1.0.1 +- libxml2: バージョン 2.9.10 build 3 +- libxslt: バージョン 1.1.34 +- libzip: バージョン 1.7.3 +- lm\_sensors: バージョン 3.6.0 +- lmdb: バージョン 0.9.27 +- logrotate: バージョン 3.17.0 +- lshw: バージョン B.02.17 +- lsof: バージョン 4.93.2 +- lsscsi: バージョン 0.31 +- lvm2: バージョン 2.03.10 +- lz4: バージョン 1.9.1 +- lzip: バージョン 1.21 +- lzo: バージョン 2.10 +- mc: バージョン 4.8.25 +- miniupnpc: バージョン 2.1 +- mpfr: バージョン 4.1.0 +- nano: バージョン 5.3 +- ncompress: バージョン 4.2.4.6 +- ncurses: バージョン 6.2\_20201024 +- net-tools: バージョン 20181103\_0eebece +- nettle: バージョン 3.6 +- network-scripts: バージョン 15.0 build 9 +- nfs-utils: バージョン 2.1.1 +- nghttp2: バージョン 1.41.0 +- nginx: バージョン 1.19.5 (CVE-2019-9511, CVE-2019-9513, CVE-2019-9516) +- nodejs: バージョン 13.12.0 +- nss-mdns: バージョン 0.14.1 +- ntfs-3g: バージョン 2017.3.23 +- ntp: バージョン 4.2.8p15 build 3 +- numactl: バージョン 2.0.11 +- oniguruma: バージョン 6.9.1 +- openldap-client: バージョン 2.4.49 +- openssh: バージョン 8.4p1 build 2 +- openssl-solibs: バージョン 1.1.1i +- openssl: バージョン 1.1.1i +- p11-kit: バージョン 0.23.22 (CVE-2020-29361 CVE-2020-29361 + CVE-2020-29361) +- pam: バージョン 1.5.1 +- pango: バージョン 1.46.2 +- patch: バージョン 2.7.6 +- pciutils: バージョン 3.7.0 +- pcre2: バージョン 10.35 +- pcre: バージョン 8.44 +- php: バージョン 7.4.15 (CVE-2019-11048 CVE-2020-7068 CVE-2020-7070 + CVE-2020-7069) +- pixman: バージョン 0.40.0 +- pkgtools: バージョン 15.0 build 33 +- pm-utils: バージョン 1.4.1 +- procps-ng: バージョン 3.3.16 +- pv: バージョン 1.6.6 +- qemu: バージョン 5.1.0 (CVE-2020-10717, CVE-2020-10761) +- qrencode: バージョン 4.0.2 +- reiserfsprogs: バージョン 3.6.27 +- rpcbind: バージョン 1.2.5 build 2 +- rsync: バージョン 3.2.3 +- rsyslog: バージョン 8.2002.0 +- samba: バージョン 4.12.11 (CVE-2020-10700, CVE-2020-10704 + CVE-2020-10730, CVE-2020-10745, CVE-2020-10760, CVE-2020-14303 + CVE-2020-1472 CVE-2020-14318 CVE-2020-14318 CVE-2020-14318) +- sdparm: バージョン 1.11 +- sed: バージョン 4.8 +- sg3\_utils: バージョン 1.45 +- shadow: バージョン 4.8.1 +- shared-mime-info: バージョン 2.0 +- smartmontools: バージョン 7.1 +- spice: バージョン 0.14.1 +- sqlite: バージョン 3.33.0 +- ssmtp: バージョン 2.64 +- sudo: バージョン: 1.9.3p2 (CVE-2021-23239 CVE-2021-23240) +- sysfsutils: バージョン 2.1.0 +- sysvinit-scripts: バージョン 2.1 build 35 +- sysvinit: バージョン 2.97 +- talloc: バージョン 2.3.1 build 4 +- tar: バージョン 1.32 +- tcp\_wrappers: バージョン 7.6 build 3 +- tdb: バージョン 1.4.3 build 4 +- telnet: バージョン 0.17 +- tevent: バージョン 0.10.2 build 4 +- traceroute: バージョン 2.1.0 +- tree: バージョン 1.8.0 +- ttyd: バージョン 20200624 +- usbredir: バージョン 0.7.1 +- usbutils: バージョン 013 +- utempter: バージョン 1.2.0 +- util-linux: バージョン 2.36 build 2 +- vbetool: バージョン 1.2.2 +- vsftpd: バージョン 3.0.3 build 7 +- wget: バージョン 1.20.3 +- which: バージョン 2.21 +- wireguard-tools: バージョン 1.0.20210223 +- wsdd: バージョン 20180618 +- xev: バージョン 1.2.4 +- xf86-video-vesa: バージョン 2.5.0 +- xfsprogs: バージョン 5.9.0 +- xinit: バージョン 1.4.1 +- xkeyboard-config: バージョン 2.31 +- xorg-server: バージョン 1.20.9 build 3 +- xterm: バージョン 361 +- xxHash: バージョン 0.8.0 +- xz: バージョン 5.2.5 +- yajl: バージョン 2.1.0 +- zlib: バージョン 1.2.11 +- zstd: バージョン 1.4.5 + +#### Linux カーネル + +- バージョン 5.10.19 +- CONFIG\_WIREGUARD: WireGuard セキュアネットワークトンネル +- CONFIG\_IP\_SET: IP set サポート +- CONFIG\_SENSORS\_DRIVETEMP: 温度センサー付きハードディスクドライブ +- md/Unraid: バージョン 2.9.17 + - spinup group の spinup/spdindown サポートを削除(機能は emhttpd に移動) + - 設定可能な sync 開始オフセットを追加 +- iSCSI カーネルサポートを追加: +  - CONFIG\_ISCSI\_TARGET: Linux-iSCSI.org iSCSI Target Mode Stack + - CONFIG\_ISCSI\_TARGET\_CXGB4: Chelsio iSCSI ターゲットオフロードドライバー + - CONFIG\_LOOPBACK\_TARGET: TCM 仮想 SAS ターゲットおよび Linux/SCSI LDD + fabric loopback モジュール + - CONFIG\_NVME\_TARGET: NVMe Target サポート + - CONFIG\_NVME\_TARGET\_LOOP: NVMe ループバックデバイスサポート + - CONFIG\_NVME\_TARGET\_PASSTHRU: NVMe Target Passthrough サポート + - CONFIG\_TARGET\_CORE: Generic Target Core Mod (TCM) および ConfigFS + Infrastructure + - CONFIG\_TCM\_FILEIO: Linux/VFS 用 TCM/FILEIO サブシステムプラグイン + - CONFIG\_TCM\_IBLOCK: Linux/BLOCK 用 TCM/IBLOCK サブシステムプラグイン + - CONFIG\_TCM\_PSCSI: Linux/SCSI 用 TCM/pSCSI サブシステムプラグイン + - CONFIG\_TCM\_USER2: Linux 用 TCM/USER サブシステムプラグイン +- USB/IP カーネルサポートを追加: +  - CONFIG\_USBIP\_CORE: USB/IP サポート +  - CONFIG\_USBIP\_VHCI\_HCD: VHCI hcd +- mpt3sas: `max\_queue\_depth=10000` を設定するために `/etc/modprobe.d/mpt3sas-workaround.conf` を追加 +- oot: Realtek r8152: バージョン 2.13.0 +- oot: Tehuti tn40xx: バージョン 0.3.6.17.3 +- 追加の hwmon ネイティブドライバーを有効化 +- 追加の hyperv ドライバーを有効化 + +#### 管理 + +- AFP サポートを削除 +- 多言語サポートを追加 +- 複数プールサポートを追加 +- at: セッションの open/close syslog メッセージを抑制 +- 非回転デバイスへの spinup/spindown の送信を回避 +- btrfs: 'discard=async' マウントオプションを追加 +- バグ修正: /etc/krb.conf を /etc/krb5.conf に改名 +- passwd, shadow を整理 +- dhcpcd: ipv6: slaac private の代わりに slaac hwaddr を使用 +- docker: ストレージドライバー割り当てロジックを修正 +- docker: btrfs と xfs の両方のバックिंगファイルシステムをサポート +- emhtppd: 複数デバイスプールから削除された暗号化デバイスに対して wipefs を実行 +- emhtptd: `config/forcesync` ファイルを使って正常/異常シャットダウンを追跡 +- emhttpd: wipefs 機能を追加(WebGUI の 'Erase' ボタン) +- emhttpd: mover.cron ファイルを不要に削除しないようにする +- emhttpd: 追加のマウントオプション設定に remount を使用しないようにする +- emhttpd: バグ修正: 標準でないコントローラタイプに Smartdata がない +- emhttpd: バグ修正: 初期デバイス温度が表示されない +- emhttpd: Unraid アレイデバイスの 'Erase' ロジックを修正 +- emhttpd: 起動時にデバイスの SMART を有効化 +- emhttpd: ユーザー共有で有効なプールはエクスポートしないはずの 'auto' 設定を修正 +- emhttpd: 温度読み取り時にディスクの "SMART controller type" が尊重されない問題を修正 +- emhttpd: 外部の 'smartctl -n standby' によるデバイスの spinup を修正 +- emhttpd: poll\_attributes イベントを廃止 +- emhttpd: spinup group の spinup/spindown を実装; spinup/spindown コールアウトを追加 +- emhttpd: 'DISK\_DSBL\_NEW' 置換デバイスの Erase を許可 +- emhttpd: 'poll\_attributes' イベントコールアウトを復元 +- emhttpd: 未割り当てデバイスのスピンダウンをグローバル既定に従って実行 +- emhttpd: btrfs の 'free/used' 計算方法をさらに変更 +- NFS ディスク共有のエクスポートに起因する emhttpd のクラッシュを修正 +- 非回転デバイスのパーティションが実際には 1MiB に揃っていなかった問題を修正 +- 'system' プラグインサポートを廃止(使用されていなかった) +- PAM を統合 +- ljm42 の vfio-pci スクリプト変更を統合 +- loopback: ファイル名に基づいて xfs または btrfs を許可 +- modprobe: GPU ドライバーを既定で blacklist、config/modprobe.d/\* で起動時に上書き可能 +- すべての btrfs ボリュームを 'space_cache=v2' オプションでマウント +- loopback を 'noatime' オプションでマウント; 'direct-io' を有効化 +- mount_image: bind-mount をサポート +- 非回転デバイスのパーティションを既定で 1MiB 境界に揃える +- plugin: sha256 ファイル検証をサポート +- rsyslog: 壊れた "Mirror syslog to flash" を修正 +- samba: 既定で aio を無効化 +- shfs: move: 同じファイルシステム種別間で移動する際に ioctl\_iflags を保持 +- shfs: move: spares ファイルをサポート +- smart-one.cfg は SMART 情報をスロットごとではなく ID ごとに保持し、ディスクの警告/重大設定は disk/pool cfg に移動 +- smb: AD 参加の問題を修正 +- smb: smb.conf での 'aio' オプション設定を削除し、samba の既定値を使用 +- ssh: `/root/.ssh` シンボリックリンクを `/boot/config/ssh/root` ディレクトリに追加 +- ssh: root ユーザーのみに許可し、パスワードを必須にし、non-root tunneling を無効化 +- ssh: パスワードを必須にし、non-root tunneling を無効化 +- startup: `/lib/modules` と `/lib/firmware` に overlayfs を設定 +- syslog: localhost の udp ポート 514 でもリッスンするよう設定 +- web terminal: ウィンドウを閉じるときの警告ポップアップを抑制 +- wireguard support: rc.wireguard: iptables ルールを追加 +- WebGUI: dockerupdate.php の警告を修正 +- WebGUI: statuscheck を更新 +- WebGUI: libvirt 用に 'Portuguese (pt)' キーマップオプションを追加 +- WebGUI: コンテナー停止時のタイムアウトをカスタマイズ可能に追加 +- WebGUI: vfio-pci 用のログビューアを追加 +- WebGUI: Discord 用通知エージェントを追加 +- WebGUI: 診断にプール情報を追加 +- WebGUI: raid1c3 と raid1c4 の btrfs プールバランスオプションを追加。 +- WebGUI: docker のコンテキストメニューに更新ダイアログを追加 +- WebGUI: "safe mode" のワンショット safemode 再起動オプションを追加 +- WebGUI: 診断にすべてのプールの btrfs 情報を追加 +- WebGUI: 正規化済みまたは生のデバイス識別子を表示する新しい表示設定を追加 +- WebGUI: cache pool に新設定 "Enable user share assignment" を追加 +- WebGUI: basic auth または認証なしのプライベート docker レジストリのサポートと、トークンベース認証の改善を追加 +- WebGUI: さまざまな画像タイプのアップロードを最大 512K まで許可 +- WebGUI: 1 つのコンテナーに異なるアイコンの重複を許可 +- WebGUI: コンテナー説明内の markdown を許可 +- WebGUI: Motherboard Info のアイコンを cog(設定)から info に変更 +- WebGUI: 変更: ログアクセスにおける dashboard と docker の整合性 +- WebGUI: Dashboard: 欠落しているインターフェースの統計を修正 +- WebGUI: Dashboard: サーバーアイコンのスタイル調整 +- WebGUI: 無効なセッションを検出して現在のタブからログアウト +- WebGUI: 診断: SHA256 ハッシュを削除 +- WebGUI: 共有名に "?" を許可しない +- WebGUI: 表示設定: 色は 3 文字または 6 文字の 16 進数字である必要があります +- WebGUI: コンテナー追加リストに CA プロファイルを表示しない +- WebGUI: Docker: BTRFS または XFS の vdisk、またはフォルダーの場所を許可 +- WebGUI: Docker: イメージの扱いをより直感的に改善 +- WebGUI: ' が表示される問題を修正 +- WebGUI: Azure / Gray の Switch Language が途中で切れる問題を修正 +- WebGUI: バナー警告がページ再読み込みなしでは消えない問題を修正 +- WebGUI: 起動済み VM が dashboard に表示されない問題を修正 +- WebGUI: 非常に大きなログファイル読み取り時のクラッシュを修正(出力を 1000 行に制限)。 +- WebGUI: すべての通知を消去する機能を修正 +- WebGUI: cache pool がない場合に parity check スケジュールを変更できない問題を修正 +- WebGUI: 通知が繰り返し再表示される問題を修正 +- WebGUI: 通知があると右上のアイコンを使えない問題を修正 +- WebGUI: docker run の URL 参照が誤っている問題を修正 +- WebGUI: 修正: iPad デバイスでの Dashboard / Docker のスクロール +- WebGUI: 修正: samesite cookie を正しく設定(Safari でのログイン問題を修正) +- WebGUI: raid6 btrfs プールの data プロファイルには raid1c3 metadata プロファイルを使用。 +- WebGUI: アイコンボタンの再配置 +- WebGUI: Main ページ: user shares が有効でないときは Move ボタンを非表示 +- WebGUI: 多言語: 回帰エラーを修正: 必須フィールドの指標が欠落 +- WebGUI: 多言語: ユーザーを削除/編集できない問題を修正 +- WebGUI: ネットワーク設定: 最初の DNSv6 サーバーを表示 +- WebGUI: ネットワーク: metric 値が 0 の場合に既定ゲートウェイなしを設定できるようにする +- WebGUI: ネットワーク: privacy extensions が設定されない問題を修正 +- WebGUI: New Perms: 複数 cache pool をサポート +- WebGUI: Notifications: white / black での隙間を修正 +- WebGUI: アンマウント不可能なボリュームのアレイ開始時にファイルシステム構成を許可 +- WebGUI: 無効なユーザー名で新しいユーザーを追加したときに "Add" が英語に戻るのを防止 +- WebGUI: bonded nics が vfio-pci にもバインドされるのを防止 +- WebGUI: tunnel が定義されていない場合は Dashboard から WG を削除 +- WebGUI: 閲覧可能なファイルが多すぎる場合にメッセージを表示 +- WebGUI: 通知上のリンクをサポート +- WebGUI: プラグインがインストールされていない場合は Dashboard の Autofan リンクを抑制 +- WebGUI: tunnel が定義されていない場合は Dashboard の WG を抑制 +- WebGUI: 診断を web socket に切り替え +- WebGUI: SysDevs - 保存せずにページを離れると警告 +- WebGUI: vfio-pci.cfg バインディングを伴う SysDevs の刷新 +- WebGUI: タブ付きケース選択ウィンドウ +- WebGUI: Task Plugins: Display_Name を定義する機能を提供 +- WebGUI: Feedback.php を更新 +- WebGUI: jGrowl をバージョン 1.4.7 に更新 +- WebGUI: noVNC を v1.2.0 に更新 +- WebGUI: ケースアイコンを更新 +- WebGUI: docker コンテキストメニューの更新項目に更新イメージダイアログを使用 +- WebGUI: VM Manager: VirtIO-ISOs リストに 'virtio-win-0.1.189-1' を追加 +- WebGUI: VM manager: 修正: VM の VNC グラフィックスから GPU パススルーへの変更 +- WebGUI: VM manager: virtio-win-0.1.190-1 を追加 +- WebGUI: VM manager: 新しい設定 "Network Model" +- WebGUI: VMs: 修正: VM への NIC または VirtFS マウントの追加に制限がある問題 +- WebGUI: VMs: 修正: まれに vdisk が Manual であるべきところを Auto にしてしまう問題 +- WebGUI: VMs: 既定のネットワークモデルを virtio-net に変更 +- WebGUI: VMs: 画像選択の扱いをより直感的に改善 +- WebGUI: autov() ソースファイルが存在しない場合の php 構文エラーを回避 +- WebGUI: vfio-pci で複数 NIC の扱いを改善 +- WebGUI: ログインフォームで誤った既定ケースアイコンが表示される問題を修正 +- WebGUI: スピンダウン中のデバイスに対して spin-up を引き起こす SMART 情報を表示しようとしない +- WebGUI: dockerMan: 詳細表示で readmore を許可 +- WebGUI: dockerMan: docker と互換性のある名前のみ許可 +- WebGUI: dockerMan: インストール時に開始を選択可能に +- WebGUI: 修正: jGrowl がボタンを覆う問題 +- WebGUI: 修正: サーバー切り替え時のログインプロンプト +- WebGUI: その他の細かな改善 +- WebGUI: user shares で有効になっていないプールは cache に選択できないようにする +- WebGUI: tail_log の入力をサニタイズ +- WebGUI: 'mid-tower' の既定ケースアイコンを設定 +- WebGUI: 未割り当てデバイスの spin-up/down と温度監視をサポート +- WebGUI: ログインフォームでユーザー名のオートコンプリートを無効化 +- WebGUI: vm manager: VNC ポート設定を保持 +- WebGUI: vnc: ブラウザーキャッシュバスターを追加 + +["WireGuard" と "WireGuard" ロゴは Jason A. Donenfeld の登録商標です。](https://www.wireguard.com/) From 5885cc746e85f8cd80bdb07953bb6becc1ad6c97 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:27:22 -0400 Subject: [PATCH 120/437] New translations 6.9.1.md (Japanese) --- .../current/unraid-os/release-notes/6.9.1.md | 57 +++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.9.1.md diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.9.1.md b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.9.1.md new file mode 100644 index 00000000000..a2ad342c9fb --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.9.1.md @@ -0,0 +1,57 @@ +## バージョン 6.9.1 2021-03-08 + +## 特筆すべきバグ修正と改善 + +Unraid OS 管理ユーティリティの外部で `smartctl` を呼び出すコードにより、デバイスが決してスピンダウンしない状態を引き起こす問題を修正しました。 +注: SAS デバイスのスピンダウンを適切にサポートするには、[@doron](https://forums.unraid.net/profile/8006-doron/)'s SAS +Spindown +plugin がまだ必要です。 + +Docker について: インツリーの GPU ドライバが読み込まれて `/dev/dri/*` デバイスノードが作成される場合、GPU をトランスコードに使用するコンテナの統合を容易にするため、これらのノードの権限を `0777` に設定します。 + +ターミナルウィンドウで 'exit' と入力すると、ウィンドウが閉じるようになりました(やった!)。 + +NoVNC の Web アクセスに 'no-cache' ヘッダーを追加し、今後の Unraid OS リリースで古い Web コンポーネントが残らないようにしました。 + +openssl パッケージを、セキュリティ更新を含む version 1.1.1j に更新しました。 + +Linux カーネルを 5.10 LTS カーネルのパッチリリースである 5.10.21 に更新しました。 + +特定のハードウェア監視デバイスを含めるために必要なカーネル設定を追加し、新しいデバイスのサポートを追加しました。 + +### ドライバ更新 + +Nvidia GPU ドライバを 460.56 に更新し、このカーネル 5.10.21 で動作するはずです。このドライバをダウンロードしてインストールするには、[@ich777](https://forums.unraid.net/profile/72388-ich777/)'s Nvidia-Driver +plugin をインストールしてください。 + +## Unraid OS 6.9.0 からの変更履歴 + +#### ベースディストリビューション + +- openssl: version 1.1.1j (CVE-2021-23841 CVE-2021-23840) +- openssl-solibs: version 1.1.1j +- ttyd: version 1.6.3 + +#### Linux カーネル + +- version 5.10.21 +- CONFIG\_WATCHDOG: ウォッチドッグタイマーサポート +- 複数の新しい hwmon ドライバを追加 + +#### 管理 + +- emhttp: スピンダウン/スピンアップのロジックでデバイス統計ではなくパーティション統計を監視する +- rc.local: USB フラッシュブートデバイス上に必要なディレクトリが存在することを確認 +- rc.local: Docker コンテナ向け: グラフィックスデバイスノード /dev/dri/\* へのアクセスを許可 +- rc.nginx: novnc に Cache-Control:nocache ヘッダーを追加 +- WebGUI: syslog バッファを 1000 行から 3000 行に増加 +- WebGUI: SysDevs の表示異常を修正 +- WebGUI: Diagnostics: modprobe.d ファイルを含める +- WebGUI: Diagnostics: go を go.txt として含める +- WebGUI: 共有セキュリティのヘルプテキストを更新 +- WebGUI: テンプレート内の寄付リンクを、CA プロファイル内のリンクの代わりとして非推奨化 +- WebGUI: 無効な .page ファイルから GUI を保護 +- WebGUI: ルートテーブル表示で IPv6 マルチキャストエントリを非表示にする +- WebGUI: helptext.txt を lang-en_US リポジトリと同期 +- WebGUI: ユーザー管理 - パスワードの自動入力を無効化 +- WebGUI: ダッシュボード: ディスク使用率の色を修正 From 562d9802b6f65f221946113c2b326c262fc4d43d Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:27:23 -0400 Subject: [PATCH 121/437] New translations 6.9.2.md (Japanese) --- .../current/unraid-os/release-notes/6.9.2.md | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.9.2.md diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.9.2.md b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.9.2.md new file mode 100644 index 00000000000..20d17ca23bd --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/6.9.2.md @@ -0,0 +1,46 @@ +## バージョン 6.9.2 2021-04-07 + +### **ログイン失敗の制限** + +WebGUI ログインでは、IPアドレスごとに 3 回までログインを試行でき、その後は 15 分間のクールダウンが適用されます。さらに、各 IP アドレスごとの直近 3 回のログイン失敗時刻は、`/var/log/pwfail/` にあるファイルに保存されます。これは WebGUI ログインにのみ適用され、ssh や telnet には適用されません。 + +### **ドライバの更新** + +Nvidia ベンダー GPU ドライバをバージョン 465.19.01 に更新しました。正しいドライバのインストールを容易にするため、Community Developer の [@ich777](https://forums.unraid.net/profile/72388-ich777/) によるこの[便利なプラグイン](https://raw.githubusercontent.com/ich777/unraid-nvidia-driver/master/nvidia-driver.plg)を使用してください。 + +## Unraid OS 6.9.1 との変更点 + +#### ベースディストリビューション + +- docker: バージョン 20.10.5 +- fuse3: バージョン 3.10.2 +- nginx: バージョン 1.19.9 +- samba: バージョン 4.12.14 (CVE-2020-27840 CVE-2020-27840) + +#### Linux カーネル + +- バージョン 5.10.28 +- すべての CONFIG_NF_\* モジュールを含む +- oot: realtek r8125: バージョン 9.005.01 + +#### 管理 + +- emhttpd: 帯域外デバイスのスピンアップを検出 +- shfs: 'copy\_file\_range()' サポートを追加 +- shfs: FIFO を作成する 'mknod' を修正 +- WebGUI: ログイン: 15 分間隔で最大 3 回のログイン失敗を許可 +- WebGUI: サマリー表示時に通知のリンクが表示されない問題を修正 +- WebGUI: プラグイン: 互換性のないプラグインを ../plugins-error に移動 +- WebGUI: プール削除時の CSRF 欠落を修正 +- WebGUI: .sweet-alert の色を修正 +- WebGUI: 翻訳の調整 +- WebGUI: Diagnostics: ダウンロードボタンのダブルクリックを防止 +- WebGUI: デフォルトの使用率しきい値で通知が送信されない問題を修正 +- WebGUI: CSS の span.select の背景色を修正 +- WebGUI: Diagnostics メッセージを左揃えにする +- WebGUI: DeviceInfo.page の JavaScript エラーを修正し、 + 設定を保存できない問題を解消 +- WebGUI: DeviceInfo.page を更新 +- WebGUI: コンテナ上でパスワードの自動入力を防止 +- WebGUI: Docker: テンプレートが存在しない場合は CPU ピニングを許可しない +- WebGUI: .sweet-alert .sa-icon の色、CSS 内の \* を修正 From 1e766b66164a55fd8af6441936d2d07eab71f83e Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:27:27 -0400 Subject: [PATCH 122/437] New translations 7.0.0.md (Japanese) --- .../current/unraid-os/release-notes/7.0.0.md | 855 ++++++++++++++++++ 1 file changed, 855 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/7.0.0.md diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/7.0.0.md b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/7.0.0.md new file mode 100644 index 00000000000..799f4ca57e6 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/7.0.0.md @@ -0,0 +1,855 @@ +# バージョン 7.0.0 2025-01-09 + +この Unraid OS バージョンには、互換性を可能な限り維持しつつ、すべてのサブシステムにわたる大幅な改善が含まれています。 + +特に感謝を: + +- @bonienl、@dlandon、@ich777、@JorgeB、@SimonF、そして @Squid の、このリリースにおける方向付け、支援、開発作業に感謝します。 +- @bonienl が **Dynamix File Manager** プラグインを webgui に統合してくれたことに感謝します +- @Squid が **GUI Search** および **Unlimited Width Plugin** プラグインを webgui に統合してくれたことに感謝します +- @ludoux(**Proxy Editor** プラグイン)および @Squid(**Community Applications** プラグイン)が、http プロキシ対応の先駆的な作業を行い、そのいくつかのアイデアが webgui に取り入れられたことに感謝します +- @ich777 のサードパーティ製ドライバープラグインの維持と、[Tailscale Docker 統合](#tailscale-integration) に感謝します +- Unraid OS の VM Manager における大きな新機能を担当した @SimonF に感謝します +- Tailscale プラグインの開発を行った @EDACerton に感謝します + +GitHub 上の [Unraid への貢献者](https://github.com/unraid/webgui/graphs/contributors?from=2023-09-08\&to=2025-01-08\&type=c) をご覧ください。PR を寄稿してくれた以下のコミュニティメンバーにも感謝します(GitHub ID です): + +- almightyYantao +- baumerdev +- Commifreak +- desertwitch +- dkaser +- donbuehl +- FunkeCoder23 +- Garbee +- jbtwo +- jski +- Leseratte10 +- Mainfrezzer +- mtongnz +- othyn +- serisman +- suzukua +- thecode + +機能要望、バグ報告、プレリリースのテストを行ってくださった皆さまにも、心から感謝します! + +## アップグレード + +### 既知の問題 + +#### ZFS プール + +ZFS プールを使用している場合は、以下にご注意ください: + +- 既存の ZFS プールでは、未対応の機能に関する警告が表示されます。これは 7.0 の ZFS バージョンが 6.12 より更新され、新機能を含んでいるためです。この警告は無害で、プールは引き続き通常どおり動作します。新しい ZFS 機能をサポートするようにプールをアップグレードするためのボタンが表示されますが、Unraid OS はこれらの新機能を使用しません。アップグレード後は、以前のバージョンの Unraid OS ではそのプールをマウントできなくなります。 +- 同様に、7.0 で作成した新しいプールは、ZFS がダウングレードをサポートしないため、6.12 ではマウントされません。回避策はありません。 +- 7.0 から 6.12 にダウングレードする場合、以前から存在していたハイブリッドプールは、6.12 で再起動した際に認識されません。これを回避するには、まず 7.0 で Tools/New Config をクリックしてすべてのスロットを保持し、その後 6.12 で再起動すると、ハイブリッドプールが正しくインポートされるはずです。 +- このリリースでは ZFS の spare はサポートされていません。6.12 で spare を含むハイブリッドプールを作成している場合は、v7.0 にアップグレードする前に 'spares' vdev を削除してください。これは将来のリリースで修正されます。 +- 現在、TrueNAS プールはインポートできません。これは将来のリリースで修正されます。 +- ZFS ボリュームで **Docker data-root=directory** を使用している場合は、[overlay2 ストレージドライバーのサポートを追加](#add-support-for-overlay2-storage-driver) を参照してください。 +- VM 名に ZFS で無効な文字が含まれていないことを確認します。既存の VM は変更されませんが、無効な文字が見つかった場合はエラーが発生し、更新が無効になります。 + +#### 一般的なプールの問題 + +既存のプールのインポートが _Wrong Pool State, invalid expansion_ または _Wrong pool State. Too many wrong or missing devices_ で失敗する場合は、こちらの [フォーラム投稿](https://forums.unraid.net/topic/184435-unraid-os-version-700-available/#findComment-1508012) を参照してください。 + +#### ドライブのスピンダウンの問題 + +sata_mv ドライバーを使用する古い Marvell 製ドライブコントローラー(例:Supermicro SASLP および SAS2LP)や、古い Intel 製コントローラー(例:ICH7-ICH10)に接続されている場合、ドライブがスピンダウンしないことがあります。これは将来のカーネル更新で解決される可能性があります。 + +#### フラッシュドライブの過剰なアクティビティでシステムが遅くなる + +システムの動作が遅い場合は、Main ページを確認し、通常動作中にフラッシュドライブから大きな継続読み取りが表示されていないかを見てください。表示されている場合、メモリ圧力が十分に高く、OS が RAM から追い出され、フラッシュドライブから再読み込みされている可能性があります。Web ターミナルで次を入力してください: + +```shell +touch /boot/config/fastusr +``` + +その後、再起動してください。これにより約 500 MB の RAM が使用され、OS ファイルが常にメモリに保持されるようになります。これで改善するかお知らせください。 + +#### 新しい Windows の変更により、Public 共有へのアクセスが失われる可能性があります + +最近の Windows 11 24H2 のセキュリティ変更により、Unraid の public 共有への「guest」アクセスが機能しない場合があります。これを回避する最も簡単な方法は、接続に使用している Windows アカウントと同じ名前のユーザーを Unraid に作成することです。Unraid のユーザーパスワードが Windows アカウントのパスワードと同じでない場合、Windows は資格情報の入力を求めます。 + +Microsoft アカウントを使用している場合は、Unraid にシンプルなユーザー名のユーザーを作成してパスワードを設定し、その後 Windows で _**コントロール パネル → 資格情報マネージャー → Windows 資格情報 → Windows 資格情報の追加**_ に移動して、正しい Unraid サーバー名と資格情報を追加するとよいでしょう。 + +あるいは、[Windows の guest フォールバックを再有効化する](https://techcommunity.microsoft.com/blog/filecab/accessing-a-third-party-nas-with-smb-in-windows-11-24h2-may-fail/4154300)こともできます +(推奨されません)。 + +#### Realtek ネットワークカードによる問題 + +最近のカーネルへのアップグレード後、Realtek ドライバープラグインに関する問題が複数報告されています。アップグレード前に予防的にアンインストールするか、ネットワークの問題が発生した場合は後で削除することをお勧めします。 + +#### 特定のシステムで仮想 NIC が eth0 に割り当てられる + +一部の IPMI KVM 搭載システムでは、期待される NIC の代わりに仮想 NIC が eth0 に割り当てられます。対応策については、こちらの [フォーラム投稿](https://forums.unraid.net/bug-reports/stable-releases/61214-no-network-after-updating-eth0-assigned-to-virtual-usb-nic-cdc-ethernet-device-with-169-ip-instead-of-mellanox-10gbe-nic-r3407/) を参照してください。 + +#### Docker のカスタムネットワークを使用する際の問題 + +特定のカスタム Docker ネットワークが Docker コンテナで使用できない場合は、_**Settings → Docker**_ に移動し、それらのカスタムネットワークのサブネットマスクと DHCP プールの CIDR 定義を修正してください。基盤システムの制約が厳しくなり、以前のリリースでは動作していた無効な CIDR 定義は、もはや動作しません。 + +### ロールバック + +上の **Known Issues** の警告を参照してください。 + +Dynamix File Manager、GUI Search、Unlimited Width Plugin プラグインは現在 Unraid に組み込まれています。以前のバージョンにロールバックする場合は、それらの機能を維持するために再インストールする必要があります。 + +unRAID array を無効にしている場合は、ロールバック前に再度有効にすることをお勧めします。 + +以前に Proxy Editor プラグインやその他の方法で Outgoing Proxies を設定していた場合は、ロールバック後にその方法を再度有効にする必要があります。 + +[overlay2 ストレージドライバーを有効にした後](#add-support-for-overlay2-storage-driver) にロールバックする場合は、Docker ディレクトリを削除し、Docker にイメージレイヤーを再ダウンロードさせる必要があります。 + +[Docker コンテナ内で Tailscale をインストールした後](#tailscale-integration) にロールバックする場合は、コンテナを編集し、ダミーの変更を加えて **Apply** を押し、Tailscale 統合なしでコンテナを再構築する必要があります。 + +ロールバック後、各 WireGuard 設定にダミーの変更を加えて、その Unraid バージョンに適した設定を取得してください。 + +6.12.14 より前にロールバックする場合は、[6.12.14 リリースノート](6.12.14.md#rolling-back) も参照してください。 + +## ストレージ + +### unRAID array を任意に + +unRAID array スロット数を 'none' に設定できるようになりました。これにより、unRAID array 自体にデバイスが割り当てられていなくても、array を Start できるようになります。 + +すべて SSD/NMVe のサーバーを運用している場合は、Trim/Discard は unRAID array デバイスではサポートされないため、すべてのデバイスを 1 つ以上の ZFS/BTRFS プールに割り当てることをお勧めします。 + +既存サーバーから unRAID array を解除するには、まず Main ページですべての Array スロットの割り当てを解除し、その後 Slots を 'none' に設定してください。 + +新規インストールでは、unRAID array のために予約するスロットの既定数は 'none' になりました。 + +### 共有のセカンダリストレージはプールに割り当て可能 + +Shares can now be configured with pools for both primary and secondary storage, and mover will move +files between those pools. +As a result of this change, the maximum number of supported pools is now 34 (previously 35). + +### ReiserFS ファイルシステムオプションは無効化されました + +ReiserFS は Linux カーネルから削除される予定であるため、デバイスを ReiserFS でフォーマットするオプションも無効化されました。必要に応じて、この mover 機能を使って別のファイルシステムで再フォーマットする前に array ディスクを空にできます。詳細は下記を参照してください。これについては将来のリリースで webGUI ボタンを追加する予定です。 + +### mover を使って array ディスクを空にする + +:::warning[Removed in Unraid 7.2.1] + +This command line option was removed in Unraid 7.2.1. On newer releases, use the WebGUI method instead. See [Converting to a new file system type](../using-unraid-to/manage-storage/file-systems.mdx#converting-to-a-new-file-system-type) for details. + +::: + +mover は array ディスクを空にできるようになりました。array を起動した状態で、Web ターミナルで次を実行してください: + +```bash +mover start -e diskN |& logger & # N は [1..28] +``` + +Mover は各トップレベルのディレクトリ(共有)を確認し、通常の設定(include/exclude、split-level、alloc method)に従って、ファイルを 1 つずつ array 内の他のディスクへ移動します。移動先は unRAID array のみに制限されます。 + +状態は syslog を確認してください。mover プロセスが終了すると、移動できなかったファイルの一覧が syslog に表示されます: + +- ファイルが使用中だった可能性があります +- ファイルが /mnt/diskN のトップレベルにある可能性があります +- 空き容量が不足した可能性があります + +### 定義済み共有の扱い + +Unraid OS の Docker Manager は、既定で次の定義済み共有を使用するよう設定されています: + +- system - system/docker に保存されたループバックイメージ内に Docker イメージレイヤーを保存するために使用されます。 +- appdata - Docker アプリケーションがアプリケーションデータを保存するために使用します。 + +Unraid OS の VM Manager は、既定で次の定義済み共有を使用するよう設定されています: + +- system - system/libvirt に保存された libvirt ループバックイメージを保存するために使用されます +- domains - VM の vdisk イメージを保存するために使用されます +- isos - ISO ブートイメージを保存するために使用されます + +Docker または VM のいずれかが有効な場合、必要な定義済み共有は、次の規則に従って必要に応じて作成されます: + +- 'cache' という名前のプールが存在する場合、定義済み共有は 'cache' を Primary storage とし、Secondary storage なしで作成されます。 +- 'cache' という名前のプールが存在しない場合、定義済み共有は、アルファベット順で最初に存在するプールを Primary とし、Secondary storage なしで作成されます。 +- プールが存在しない場合、定義済み共有は unRAID array 上に Primary として作成され、Secondary storage はありません。 + +### ZFS の実装 + +- ハイブリッド ZFS プール、別名サブプール('spares' を除く)をサポート +- 十分な保護がある ZFS プールでの複数ドライブ障害からの復旧をサポート +- ZFS プールおよびドライブでの LUKS 暗号化をサポート +- 新しい ZFS プールおよびサブプールに合理的な既定プロファイルを設定 +- プールのステータス表示時に ZFS プールのアップグレードをサポートします。注:アップグレード後、以前のバージョンの Unraid ではそのボリュームをマウントできない場合があります + +### btrfs、zfs、zfs サブプールの割り当てプロファイル + +btrfs または zfs のプール/サブプールが作成されると、既定のストレージ割り当ては、そのプールに最初に割り当てられたスロット数(デバイス数)によって決まります: + +- zfs メイン(ルート)プールの場合: + - slots == 1 => single + - slots == 2 => mirror(2 台のデバイスの 1 グループ) + - slots >= 3 => raidz1('slots' 台のデバイスの 1 グループ) + +- zfs special、logs、および dedup サブプールの場合: + - slots == 1 => single + - slots%2 == 0 => mirror(2 台のデバイスの slots/2 グループ) + - slots%3 == 0 => mirror(3 台のデバイスの slots/3 グループ) + - それ以外 => stripe('slots' 台のデバイスの 1 グループ) + +- zfs cache および spare サブプールの場合: + - slots == 1 => single + - slots >= 2 => stripe('slots' 台のデバイスの 1 グループ) + +- btrfs プールの場合: + - slots == 1 => single + - slots >= 2 => raid1(つまり、btrfs でいう "raid1") + +### プールに関する考慮事項 + +単一スロットのプールにデバイスを追加(拡張)する場合、次の規則が適用されます: + +btrfs の場合:単一スロットのプールに 1 台以上のデバイスを追加すると、プールは raid1 に変換されます(つまり、btrfs が定義する raid1 です)。既存の複数スロットの btrfs プールに任意数のデバイスを追加すると、プールのストレージ容量は増加しますが、ストレージプロファイルは変わりません。 + +zfs の場合:単一スロットのプールに 1 台、2 台、または 3 台のデバイスを追加すると、プールは 2-way、3-way、または 4-way ミラーに変換されます。既存の 2-way または 3-way ミラーに 1 台のデバイスを追加すると、プールは 3-way または 4-way ミラーに変換されます。 + +プールのファイルシステム種類の変更: + +すべての単一スロットのプールでは、array が停止中であればファイルシステム種類を変更できます。 + +btrfs/zfs の複数スロットプールでは、ファイルシステム種類は変更できません。デバイスの用途を変更するには、Erase pool ボタンをクリックする必要があります。 + +### その他の機能 + +- プール内のデバイスのスピンアップ/スピンダウンを並列で行う機能を追加 +- "Delete Pool" ボタンを追加。これによりプール内のすべてのデバイスの割り当てを解除し、その後プールを削除します。デバイス自体は変更されません。これは、サーバーから物理的にデバイスを取り外す場合に便利です。 +- LUKS 暗号化ディスクの暗号化フレーズ/キーファイルを変更できる機能を追加 +- `config/share.cfg` の変数 `shareNOFILE` を導入。shfs プロセスの最大オープンファイルディスクリプタ数を設定します(Known Issues を参照) + +## VMマネージャー + +### 改善 + +VM クローン、スナップショット、evdev パススルーのサポートを追加しました。 + +VM エディターには、上級ユーザー向けの新しい読み取り専用インライン XML モードが追加され、GUI の選択が VM で使用される基盤 XML にどう影響するかが明確になりました。 + +VM への継続的な強化を行っている @SimonF に大きな感謝を。 + +### その他の変更 + +- **VM タブ** + - VM に割り当てられたすべてのグラフィックカードと IP アドレスを表示 + - noVNC バージョン: 1.5 +- **VM Manager Settings** + - VM の自動起動を無効にするオプションを追加 +- **VM テンプレートの追加/編集** + - "inline xml view" オプションを追加 + - ユーザー作成の VM テンプレートをサポート + - qemu ppc64 ターゲットを追加 + - qemu:override のサポートを追加 + - "QEMU コマンドライン passthrough" 機能を追加 + - "PCI Other" を含む VM の multifunction サポートを追加 + - hypervclock サポートを含む、Windows VM 向けの VM テンプレート強化 + - エミュレート CPU の "migratable" のオン/オフオプションを追加 + - offset と timer のサポートを追加 + - no keymap オプションを追加し、Virtual GPU の既定キーボードでそれを使用するように設定 + - nogpu オプションを追加 + - Intel iGPU の SR-IOV サポートを追加 + - VM 追加時に画像を作成する場所を指定する storage override を追加 + - vdisk 用の SSD フラグを追加 + - Unmap サポートを追加 + - VM 名に ZFS で無効な文字が含まれていないことを確認します。 +- **ダッシュボード** + - ダッシュボードに VM 使用統計を追加。_**Settings → VM Manager → Show VM Usage**_ で有効化します + +## Docker + +### Docker の fork bomb 防止 + +"Docker fork bomb" を防ぐため、新しい設定 _**Settings → Docker → Docker PID Limit**_ を導入しました。これは、各コンテナが同時にアクティブにできる Process ID の最大数を指定します(既定値 2048)。 + +より多くの PID を必要とするコンテナがある場合は、この設定を増やすか、例えば Docker テンプレートの _Extra Parameters_ 設定に `--pids-limit 3000` を追加して、特定のコンテナだけ上書きできます。 + +### overlay2 ストレージドライバーのサポートを追加 + +ZFS ボリュームで **Docker data-root=directory** を使用している場合は、_**Settings → Docker**_ に移動して **Docker storage driver** を **overlay2** に切り替え、その後ディレクトリの内容を削除して Docker にイメージレイヤーを再ダウンロードさせることをお勧めします。従来の **native** 設定は、ZFS ボリュームで深刻な安定性の問題を引き起こします。 + +以前のリリースへのダウングレード能力を維持したい場合は、代わりに **Docker data-root=xfs vDisk** に切り替えてください。 + +### その他の変更 + +- [Tailscale 統合](#tailscale-integration) を参照してください +- ポート指定付きのカスタムレジストリを許可 +- Docker イメージのアンマウントに "lazy unmount" を使用し、アレイ停止の妨げを防止 +- 複数のセキュリティ問題(CVE-2024-21626、CVE-2024-24557)に対応するため更新 +- Docker Manager: + - WebUI でコンテナネットワークを選択できるようにする + - dockerman 管理外のコンテナを正しく識別/表示する +- rc.docker: + - Unraid 管理のコンテナのみ停止 + - サードパーティ製コンテナの再起動ポリシーを尊重 +- Docker Wireguard ブリッジの MTU を Wireguard の既定 MTU に合わせる + +## ネットワーク + +### Tailscale 統合 + +Unraid OS は、コミュニティ開発者 EDACerton が作成したプラグインを通じて [Tailscale](https://tailscale.com/) をサポートします。このプラグインをインストールすると、https の webGUI アクセスに Tailscale 証明書がサポートされ、Tailnet の URL が _**Settings → Management Access**_ ページに表示されます。 + +さらに Unraid では、ほぼ任意の Docker コンテナに Tailscale をネイティブにインストールでき、特定の相手とコンテナを共有したり、正当な https 証明書でアクセスしたり、Exit Node 経由でインターネットへの別ルートを提供したりできます。 + +詳細は [ドキュメント](../system-administration/secure-your-server/tailscale.mdx) を参照してください + +### webGUI の iframing をサポート + +"Content-Security-Policy frame-ancestors" サポートを追加し、証明書を持つドメインから webGUI を自動的に iframe 化できるようにしました。完全にサポートされているわけではありませんが、`/etc/defaults/nginx` の `NGINX_CUSTOMFA` を変更するスクリプトを使えば、追加のカスタマイズも可能です + +### その他の変更 + +- OpenSSL 3 にアップグレード +- リスナーとしてすべての IPv4/IPv6 アドレスを許可します。これにより、IPv4 または IPv6 アドレスが動的に変化する場合の問題が解決されます +- Samba: + - NetBIOS が無効な場合にのみ IPv6 のリスニングアドレスを追加 + - MacOS が 'flash' 共有に書き込めない問題を修正し、Time Machine 互換性を復元(fruit の変更) +- VPN Manager が WireGuard トンネルにすべてのインターフェースを追加するようになったため、アップグレード後またはネットワーク設定を変更した後にトンネルにダミー変更を加えて、WireGuard トンネル設定を更新してください。 + +## webGUI + +### Dynamix File Manager プラグインを統合 + +ファイルマネージャーのアイコンをクリックし、ディレクトリ構造をたどりながら、コピー、移動、削除、名前変更などの一般的な操作をファイルやディレクトリに対して実行できます。 + +### GUI Search プラグインを統合 + +メニューバーの検索アイコンをクリックし、探している設定名を入力してください。 + +### Outgoing Proxy Manager + +以前に Proxy Editor プラグインを使用していたか、CA 用の outgoing proxy を設定していた場合、それらは自動的に削除/インポートされます。その後、_**Settings → Outgoing Proxy Manager**_ で調整できます。 + +詳細は [マニュアル](../system-administration/secure-your-server/secure-your-outgoing-comms.mdx) を参照してください。 + +注:この機能は、使用しているリバースプロキシとはまったく関係ありません。 + +### 通知エージェント + +通知エージェントの XML は個別の XML ファイルとして保存されるようになり、プラグイン経由で通知エージェントを追加しやすくなりました。 + +@Squid によるこの [サンプルプラグイン](https://github.com/Squidly271/Wxwork-sample) を参照してください + +- 修正: メール通知に問題がある場合、Agent 通知が機能しない + +### NTP 設定 + +新規インストールでは、単一の既定 NTP サーバーとして 'time.google.com' が設定されます。 + +サーバーが以前の NTP 既定値である time1.google.com、time2.google.com などを使用している場合、syslog に少し紛らわしい NTP 関連メッセージが表示されることがあります。これを避けるには、新しい既定値に変更することを検討してください。_**Settings → Date & Time**_ に移動し、**NTP server 1** を time.google.com に設定し、他はすべて空欄のままにします。 + +もちろん、お好みの time server を使っていただいて構いません。これは、既定値を調整したことをお知らせするためのものです。 + +### NFS 共有 + +NFS 共有の問題を解決するための新しい設定をいくつか追加しました。_**Settings → Global Share Settings**_ では fuse のファイルディスクリプタ数を調整でき、_**Settings → NFS**_ では NFS プロトコルのバージョンと使用するスレッド数を調整できます。詳細はインラインヘルプを参照してください。 + +- NFS 4.1 および 4.2 のサポートを追加し、NFSv4 マウントを既定で許可 +- 複数行の NFS ルールを設定するためのテキストボックスを追加 +- バグ修正: nfsd が正常に再起動しない問題 + +### ダッシュボード + +- サーバーの日付と時刻をダッシュボードに追加。時刻をクリックすると関連設定を編集できます +- ツールチップを含め、何が表示されているのかを明確にするために **System** タイルを再構成 +- ダッシュボードのタイルが最小化されたときに有用な内容を表示 +- ダッシュボードに Docker の RAM 使用量を表示 + - ダッシュボードに Docker の RAM 使用量を追加 + - 'Services' を 'System' に変更 +- ダッシュボード、VM Manager、Docker Manager ページのメモリリークを修正 + +### SMART の改善 + +- SSD の SMART 属性に書き込まれた KB/MB/GB/TB を表示 +- 'SSD endurance remaining' SMART 属性を追加。 + +### 診断 + +- gpu_statistics の gpujson を診断情報に追加 +- LXC ログの匿名化を改善 +- FCP プラグインがインストールされている場合、診断中にスキャンを実行 +- PHP エラーを特定するために phplog を追加 +- IPv6 アドレスの匿名化を改善 +- プロセス一覧にパスワードが露出していたため ps.txt を削除 + +### その他の変更 + +- HDD/SSD/NVMe ドライブごとに異なる警告/重大温度しきい値をサポートします。NVMe のしきい値はドライブ自身によって自動設定されます。HDD と SSD のしきい値は _**Settings → Disk Settings**_ で設定してください。個別のドライブについては、引き続きすべて上書きできます。 +- キーボードレイアウト、画面消灯時間、永続 Bash 履歴のオプションを備えた _**Settings → Local Console Settings**_ ページを追加 +- 省電力、バランス、パフォーマンス向けにシステムを最適化するための _**Settings → Power Mode**_ を追加 +- **Tools** と **Settings** の項目にカーソルを合わせてお気に入りに登録し、新しいトップレベルの **Favorites** ページからすばやく戻れるようにしました。あるいは、\***Settings → Display Settings** で Favorites 機能を無効にできます。 +- 処理の詳細をより多く表示する強化されたシャットダウン/再起動画面 +- サブメニューを削除して通知を簡素化 - View、History、Acknowledge はすべての通知タイプに適用されます +- 日付と時刻の設定を **Display Settings** から _**Settings → Date & Time Settings**_ に移動 +- _**Settings → Display settings**_: 大きな画面を活用するための新しい "width" 設定 +- 必要に応じて NVMe の電力使用量を表示。_**Settings → Disk Settings**_ を参照 +- Web コンポーネントの強化 – ダウングレード、更新、登録 +- 新しいドライブを ReiserFS でフォーマットしないようにする +- 設定ファイルの更新にアトミック書き込みを使用 +- ZFS プール設定の変更: + - 意味のある ZFS サブプールの説明を作成 + - ZFS プロファイルのテキスト 'raid0' を 'stripe' に変更 +- 追加の USB デバイスパススルー smartmontools オプションを webgui に追加(GitHub ユーザー jski に感謝) +- UPS 設定ページ(@othyn に感謝): + - UPS 容量を手動で上書き設定する機能を追加。 +- UserEdit: Ed25519、FIDO/U2F Ed25519、RSA に加えて、SSH 鍵タイプ DSA、ECDSA、および FIDO/U2F ECDSA をサポート +- OpenTerminal: /etc/passwd ファイルで root ユーザーに定義されたシェルを使用 +- "delete share" オプションは常に表示するが、共有が空でない場合は無効化する + +## その他 + +### その他の変更 + +- 非常に古い 'memtest' を Memtest86+ バージョン 6.20 に置き換え + - [ブートオプション](https://github.com/memtest86plus/memtest86plus#boot-options) も利用できます +- legacy unraid.net 証明書のサポートを削除 +- 旧式の非ワイルドカード 'unraid.net' SSL 証明書を使用しなくなったため、"UpdateDNS" 機能を削除 +- go スクリプトから proxy 情報と '&' を削除 +- passwd ファイル処理の修正 +- avahidaemon 実行中に、name.local を hosts ファイルに追加 +- hosts ファイルから keys.lime-technology.com を削除 +- rc.S: 重い /boot の I/O 中に WebGUI がフリーズするのを防ぐため、XFS マウントから wsync を削除 +- make\_bootable\_linux: バージョン 1.4 + - mtools がインストールされているか検出 +- ntp.conf: 'logconfig' を LOG\_INFO を無視するように設定 +- 高速化: restart の代わりに AVAHI reload を使用 +- Linux カーネル: 既知の不具合があるすべての Seagate 外付け USB エンクロージャーを、UAS ドライバーではなく usb-storage にバインドするよう強制 +- rc.S スクリプトの起動時改善: + - ブートセクタのバックアップを自動修復 + - 続行できずブートを継続できない場合は、すべてのファイルシステムを明示的にアンマウント + - syslinux.cfg の不正な root 値を検出 + - reboot は shutdown を呼び出すべきではない + - 空の cgroup を整理 +- Samba smb.conf: NetBIOS が有効な場合に "nmbd bind explicit broadcast = no" を設定 +- fastcgi\_path\_info を既定の nginx 設定に追加 +- pgrep または killall の呼び出しが現在の namespace に限定されることを保証 +- (上級者向け)起動時に `/boot/config/udev/` からカスタム udev ルールを適用できる機能を追加 +- バグ修正: ダウンロード失敗時の空の Trial.key を正しく処理 +- バグ修正: UPS ステータスの PHP 警告を修正 +- /etc/os-release ファイルに意味のある内容を作成 +- その他の翻訳修正 +- バグ修正: JavaScript のコンソールロギング機能を復元 +- Unraid のバージョン番号をクリックすると、Unraid Docs サイトからリリースノートが読み込まれます + +## Linux カーネル + +- バージョン 6.6.68 + - CONFIG_MISC_RTSX_PCI: Realtek PCI-E カードリーダー + - CONFIG_MISC_RTSX_USB: Realtek USB カードリーダー + - CONFIG_DRM_XE: Intel Xe Graphics + - CONFIG_DRM_XE_DISPLAY: ディスプレイサポートを有効化 + - CONFIG_AUDIT: 監査機能サポート + - CONFIG_USB_SERIAL_OPTION: GSM および CDMA モデム用 USB ドライバー + - CONFIG_USB_SERIAL_SIMPLE: USB シリアルシンプルドライバー + - CONFIG_USB_UAS: USB Attached SCSI + - CONFIG\_NFS\_V4\_1: NFSv4.1 用 NFS クライアントサポート + - CONFIG\_NFS\_V4\_1\_MIGRATION: 移行のための NFSv4.1 クライアントサポート + - CONFIG\_NFS\_V4\_2: NFSv4.2 用 NFS クライアントサポート + - CONFIG\_NFS\_V4\_2\_READ\_PLUS: NFS: NFSv4.2 READ\_PLUS 操作のサポートを有効化 + - CONFIG\_NFSD\_V4\_2\_INTER\_SSC: NFSv4.2 サーバー間 COPY + - CONFIG_USB_NET_CDC_EEM: CDC EEM サポート + - CONFIG\_USB\_NET\_CDC\_NCM: CDC NCM サポート + - CONFIG\_USB\_SERIAL\_XR: USB MaxLinear/Exar USB-シリアル ドライバー + - CONFIG\_CAN: CAN バス サブシステムのサポート + - CONFIG\_CAN\_NETLINK: Netlink サポート付き CAN デバイスドライバー + - CONFIG\_CAN\_GS\_USB: Geschwister Schneider UG および candleLight 互換インターフェース + - CONFIG\_SCSI\_LPFC: Emulex LightPulse Fibre Channel サポート + - CONFIG_DRM_VIRTIO_GPU: Virtio GPU ドライバー + - CONFIG_DRM_VIRTIO_GPU_KMS: Virtio GPU ドライバーのモード設定サポート + - CONFIG_LEDS_TRIGGERS: LED トリガーサポート + - CONFIG_LEDS_TRIGGER_ONESHOT: LED ワンショットトリガー + - CONFIG_LEDS_TRIGGER_NETDEV: LED Netdev トリガー + - CONFIG_QED: QLogic QED 25/40/100Gb コアドライバー + - CONFIG_QED_SRIOV: QLogic QED 25/40/100Gb SR-IOV サポート + - CONFIG_QEDE: QLogic QED 25/40/100Gb イーサネット NIC + - CONFIG_SCSI_UFSHCD: Universal Flash Storage コントローラー + - CONFIG_SCSI_UFS_BSG: Universal Flash Storage BSG デバイスノード + - CONFIG_SCSI_UFS_HWMON: UFS 温度通知 + - CONFIG_SCSI_UFSHCD_PCI: PCI バスベースの UFS コントローラーサポート + - CONFIG_SCSI_UFS_DWC_TC_PCI: G210 テストチップを使用した DesignWare PCI サポート + - CONFIG_SCSI_UFSHCD_PLATFORM: プラットフォームバスベースの UFS コントローラーサポート + - CONFIG_SCSI_UFS_CDNS_PLATFORM: Cadence UFS コントローラープラットフォームドライバー + - CONFIG_SCSI_QLA_FC: QLogic QLA2XXX ファイバーチャネルサポート + - CONFIG_LIQUIDIO: Cavium LiquidIO サポート + - CONFIG_LIQUIDIO_VF: Cavium LiquidIO VF サポート + - CONFIG_NTFS_FS: NTFS ファイルシステムサポート \[removed - this is the old read-only vfs module] + - CONFIG_NTFS3_FS: NTFS 読み書きファイルシステムサポート + - CONFIG_NTFS3_LZX_XPRESS: 外部圧縮 lzx/xpress のサポートを有効化 + - CONFIG_NTFS3_FS_POSIX_ACL: NTFS POSIX アクセス制御リスト + - CONFIG_UHID: HID サブシステム向けユーザー空間 I/O ドライバーサポート +- md/unraid: バージョン 2.9.33 + - 修正: 先頭の使用済みスロットの前にある空きスロットが NO_DEVICES を返す回帰を修正 + - 修正: 再構築/同期中のデバイス障害の処理を修正 +- XEN サポートを削除 + +## ベースディストリビューション + +- aaa\_base: バージョン 15.1 +- aaa_glibc-solibs: バージョン 2.40 +- aaa\_libraries: バージョン 15.1 +- acl: バージョン 2.3.2 +- acpid: バージョン 2.0.34 +- adwaita-icon-theme: バージョン 47.0 +- apcupsd: バージョン 3.14.14 +- appres: バージョン 1.0.7 +- at: バージョン 3.2.5 +- at-spi2-atk: バージョン 2.38.0 +- at-spi2-core: バージョン 2.54.0 +- atk: バージョン 2.38.0 +- attr: バージョン 2.5.2 +- avahi: バージョン 0.8 +- bash: バージョン 5.2.037 +- bash-completion: バージョン 2.16.0 +- beep: バージョン 1.3 +- bin: バージョン 11.1 +- bind: バージョン 9.20.4 +- bluez-firmware: バージョン 1.2 +- bridge-utils: バージョン 1.7.1 +- brotli: バージョン 1.1.0 +- btrfs-progs: バージョン 6.12 +- bzip2: バージョン 1.0.8 +- ca-certificates: バージョン 20241120 +- cairo: バージョン 1.18.2 +- celt051: バージョン 0.5.1.3 +- cifs-utils: バージョン 7.1 +- coreutils: バージョン 9.5 +- cpio: バージョン 2.15 +- cpufrequtils: バージョン 008 +- cracklib: バージョン 2.10.3 +- cryptsetup: バージョン 2.7.5 +- curl: バージョン 8.11.1 +- cyrus-sasl: バージョン 2.1.28 +- db48: バージョン 4.8.30 +- dbus: バージョン 1.16.0 +- dbus-glib: バージョン 0.112 +- dcron: バージョン 4.5 +- dejavu-fonts-ttf: バージョン 2.37 +- devs: バージョン 2.3.1 +- dhcpcd: バージョン 10.0.10 +- diffutils: バージョン 3.10 +- dmidecode: バージョン 3.6 +- dnsmasq: バージョン 2.90 +- docker: バージョン 27.0.3 +- dosfstools: バージョン 4.2 +- e2fsprogs: バージョン 1.47.1 +- ebtables: バージョン 2.0.11 +- editres: バージョン 1.0.9 +- elfutils: バージョン 0.192 +- elogind: バージョン 255.5 +- elvis: バージョン 2.2\_0 +- encodings: バージョン 1.1.0 +- etc: バージョン 15.1 +- ethtool: バージョン 5.19 +- eudev: バージョン 3.2.14 +- file: バージョン 5.46 +- findutils: バージョン 4.10.0 +- flex: バージョン 2.6.4 +- floppy: バージョン 5.5 +- fluxbox: バージョン 1.3.7 +- fontconfig: バージョン 2.15.0 +- freeglut: バージョン 3.6.0 +- freetype: バージョン 2.13.3 +- fribidi: バージョン 1.0.16 +- fuse3: バージョン 3.16.2 +- gawk: バージョン 5.3.1 +- gd: バージョン 2.3.3 +- gdbm: バージョン 1.24 +- gdk-pixbuf2: バージョン 2.42.12 +- genpower: バージョン 1.0.5 +- git: バージョン 2.47.1 +- glew: バージョン 2.2.0 +- glib2: バージョン 2.82.4 +- glibc: バージョン 2.40 +- glibc-zoneinfo: バージョン 2024b +- glu: バージョン 9.0.3 +- gmp: バージョン 6.3.0 +- gnutls: バージョン 3.8.8 +- gptfdisk: バージョン 1.0.10 +- graphite2: バージョン 1.3.14 +- grep: バージョン 3.11 +- gtk+3: バージョン 3.24.43 +- gzip: バージョン 1.13 +- harfbuzz: バージョン 10.1.0 +- hdparm: バージョン 9.65 +- hicolor-icon-theme: バージョン 0.18 +- hostname: バージョン 3.25 +- htop: バージョン 3.3.0 +- hwloc: バージョン 2.2.0 +- icu4c: バージョン 76.1 +- imlib2: バージョン 1.7.1 +- inetd: バージョン 1.79s +- infozip: バージョン 6.0 +- inih: バージョン 58 +- inotify-tools: バージョン 4.23.9.0 +- intel-microcode: バージョン 20241112 +- iperf3: バージョン 3.17.1 +- iproute2: バージョン 6.12.0 +- iptables: バージョン 1.8.11 +- iputils: バージョン 20240905 +- irqbalance: バージョン 1.7.0 +- jansson: バージョン 2.14 +- jemalloc: バージョン 5.3.0 +- jq: バージョン 1.6 +- json-c: バージョン 0.18\_20240915 +- json-glib: バージョン 1.10.6 +- kbd: バージョン 2.7.1 +- kernel-firmware: バージョン 20241220\_9e1d9ae +- keyutils: バージョン 1.6.3 +- kmod: バージョン 33 +- krb5: バージョン 1.21.3 +- lbzip2: バージョン 2.5 +- less: バージョン 668 +- libICE: バージョン 1.1.2 +- libSM: バージョン 1.2.5 +- libX11: バージョン 1.8.10 +- libXau: バージョン 1.0.12 +- libXaw: バージョン 1.0.16 +- libXcomposite: バージョン 0.4.6 +- libXcursor: バージョン 1.2.3 +- libXdamage: バージョン 1.1.6 +- libXdmcp: バージョン 1.1.5 +- libXevie: バージョン 1.0.3 +- libXext: バージョン 1.3.6 +- libXfixes: バージョン 6.0.1 +- libXfont2: バージョン 2.0.7 +- libXfontcache: バージョン 1.0.5 +- libXft: バージョン 2.3.8 +- libXi: バージョン 1.8.2 +- libXinerama: バージョン 1.1.5 +- libXmu: バージョン 1.2.1 +- libXpm: バージョン 3.5.17 +- libXrandr: バージョン 1.5.4 +- libXrender: バージョン 0.9.12 +- libXres: バージョン 1.2.2 +- libXt: バージョン 1.3.1 +- libXtst: バージョン 1.2.5 +- libXxf86dga: バージョン 1.1.6 +- libXxf86misc: バージョン 1.0.4 +- libXxf86vm: バージョン 1.1.6 +- libaio: バージョン 0.3.113 +- libarchive: バージョン 3.7.7 +- libcap-ng: バージョン 0.8.5 +- libcgroup: バージョン 0.41 +- libdaemon: バージョン 0.14 +- libdeflate: バージョン 1.23 +- libdmx: バージョン 1.1.5 +- libdrm: バージョン 2.4.124 +- libedit: バージョン 20240808_3.1 +- libepoxy: バージョン 1.5.10 +- libestr: バージョン 0.1.9 +- libevdev: バージョン 1.13.3 +- libevent: バージョン 2.1.12 +- libfastjson: バージョン 0.99.9 +- libffi: バージョン 3.4.6 +- libfontenc: バージョン 1.1.8 +- libgcrypt: バージョン 1.11.0 +- libglvnd: バージョン 1.7.0 +- libgpg-error: バージョン 1.51 +- libgudev: バージョン 238 +- libidn: バージョン 1.42 +- libjpeg-turbo: バージョン 3.1.0 +- liblogging: バージョン 1.0.6 +- libmnl: バージョン 1.0.5 +- libnetfilter\_conntrack: バージョン 1.1.0 +- libnfnetlink: バージョン 1.0.2 +- libnftnl: バージョン 1.2.8 +- libnl3: バージョン 3.11.0 +- libnvme: バージョン 1.11.1 +- libpcap: バージョン 1.10.5 +- libpciaccess: バージョン 0.18.1 +- libpng: バージョン 1.6.44 +- libpsl: バージョン 0.21.5 +- libpthread-stubs: バージョン 0.5 +- libseccomp: バージョン 2.5.5 +- libssh: バージョン 0.11.1 +- libssh2: バージョン 1.11.1 +- libtasn1: バージョン 4.19.0 +- libtiff: バージョン 4.7.0 +- libtirpc: バージョン 1.3.6 +- libtpms: バージョン 0.9.0 +- libunistring: バージョン 1.3 +- libunwind: バージョン 1.8.1 +- libusb: バージョン 1.0.27 +- libusb-compat: バージョン 0.1.8 +- libuv: バージョン 1.49.2 +- libvirt: バージョン 10.7.0 +- libvirt-php: バージョン 0.5.8 +- libwebp: バージョン 1.5.0 +- libwebsockets: バージョン 4.3.2 +- libx86: バージョン 1.1 +- libxcb: バージョン 1.17.0 +- libxcvt: バージョン 0.1.3 +- libxkbcommon: バージョン 1.7.0 +- libxkbfile: バージョン 1.1.3 +- libxml2: バージョン 2.13.5 +- libxshmfence: バージョン 1.3.3 +- libxslt: バージョン 1.1.42 +- libzip: バージョン 1.11.2 +- listres: バージョン 1.0.6 +- lm\_sensors: バージョン 3.6.0 +- lmdb: バージョン 0.9.33 +- logrotate: バージョン 3.22.0 +- lshw: バージョン B.02.19.2 +- lsof: バージョン 4.99.4 +- lsscsi: バージョン 0.32 +- lvm2: バージョン 2.03.29 +- lz4: バージョン 1.10.0 +- lzip: バージョン 1.24.1 +- lzlib: バージョン 1.14 +- lzo: バージョン 2.10 +- mbuffer: バージョン 20240107 +- mc: バージョン 4.8.31 +- mcelog: バージョン 202 +- mesa: バージョン 24.2.8 +- miniupnpc: バージョン 2.1 +- mkfontscale: バージョン 1.2.3 +- mpfr: バージョン 4.2.1 +- mtdev: バージョン 1.1.7 +- nano: バージョン 8.3 +- ncompress: バージョン 5.0 +- ncurses: バージョン 6.5 +- net-tools: バージョン 20181103\_0eebece +- nettle: バージョン 3.10 +- network-scripts: バージョン 15.1 +- nfs-utils: バージョン 2.8.2 +- nghttp2: バージョン 1.64.0 +- nghttp3: バージョン 1.7.0 +- nginx: バージョン 1.27.2 +- noto-fonts-ttf: バージョン 2024.12.01 +- nss-mdns: バージョン 0.14.1 +- ntfs-3g: バージョン 2022.10.3 +- ntp: バージョン 4.2.8p18 +- numactl: バージョン 2.0.13 +- nvme-cli: バージョン 2.11 +- oniguruma: バージョン 6.9.9 +- openssh: バージョン 9.9p1 +- openssl: バージョン 3.4.0 +- ovmf: バージョン stable202411 +- p11-kit: バージョン 0.25.5 +- pam: バージョン 1.6.1 +- pango: バージョン 1.54.0 +- patch: バージョン 2.7.6 +- pciutils: バージョン 3.13.0 +- pcre: バージョン 8.45 +- pcre2: バージョン 10.44 +- perl: バージョン 5.40.0 +- php: バージョン 8.3.8 +- pixman: バージョン 0.44.2 +- pkgtools: バージョン 15.1 +- procps-ng: バージョン 4.0.4 +- pv: バージョン 1.6.6 +- qemu: バージョン 9.1.0 +- qrencode: バージョン 4.1.1 +- readline: バージョン 8.2.013 +- reiserfsprogs: バージョン 3.6.27 +- rpcbind: バージョン 1.2.6 +- rsync: バージョン 3.3.0 +- rsyslog: バージョン 8.2102.0 +- sakura: バージョン 3.5.0 +- samba: バージョン 4.21.1 +- sdparm: バージョン 1.12 +- sed: バージョン 4.9 +- sessreg: バージョン 1.1.3 +- setxkbmap: バージョン 1.3.4 +- sg3_utils: バージョン 1.48 +- shadow: バージョン 4.16.0 +- shared-mime-info: バージョン 2.4 +- slim: バージョン 1.3.6 +- smartmontools: バージョン 7.4 +- spice: バージョン 0.15.0 +- spirv-llvm-translator: バージョン 19.1.2 +- sqlite: バージョン 3.46.1 +- ssmtp: バージョン 2.64 +- startup-notification: バージョン 0.12 +- sudo: バージョン 1.9.16p2 +- swtpm: バージョン 0.7.3 +- sysfsutils: バージョン 2.1.1 +- sysstat: バージョン 12.7.6 +- sysvinit: バージョン 3.12 +- sysvinit-scripts: バージョン 15.1 +- talloc: バージョン 2.4.2 +- tar: バージョン 1.35 +- tcp\_wrappers: バージョン 7.6 +- tdb: バージョン 1.4.12 +- telnet: バージョン 0.17 +- tevent: バージョン 0.16.1 +- traceroute: バージョン 2.1.6 +- transset: バージョン 1.0.4 +- tree: バージョン 2.1.1 +- usbredir: バージョン 0.8.0 +- usbutils: バージョン 018 +- userspace-rcu: バージョン 0.15.0 +- utempter: バージョン 1.2.1 +- util-linux: バージョン 2.40.2 +- vbetool: バージョン 1.2.2 +- virtiofsd: バージョン 1.11.1 +- vsftpd: バージョン 3.0.5 +- vte3: バージョン 0.50.2 +- wayland: バージョン 1.23.1 +- wget: バージョン 1.25.0 +- which: バージョン 2.21 +- wireguard-tools: バージョン 1.0.20210914 +- wqy-zenhei-font-ttf: バージョン 0.8.38_1 +- wsdd2: バージョン 1.8.7 +- xauth: バージョン 1.1.3 +- xcb-util: バージョン 0.4.1 +- xcb-util-keysyms: バージョン 0.4.1 +- xclock: バージョン 1.1.1 +- xdpyinfo: バージョン 1.3.4 +- xdriinfo: バージョン 1.0.7 +- xev: バージョン 1.2.6 +- xf86-input-evdev: バージョン 2.11.0 +- xf86-input-keyboard: バージョン 1.9.0 +- xf86-input-mouse: バージョン 1.9.3 +- xf86-input-synaptics: バージョン 1.9.2 +- xf86-video-ast: バージョン 1.1.5 +- xf86-video-mga: バージョン 2.1.0 +- xf86-video-vesa: バージョン 2.6.0 +- xfsprogs: バージョン 6.12.0 +- xhost: バージョン 1.0.9 +- xinit: バージョン 1.4.2 +- xkbcomp: バージョン 1.4.7 +- xkbevd: バージョン 1.1.6 +- xkbutils: バージョン 1.0.6 +- xkeyboard-config: バージョン 2.43 +- xkill: バージョン 1.0.6 +- xload: バージョン 1.2.0 +- xlsatoms: バージョン 1.1.4 +- xlsclients: バージョン 1.1.5 +- xmessage: バージョン 1.0.7 +- xmodmap: バージョン 1.0.11 +- xorg-server: バージョン 21.1.15 +- xprop: バージョン 1.2.8 +- xrandr: バージョン 1.5.3 +- xrdb: バージョン 1.2.2 +- xrefresh: バージョン 1.1.0 +- xset: バージョン 1.2.5 +- xsetroot: バージョン 1.1.3 +- xsm: バージョン 1.0.6 +- xterm: バージョン 396 +- xtrans: バージョン 1.5.2 +- xwd: バージョン 1.0.9 +- xwininfo: バージョン 1.1.6 +- xwud: バージョン 1.0.7 +- xxHash: バージョン 0.8.3 +- xz: バージョン 5.6.3 +- yajl: バージョン 2.1.0 +- zfs: バージョン 2.2.7_6.6.68_Unraid +- zlib: バージョン 1.3.1 +- zstd: バージョン 1.5.6 + +## パッチ + +[Unraid Patch plugin](https://forums.unraid.net/topic/185560-unraid-patch-plugin/) をインストールしている場合は、_**Tools → Unraid Patch**_ に移動して以下のパッチ / ホットフィックスを取得してください: + +- mover が、array から pool へ、名前にスペースを含む共有を移動していませんでした +- ファイルマネージャー: UD リモート共有へのアクセスを許可 +- 共有一覧: ツールチップがスペースの代わりに `%20` を表示していた +- VM Manager: vDisk の空の Discard フィールドの問題を修正 +- インストール済みパッチを診断に含める + +注: Mover Tuning プラグインがインストールされている場合、これらのパッチを適用するために再起動が求められます。 From 36375873d4179997e72393dcefc99185fd3e72e0 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:27:28 -0400 Subject: [PATCH 123/437] New translations 7.0.1.md (Japanese) --- .../current/unraid-os/release-notes/7.0.1.md | 72 +++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/7.0.1.md diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/7.0.1.md b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/7.0.1.md new file mode 100644 index 00000000000..6a28c8cfd66 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/7.0.1.md @@ -0,0 +1,72 @@ +# バージョン 7.0.1 2025-02-25 + +## アップグレードに関する注意事項 + +これはセキュリティおよびバグ修正リリースです。7.0.0 で公開されたすべてのパッチが含まれています。 + +これは、コンテナで Tailscale 統合が有効になっており、その後他のユーザーと共有された場合に、Host モードで実行中のコンテナにおけるセキュリティ問題を解決します。このリリース以降、そのようなコンテナの起動は無効化されました。続行するには、Host モードのコンテナに対する Tailscale 統合を無効にするか、ネットワークタイプを Bridge または "Custom: eth0/bond0/br0" に変更してください。 + +### 既知の問題 + +既知の問題については、[7.0.0 リリースノート](7.0.0.md#known-issues)を参照してください。 + +### ロールバック + +7.0.0 より前にロールバックする場合は、[7.0.0 リリースノート](7.0.0.md#rolling-back)も参照してください。 + +## [7.0.0](7.0.0.md) との差分 + +### バグ修正と改善 + +- Tailscale Docker 統合 + - ネットワークタイプが "Host" のコンテナが Tailscale 統合を使用するのを防止し、この構成で既存コンテナを起動できる機能を無効化(セキュリティ) + - ネットワークタイプが "Container" の新規コンテナが Tailscale 統合を使用するのを防止(Tailscale はメインコンテナではなくサイドカーコンテナ側にあるべきです) + - Community Apps からデフォルトの Tailscale 状態ディレクトリを受け入れる + - 必要に応じて ca\_certificates をインストール + - Tailscale 統合が有効な場合の **post 引数** の処理を改善。最初の `;` より前の内容はコンテナに渡され、それ以降はホスト上で実行されます + - 注: 追加の機能強化を進めています。具体的には、この統合を使用して公式 Tailscale サイドカーコンテナを管理できる機能です +- Docker: サードパーティーが管理するコンテナの更新ステータスを非表示にする +- nchan のメモリリークの可能性のある原因を修正 +- ファイルマネージャー: UD リモート共有へのアクセスを許可 +- 早期ブート中に検出される sd デバイス数を 8 から 16 に増加 +- 6.12 から特定の btrfs プールをアップグレードした際にユーザーが目にしていた _Wrong Pool State, invalid expansion_ を解決 +- 既存の vfat パーティションのインポートを防止 +- プールが定義されているが割り当てられていない状態でアレイを開始しようとした問題を解決 +- F10 で終了した際に mc がカレントディレクトリを保持しない問題を修正 +- mover + - mover が、array から pool へ、名前にスペースを含む共有を移動していませんでした + - mover がハードリンクを正しく処理していませんでした +- VMs + - fix: 名前にシングルクォートが含まれる VM を開始/停止できない + - fix: 特定の条件下で、VM を作成すると VM 名で新しい共有が作成される + - vDisk の空の Discard フィールドの問題を修正 +- `cdc_ether` ドライバをブラックリスト化して、特定のマザーボードで IPMI NIC に関する問題を防止 + このドライバを再度有効にするには、`touch /boot/config/modprobe.d/cdc_ether.conf` を実行してください +- 一部のユーザーで発生している DHCP の問題を解決するため、dhcpcd を以前のバージョンにダウングレード +- 共有一覧: ツールチップがスペースの代わりに `%20` を表示していた +- インストール済みパッチを診断に含める + +### Linux カーネル + +- バージョン 6.6.78 +- fix: md/unraid はパリティが 2 つのみでデータディスクがない場合に Start を許可 + +### ベースディストリビューション + +- bind: バージョン 9.20.5 (CVE-2024-12705 CVE-2024-11187) +- curl: バージョン 8.12.1 (CVE-2025-0725 CVE-2025-0665 CVE-2025-0167) +- dhcpcd: バージョン 9.5.3 (v10.0.10 からロールバック) +- git: バージョン 2.48.1 (CVE-2024-50349 CVE-2024-52006) +- gnutls: バージョン 3.8.9 (CVE-2024-12243) +- libtasn1: バージョン 4.20.0 (CVE-2024-12133) +- libxml2: 2.13.6 (CVE-2025-24928 CVE-2024-56171) +- mariadb: バージョン 11.4.5 (CVE-2025-21490) +- mc: バージョン 4.8.33 +- openssh: バージョン 9.9p2 (CVE-2025-26465 CVE-2025-26466) +- openssl: バージョン 3.4.1 +- rsync: バージョン 3.4.1 (CVE-2024-12084 CVE-2024-12085 CVE-2024-12086 CVE-2024-12087 CVE-2024-12088 CVE-2024-12084) +- ttyd: バージョン 20250129 + +## パッチ + +このリリースで現在利用可能なパッチはありません。 From ca9db68b1530bd6062f663897d3efa3b2b368c5f Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:27:30 -0400 Subject: [PATCH 124/437] New translations 7.1.0.md (Japanese) --- .../current/unraid-os/release-notes/7.1.0.md | 331 ++++++++++++++++++ 1 file changed, 331 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/7.1.0.md diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/7.1.0.md b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/7.1.0.md new file mode 100644 index 00000000000..0930058de7a --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/7.1.0.md @@ -0,0 +1,331 @@ +# バージョン 7.1.0 2025-05-05 + +このリリースでは、ワイヤレスネットワーク、TrueNAS やその他の外部プールのインポート機能、VM への複数の改善、WebGUI をレスポンシブにするための初期対応、その他が追加されます。 + +## アップグレード + +### 既知の問題 + +このリリースには潜在的なデータ損失の問題があり、最近の "mover empty disk" 機能が共有のスプリットレベルを正しく処理しません。7.1.2 で解決済みです。 + +#### プラグイン + +すべてのプラグイン、特に Unraid Connect と Nvidia ドライバーをアップグレードしてください。 + +その他の既知の問題については、[7.0.0 リリースノート](7.0.0.md#known-issues)を参照してください。 + +### ロールバック + +リリース間でのパッチ配布方法を改善しているため、このリリースでは単体の Patch Plugin はアンインストールされます。以前のリリースにロールバックする場合は、再インストールすることをお勧めします。詳細は追ってお知らせします。 + +7.0.0 より前にロールバックする場合は、[7.0.0 リリースノート](7.0.0.md#rolling-back)も参照してください。 + +## [7.0.1](7.0.1.md) との差分 + +### ストレージ + +- TrueNAS、Proxmox、Ubuntu、QNAP などの外部 ZFS プールをインポートします。 +- 最初のパーティションではなく、ディスク上で最大のパーティションをインポートします。 +- btrfs raid1 または zfs single-vdev mirror からデバイスを削除すると、プールのスロット数が減少するようになります。 + +#### その他のストレージ変更 + +- 修正: 無効化されたディスクが Dashboard に表示されませんでした。 +- 修正: カスタムのスピンダウン設定を追加した後、最初のプールデバイスのみがスピンダウンしていました。 +- 修正: Parity デバイスが 2 台のみで Data デバイスがない場合に Array Start が許可されていました。 +- 修正: パリティチェックの通知に、現在のパリティチェックではなく前回のパリティチェックが表示されることがよくありました。 +- 修正: アップグレード時に _Wrong pool State. Too many wrong or missing devices_ の特定の発生を解消しました。 +- 修正: 小さい vdev から zfs デバイスを置き換えることができませんでした。 +- mover: + - 修正: 古い share.cfg ファイルに起因して mover の実行が妨げられる問題を解決しました。 + - 修正: 親ディレクトリがまだ存在しない場合に、mover がハードリンクの再作成に失敗していました。 + - 修正: mover が名前付きパイプでハングしていました。 + - 修正: [mover を使用して array disk を空にする](7.0.0.md#using-mover-to-empty-an-array-disk)際、対応する share.cfg ファイルを持つ最上位フォルダーのみを移動するようになり、さらに _移動されなかった_ ファイル一覧の表示を妨げていたバグも修正しました。 + +### ネットワーク + +#### ワイヤレスネットワーク + +Unraid が WiFi に対応しました! 有線接続が通常は推奨されますが、お使いの環境でそれが不可能な場合は WiFi を設定できるようになりました。 + +初期設定には、ローカルのキーボード/モニター(GUI モードで起動)または有線接続が必要です。将来的には、USB Creator で初回起動前にワイヤレスネットワークを設定できるようになります。 + +- WebGUI にアクセスし、_**Settings → Network Settings → Wireless wlan0**_ を開きます + - まず、WiFi を有効にします + - **Regulatory Region** は通常 **Automatic** のままで構いませんが、接続したいネットワークが表示されない場合は、お住まいの地域に設定してください + - 接続したいネットワークを見つけて、**Connect to WiFi network** アイコンをクリックします + - WiFi のパスワードやその他の設定を入力し、**Join this network** を押します + - 注意: Docker コンテナを WiFi 経由で使用することが目的であれば、Docker を開始する前に有線接続を外してください + +追加情報 + +- WPA2/WPA3 および WPA2/WPA3 Enterprise がサポートされています。WPA2 と WPA3 の両方が利用可能な場合は、WPA3 が使用されます。 +- 長期利用では、有線と無線の両方を同時に使うことは推奨されません。どちらか一方にしてください。ただし、両方の接続が DHCP を使用しており、ワイヤレスを設定した状態でネットワークケーブルを抜き差しした場合、システム(Docker を除く)は 45〜60 秒以内に調整されるはずです。 +- ワイヤレスチップセットのサポート: 最新の WiFi アダプターでは成功する見込みがありますが、古いアダプターは動作しない場合があります。WiFi アダプターが検出されない場合は、新しいフォーラムスレッドを開始し、診断情報を提供してください。調査できます。 +- USB WiFi アダプターを使用したい場合は、[Linux のカーネル内ドライバーでサポートされている USB WiFi アダプターの一覧](https://github.com/morrownr/USB-WiFi/blob/main/home/USB_WiFi_Adapters_that_are_supported_with_Linux_in-kernel_drivers.md)を参照してください +- 詳細: `/boot/config/firmware/` に配置された新しいファームウェアファイルは、ドライバーモジュールが読み込まれる前に `/lib/firmware/` へコピーされます(既存のファイルは上書きされません)。 + +制限: wireless を使用する場合、wlan は単一の MAC アドレスしか持てないため、ネットワーク上に制限があります。 + +- サポートされるワイヤレス NIC は 1 つのみで、wlan0 です +- wlan0 は bond に参加できません +- Dockerコンテナ + - _**Settings → Docker**_ では、wireless が有効な場合、システムは **Docker custom network type** 設定を無視し、常に **ipvlan** を使用します(wireless は 1 つのインターフェースで複数の MAC アドレスをサポートしないため、macvlan は使用できません) + - _**Settings → Docker**_ で、**Host access to custom networks** は無効にする必要があります + - Docker コンテナの **Network Type** は br0/bond0/eth0 を使用できません + - Docker には、同じサブネットを共有する 2 つのネットワークに参加できないという制限があります。有線と無線を切り替える場合は、Docker を再起動し、既存のすべてのコンテナを新しいインターフェースを使用するよう再設定する必要があります。有線か無線のどちらか一方に設定し、切り替えないことを推奨します。 +- VMs + - VM の **Network Source** は **virbr0** に設定することを推奨します。このモードでは、実行できる VM の数に制限はありません。VM は完全なネットワークアクセスを持ちますが、欠点としてネットワークからアクセスできません。ホストへの VNC 経由では引き続きアクセスできます。 + - いくつかの手動設定を行えば、単一の VM をネットワークからアクセス可能にできます: + - VM に静的 IP アドレスを設定します + - ipvtap インターフェースに同じ IP アドレスを設定します。種類: `ip addr add IP-ADDRESS dev shim-wlan0` + +#### その他のネットワーク変更 + +- _**Settings → Network Settings**_ では、他のサービスを停止せずにサーバーの DNS 設定を調整できるようになりました。**eth0** セクションの先頭を参照してください。 +- ネットワークインターフェースを設定するとき、各インターフェースには現在の接続の詳細を表示する **Info** ボタンがあります。 +- ネットワークインターフェースを設定するとき、**Desired MTU** フィールドは **Enable jumbo frames** をクリックするまで無効です。MTU の変更に関する警告はアイコンにホバーすると表示されます。ほとんどの場合は既定値のままにしておくべきです。 +- 複数のネットワークインターフェースを設定する場合、既定では追加のインターフェースのゲートウェイは無効になります。これは、単一のゲートウェイが必要なほとんどのネットワークで機能する安全な既定値です。追加のゲートウェイを有効にした場合、既存のゲートウェイより高いメトリックが割り当てられるため、競合は発生しません。必要に応じて上書きできます。 +- _**Settings → Network Settings**_ で変更を保存すると、古いネットワークインターフェースは設定ファイルから自動的に削除されます。 +- DHCP に関するさまざまな問題を修正しました。 + +### VMマネージャー + +#### Nouveau GPU ドライバー + +Nvidia GPU 用の Nouveau ドライバーが含まれるようになりました。多くのユーザーは代わりに Nvidia ドライバーを使うと想定されるため、既定では無効です。有効にするには、Nvidia ドライバーのプラグインをアンインストールし、`touch /boot/config/modprobe.d/nouveau.conf` を実行してから再起動してください。 + +#### VirGL + +VirGL という仮想 3D OpenGL レンダラーを使って、Intel および AMD GPU を複数の Linux VM 間で同時に共有できるようになりました。この方法で使用すると、GPU は高速化されたグラフィックスを提供しますが、モニターへの出力は行いません。なお、これはまだ Windows VM や標準の Nvidia プラグインでは動作しません(ただし、Nouveau ドライバーを使用した Nvidia GPU では動作します)。 + +Linux VM で仮想 GPU を使用するには、VM テンプレートを編集し、**Graphics Card** を **Virtual** に設定します。次に **VM Console Video Driver** を **Virtio(3d)** に設定し、利用可能な GPU 一覧から適切な **Render GPU** を選択します(VFIO-PCI にバインドされている GPU や他の VM にパススルーされた GPU はここでは選択できず、Nvidia GPU は Nouveau ドライバーが有効な場合にのみ利用できます)。 + +#### QXL 仮想 GPU + +VM でこの機能を使用するには、VM テンプレートを編集し、**Graphics Card** を **Virtual** に、**VM Console Video Driver** を **QXL (Best)** に設定します。その後、対応する画面数と割り当てるメモリ量を選択できます。 + +#### CPU ピン留めはオプションです + +CPU ピン留めは現在オプションで、どのコアも VM に固定されていない場合、OS が使用するコアを選択します。 + +_**Settings → CPU Settings**_ または VM を編集するときに、**Deselect All** を押すとこの VM へのコアのピン留めをすべて解除し、vCPU 数を 1 に設定できます。必要に応じて増やしてください。 + +### ユーザー VM テンプレート + +ユーザー テンプレートを作成するには: + +- VM を編集し、**Create Modify Template** を選択して名前を付けます。これで **User Template** として保存され、**Add VM** 画面で利用できるようになります。 + +ユーザー テンプレートを使用するには: + +- VM 一覧から **Add VM** を押し、**User Templates** 領域からテンプレートを選択します。 + +インポート/エクスポート + +- **Add VM** 画面で、ユーザー テンプレートにカーソルを合わせて矢印をクリックすると、テンプレートをサーバー上の場所にエクスポートするか、ダウンロードできます。 +- 別の Unraid システムでは **Import from file** または **Upload** を押してテンプレートを使用します。 + +#### その他の VM の変更 + +- **Primary** GPU が VM へのパススルーとして割り当てられている場合、互換性のある vBIOS を読み込まないと動作しない可能性があることを警告します。 +- 修正: VM サービスの設定時に紛らわしい _Path does not exist_ メッセージを削除しました +- 機能追加: Unraid の VM は、QXL ビデオドライバー使用時に GUI モードで起動できるようになりました +- 修正: XML ビュー使用時に VM アイコンを変更できませんでした + +### WebGUI + +#### CSS の変更 + +WebGUI をレスポンシブにするための一歩として、CSS を再構成しました。大部分では、いくつかの軽微な色調整を除けば目立つ変更はないはずです。多くのプラグインも問題ないと考えていますが、プラグイン作者は[このドキュメント](https://github.com/unraid/webgui/blob/master/emhttp/plugins/dynamix/styles/themes/README.md)を確認するとよいでしょう。レスポンシブ性は今後のリリースでも引き続き改善されます。 + +公式テーマで配置のずれや色の問題に気づいた場合は、お知らせください。 + +#### nchan の共有メモリ不足の問題 + +この問題を防ぐためにいくつかの変更を行い、発生を検出した場合は、自動復旧を試みるため nginx を再起動します。 + +Main ページがいつまでたっても表示されない場合、またはログに "nchan: Out of shared memory" が表示される場合は、新しいフォーラムスレッドを立てて診断情報を提供してください。必要に応じて、_**Settings → Display Settings**_ に移動して **Allow realtime updates on inactive browsers** を無効にできます。これにより、ブラウザーがフォーカスを失った後に特定の更新を要求しなくなります。この状態では **Live Updates Paused** と表示されるバナーが出ます。WebGUI をクリックして前面に戻すだけで、ライブ更新が再有効化されます。特定のページは、最新情報を表示していることを確実にするため、自動的に再読み込みされます。 + +#### その他の WebGUI 変更 + +- 修正: AdBlocker が Dashboard の読み込みを妨げることがありました +- 修正: 特定の状況で、Dashboard 上のブラウザーのメモリ使用量が指数関数的に増加することがありました +- 修正: 壊れた設定ファイルが Dashboard を壊さないようにしました + +## その他 + +### その他の変更 + +- _**Settings → Date and Time**_ で、**PTP** サーバーと時計を同期できるようになりました(多くのユーザーは引き続き **NTP** を使用すると想定されます) +- jQuery 3.7.1 および jQuery UI 1.14.1 にアップグレードしました +- 修正: boot.php にアクセスしてもサーバーはシャットダウンしなくなりました +- 修正: Docker タブで、最後のコンテナのドロップダウンメニューが特定の状況で途中で切れていました +- 修正: _**Settings → Docker**_ で、ZFS ボリューム上に保存された **Docker directory** の削除が正しく動作するようになりました +- 修正: 起動時に `/boot/config/ssh/` から `/etc/ssh/` へコピーされたカスタム ssh 設定が再び反映されるようになりました +- 修正: File Manager が User Share から Unassigned Disk のマウント先へファイルをコピーできるようになりました +- 修正: Docker サービスの設定時に紛らわしい _Path does not exist_ メッセージを削除しました +- 修正: `/etc/machine-id` の処理を正しく行うよう `rc.messagebus` を更新しました +- 診断 + - 修正: 診断情報における IPv6 アドレスの匿名化を改善しました + - 修正: 診断情報の一部の設定ファイルでユーザー名の匿名化を改善しました + - 修正: syslog 内のマルチバイト文字列により診断情報が失敗することがありました + - 機能追加: 診断情報が `logs/diagnostics.error.log` にエラーを記録するようになりました + +### Linux カーネル + +- version 6.12.24-Unraid + - 適用: \[PATCH] [Revert "PCI: Avoid reset when disabled via sysfs"](https://lore.kernel.org/lkml/20250414211828.3530741-1-alex.williamson@redhat.com/) + - CONFIG\_NR\_CPUS: 256 から 512 に増加 + - CONFIG\_TEHUTI\_TN40: Tehuti Networks TN40xx 10G Ethernet アダプター + - CONFIG_DRM_XE: Intel Xe Graphics + - CONFIG\_UDMABUF: ユーザー空間 dmabuf の misc ドライバー + - CONFIG\_DRM\_NOUVEAU: Nouveau (NVIDIA) カード + - CONFIG\_DRM\_QXL: QXL 仮想 GPU + - CONFIG\_EXFAT\_FS: exFAT ファイルシステムのサポート + - CONFIG\_PSI: Pressure stall information の追跡 + - CONFIG\_PSI\_DEFAULT\_DISABLED: Pressure stall information の追跡を有効にするにはブートパラメータが必要、つまり `psi=1` + - CONFIG\_ENCLOSURE\_SERVICES: Enclosure Services + - CONFIG\_SCSI\_ENCLOSURE: SCSI Enclosure サポート + - CONFIG\_DRM\_ACCEL: 計算アクセラレーション フレームワーク + - CONFIG\_DRM\_ACCEL\_HABANALABS: HabanaLabs AI アクセラレータ + - CONFIG\_DRM\_ACCEL\_IVPU: Intel NPU(Neural Processing Unit) + - CONFIG\_DRM\_ACCEL\_QAIC: Qualcomm Cloud AI アクセラレータ + - zfs: バージョン 2.3.1 + +- ワイヤレスサポート + - Atheros/Qualcomm + - Broadcom + - Intel + - Marvell + - Microtek + - Realtek + +### ベースディストリビューションの更新 + +- aaa\_glibc-solibs: バージョン 2.41 +- adwaita-icon-theme: バージョン 48.0 +- at-spi2-core: バージョン 2.56.1 +- bind: バージョン 9.20.8 +- btrfs-progs: バージョン 6.14 +- ca-certificates: バージョン 20250425 +- cairo: バージョン 1.18.4 +- cifs-utils: バージョン 7.3 +- coreutils: バージョン 9.7 +- dbus: バージョン 1.16.2 +- dbus-glib: バージョン 0.114 +- dhcpcd: バージョン 9.5.2 +- diffutils: バージョン 3.12 +- dnsmasq: バージョン 2.91 +- docker: バージョン 27.5.1 +- e2fsprogs: バージョン 1.47.2 +- elogind: バージョン 255.17 +- elfutils: バージョン 0.193 +- ethtool: バージョン 6.14 +- firefox: バージョン 128.10 (AppImage) +- floppy: バージョン 5.6 +- fontconfig: バージョン 2.16.2 +- gdbm: バージョン 1.25 +- git: バージョン 2.49.0 +- glib2: バージョン 2.84.1 +- glibc: バージョン 2.41 +- glibc-zoneinfo: バージョン 2025b +- grep: バージョン 3.12 +- gtk+3: バージョン 3.24.49 +- gzip: バージョン 1.14 +- harfbuzz: バージョン 11.1.0 +- htop: バージョン 3.4.1 +- icu4c: バージョン 77.1 +- inih: バージョン 60 +- intel-microcode: バージョン 20250211 +- iperf3: バージョン 3.18 +- iproute2: バージョン 6.14.0 +- iw: バージョン 6.9 +- jansson: バージョン 2.14.1 +- kernel-firmware: バージョン 20250425\_cf6ea3d +- kmod: バージョン 34.2 +- less: バージョン 674 +- libSM: バージョン 1.2.6 +- libX11: バージョン 1.8.12 +- libarchive: バージョン 3.7.8 +- libcgroup: バージョン 3.2.0 +- libedit: バージョン 20250104\_3.1 +- libevdev: バージョン 1.13.4 +- libffi: バージョン 3.4.8 +- libidn: バージョン 1.43 +- libnftnl: バージョン 1.2.9 +- libnvme: バージョン 1.13 +- libgpg-error: バージョン 1.55 +- libpng: バージョン 1.6.47 +- libseccomp: バージョン 2.6.0 +- liburing: バージョン 2.9 +- libusb: バージョン 1.0.28 +- libuv: バージョン 1.51.0 +- libvirt: バージョン 11.2.0 +- libXft: バージョン 2.3.9 +- libxkbcommon: バージョン 1.9.0 +- libxml2: バージョン 2.13.8 +- libxslt: バージョン 1.1.43 +- libzip: バージョン 1.11.3 +- linuxptp: バージョン 4.4 +- lvm2: バージョン 2.03.31 +- lzip: バージョン 1.25 +- lzlib: バージョン 1.15 +- mcelog: バージョン 204 +- mesa: バージョン 25.0.4 +- mpfr: バージョン 4.2.2 +- nano: バージョン 8.4 +- ncurses: バージョン 6.5\_20250419 +- nettle: バージョン 3.10.1 +- nghttp2: バージョン 1.65.0 +- nghttp3: バージョン 1.9.0 +- noto-fonts-ttf: バージョン 2025.03.01 +- nvme-cli: バージョン 2.13 +- oniguruma: バージョン 6.9.10 +- openssh: バージョン 10.0p1 +- openssl: バージョン 3.5.0 +- ovmf: バージョン stable202502 +- pam: バージョン 1.7.0 +- pango: バージョン 1.56.3 +- parted: バージョン 3.6 +- patch: バージョン 2.8 +- pcre2: バージョン 10.45 +- perl: バージョン 5.40.2 +- php: バージョン 8.3.19 +- procps-ng: バージョン 4.0.5 +- qemu: バージョン 9.2.3 +- rsync: バージョン 3.4.1 +- samba: バージョン 4.21.3 +- shadow: バージョン 4.17.4 +- spice: バージョン 0.15.2 +- spirv-llvm-translator: バージョン 20.1.0 +- sqlite: バージョン 3.49.1 +- sysstat: バージョン 12.7.7 +- sysvinit: バージョン 3.14 +- talloc: バージョン 2.4.3 +- tdb: バージョン 1.4.13 +- tevent: バージョン 0.16.2 +- tree: バージョン 2.2.1 +- userspace-rcu: バージョン 0.15.2 +- utempter: バージョン 1.2.3 +- util-linux: バージョン 2.41 +- virglrenderer: バージョン 1.1.1 +- virtiofsd: バージョン 1.13.1 +- which: バージョン 2.23 +- wireless-regdb: バージョン 2025.02.20 +- wpa\_supplicant: バージョン 2.11 +- xauth: バージョン 1.1.4 +- xf86-input-synaptics: バージョン 1.10.0 +- xfsprogs: バージョン 6.14.0 +- xhost: バージョン 1.0.10 +- xinit: バージョン 1.4.4 +- xkeyboard-config: バージョン 2.44 +- xorg-server: バージョン 21.1.16 +- xterm: バージョン 398 +- xtrans: バージョン 1.6.0 +- xz: バージョン 5.8.1 +- zstd: バージョン 1.5.7 + +## パッチ + +このリリースで現在利用可能なパッチはありません。 From ce5977f7f6271a6f53696dc9ef249c10e3381f9f Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:27:31 -0400 Subject: [PATCH 125/437] New translations 7.1.1.md (Japanese) --- .../current/unraid-os/release-notes/7.1.1.md | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/7.1.1.md diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/7.1.1.md b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/7.1.1.md new file mode 100644 index 00000000000..3e87eb5476c --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/7.1.1.md @@ -0,0 +1,35 @@ +# バージョン 7.1.1 2025-05-08 + +これは小規模なリリースで、OVMF ファームウェアの更新版を含みます。 +この更新では、特定の仮想マシン(Fedora、Debian、Rocky、その他 CentOS ベースのディストリビューション)の起動を妨げる問題を解決するため、[commit](https://github.com/tianocore/edk2/commit/efaa102d00) を元に戻しています。 +詳細は [この議論](https://github.com/tianocore/edk2/issues/10883) もご覧ください。 + +## アップグレード + +### 既知の問題 + +このリリースには潜在的なデータ損失の問題があり、最近の "mover empty disk" 機能が共有のスプリットレベルを正しく処理しません。7.1.2 で解決済みです。 + +その他の既知の問題については、[7.1.0 リリースノート](7.1.0.md#known-issues) をご覧ください。 + +### ロールバック + +[7.1.0 リリースノート](7.1.0.md#rolling-back) をご覧ください。 + +## [7.1.0](7.1.0.md) との変更点 + +### VMマネージャー + +- 修正: 特定の仮想マシンの起動を妨げる問題を解決するため、更新された OVMF ファームウェアを含みます + +### Linux カーネル + +- バージョン 6.12.24-Unraid(変更なし) + +### ベースディストリビューションの更新 + +- ovmf: バージョン unraid202502 + +## パッチ + +このリリースで現在利用可能なパッチはありません。 From 8263a3f2aa58f55046745bc5258518f848bca5d0 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:27:32 -0400 Subject: [PATCH 126/437] New translations 7.1.2.md (Japanese) --- .../current/unraid-os/release-notes/7.1.2.md | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/7.1.2.md diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/7.1.2.md b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/7.1.2.md new file mode 100644 index 00000000000..2b146a4d22a --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/7.1.2.md @@ -0,0 +1,29 @@ +# バージョン 7.1.2 2025-05-11 + +これは小規模ですが重要なリリースであり、7.1.0 および 7.1.1 に存在した潜在的なデータ損失の問題を修正します。これは、最近の「mover empty disk」機能が共有上の split level を正しく処理しないことが原因でした。 + +また、通常の mover 機能がファイル移動時に split level を無視するという、より小さな問題も修正します。 + +## アップグレード + +### 既知の問題 + +[7.1.0 のリリースノート](7.1.0.md#known-issues) をご覧ください。 + +### ロールバック + +[7.1.0 リリースノート](7.1.0.md#rolling-back) をご覧ください。 + +## [7.1.1](7.1.1.md) との変更点 + +### ストレージ + +- 修正: 「mover empty disk」が共有上の split level を正しく処理しない + +### Linux カーネル + +- バージョン 6.12.24-Unraid(変更なし) + +## パッチ + +このリリースで現在利用可能なパッチはありません。 From b577292662588b9d8475457cf7188ec1f18d40b5 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:27:33 -0400 Subject: [PATCH 127/437] New translations 7.1.3.md (Japanese) --- .../current/unraid-os/release-notes/7.1.3.md | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/7.1.3.md diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/7.1.3.md b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/7.1.3.md new file mode 100644 index 00000000000..89de3455233 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/7.1.3.md @@ -0,0 +1,50 @@ +# バージョン 7.1.3 2025-06-04 + +これは小規模なバグ修正とセキュリティ更新のリリースです。 + +## アップグレード + +### 既知の問題 + +- このリリースでは一部のユーザーでネットワークの問題が発生しています。([7.1.4](7.1.4.md) にアップグレードしてください +- [7.1.0 リリースノート](7.1.0.md#known-issues) もご覧ください。 + +### ロールバック + +[7.1.0 リリースノート](7.1.0.md#rolling-back) をご覧ください。 + +## [7.1.2](7.1.2.md) との差分 + +### ネットワーク + +- 修正: 静的 IP 割り当てを無線接続と共存できるようにする +- 修正: 自動メトリック割り当てを改善 +- 修正: インターフェース上での IP 選択を改善 + +### Docker + +- 修正: 無線インターフェースで Docker ホストへのアクセスを許可する +- 修正: shim-br0 インターフェースが作成されないことがあり、br0 上のカスタムネットワークへのホストアクセスに問題を引き起こす可能性がある問題を修正 + +### ストレージ + +- 修正: mover: ハードリンクを含むディスクを空にした後に残る可能性のある空のディレクトリを削除 +- 修正: 'lsblk' コマンドを使用せずにパーティション番号とパーティション構成を直接取得 +- 修正: /mnt/user0/sharename が共有割り当て方法を尊重しないことがある問題を修正 + +### webGUI + +- 修正: 暗号化パスフレーズが間違っていることがある問題を修正 +- 修正: Docker のコンテキストメニューを上下に表示する変更を元に戻す + +### Linux カーネル + +- バージョン 6.12.24-Unraid(変更なし) + +### ベースディストリビューションの更新 + +- curl-8.14.0-x86\_64-1 (CVE-2025-5025 CVE-2025-4947) + +## パッチ + +このリリースで現在利用可能なパッチはありません。 From 28944733eb309a31182f8a41c336d5fc1e754a1d Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:27:35 -0400 Subject: [PATCH 128/437] New translations 7.1.4.md (Japanese) --- .../current/unraid-os/release-notes/7.1.4.md | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/7.1.4.md diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/7.1.4.md b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/7.1.4.md new file mode 100644 index 00000000000..a7567edc6c7 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/7.1.4.md @@ -0,0 +1,51 @@ +# バージョン 7.1.4 2025-06-18 + +これは主にネットワーク関連の問題に重点を置いたバグ修正版です。 + +## アップグレード + +### 既知の問題 + +[7.1.0 リリースノート](7.1.0.md#known-issues) もご覧ください。 + +### ロールバック + +[7.1.0 リリースノート](7.1.0.md#rolling-back) をご覧ください。 + +## [7.1.3](7.1.3.md) との差分 + +### ネットワーク + +- 修正: 巻き戻し: 自動メトリック割り当ての改善 +- 修正: 特定の状況でインターフェース監視スクリプトがデフォルトルートを削除しないようにする +- 修正: 無効化されたデフォルトルートが使用されないようにする + +### Docker + +- 修正: Docker のサブネットを /25 に制限しない +- 修正: より適切なものが利用可能な場合は APIPA IP を表示しない +- 注意: 静的 IP アドレスを持つ Docker コンテナが起動しない場合は、コンテナを編集して割り当てられている IP アドレスを確認してください。 + IP は、一覧表示されているサブネットのいずれかに含まれている必要があります。サブネットは _**Settings → Docker Settings**_ で定義されています。 + +### VMs + +- 修正: カスタム virbr インターフェースがない +- 修正: 別のインターフェースを選択するたびに MAC 割り当てが再生成されていた + +### ストレージ + +- 修正: BTRFS および XFS ドライブのマウント時に **Autotrim** 設定を尊重する + +### webGUI + +- 修正: ファイルマネージャー: ジョブが最小化されているとき、フッターのアイコンが表示されない問題を修正 +- 修正: ファイルマネージャー: ファイル移動時に **既存のファイルを上書き** 設定を尊重する +- 修正: 配列起動中はプールの Compression/Autotrim 設定を変更できないようにする + +### Linux カーネル + +- バージョン 6.12.24-Unraid(変更なし) + +## パッチ + +このリリースで現在利用可能なパッチはありません。 From 720162084e72695d4064e58386fcf60173fc2f64 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:27:36 -0400 Subject: [PATCH 129/437] New translations 7.2.0.md (Japanese) --- .../current/unraid-os/release-notes/7.2.0.md | 303 ++++++++++++++++++ 1 file changed, 303 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/7.2.0.md diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/7.2.0.md b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/7.2.0.md new file mode 100644 index 00000000000..84302baf56a --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/7.2.0.md @@ -0,0 +1,303 @@ +# Version 7.2.0 2025-10-29 + +Unraid の webGUI は応答性が向上しました!インターフェースは画面サイズに自動的に適応し、モバイルデバイス、タブレット、デスクトップモニターのいずれでも利用しやすくなっています。Unraid API は組み込み済みとなり、このリリースではそのほかにも RAIDZ 拡張、Ext2/3/4、NTFS、exFAT のサポート、さらに(オプションで)SSO により WebGUI にログインできる機能など、さまざまな機能追加と不具合修正が含まれています。 + +このリリースでは一部のプラグインに表示上の問題が発生する場合があります。プラグイン作者の方々には、調整のための時間を確保してください。プラグイン作者の方は、プラグインを応答対応にする更新方法を説明したこの投稿をご覧ください: [https://forums.unraid.net/topic/192172-responsive-webgui-plugin-migration-guide/](https://forums.unraid.net/topic/192172-responsive-webgui-plugin-migration-guide/) + +## アップグレード + +For step-by-step instructions, see [Upgrading Unraid](../../unraid-os/system-administration/maintain-and-update/upgrading-unraid.mdx). Questions about your [license](../../unraid-os/troubleshooting/licensing-faq.mdx#license-types--features)? + +### 既知の問題 + +#### プラグイン + +The Theme Engine, Dark Theme, Dynamix Date Time, and Flash Remount plugins are incompatible and will be automatically uninstalled, as will outdated versions of Unraid Connect. + +更新前に、すべてのプラグイン、特に Unraid Connect と Nvidia ドライバーをアップグレードしてください。 +このリリースでは一部のプラグインに表示上の問題が発生する場合があります。プラグイン作者の方々には、調整のための時間を確保してください。 + +その他の既知の問題については、[7.1.4 リリースノート](7.1.4.md#known-issues)を参照してください。 + +### ロールバック + +7.1.4 より前にロールバックする場合は、[7.1.4 リリースノート](7.1.4.md#rolling-back)も参照してください。 + +## [7.1.4](7.1.4.md) との差分 + +### ストレージ + +#### ZFS RAIDZ 拡張 + +You can now expand your single-vdev RAIDZ1/2/3 pools, one drive at a time. For detailed instructions, see [RAIDZ expansion](../../using-unraid-to/manage-storage/cache-pools.mdx#raidz-expansion). + +- With the array running, on **_Main → Pool Devices_**, select the pool name to view the details +- **Pool Status** 領域で **Upgrade Pool** ボタンがあるか確認してください。存在する場合は、続行する前にそれをクリックする必要があります。プールをアップグレードすると、以前の Unraid リリースへのダウングレード能力が制限されることに注意してください(7.1 までは問題ありませんが、7.0 は不可です) +- アレイを停止する +- On **_Main → Pool Devices_**, add a slot to the pool +- 適切なドライブを選択してください(プール内で最も小さいドライブ以上の容量が必要です) +- アレイを開始する + +#### 機能強化 + +- 修正: プールを先にアップグレードする必要がある場合、今後は「無効な拡張」の警告が表示されます +- 改善: ZFS RAIDZ vdev のデフォルトを改善 + +#### Ext2/3/4、NTFS、exFAT のサポート + +Unraid は、XFS、BTRFS、ZFS に加えて、Ext2/3/4、NTFS、および exFAT のドライブ形式をサポートするようになりました。 + +Use case: say you are a content creator with a box full of hard drives containing all of your historical videos. When first creating an array (or after running **_Tools → New Config_**), add all of your existing data drives (blank, or with data in a supported drive format) to the array. Any parity drives will be overwritten but the data drives will retain their data. You can enjoy parity protection, share them on the network, and take full advantage of everything Unraid has to offer. + +重要: パリティドライブを搭載した状態でアレイを開始するまでは、データが入ったドライブをアレイに追加し続けることができます。いったんパリティドライブが追加されると、その後に追加される新しいデータドライブは、アレイに追加される際にゼロクリアされます。 + +To clarify, Unraid has always worked this way; what is new is that Unraid now supports additional drive formats. + +さらに、新しい形式を使って単一ドライブのプールも作成できます。 + +- 利用可能なオプションが増えているため、**File System Type** ドロップダウンの使いやすさが向上しました + +#### 非推奨のファイルシステムについて警告 + +The **_Main_** page will now warn if any array or pool drives are formatted with ReiserFS; these drives need to be migrated to another filesystem ASAP as they will not be usable in a future release of Unraid (likely Unraid 7.3). Similarly, it will warn if there are drives formatted in a deprecated version of XFS; those need to be migrated before 2030. See [Converting to a new file system type](../using-unraid-to/manage-storage/file-systems.mdx#converting-to-a-new-file-system-type) in the docs for details. + +#### その他のストレージ変更 + +- 改善: 2 台構成の ZFS プールは既定でミラーリングされますが、将来的にその vdev を拡張する予定がある場合は RAIDZ1 にすることもできます +- 改善: **DeviceInfo** ページに **File system status** を追加し、ドライブがマウント済み/未マウントか、空/未空かを表示します +- 修正: 2 つのプール名が似ている場合に Main ページで表示問題が発生する +- 修正: ZFS でデータ損失につながる可能性があった [glibc の不具合](https://github.com/openzfs/zfs/issues/17629) +- 修正: 複数のファイルシステムシグネチャを持つ BTRFS アレイドライブがマウントされない +- 修正: 既存の 1MiB アライン済みパーティションを持つパリティディスクに関するいくつかの問題を解決 +- 修正: アレイ停止時に、マウントされていないアレイデバイスに対して 'umount' を試行しない +- 改善: NFS エクスポート用に専用共有を選択できるようになりました +- 改善: `homes`、`global`、`printers` という名前の共有を禁止します(これらは Samba で特別な意味を持ちます) +- 修正: 大文字小文字を区別しない共有名の処理を修正 +- 修正: 名前に無効な文字を含む共有は削除または変更できなかった +- 修正: SMB Security Settings の読み取り/書き込みに関する改善 +- Improvement: A top-level `lost+found` directory will not be shared +- Fix: In smb.conf, set `smb3 directory leases = no` to avoid issues with the current release of Samba +- Fix: Restore comments in default `/etc/modprobe.d/*.conf` files +- Fix: Windows fails to create a new folder for a share with primary=ZFS pool and secondary=EXT4 array disk +- Fix: New devices added to an existing array with valid parity should be repartitioned +- Fix: Do not spin down devices for which SMART self-test is in progress +- Fix: New array device not available for shares until the array is restarted +- Fix: ZFS allocation profile always shows one vdev only + +### ネットワーク + +#### その他のネットワーク変更 + +- Feature: IPv6 Docker custom networks now support Unique Local Addresses (ULA) in addition to the more standard Global Unicast Addresses (GUA), assuming your router provides both subnets when the Unraid host gets an IPv6 address via DHCP or SLAAC. To use, assign a custom static IP from the appropriate subnet to the container. +- Fix: The **_Settings → Network Settings → Interface Rules_** page sometimes showed the wrong network driver (was just a display issue) + +### VMマネージャー + +- Feature: Save PCI hardware data, warn if hardware used by VM changes +- Feature: Support virtual sound cards in VMs + +#### その他の VM の変更 + +- Improvement: Enhance multi-monitor support, automatically enabling spicevmc when needed +- Feature: Upgrade to noVNC v1.6 +- Removed historical OpenElec and LibreElec VM templates +- Fix: VM Console did not work when user shares were disabled +- Fix: Don't allow single quotes in Domains storage path +- Fix: Change Windows 11 VM defaults +- Fix: Unable to view vdisk locations in languages other than English +- Fix: No capacity warning when editing a VM to add a 2nd vdisk +- Fix: Cdrom Bus: select IDE for i440 and SATA for q35 + +### Unraid API + +Unraid API が Unraid に組み込まれました!新しい Notifications パネルがそれを使用する最初の大きな機能であり、今後は webGUI 全体がこれを使うように更新されていきます。 + +Unraid API は完全なオープンソースです: [https://github.com/unraid/api](https://github.com/unraid/api)。[API ドキュメント](../../API/index.mdx)から始めてください。 + +Unraid Connect プラグインは、クラウドサーバーと通信する機能を追加しますが、完全に任意です。 + +#### その他の Unraid API 変更 + +- dynamix.unraid.net 4.25.3 - [see changes](https://github.com/unraid/api/releases) + +### WebGUI + +#### 応答対応 CSS + +Unraid の webGUI は応答対応になりました!ほとんどの画面は、デスクトップモニターと同じようにスマートフォンでも問題なく動作するはずです。 + +#### Login to the webGUI via SSO + +Login to the Unraid webGUI using Single Sign-On (SSO) with your Unraid.net account or any other OIDC-compliant provider. For details on this _optional_ feature, see [OIDC Provider Setup](../../API/oidc-provider-setup.mdx) in the Docs. + +#### その他の WebGUI 変更 + +- 機能: 新しい通知管理ビューを追加。WebGUI 右上のベルからアクセスできます +- 機能: Docker / プラグイン / VM のポップアップウィンドウに進行状況インジケーターを追加 +- 機能: ログイン失敗回数が多すぎるためロックアウトされた場合、ログインページにカウントダウンタイマーを表示 +- Feature: Add _Force Install_ button to bypass version checks when manually installing plugins +- Feature: Add **_Tools → Open Terminal_** page; can access it by searching for "terminal". Can optionally remove Terminal button from toolbar via **_Settings → Display Settings → Show Terminal Button in header_** +- Feature: **_Users → Root → SSH authorized keys_** now supports more formats (thanks [wandercone](https://github.com/wandercone)) +- 機能: 新しいシステム向けのウェルカム画面を追加。root パスワード設定後に表示されます +- 修正: テスト完了後に smart テストボタンを再有効化 +- 修正: dynamix.cfg が破損している場合に WebGUI がクラッシュしないようにし、問題があればログに記録する +- 修正: `blob:` リンクを外部リンクと見なさない +- 機能: Dashboard で Intel E-Cores と P-Cores を区別する +- 機能: Dashboard が Unraid API から CPU 使用率 статистics を取得するようになりました +- 修正: Dashboard: 1TB を超える RAM が正しく報告されなかった +- 作業: Dashboard のグラフ作成ライブラリを変更 +- Fix: Prevent Firefox from showing resend/cancel popup when starting array (thanks [dkaser](https://github.com/dkaser)) +- 修正: File Manager: 失敗時にスピナーを停止してエラーを表示する([poroyo](https://github.com/poroyo) に感謝) +- 機能: Plugins および Docker ページの描画を高速化 +- 修正: 変更履歴から外部リンクをクリックしたときの問題を防止 +- Improvement: Show RAM and network speed in human-readable units +- Fix: On _**Settings → Display Settings → Font size**_, remove extreme options that break the webGUI + +## その他 + +- Feature: Do not execute `go` script when in safe mode, create `/boot/config/go.safemode` script if needed +- Improvement: Require authentication on `http://localhost`. This improves security and allows Tailscale Funnel to work with the webGUI. Note that when booting in GUI mode, you will now need to login again to access the webGUI. +- Feature: Add favicon and web app manifest support +- Feature: License key upgrades are installed automatically, without needing to restart the array +- Feature: Thunderbolt devices will be auto-authorized when connected +- Feature: Improvements to custom udev rules and scripts, at boot: + - `/boot/config/udev/*.rules` are copied to `/etc/udev/rules.d/` + - `/boot/config/udev/*.sh` are copied to `/etc/udev/scripts/` where they can be used by your custom udev rules +- Fix: Remove support for nonworking ipv6.hash.myunraid.net URLs +- Fix: Docker custom network creation failed when IPv6 was enabled +- Fix: Resolve issues with high CPU load due to nchan and lsof +- Improvement: Removed option to disable live updates on inactive browsers; should no longer be needed +- Improvement: Better messaging around mover and "dangling links" +- Fix: Prevent errors related to _searchLink_ when installing plugins +- Fix: PHP warnings importing WireGuard tunnels +- Improvement: _Europe/Kiev_ timezone renamed to _Europe/Kyiv_ to align with the IANA Time Zone Database +- Improvement: Enhance Discord notification agent; enable/disable the agent to get the updates (thanks [mgutt](https://github.com/mgutt)) +- Fix: Further anonymization of diagnostics.zip +- Improvement: Protect WebGUI from fatal PHP errors +- Improvement: Adjust logging during plugin installs +- Fix: CPU Pinning for Docker containers could crash in certain instances +- Fix: Docker NAT failure due to missing br\_netfilter +- Fix: Scheduled mover runs not logged + +### Linux カーネル + +- version 6.12.54-Unraid + - 組み込み済み: CONFIG\_EFIVAR\_FS: EFI Variable filesystem + - CONFIG\_INTEL\_RAPL: MSR インターフェース経由の Intel RAPL サポート + - CONFIG\_NLS\_DEFAULT: "iso8859-1" から "utf8" に変更 + - eMMC サポートを追加: + - CONFIG\_MMC: MMC/SD/SDIO card support + - CONFIG\_MMC\_BLOCK: MMC block device driver + - CONFIG\_MMC\_SDHCI: Secure Digital Host Controller Interface support + - CONFIG\_MMC\_SDHCI\_PCI: SDHCI support on PCI bus + - CONFIG\_MMC\_SDHCI\_ACPI: SDHCI support for ACPI enumerated SDHCI controllers + - CONFIG\_MMC\_SDHCI\_PLTFM: SDHCI platform and OF driver helper + +### ベースディストリビューションの更新 + +- aaa\_glibc-solibs: version 2.42 +- adwaita-icon-theme: バージョン 48.1 +- at-spi2-core: version 2.58.1 +- bash: バージョン 5.3.003 +- bind: バージョン 9.20.13 +- btrfs-progs: バージョン 6.17 +- ca-certificates: version 20251003 +- cifs-utils: バージョン 7.4 +- coreutils: バージョン 9.8 +- cryptsetup: バージョン 2.8.1 +- curl: バージョン 8.16.0 +- e2fsprogs: バージョン 1.47.3 +- ethtool: バージョン 6.15 +- exfatprogs: version 1.3.0 +- fontconfig: バージョン 2.17.1 +- freetype: バージョン 2.14.0 +- gdbm: バージョン 1.26 +- gdk-pixbuf2: version 2.44.3 +- git: version 2.51.1 +- glib2: バージョン 2.86.0 +- glibc: バージョン 2.42 (build 2) +- gnutls: バージョン 3.8.10 +- grub: バージョン 2.12 +- gtk+3: version 3.24.51 +- harfbuzz: version 12.1.0 +- intel-microcode: バージョン 20250812 +- iproute2: バージョン 6.17.0 +- inih: バージョン 61 +- inotify-tools: バージョン 4.25.9.0 +- iputils: バージョン 20250605 +- iw: バージョン 6.17 +- json-glib: バージョン 1.10.8 +- kbd: バージョン 2.9.0 +- kernel-firmware: version 20251018\_8b4de42 +- krb5: バージョン 1.22.1 +- less: version 685 +- libXfixes: バージョン 6.0.2 +- libXpresent: バージョン 1.0.2 +- libXres: バージョン 1.2.3 +- libarchive: version 3.8.2 +- libdrm: version 2.4.127 +- libedit: version 20251016\_3.1 +- libevdev: version 1.13.5 +- libffi: バージョン 3.5.2 +- libgpg-error: version 1.56 +- libjpeg-turbo: バージョン 3.1.2 +- libnftnl: バージョン 1.3.0 +- libnvme: バージョン 1.15 +- libpng: バージョン 1.6.50 +- libssh: バージョン 0.11.3 +- libtiff: バージョン 4.7.1 +- libtirpc: バージョン 1.3.7 +- libunwind: version 1.8.3 +- liburing: バージョン 2.12 +- libusb: バージョン 1.0.29 +- libwebp: バージョン 1.6.0 +- libvirt: バージョン 11.7.0 +- libxkbcommon: バージョン 1.11.0 +- libxml2: バージョン 2.14.6 +- libzip: バージョン 1.11.4 +- lsof: バージョン 4.99.5 +- lvm2: バージョン 2.03.35 +- mcelog: version 207 +- mesa: version 25.2.5 +- nano: バージョン 8.6 +- ncurses: version 6.5\_20250816 +- nettle: バージョン 3.10.2 +- nghttp2: バージョン 1.67.1 +- nghttp3: バージョン 1.12.0 +- noto-fonts-ttf: version 2025.10.01 +- nvme-cli: バージョン 2.15 +- openssh: version 10.2p1 +- openssl: version 3.5.4 +- ovmf: バージョン unraid202502 +- p11-kit: バージョン 0.25.10 +- pam: バージョン 1.7.1 +- pcre2: バージョン 10.46 +- pango: バージョン 1.56.4 +- pciutils: バージョン 3.14.0 +- perl: バージョン 5.42.0 +- php: version 8.3.26-x86\_64-1\_LT with gettext extension +- pixman: バージョン 0.46.4 +- rclone: version 1.70.1-x86\_64-1\_SBo\_LT.tgz +- readline: バージョン 8.3.001 +- samba: version 4.23.2 +- shadow: バージョン 4.18.0 +- smartmontools: バージョン 7.5 +- spirv-llvm-translator: version 21.1.1 +- sqlite: バージョン 3.50.4 +- sudo: バージョン 1.9.17p2 +- sysstat: バージョン 12.7.8 +- sysvinit: バージョン 3.15 +- tdb: バージョン 1.4.14 +- tevent: バージョン 0.17.1 +- userspace-rcu: バージョン 0.15.3 +- util-linux: バージョン 2.41.2 +- wayland: バージョン 1.24.0 +- wireguard-tools: バージョン 1.0.20250521 +- wireless-regdb: version 2025.10.07 +- xdpyinfo: バージョン 1.4.0 +- xdriinfo: バージョン 1.0.8 +- xfsprogs: バージョン 6.16.0 +- xkeyboard-config: version 2.46 +- xorg-server: バージョン 21.1.18 +- xterm: バージョン 402 +- zfs: version zfs-2.3.4\_6.12.54\_Unraid-x86\_64-2\_LT From a80c17bb0ffe454ccfdfb5baadb5c7166660a662 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:27:37 -0400 Subject: [PATCH 130/437] New translations _category_.json (Japanese) --- .../current/unraid-os/release-notes/_category_.json | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/_category_.json diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/_category_.json b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/_category_.json new file mode 100644 index 00000000000..e5dff9e1d21 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/release-notes/_category_.json @@ -0,0 +1,8 @@ +{ + "label": "リリースノート", + "position": 6, + "link": { + "type": "generated-index", + "description": "Unraid リリースノート" + } +} From 9aed31e678c77f50afbb6b2822762625630dc8c5 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:27:38 -0400 Subject: [PATCH 131/437] New translations _category_.json (Japanese) --- .../unraid-os/system-administration/_category_.json | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/_category_.json diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/_category_.json b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/_category_.json new file mode 100644 index 00000000000..723ad58ae6c --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/_category_.json @@ -0,0 +1,7 @@ +{ + "label": "システム管理", + "position": 3, + "link": { + "type": "generated-index" + } +} \ No newline at end of file From f02af3bd55e4d6e86bdb8803867596bfa942ec8d Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:27:40 -0400 Subject: [PATCH 132/437] New translations _category_.json (Japanese) --- .../system-administration/advanced-tools/_category_.json | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/advanced-tools/_category_.json diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/advanced-tools/_category_.json b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/advanced-tools/_category_.json new file mode 100644 index 00000000000..aeac63e9392 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/advanced-tools/_category_.json @@ -0,0 +1,7 @@ +{ + "label": "高度なツール", + "position": 4, + "link": { + "type": "generated-index" + } +} \ No newline at end of file From 5a88e5e4392ef8ba73d0e29f576ec270700dca33 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:27:41 -0400 Subject: [PATCH 133/437] New translations command-line-interface.mdx (Japanese) --- .../advanced-tools/command-line-interface.mdx | 581 ++++++++++++++++++ 1 file changed, 581 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/advanced-tools/command-line-interface.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/advanced-tools/command-line-interface.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/advanced-tools/command-line-interface.mdx new file mode 100644 index 00000000000..104eaf2c31b --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/advanced-tools/command-line-interface.mdx @@ -0,0 +1,581 @@ +--- +sidebar_position: 1 +sidebar_label: コマンドラインインターフェース +--- + +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; +import CliCpuInfo from "./partials/command-line-interface/cpu-info.mdx"; +import CliMemoryInfo from "./partials/command-line-interface/memory-info.mdx"; +import CliStorageInfo from "./partials/command-line-interface/storage-info.mdx"; + +# コマンドラインインターフェース + +Unraid のほとんどの作業は %%WebGUI|web-gui%% から実行できますが、特に診断、ドライブ管理、スクリプト作成に関する一部の操作は、システムコンソールまたは %%SSH|ssh%% ターミナルの使用が必要です。このページでは、Linux の詳しい知識がなくても使える、Unraid 向けのコマンドラインツールと使用例を紹介します。 + +:::tip[Device パス] + +多くのディスクレベルの Unraid 操作は、`/dev/sdX` のような Linux のデバイス名に依存します。任意のドライブのデバイス識別子は、%%WebGUI|web-gui%% の **Main** タブで確認できます。各ディスクの横にある 3 文字のラベル `sdX` または `nvmeX` を探してください。すべてのコマンドでは、`sdX` を実際のディスクに置き換えて適切な識別子を使用してください。 + +::: + +## ターミナルへのアクセス + +Unraid には、%%WebGUI|web-gui%% から直接アクセスできる組み込みの Web ターミナルがあります。右上のドロップダウンメニューを開き、">_" を選択してください。これにより、%%root user|root-user%% としてコマンドラインセッションが開き、システムに対する完全な管理アクセスが可能になります。 + +%%SSH|ssh%%(セキュアシェル)を使って、%%PuTTY|putty%% のようなクライアントから外部経由で Unraid サーバーに接続することもできます。 + +:::tip[When ターミナルを使うべきですか?] + +ターミナルアクセスが役立つのは次のような場合です: + +- `smartctl`、`xfs_repair`、`tail`、`top` などの診断およびコマンドラインツールの実行 +- ユーザーインターフェースを必要としないプラグインスクリプトやツールの実行 +- 接続性、システムサービス、または %%user shares|user-share%% に関連する問題のトラブルシューティング + +::: + +### PuTTY の使用(Windows 専用) + +Windows を使用している場合は、組み込みターミナルの代わりに %%SSH|ssh%% アクセス用として %%PuTTY|putty%% を使うとよいでしょう。軽量で無料で、後から簡単にアクセスできるようセッションを保存できます。 + +
+ PuTTY のインストールと使用方法 - クリックして展開/折りたたみ + + **ドライブ情報を表示:** + + ```bash + hdparm -I /dev/sdX + ``` + + これにより、モデル、ファームウェア、キャッシュサイズ、対応機能が表示され、ディスクの種類やコントローラーの動作確認に役立ちます。 + +
+ +### `smartctl` + +このコマンドは %%SMART|smart%% 診断を実行し、ドライブの健全性を監視します。 + +
+ smartctl のオプションを表示 - クリックして展開/折りたたみ + + **基本 %%SMART|smart%% レポート:** + + ```bash + smartctl -a /dev/sdX + ``` + + このコマンドでエラーが返る場合は、デバイスタイプを指定してみてください: `smartctl -a -d ata /dev/sdX`(NVMe ドライブの場合は `-d nvme` を使用)。 + + **%%SMART|smart%% 自己テストを開始:** + + ショートテスト(数分かかります) + + ```bash + smartctl -t short /dev/sdX + ``` + + 拡張テスト(数時間かかる場合があります) + + ```bash + smartctl -t long /dev/sdX + ``` + + **%%SMART レポート|smart-report%% をファイルに保存:** + + ```bash + smartctl -a /dev/sdX > /boot/smart_report.txt + ``` + + これにより、レポートが Unraid のフラッシュドライブに保存され、後で確認したり [forums](https://forums.unraid.net/) で共有したりできます。 + +
+ +### `diskspeed.sh` + +このスクリプトは、視覚的なレポート付きで包括的な表面レベルのパフォーマンステストを行えます。 + +
+ diskspeed.sh の使い方を表示 - クリックして展開/折りたたみ + + 以前は Unraid フォーラムからダウンロードするスクリプトでした。現在は、より洗練されたパッケージとして DiskSpeed が利用できます: + + Install DiskSpeed from [Community Applications](../../using-unraid-to/run-docker-containers/community-applications.mdx) (***Apps tab***) by searching for "DiskSpeed", or visit the [GitHub repository](https://github.com/jbartlett777/DiskSpeed) for manual installation instructions. + +
+ +--- + +## システム監視 + +%%WebGUI|web-gui%% が利用できない場合や、より詳細な診断を行う場合に、メモリ、プロセス、システムパフォーマンスを監視するためにこれらのコマンドを使用します。 + +### `top` + +このコマンドは、リアルタイムのプロセスおよびリソースモニターを提供します。 + +
+ top の使い方を表示 - クリックして展開/折りたたみ + + ```bash + top + ``` + + - 各プロセスの CPU 使用率とメモリ使用率をリアルタイムで表示します。 + - 終了するには `q` を押します。 + - 矢印キーでスクロールし、`k` でプロセスを終了します。 + + :::tip + Consider using `htop` for a more user-friendly interface with enhanced controls. + ::: + +
+ +### `無料` + +このコマンドはメモリ使用状況の統計を表示します。 + +
+ free の使い方を表示 - クリックして展開/折りたたみ + + ```bash + free -h + ``` + + RAM の使用状況を人間が読みやすい形式で表示します。`-h` フラグは、サイズをバイトではなく KB、MB、または GB で表示することを意味します。 + + :::tip[Understand the output] + A low "available" memory reading doesn’t necessarily indicate a problem—Linux aggressively caches data for performance. + ::: + +
+ +### `ps` + +このコマンドは、詳細情報付きで実行中のプロセスを表示するために使用します。 + +
+ ps のオプションを表示 - クリックして展開/折りたたみ + + **全プロセスを詳細付きで一覧表示:** + + ```bash + ps aux + ``` + + **メモリ使用率で並べ替え:** + + ```bash + ps aux --sort=-%mem | head -20 + ``` + + **CPU 使用率で並べ替え:** + + ```bash + ps aux --sort=-%cpu | head -20 + ``` + +
+ +--- + +## ストレージユーティリティ + +これらのコマンドは、ディスク使用量、パーティション情報の確認、ストレージデバイスの特定に役立ちます。 + +### `df` + +このコマンドはファイルシステムのディスク容量使用状況を表示します。 + +
+ df の使い方を表示 - クリックして展開/折りたたみ + + ```bash + df -h + ``` + + このコマンドは、マウントされているすべてのファイルシステムの使用済み領域と利用可能領域を表示します。Unraid で `/var/log`(RAM ベースのロギングを使用)を確認するのに便利です。[system logging](../../troubleshooting/diagnostics/capture-diagnostics-and-logs.mdx) の詳細については、こちらを参照してください。 + +
+ +### `fdisk` + +ディスクのパーティションテーブルとジオメトリを表示します。 + +
+ fdisk の使い方を表示 - クリックして展開/折りたたみ + + ```bash + fdisk -l /dev/sdX + ``` + + This command displays the partition layout, sizes, and disk geometry. It helps troubleshoot mismatched disk sizes, especially when [replacing disks](../../using-unraid-to/manage-storage/array/replacing-disks-in-array.mdx). + +
+ +### `lsblk` + +すべてのブロックデバイスをツリー形式で一覧表示します。 + +
+ lsblk の使い方を表示 - クリックして展開/折りたたみ + + ```bash + lsblk + ``` + + このコマンドは、すべてのストレージデバイスとそのマウントポイントを、わかりやすいツリー構造で表示します。ストレージ構成全体を把握するのに最適です。 + +
+ +### `blockdev -getsz` + +リビルド前に置換ドライブの容量が十分かどうかを判断するのに役立ちます。 + +
+ blockdev の使い方を表示 - クリックして展開/折りたたみ + + **構文:** + + ```bash + blockdev --getsz /dev/sdX + ``` + + デバイス上の 512 バイトセクタの生の数を返します。リビルド前に置換ドライブが十分な大きさかを確認するのに便利です。 + +
+ +### `blkid` + +ファイルシステムのラベルを識別します。 + +
+ blkid の使い方を表示 - クリックして展開/折りたたみ + + **構文:** + + ```bash + blkid /dev/sdX1 + ``` + + ファイルシステムの種類とラベルを出力します。Unraid のフラッシュが `UNRAID` とラベル付けされていることを確認するときは、非推奨の `vol_id` コマンドの代わりにこれを使用してください。 + +
+ +--- + +## ネットワーク診断 + +ネットワーク接続やインターフェース設定のトラブルシューティング用ツールです。 + +### `ss` + +ソケット統計とネットワーク接続を表示します。これは `netstat` の現代的な代替です。 + +
+ ss のオプションを表示 - クリックして展開/折りたたみ + + **すべてのリスニングポートを表示:** + + ```bash + ss -tuln + ``` + + - `-t`: TCP ソケット + - `-u`: UDP ソケット + - `-l`: リスニング中のソケットのみ表示 + - `-n`: サービス名ではなくポート番号を表示 + + **確立済み接続を表示:** + + ```bash + ss -tup + ``` + + このコマンドは、アクティブな接続とプロセス情報を表示します。 + +
+ +### `ip` + +ネットワークインターフェース情報を設定および表示します。これは `ifconfig` の現代的な代替です。 + +
+ ip のオプションを表示 - クリックして展開/折りたたみ + + **すべてのネットワークインターフェースを表示:** + + ```bash + ip addr show + ``` + + **色付きでネットワークインターフェースを表示:** + + ```bash + ip -c addr show + ``` + + **ルーティングテーブルを表示:** + + ```bash + ip route show + ``` + +
+ +### `ping` + +ネットワーク接続をテストします。 + +
+ ping の使い方を表示 - クリックして展開/折りたたみ + + **少数のパケットを送信して接続をテスト:** + + ```bash + ping -c 4 google.com + ``` + + このコマンドは宛先に 4 パケットを送信して停止するため、連続出力なしで基本的な接続テストを行うのに適しています。 + +
+ +### `ethtool` + +リンク速度、オフロード機能、統計情報など、ネットワークインターフェースカード(NIC)のパラメータを照会および調整するのに便利なツールです。 + +
+ ethtool の使い方を表示 - クリックして展開/折りたたみ + + **基本的なドライバーとファームウェア情報:** + + ネットワークインターフェースのドライバーとファームウェアに関する情報を取得するには、次のコマンドを使用します: + + ```bash + ethtool -i eth0 + ``` + + **現在のリンク速度と設定を表示:** + + インターフェースの現在のリンク速度と設定を確認するには、次を実行します: + + ```bash + ethtool eth0 + ``` + + **拡張インターフェース統計を表示:** + + インターフェースに関する拡張統計を表示するには、次のコマンドを使用します: + + ```bash + ethtool -S eth0 + ``` + + これらのコマンドは、ギガビット、2.5 GbE、または 10 GbE 接続のネゴシエーション速度を確認したり、ケーブルの問題を診断したり、オフロードの不一致によって発生する可能性のあるパケット損失を特定したりするのに役立ちます。 + +
+ +--- + +## システム情報 + +ハードウェア、カーネル、およびシステム全体の設定に関する詳細情報を取得します。 + + + + + + + + + + + + + + + +--- + +## システムメンテナンス + +システムのシャットダウン、ログ監視、サービス管理のためのコマンドです。 + +### `tail` + +ログファイルをリアルタイムで監視します。 + +
+ tail の使い方を表示 - クリックして展開/折りたたみ + + ```bash + tail -f /var/log/syslog + ``` + + このコマンドはシステムログのライブ更新を表示します。終了するには `Ctrl+C` を使用します。 + + **特定の行数を表示:** + + ```bash + tail -n 50 /var/log/syslog + ``` + +
+ +### `powerdown` + +システムを安全にシャットダウンします。 + +
+ powerdown の使い方を表示 - クリックして展開/折りたたみ + + ```bash + powerdown + ``` + + このコマンドは Unraid の組み込みシャットダウン処理を利用して %%array|array%% を停止し、安全にシステムを電源オフします。手動でのシャットダウン方法より推奨されます。 + +
+ +--- + +## File transfer operations + +These methods help you transfer files from external network shares (Windows or Linux SMB/CIFS shares) to your Unraid server using command-line tools and built-in utilities. + +### Using Midnight Commander (built-in) + +Unraid includes **Midnight Commander** (`mc`), a text-based, dual-pane file manager accessible through the web terminal. + +1. Open the web terminal. You can find this option in the top-right menu of the Unraid %%WebGUI|web-gui%%. + +2. Launch Midnight Commander: + + ```bash + mc + ``` + + This interface offers drag-and-drop navigation between local shares and mounted network paths. + +3. Mount a network share (if it's not already mounted): + + ```bash + # Create a temporary mount point + mkdir /work + ``` + + ```bash + # 1) Interactive prompt (recommended for one-off mounts) + mount -t cifs //workstation/share /work -o username=youruser,iocharset=utf8 + # You will be prompted for the password interactively. + ``` + + ```bash + # 2) Use a credentials file (recommended for scripts/automation) + # Create /root/.cifscredentials with the following content: + # username=youruser + # password=yourpassword + # Then protect the file and mount using: + chmod 600 /root/.cifscredentials + mount -t cifs //workstation/share /work -o credentials=/root/.cifscredentials,iocharset=utf8 + ``` + + - Replace `workstation`, `share`, and `youruser` with the appropriate values. + - The `iocharset=utf8` option helps maintain international filenames. + + **Security note:** Do not pass passwords on the command line (e.g. `password=...`). + Command arguments can be recorded in shell history and are visible to other local + users via process listings; prefer interactive prompts or a credentials file + protected with `chmod 600`. + +4. Use the MC panes to transfer files between `/work` (the network share) and any `/mnt/user/` or `/mnt/diskX` share. + +5. Clean up afterward: + + ```bash + umount /work + rmdir /work + ``` + +Midnight Commander runs entirely within the built-in system, requiring no additional installation. It's suitable for most transfer needs, including those involving Unicode filenames, and it preserves file attributes when both source and destination support them. + +### Using Krusader + +If you prefer a graphical user interface, you can use Docker containers like [Krusader](https://unraid.net/community/apps?q=krusader#r:~:text=batch%20renaming%2C%20etc.-,Krusader,-Productivity%2C%20Tools) as a third-party solution. + +1. Install Krusader: + - Navigate to the **Apps** tab (Community Applications). + - Search for and install the **Krusader** Docker container. +2. Start the container and access its WebUI from the **Docker** tab. +3. Connect to remote shares within Krusader, and use drag-and-drop or copy-paste to transfer files between the network share and your Unraid %%array|array%%. + +:::info + +Other popular file manager containers include [**Double Commander**](https://unraid.net/community/apps?q=double+commander#r:~:text=of%201%20App-,doublecommander,-Tools%20/%20Utilities%2C) and [**CloudCommander**](https://unraid.net/community/apps?q=cloudcommander#r:~:text=of%201%20App-,CloudCommander,-Tools%20/%20Utilities%2C), both available through Community Applications. + +::: + +### Command-line methods + +For advanced users or those using automation, you can also utilize command-line transfer methods. + +
+ View command-line transfer instructions - Click to expand/collapse + + 1. Open the terminal (Web Terminal or %%SSH|ssh%% as `root`). + + 2. Create and mount a network share: + + ```bash + mkdir /work + ``` + + ```bash + # 1) Interactive prompt (recommended for one-off mounts) + mount -t cifs //workstation/share /work -o username=youruser,iocharset=utf8 + # You will be prompted for the password interactively. + ``` + + ```bash + # 2) Use a credentials file (recommended for scripts/automation) + # Create /root/.cifscredentials with the following content: + # username=youruser + # password=yourpassword + # Then protect the file and mount using: + chmod 600 /root/.cifscredentials + mount -t cifs //workstation/share /work -o credentials=/root/.cifscredentials,iocharset=utf8 + ``` + + **Security note:** Do not pass passwords on the command line. Use an + interactive prompt or a credentials file with strict permissions instead. + + 1. Copy files: + + - You can use `cp`: + + ```bash + cp -r /work/* /mnt/disk1 + ``` + + - Or, use `rsync` for detailed progress: + + ```bash + rsync -av --progress /work/ /mnt/disk1/ + ``` + + 2. Unmount and remove the temporary directory: + + ```bash + umount /work + rmdir /work + ``` + +
+ +:::caution + +When transferring files with special or international characters, always mount the share with the `iocharset=utf8` option. Failing to do so may result in incorrect filenames or unreadable files on other platforms. + +Also, if you copy files as `root` via terminal, they may have restrictive permissions. If this occurs, use the **New Permissions** tool from the **Tools** menu in the %%WebGUI|web-gui%% or the **Docker Safe New Perms** if you're dealing with Docker-involved shares to reset permissions, ensuring all users have network access. + +::: From 79a8ec733e8fa7cb79ddc689434d910e9e60a333 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:27:42 -0400 Subject: [PATCH 134/437] New translations cpu-info.mdx (Japanese) --- .../command-line-interface/cpu-info.mdx | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/advanced-tools/partials/command-line-interface/cpu-info.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/advanced-tools/partials/command-line-interface/cpu-info.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/advanced-tools/partials/command-line-interface/cpu-info.mdx new file mode 100644 index 00000000000..4cf1b0d2023 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/advanced-tools/partials/command-line-interface/cpu-info.mdx @@ -0,0 +1,17 @@ +**CPUアーキテクチャの概要:** + +```bash +lscpu +``` + +このコマンドは、コア、スレッド、仮想化サポート、キャッシュの詳細に関する情報を表示します。 + +**機能検出:** + +```bash +grep -E 'lm|vmx|svm' /proc/cpuinfo +``` + +- `lm`: 64ビット対応を示します +- `vmx`: Intel VT-x 仮想化 +- `svm`: AMD-V 仮想化 From 6f8804bd446070033c76a16df9b4b47b2deaa2c7 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:27:44 -0400 Subject: [PATCH 135/437] New translations memory-info.mdx (Japanese) --- .../partials/command-line-interface/memory-info.mdx | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/advanced-tools/partials/command-line-interface/memory-info.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/advanced-tools/partials/command-line-interface/memory-info.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/advanced-tools/partials/command-line-interface/memory-info.mdx new file mode 100644 index 00000000000..14c9e403c65 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/advanced-tools/partials/command-line-interface/memory-info.mdx @@ -0,0 +1,11 @@ +**メモリ使用量の概要:** + +```bash +free -h +``` + +**メモリ使用量の詳細:** + +```bash +cat /proc/meminfo | head -20 +``` From 188e32271a48ef0e09da982edc396a02e19fe00a Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:27:45 -0400 Subject: [PATCH 136/437] New translations storage-info.mdx (Japanese) --- .../partials/command-line-interface/storage-info.mdx | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/advanced-tools/partials/command-line-interface/storage-info.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/advanced-tools/partials/command-line-interface/storage-info.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/advanced-tools/partials/command-line-interface/storage-info.mdx new file mode 100644 index 00000000000..8960a179f80 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/advanced-tools/partials/command-line-interface/storage-info.mdx @@ -0,0 +1,11 @@ +**シリアル番号/モデルでドライブを一覧表示:** + +```bash +ls -l /dev/disk/by-id/ | grep -v part +``` + +**ファイルシステムのラベルを確認する:** + +```bash +ls -l /dev/disk/by-label/ +``` From bb030fc4ae013cd37439ea18357ff4a3ce6596e4 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:27:46 -0400 Subject: [PATCH 137/437] New translations linux.mdx (Japanese) --- .../advanced-tools/partials/wake-on-lan/linux.mdx | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/advanced-tools/partials/wake-on-lan/linux.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/advanced-tools/partials/wake-on-lan/linux.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/advanced-tools/partials/wake-on-lan/linux.mdx new file mode 100644 index 00000000000..d158e76eb30 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/advanced-tools/partials/wake-on-lan/linux.mdx @@ -0,0 +1,11 @@ +

ターミナルでの方法

+ +``` +wakeonlan MAC_ADDRESS +``` + +まだインストールされていない場合は、`sudo apt install wakeonlan` でインストールできます。 + +

代替案: WoL GUI

+ +Linuxディストリビューションのパッケージマネージャーから、`wol` のGUIフロントエンドをインストールできます。 From fe661428cf5c00fcbfb42df935302931e9e4da10 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:27:47 -0400 Subject: [PATCH 138/437] New translations macos.mdx (Japanese) --- .../partials/wake-on-lan/macos.mdx | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/advanced-tools/partials/wake-on-lan/macos.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/advanced-tools/partials/wake-on-lan/macos.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/advanced-tools/partials/wake-on-lan/macos.mdx new file mode 100644 index 00000000000..6f5717caad6 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/advanced-tools/partials/wake-on-lan/macos.mdx @@ -0,0 +1,19 @@ +

ターミナル方式(推奨)

+ +1. Homebrew を使って `wakeonlan` をインストールします: + + ``` + brew install wakeonlan + ``` + +2. マジックパケットを送信します: + + ``` + wakeonlan MAC_ADDRESS + ``` + +

GUI の代替手段: miniWOL

+ +1. App Store から [miniWOL v3](https://apps.apple.com/app/miniwol/id6474282023) をダウンロードします。 +2. MAC アドレスを使ってサーバーを追加します。 +3. 太陽のアイコンをクリックしてサーバーを起動します。 From 554b3dcc5e0431d98c290d3a903e8a2ce554526e Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:27:49 -0400 Subject: [PATCH 139/437] New translations windows.mdx (Japanese) --- .../advanced-tools/partials/wake-on-lan/windows.mdx | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/advanced-tools/partials/wake-on-lan/windows.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/advanced-tools/partials/wake-on-lan/windows.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/advanced-tools/partials/wake-on-lan/windows.mdx new file mode 100644 index 00000000000..909ed750e6c --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/advanced-tools/partials/wake-on-lan/windows.mdx @@ -0,0 +1,9 @@ +

WakeOnLan CMD の使用

+ +1. [wolcmd.exe](https://www.depicus.com/wake-on-lan/wake-on-lan-cmd) をダウンロードします。 + +2. コマンド プロンプトで実行します: + + ``` + wolcmd.exe 255.255.255.255 + ``` From c86a85a834e57ddbb26f6104fdf03e5aa8785eb3 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:27:50 -0400 Subject: [PATCH 140/437] New translations wake-on-lan.mdx (Japanese) --- .../advanced-tools/wake-on-lan.mdx | 112 ++++++++++++++++++ 1 file changed, 112 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/advanced-tools/wake-on-lan.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/advanced-tools/wake-on-lan.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/advanced-tools/wake-on-lan.mdx new file mode 100644 index 00000000000..eeb1528a09c --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/advanced-tools/wake-on-lan.mdx @@ -0,0 +1,112 @@ +--- +sidebar_position: 2 +sidebar_label: Wake-on-LAN(WoL) +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import WakeOnLanWindows from './partials/wake-on-lan/windows.mdx'; +import WakeOnLanMacos from './partials/wake-on-lan/macos.mdx'; +import WakeOnLanLinux from './partials/wake-on-lan/linux.mdx'; + +# Wake-on-LAN(WoL) + +%%Wake-on-LAN (WOL)|wake-on-lan%% を使用すると、ネットワーク経由で「マジックパケット」を送信して、シャットダウン状態またはスリープ状態の Unraid サーバーをリモートで起動できます。このページでは、ローカルネットワークで WoL を設定する方法を説明します。 + +## 要件 + +WoL を正しく動作させるには、次の要件を満たしていることを確認してください。 + +- **NIC のサポート**: ネットワークインターフェースコントローラーが WoL をサポートしている必要があります。最近の NIC のほとんどは対応しています。 + +- **BIOS/UEFI 設定**: マザーボードの BIOS/%%UEFI|uefi%% で、電源管理の下にある WoL を有効にします。一般的な設定名は次のとおりです。 + + | 設定名 | 説明 | + | -------------------- | ---------------------------- | + | Wake on LAN | 汎用 WoL 設定 | + | PME イベントによるウェイクアップ | PCIe のウェイクイベント用 | + | PCI/PCIe デバイスによる電源投入 | WoL の別名 | + | ErP 対応 | WoL を機能させるには *無効* にする必要があります | + +- **電源接続**: サーバーが電源に接続されていることを確認してください。 + +- **ネットワーク接続**: サーバーを Ethernet ケーブルで LAN に接続します(WiFi WoL はサポートされていません)。 + +:::caution[Hardware 互換性] + +すべてのハードウェアが S3 スリープや WoL を確実にサポートしているわけではありません。システムによっては、スリープへの移行で問題が発生したり、正しく復帰できなかったり、追加の BIOS/%%UEFI|uefi%% 設定が必要になったりする場合があります。これらの機能に依存する前に、必ず十分にテストしてください。 + +::: + +## Unraid サーバーをスリープさせる + +Unraid でスリープを管理する最も推奨される使いやすい方法は、[**Dynamix S3 Sleep プラグイン**](https://unraid.net/community/apps/c/plugins/p3?srsltid=AfmBOorpfP2Psw_bCorklf-QVCUHvADYGsdbsAH-4CldU4V2hWgoO-09#r:~:text=%3E%3E-,Dynamix%20S3%20Sleep,-Dynamix%20Repository) を使用することです。このプラグインは、スリープ、ウェイク、アイドル動作のスケジュール設定を支援するグラフィカルインターフェースを提供し、さまざまなハードウェア構成で発生しがちな一般的な問題にも対処します。 + +インストールと設定の手順: + +1. Unraid %%WebGUI|web-gui%% の ***Apps タブ*** を開きます。 +2. "Dynamix S3 Sleep" を検索して、プラグインをインストールします。 +3. ***Settings → Sleep Settings*** に移動して、スリープおよびウェイクのオプションを設定します。 + +このプラグインは、ほとんどのスリープ設定オプションを管理します。 + +
+ 手動による代替方法 - クリックして展開/折りたたみ + + より細かい制御が必要な場合や高度なカスタマイズが必要な場合は、コマンドラインからスリープと WoL の設定を行えます。この方法は上級ユーザーに推奨されます。 + + スリープを手動で設定するには: + + 1. %%WebGUI|web-gui%% のターミナルまたは [%%SSH|ssh%%](../../system-administration/advanced-tools/command-line-interface.mdx#accessing-the-terminal) を使用してサーバーに接続します。 + + 2. 次のコマンドを実行して、主なネットワークインターフェース(通常は `eth0`)を特定します: + + ``` + ifconfig + ``` + + MAC アドレス(`ether` と表示されています)を控えます。 + + 3. 次のコマンドで、そのインターフェースで WoL を有効にします: + + ``` + ethtool -s eth0 wol g + ``` + + 4. 次のコマンドを入力して、サーバーをスリープさせます: + + ``` + echo -n mem > /sys/power/state + ``` + + :::caution[永続性] + 手動で設定した WoL 設定は、デフォルトでは再起動後に**保持されません**。永続化するには: + + 1. Create a `go` file on your boot drive at `/boot/config/go`. + + 2. 次の行を追加します: + + ``` + /sbin/ethtool -s eth0 wol g + ``` + ::: + +
+ +## Unraid サーバーを起動する + +Unraid サーバーをリモートで起動するには、ローカルネットワーク上で特別な「マジックパケット」を送信する必要があります。このパケットにはサーバーの MAC アドレスが含まれ、ネットワークインターフェースに対してスリープ状態またはシャットダウン状態からシステムの電源を入れるよう指示します。オペレーティングシステムごとに、このパケットを送信するためのさまざまなツールや方法が用意されています。以下に、Windows、macOS、Linux それぞれの手順を示します。 + + + + + + + + + + + + + + From b0bf52d12b4a0eeba42a65938c96a720f2ae4f62 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:27:51 -0400 Subject: [PATCH 141/437] New translations _category_.json (Japanese) --- .../maintain-and-update/_category_.json | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/_category_.json diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/_category_.json b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/_category_.json new file mode 100644 index 00000000000..dd144ded02e --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/_category_.json @@ -0,0 +1,7 @@ +{ + "label": "保守と更新", + "position": 2, + "link": { + "type": "generated-index" + } +} \ No newline at end of file From 7690388a523a8a31cc52fe68aa46ff10f8ddcbdd Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:27:53 -0400 Subject: [PATCH 142/437] New translations changing-the-flash-device.mdx (Japanese) --- .../changing-the-flash-device.mdx | 180 ++++++++++++++++++ 1 file changed, 180 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/changing-the-flash-device.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/changing-the-flash-device.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/changing-the-flash-device.mdx new file mode 100644 index 00000000000..49fa963555a --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/changing-the-flash-device.mdx @@ -0,0 +1,180 @@ +--- +sidebar_position: 3 +sidebar_label: Changing the boot device +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import BackupUsingWebGUI from './partials/backup-using-webgui.mdx'; +import BackupManualMethod from './partials/backup-manual-method.mdx'; +import ReplacementUsingCreator from './partials/replacement-using-creator.mdx'; +import ReplacementManualMethod from './partials/replacement-manual-method.mdx'; +import WebguiBootDeviceLabels from '../../partials/webgui-boot-device-labels.mdx'; + +# Changing the boot device + +The boot device is critical to your Unraid server as it stores the operating system, configuration files, and license. (For typical USB installs this is a USB flash drive; with **internal boot** it is another device.) If it fails or becomes unreliable, prompt replacement is essential to avoid data loss and minimize downtime. + + + +:::caution + +When you replace your Unraid boot device, your license is transferred to the new device, and the old boot device is blacklisted **and can no longer be used with Unraid.** This action is permanent and cannot be undone. + +::: + +Some common indicators that your boot device may need to be replaced include: + +- The server will not boot, or files are missing from the device. +- The device repeatedly enters read-only mode or shows file system errors. +- The device is lost or stolen. +- Storage capacity is insufficient for updates or configuration changes. +- The physical size of the device does not fit your server setup. + +--- + +## Selecting a replacement device + +When choosing new boot media for Unraid, focus on reliability and compatibility over speed. + +

Requirements

+ +| Requirement | Details | +| ------------------------ | ----------------------------------------------------------------------------------------- | +| USB version | USB 2.0 recommended (typically more reliable and widely compatible than USB 3.0) | +| Unique GUID | Must contain a unique hardware GUID in programmable ROM | +| Minimum size | At least 4 GB | +| Maximum recommended size | 32 GB (for ease of manual installs; larger devices may work but are not necessary) | +| Brand/vendor | Purchase from reputable brands and trusted retailers; avoid second-hand or gray-market | +| Physical size | Choose a form factor that fits your server’s available USB ports and physical constraints | + +For detailed guidance on choosing a compatible drive (counterfeits, brand recommendations, and where to buy), see **[Choosing a boot device](../../getting-started/set-up-unraid/create-your-bootable-media.mdx#choosing-a-usb-flash-drive)**. + +:::tip[Rules of thumb for replacement] + +- Buy USB drives from reputable retailers and avoid auction sites and unknown sellers. +- Avoid second-hand or previously used drives. +- Test the new drive on your server before transferring your license. + +::: + +--- + +## Replacing your boot device + +:::caution[Before you replace] + +Before replacing your current boot device, consider checking it for errors: + +1. Shut down your server and remove the boot device. +2. Insert the device into a Windows or Mac computer. +3. Use Windows Scandisk or Mac Disk Utility to check for and repair errors. +4. If errors are found and repaired, you may continue using the device. If issues persist or recur, replacement is recommended. + +A single power outage or incomplete write can sometimes cause minor corruption, which is usually repairable. However, repeated issues signal the need for a new device. + +::: + +There are two ways to replace your Unraid boot device: the recommended [USB Flash Creator](https://unraid.net/download) tool for Windows or macOS (for USB boot media), or the manual method for advanced users. **Always back up your boot device before starting.** + +
+ +### Backing up your boot device + + + + + + + + + + + +:::tip[Backup best practices] + +- Regularly back up your boot device, especially after major configuration changes. +- Store backups off-server (on another computer or cloud storage). +- Keep a screenshot of your disk assignments after any hardware changes. + +::: + +:::important[Trial keys and device changes] + +If you transfer a trial configuration to a new boot device, you will not be able to start the %%array|array%% until you purchase a valid registration key. Trial keys only work on the original device. + +::: + +### Replacement methods + + + + + + + + + + + +You have now replaced your boot device and transferred your Unraid registration key. The system will display the registration date and the next eligible replacement date. + +--- + +## Registration key replacement frequency + +Replacing your Unraid registration key is straightforward, but there are important details about timing and eligibility to keep in mind. + +- You can replace your registration key at any time. However, after the first replacement, you must wait **12 months** before using the automated online method again. +- If you need to replace your key again within 12 months, [contact Unraid support](https://unraid.net/contact). For faster service, include your old and new USB %%GUIDs|guid%%, your license key, and the email address used for purchase. + +:::important + +If you're locked out due to exceeding the automated replacement limit and need immediate server access, set up a new Unraid trial with a new USB drive, then contact support to transfer your license. + +::: + +--- + +## Recovering from a failed boot device without a backup + +Losing your boot device and not knowing your disk assignments can be stressful, but you can avoid data loss by taking careful steps. + +:::caution + +Never assign a data disk as a %%parity drive|parity-drives%%. Incorrect assignments can overwrite data with parity information, resulting in permanent data loss. + +::: + +:::tip[Identifying drives] + +- **%%Parity drives|parity-drives%%** do not have a mountable file system. If a drive cannot be mounted, it is likely a %%parity|parity%% drive. +- **Data drives** previously used by Unraid retain their data even after resetting the %%array|array%% configuration. +- If you find more unmountable drives than expected %%parity|parity%% drives, stop and seek help in the [Unraid forums](https://forums.unraid.net/). + +::: + +To safely reconfigure your %%array|array%%: + +1. Prepare fresh Unraid boot media, following the instructions provided earlier in this guide. +2. Go to the ***Main*** tab + - Assign all drives as data drives and start the %%array|array%%. + - Note the serial numbers of drives that do not mount; these are likely your %%parity|parity%% drives. + - Do not click **Format** on any drive. If more unmountable drives appear than expected %%parity|parity%% drives, stop and seek help in the forums. + - You can also use the [Unassigned Devices plugin](https://unraid.net/community/apps?q=Unassigned%20Devices) to test‑mount each drive (%%parity|parity%% will not mount), identifying %%parity|parity%% by elimination. + - Stop the %%array|array%% before proceeding. +3. Go to ***Tools → New Config*** and create a new %%array|array%% configuration, retaining all the currently configured drives. +4. Assign the correct drives as %%parity|parity%% and the rest as data drives in the **Main** tab. +5. If you have a single %%parity|parity%% drive, the order of data drives is not critical. Check **Parity is Valid** only if you are certain you assigned the same physical parity disk and no writes occurred since the original configuration. For dual %%parity|parity%%, both the order of the data drives and the assignment of parity1 and parity2 are important—parity1 and parity2 are not interchangeable, and %%parity|parity%% must be rebuilt if either is changed. +6. Start the %%array|array%% to commit assignments. Data drives should mount, and their contents should remain intact. +7. If you checked **Parity is Valid**, run a correcting [%%parity|parity%% check](../../using-unraid-to/manage-storage/array/array-health-and-maintenance.mdx#parity-checks) to confirm that your configuration is correct. + +:::note + +After restoring your %%array|array%%, verify any share-specific include/exclude settings, as the order of data drives may have changed. + +::: + +--- + +\* *"%%WireGuard|wireguard%%" and the "%%WireGuard|wireguard%%" logo are registered trademarks of Jason A. Donenfeld.* From 4ec97d1e6e9873ea9eda9413519ce5b88db10166 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:27:54 -0400 Subject: [PATCH 143/437] New translations backup-manual-method.mdx (Japanese) --- .../maintain-and-update/partials/backup-manual-method.mdx | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/partials/backup-manual-method.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/partials/backup-manual-method.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/partials/backup-manual-method.mdx new file mode 100644 index 00000000000..94b8607b41e --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/partials/backup-manual-method.mdx @@ -0,0 +1,3 @@ +1. Shut down your server and remove the boot device. +2. 別のコンピューターに挿入します。 +3. Copy all files from the boot drive to a safe backup location. From 17181d6b6b233bf3a9dc2466f2665ad5e04832dd Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:27:56 -0400 Subject: [PATCH 144/437] New translations backup-using-webgui.mdx (Japanese) --- .../partials/backup-using-webgui.mdx | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/partials/backup-using-webgui.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/partials/backup-using-webgui.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/partials/backup-using-webgui.mdx new file mode 100644 index 00000000000..adc2a35dea5 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/partials/backup-using-webgui.mdx @@ -0,0 +1,12 @@ +import WebguiBootDeviceLabels from '../../../partials/webgui-boot-device-labels.mdx'; + + + +1. Go to the **Main** tab and select your boot device. +2. In the **Boot Device** tab, click **Boot Device Backup** to download a zipped backup to your computer. + +
+ ![Boot Device Backup control in the WebGUI](/img/flashbackup.png) +
+ +Alternatively, use [Unraid Connect automated backup](../../../../unraid-connect/automated-flash-backup.mdx) for automated boot-device backups. From 6bd49df2cfe9799c6e5839287c70e731ee8463ef Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:27:57 -0400 Subject: [PATCH 145/437] New translations manual-downgrade-command-line.mdx (Japanese) --- .../manual-downgrade-command-line.mdx | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/partials/manual-downgrade-command-line.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/partials/manual-downgrade-command-line.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/partials/manual-downgrade-command-line.mdx new file mode 100644 index 00000000000..52eff50a9b8 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/partials/manual-downgrade-command-line.mdx @@ -0,0 +1,27 @@ +:::caution + +This method should only be used if you are comfortable with the Linux command line, as mistakes might make your system unbootable. + +::: + +1. Copy the URL of the desired Unraid version ZIP file from the [Version History](../../../download_list.mdx). +2. Log in via %%SSH|ssh%% or console. +3. Execute the following commands *one at a time* (replace `` with the copied link): + + ```bash + cd /tmp + rm -f unraid.zip + rm -rf unraid_install + wget -O unraid.zip + [[ -s unraid.zip ]] && echo "OK to continue" || echo "STOP: the file was not downloaded" + unzip -d unraid_install unraid.zip + [[ -s unraid_install/bzroot ]] && echo "OK to continue" || echo "STOP: the file was not extracted properly" + [[ ! -d /boot/previous ]] && mkdir /boot/previous + mv /boot/bz* /boot/previous + mv /boot/changes.txt /boot/previous + cp unraid_install/bz* /boot + cp unraid_install/changes.txt /boot + sync -f /boot + sleep 5 + reboot + ``` From fc7d93b557c67a8d1f0fbe5680600cf45e7d4a23 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:27:58 -0400 Subject: [PATCH 146/437] New translations manual-downgrade-simplest.mdx (Japanese) --- .../partials/manual-downgrade-simplest.mdx | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/partials/manual-downgrade-simplest.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/partials/manual-downgrade-simplest.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/partials/manual-downgrade-simplest.mdx new file mode 100644 index 00000000000..5b0c96e8db1 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/partials/manual-downgrade-simplest.mdx @@ -0,0 +1,7 @@ +1. Unraid のバージョン ZIP ファイルを [Version History](../../../download_list.mdx) からダウンロードしてください。 +2. ファイルをコンピューターに展開してください。 +3. Access the `flash` network share (your boot volume; the share name may still be `flash` even when the UI says **Boot device**) or connect the USB boot device to your computer. +4. まだ存在しない場合は、`previous` ディレクトリを作成してください。 +5. すべての `bz*` ファイルと `changes.txt` ファイルを `previous` ディレクトリに移動してください。 +6. Copy the new `bz*` and `changes.txt` files to the root of the boot drive. +7. サーバーを再起動してください。 From e86818e97cbff6392bff8590ab2af0bdd20952dd Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:28:00 -0400 Subject: [PATCH 147/437] New translations replacement-manual-method.mdx (Japanese) --- .../partials/replacement-manual-method.mdx | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/partials/replacement-manual-method.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/partials/replacement-manual-method.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/partials/replacement-manual-method.mdx new file mode 100644 index 00000000000..fedbee336c0 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/partials/replacement-manual-method.mdx @@ -0,0 +1,25 @@ +*Use this method if the USB Flash Creator tool does not work for your system.* + +:::important[Before 始める] + +Use the manual method only if you are comfortable with basic file management and your system does not support the USB Flash Creator. + +::: + +1. Prepare new boot media following the [Manual install method](../../../getting-started/set-up-unraid/create-your-bootable-media.mdx#manual-install-method). +2. Copy your backed-up `config` folder to the new boot device, overwriting existing files. +3. Shut down the server, swap the boot devices, and power on. +4. `Invalid, missing or expired registration key` と表示されたら、**Registration key** を選択します。 + +
+ ![Invalid Key](/img/Invalidkey.png) +
+ +5. ***Tools → Registration*** で、**Replace key** を選択し、メールアドレスを入力します。 + +
+ ![Invalid Key](/img/Replacekey.png) +
+ +6. メールに記載された手順に従って、新しい key をインストールします。 +7. **Done** を選択します。 From 81a736ec550619ff4ba983681c279ab54d6c759d Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:28:01 -0400 Subject: [PATCH 148/437] New translations replacement-using-creator.mdx (Japanese) --- .../partials/replacement-using-creator.mdx | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/partials/replacement-using-creator.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/partials/replacement-using-creator.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/partials/replacement-using-creator.mdx new file mode 100644 index 00000000000..6dd950e526b --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/partials/replacement-using-creator.mdx @@ -0,0 +1,34 @@ +*ほとんどのユーザーに推奨* + +1. Download the [USB Flash Creator](https://unraid.net/download) tool for Windows or macOS. +2. Insert your new USB drive (boot media) into your computer. +3. 作成ツールで、Operating System をクリックし、**Use custom** までスクロールして、バックアップ ZIP ファイルを参照します。 + +
+ ![Select version](/img/Selectversion.png) +
+ +4. Choose your new USB drive as the destination and click **Write**. +5. Shut down your server, swap the old boot device for the new one, and power on. +6. `Invalid, missing or expired registration key` と表示されたら、**Registration key** を選択します。 + +
+ ![Invalid Key](/img/Invalidkey.png) +
+ +7. 必要に応じて、既存の license key ファイルを新しいデバイスの `boot/config` にコピーします。 +8. config フォルダー内に key ファイルが 1 つだけ存在することを確認します。 +9. ***Tools → Registration*** で、**Replace key** を選択し、メールアドレスを入力します。 + +
+ ![Invalid Key](/img/Replacekey.png) +
+ +10. メールに記載された手順に従って、新しい key をインストールします。 +11. 完了したら、**Done** を選択します。 + +:::important + +"keyfile is not valid" エラーが表示される場合、key がブラックリストに登録されているか、最後の有効な key ではない可能性があります。[Unraid support にお問い合わせください](https://unraid.net/support)。 + +::: From 65257afbe03f6d78a575af548363bb30b3f67498 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:28:02 -0400 Subject: [PATCH 149/437] New translations upgrade-legacy-611-612.mdx (Japanese) --- .../maintain-and-update/partials/upgrade-legacy-611-612.mdx | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/partials/upgrade-legacy-611-612.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/partials/upgrade-legacy-611-612.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/partials/upgrade-legacy-611-612.mdx new file mode 100644 index 00000000000..7e58af1e22e --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/partials/upgrade-legacy-611-612.mdx @@ -0,0 +1,6 @@ +Unraid 6.11および6.12のバージョンでは、この従来の更新方法に従ってください: + +1. %%WebGUI|web-gui%%で、***Tools → Update OS***に移動します。 +2. **更新の確認**をクリックします。 +3. 新しいリリースが利用可能な場合は、**更新**をクリックします。 +4. プロンプトが表示されたらサーバーを再起動します。 From 7d8cbd94937b9f8c6c90f7de0b3961582497d06b Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:28:03 -0400 Subject: [PATCH 150/437] New translations upgrade-modern.mdx (Japanese) --- .../maintain-and-update/partials/upgrade-modern.mdx | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/partials/upgrade-modern.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/partials/upgrade-modern.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/partials/upgrade-modern.mdx new file mode 100644 index 00000000000..b170fd91fa5 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/partials/upgrade-modern.mdx @@ -0,0 +1,13 @@ +Unraid のアップグレードは、ユーザーフレンドリーなインターフェースを備えた新しい **Update OS tool** を使用して行います: + +1. %%WebGUI|web-gui%% で、右上のドロップダウンメニューをクリックして **Check for Update** を選択するか、***Tools → Update OS*** に移動します。 +2. 安定版リリースには **Stable** チャンネルを、ベータ版および RC には **Next** チャンネルを選択してください。 +3. **View Changelog to Start Update** をクリックします。**Continue** を押す前に、変更履歴が表示されるので確認してください。 +4. 最新の安定版リリースを適用するには、**Confirm and start update** をクリックします。 +5. プロンプトが表示されたら、サーバーを再起動してアップグレードを完了します。 + +:::note + +特に「Next」ブランチのリリースでは、更新にアクセスするために Unraid アカウントへのログインが必要になる場合があります。 + +::: From 35c7b004795ad47d18096bc6de40b2374095c7c3 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:28:05 -0400 Subject: [PATCH 151/437] New translations upgrading-unraid.mdx (Japanese) --- .../maintain-and-update/upgrading-unraid.mdx | 152 ++++++++++++++++++ 1 file changed, 152 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/upgrading-unraid.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/upgrading-unraid.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/upgrading-unraid.mdx new file mode 100644 index 00000000000..7387a3ceafb --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/maintain-and-update/upgrading-unraid.mdx @@ -0,0 +1,152 @@ +--- +sidebar_position: 2 +sidebar_label: Unraid のアップグレード +--- + +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; +import UpgradeModern from "./partials/upgrade-modern.mdx"; +import UpgradeLegacy611612 from "./partials/upgrade-legacy-611-612.mdx"; +import ManualDowngradeSimplest from "./partials/manual-downgrade-simplest.mdx"; +import ManualDowngradeCommandLine from "./partials/manual-downgrade-command-line.mdx"; + +# Unraid のアップグレード + +Unraid OS をアップグレードすると、最新の機能、セキュリティ更新、およびハードウェアサポートを利用できます。このページでは、標準的なアップグレード手順と、トラブルシューティングのヒントおよび手動アップグレードのオプションについて説明します。 + +:::note\[Prerequisites] + +アップグレードを始める前に、USB フラッシュデバイスの完全なバックアップを作成してください。詳細は、[フラッシュデバイスのバックアップ](../maintain-and-update/changing-the-flash-device.mdx#backing-up-your-flash-device) を参照してください。 + +::: + +:::tip[Best アップグレード前の手順] + +1. フラッシュドライブと重要なデータを**バックアップ**します。 +2. インストール予定のバージョンの**リリースノートを確認**します。 +3. すべてのプラグインを**最新バージョンに更新**します。 +4. 必要に応じて、次に進む前に**アレイを停止**します。 +5. **Update Unraid OS** using the ***Tools → Update OS*** page. +6. アップグレードを完了するには、サーバーを**再起動**します。 + +::: + +## 標準アップグレード手順 + + + + + + + + + + + +:::caution[ZFS プールのアップグレードに関する警告] + +Unraid 7.x にアップグレードすると、起動時または %%WebGUI|web-gui%% で [%%ZFS|zfs%%](../../advanced-configurations/optimize-storage/zfs-storage.mdx) プール機能のアップグレードに関する警告が表示される場合があります。これらの警告は問題を示すものではなく、%%ZFS|zfs%% プールが古いバージョンの ZFS の機能を使用していることを示しているだけです。 + +プールのアップグレードは緊急ではありませんが、アップグレードする場合は、以前の Unraid バージョンでは動作しない可能性があることに注意してください。つまり、アップグレード後に以前の Unraid バージョンへ戻せない場合があります。 + +いつもどおり、%%ZFS|zfs%% プールをアップグレードする前にデータをバックアップすることを忘れないでください。 + +::: + +--- + +## アップグレードの問題のトラブルシューティング + +アップグレード後に問題が発生した場合は、以下の該当する項目を参照してください。 + +
+ アップグレード後にアレイまたは Docker コンテナの起動が遅い - クリックして展開/折りたたむ + + 特定のアップグレード後には、Docker コンテナの一度限りの移行が必要になる場合があります。この処理には時間がかかることがあり、特にイメージが多数ある場合はなおさらです。この処理中はしばらくお待ちください。最初の起動後にパフォーマンスは通常どおりに戻ります。 + +
+ +
+ アップグレード後に Docker コンテナが正しく動作しない - クリックして展開/折りたたむ + + If you encounter errors like *"layers from manifest don't match image configuration,"* you may need to rebuild your Docker image file. Here’s how: + + 1. Go to ***Settings → Docker*** and stop the Docker service. + 2. チェックボックスをオンにして Docker イメージを削除し、削除ボタンをクリックします。 + 3. Docker を再起動してイメージを再作成します。 + 4. **Apps** タブの **Previous Apps** に移動し、再インストールしたい項目にチェックを入れて、**"Install xx Applications"** をクリックします。 + +
+ +
+ VM に "cannot get interface MTU" またはネットワークエラーが表示される - クリックして展開/折りたたむ + + %%VM|vm%% ネットワークにカスタムのブリッジ名を使用している場合は、次の手順に従ってすべての %%VMs|vm%% をデフォルトの `br0` ブリッジに更新してください。 + + 1. **VMs** タブに移動し、各 %%VM|vm%% を編集します(**Advanced View** を有効にしてください)。 + 2. ネットワークブリッジを `br0` に設定し、**Apply** をクリックします。 + 3. Navigate to ***Settings → VM Manager*** (in **Advanced View**) and set the default bridge to `br0`. + +
+ +
+ VM への VNC アクセスが機能しない、または遅い - クリックして展開/折りたたむ + + 古い %%VMs|vm%% では、%%VNC|vnc-session%% のビデオドライバを更新する必要がある場合があります。 + + 1. **VMs** タブから %%VM|vm%% を編集します(**Advanced View** を選択)。 + 2. **%%VNC|vnc-session%% Video Driver** を **QXL**(推奨)に設定します。QXL で十分な結果が得られない場合は、**Cirrus** または **vmvga** を試してください。 + 3. **Apply** をクリックして変更を保存します。 + +
+ +
+ VM が起動しない(EFI シェルが表示される) - クリックして展開/折りたたむ + + If you have %%OVMF|ovmf%%-based %%VMs|vm%% created in older Unraid versions, you might encounter an EFI shell. You can boot the %%VM|vm%% by entering the following commands: + + 1. `fs0:` と入力します。 + 2. 次に `cd efi/boot` と入力します。 + 3. 最後に `bootx64.efi` と入力します。 + + `fs0:` で動作しない場合は、代わりに `fs1:` を試してください。問題が続く場合は、[Unraid forums](https://forums.unraid.net/) で सहायताを求めてください。 + +
+ +
+ VM の起動を試みると "Invalid machine type" エラーが表示される - クリックして展開/折りたたむ + + これを解決するには、%%WebGUI|web-gui%% で %%VM|vm%% を編集し、変更を加えずに **Apply** をクリックします。この操作により、マシンタイプが最新のサポート版に更新されます。 + +
+ +
+ アップグレード後の VM のパフォーマンスが低い - クリックして展開/折りたたむ + + アップグレード後に %%VM|vm%% が遅い場合は、%%VM|vm%% の設定(**Advanced View**)を開き、**Machine** タイプのバージョンを最新のリビジョンに更新してください(例: `i440fx-2.5` から `i440fx-2.7` に変更)。接頭辞は変更しないでください(たとえば、`i440fx` から `Q35` に切り替えないでください)。 + +
+ +--- + +## Downgrading Unraid + +Before downgrading, be sure to read the release notes for the version you are downgrading from. Look for the section titled "Rolling back," as it contains any important steps you need to take. + +If you have access to the WebGUI, you can go to **Tools → Downgrade OS.** This option allows you to downgrade to your previously installed version without downloading a zip file from the Version History page. + +If you don't see the option to downgrade under **Tools → Downgrade OS**, use the manual method described below. This usually means that the files for the previous version are not on your flash drive. + +### Manual downgrade + +Manual downgrades are only needed if you can't access the %%WebGUI|web-gui%% or if the downgrade option isn't available. Before proceeding, it's important to back up your USB flash device. For more details, see [Backing up your flash device](../maintain-and-update/changing-the-flash-device.mdx#backing-up-your-flash-device). + + + + + + + + + + From 2cfdaef080708c7117a113db5319aacfe4cde657 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:28:06 -0400 Subject: [PATCH 152/437] New translations _category_.json (Japanese) --- .../monitor-performance/_category_.json | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/monitor-performance/_category_.json diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/monitor-performance/_category_.json b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/monitor-performance/_category_.json new file mode 100644 index 00000000000..c596cb2be90 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/monitor-performance/_category_.json @@ -0,0 +1,7 @@ +{ + "label": "パフォーマンスを監視する", + "position": 1, + "link": { + "type": "generated-index" + } +} \ No newline at end of file From 1c664a5e24c8201644205f8484ea9622ed3f095b Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:28:08 -0400 Subject: [PATCH 153/437] New translations smart-reports-and-disk-health.mdx (Japanese) --- .../smart-reports-and-disk-health.mdx | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/monitor-performance/smart-reports-and-disk-health.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/monitor-performance/smart-reports-and-disk-health.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/monitor-performance/smart-reports-and-disk-health.mdx new file mode 100644 index 00000000000..cbfe1542be1 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/monitor-performance/smart-reports-and-disk-health.mdx @@ -0,0 +1,50 @@ +--- +sidebar_position: 2 +sidebar_label: SMARTレポートとディスクの健全性 +--- + +# SMARTレポートとディスクの健全性 + +\*\*自己監視・分析・レポート技術(%%SMART|smart%%)\*\*は、ほとんどの最新のハードドライブとSSDに備わっている便利な機能です。ドライブの健全性と信頼性を監視します。Unraidでは、%%SMART|smart%% 監視は早期警告システムとして機能し、データを失う前にドライブ障害の可能性を知らせます。 + +## SMART監視が重要な理由 + +%%SMART|smart%% 監視は、エラー数の増加や不良セクタなど、ドライブの健全性における微妙な変化を、読み取りエラーや書き込みエラーなどの深刻な問題に発展する前に見つけるのに役立ちます。こうした警告に注意を払うことで、故障しつつあるドライブを交換したり、バックアップを取ったりして、大切なデータを सुरक्षितに保てます。最新情報を受け取るには、[通知](../../getting-started/set-up-unraid/customize-unraid-settings.mdx#notification-settings)を有効にして、Unraid %%WebGUI|web-gui%% にログインしていないときでもアラートを受信できるようにしてください。 + +:::note + +%%SMART|smart%% 監視はSATAドライブでは機能しますが、SASドライブでは利用できません。 + +::: + +## UnraidがSMARTをどのように使用するか + +Unraidは、接続されている各ドライブの主要な%%SMART|smart%%属性を常に確認します。これらの属性に変更があると、Dashboardで影響を受けたドライブの横にオレンジ色のアイコンが表示されます。アイコンをクリックすると、変更を確認したことにするためのメニューが表示されます。その後は、その属性にさらに更新があった場合のみ、Unraidから再度通知されます。 + +ドライブの%%SMART|smart%%データを詳しく見るには、Unraid %%WebGUI|web-gui%% の **Main** タブでその名前をクリックします。 + +Unraidがデフォルトで監視する%%SMART|smart%%属性には次のようなものがあります: + +| **ID** | **属性** | **意味** | **注意すべきタイミング / 実行する操作** | +| ------- | ------------------------------------------ | -------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| **5** | 代替処理済みセクタ数 | これは、ドライブ上の不良領域がいくつスペアセクタで置き換えられたかを示します。 | 0より大きい場合、ドライブは故障し始めています。数値が増えるようなら、[データをバックアップし](../../getting-started/set-up-unraid/complete-your-post-setup-essentials.mdx#back-up-your-flash-device)、できるだけ早く新しいドライブを用意してください。 | +| **187** | 報告された修正不能エラー | これは、ドライブが修正できなかったエラーです。 | 0より大きい数値が表示されたら、重大な兆候です。できるだけ早くドライブを交換してください。 | +| **188** | コマンドタイムアウト | これは、処理に時間がかかりすぎた回数を示し、ドライブまたはケーブルの問題の可能性を示します。 | 電源の問題が原因で、ときどきタイムアウトが発生することがあります。これが頻繁に0より大きくなる場合は、ケーブルと電源接続を確認してください。 | +| **197** | 現在/保留中セクタ数 | これは、まもなく故障する可能性のある不安定なセクタを示します。 | 0より大きい数値は、ドライブが一部の領域を正しく読み取れないことを意味します。数日たっても0に戻らない場合は、ドライブを交換してください。 | +| **198** | 修正不可能セクタ数 | これらのセクタは、複数回試しても読み取りや書き込みができません。 | これが0より大きい場合は、データを失ったことを意味します。すぐにドライブを交換してください。 | +| **199** | %%UDMA\|udma%% %%CRC error\|crc-errors%% 数 | これは、ドライブとコンピューター間のデータ転送で発生したエラーを示し、多くは不良ケーブルが原因です。 | この数値が増える場合は、SATAケーブルを確認して挿し直してください。その後に増加が止まれば、問題ありません。 | + +## SMART警告が表示された場合の対処方法 + +%%SMART|smart%% 警告を受け取ったら、次のように対応してください: + +- 上の表で影響を受けた属性を確認します。 +- 代替処理済みセクタ、保留中セクタ、または修正不可能セクタの数が増えている場合は、まもなくドライブを交換する計画を立てる時期です。 +- %%CRC errors|crc-errors%% については、データケーブルを確認し、しっかり差し込まれていることを確かめてください。 +- 警告の意味がはっきりしない場合は、ためらわずに[Unraidフォーラム](https://forums.unraid.net/)を利用するか、ドライブメーカーのドキュメントを参照してください。 + +:::warning + +%%SMART|smart%% 警告は、見逃してはいけない早期の兆候です。データのバックアップを取り、ドライブが故障する前に交換を検討してください。 + +::: From 4b76ffc414acbae0059a8f810d2dfa3fe28b974d Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:28:09 -0400 Subject: [PATCH 154/437] New translations _category_.json (Japanese) --- .../secure-your-server/_category_.json | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/_category_.json diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/_category_.json b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/_category_.json new file mode 100644 index 00000000000..11f0d2126fb --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/_category_.json @@ -0,0 +1,7 @@ +{ + "label": "サーバーを保護する", + "position": 3, + "link": { + "type": "generated-index" + } +} \ No newline at end of file From aaa4c5ac7ece2fb0eaba8629cf5ca2e2a2e091ea Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:28:12 -0400 Subject: [PATCH 155/437] New translations reset-password-advanced.mdx (Japanese) --- .../partials/reset-password-advanced.mdx | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/partials/reset-password-advanced.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/partials/reset-password-advanced.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/partials/reset-password-advanced.mdx new file mode 100644 index 00000000000..25ab022b174 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/partials/reset-password-advanced.mdx @@ -0,0 +1,20 @@ +この方法では、**%%root|root-user%% パスワード**のみが削除され、他のユーザーはそのまま残ります。 + +この方法でリセットするには: + +1. Unraid サーバーを**シャットダウン**します。 + +2. **Connect the USB boot device** to a computer (Windows or Mac). + +3. テキストエディタ(Notepad++ など)を使用して、`/config/shadow` にある**ファイルを開きます**。 + +4. Edit the line that looks like: + `root:$&$&%*1112233484847648DHD$%.:15477:0:99999:7:::` + + その代わりに、次の内容にします: + + `root::15477:0:99999:7:::` + +5. **Save the changes** to the file and reconnect the USB boot device to your server. + +6. Unraid サーバーを**起動**し、新しい root パスワードを設定します。 From 03f80233a79d9a50f88f08df6fe1862109872ff3 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:28:13 -0400 Subject: [PATCH 156/437] New translations reset-password-basic.mdx (Japanese) --- .../partials/reset-password-basic.mdx | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/partials/reset-password-basic.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/partials/reset-password-basic.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/partials/reset-password-basic.mdx new file mode 100644 index 00000000000..401b29dfc74 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/partials/reset-password-basic.mdx @@ -0,0 +1,11 @@ +この方法では、\*%%root|root-user%% や共有ユーザーを含む**すべてのユーザーパスワード**が削除されます。 + +パスワードをリセットする最も簡単な方法は次のとおりです: + +1. Unraid サーバーを**シャットダウン**します。 +2. **Connect the USB boot device** to a computer (Windows or Mac). +3. Delete these files from the USB drive: + - `/config/shadow` + - `/config/smbpasswd` +4. **Disconnect the USB boot device** and reconnect it to your Unraid server, then start it up. +5. 起動時に求められたら、**新しい root パスワードを作成**します。 From c5128681d0f6ef550fadaf893aee2f22150c17d6 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:28:17 -0400 Subject: [PATCH 157/437] New translations wireguard-configure-mobile.mdx (Japanese) --- .../partials/wireguard-configure-mobile.mdx | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/partials/wireguard-configure-mobile.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/partials/wireguard-configure-mobile.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/partials/wireguard-configure-mobile.mdx new file mode 100644 index 00000000000..18105b4e39d --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/partials/wireguard-configure-mobile.mdx @@ -0,0 +1,9 @@ +1. ピアの設定を表示するには、目の ![Peer configuration](/img/eye-icon.png) アイコンを選択します。 + +
+ ![Peer configuration](/img/peer-eye.png) +
+ +2. %%WireGuard|wireguard%% モバイルアプリで、**QRコードから作成** を選択し、QRコードをスキャンします。 +3. 接続に名前を付けて接続します。%%VPN tunnel|vpn-tunnel%% はすぐに開始されるはずです。 +4. QRコードは非公開にしてください。持っている人なら誰でも VPN にアクセスできます。 From 0fddabaebdaf4c2a58650a4ed62fece468d30021 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:28:26 -0400 Subject: [PATCH 158/437] New translations wireguard-configure-other-devices.mdx (Japanese) --- .../partials/wireguard-configure-other-devices.mdx | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/partials/wireguard-configure-other-devices.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/partials/wireguard-configure-other-devices.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/partials/wireguard-configure-other-devices.mdx new file mode 100644 index 00000000000..6f863b8b185 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/partials/wireguard-configure-other-devices.mdx @@ -0,0 +1,10 @@ +1. ピアの設定を表示するには、目の ![Peer configuration](/img/eye-icon.png) アイコンを選択します。 + +
+ ![Peer configuration](/img/peer-eye.png) +
+ +2. 設定ファイルをダウンロードしてください。 +3. 信頼できるメールやクラウドストレージなどを通じて、クライアントデバイスへ安全に転送してください。 +4. 解凍して、設定を%%WireGuard|wireguard%%クライアントにインポートしてください。 +5. このファイルを保護して、不正なVPNアクセスを防いでください。 From 9be67822a8b6fc920460ed7c769818063b3da201 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:28:28 -0400 Subject: [PATCH 159/437] New translations secure-your-boot-drive.mdx (Japanese) --- .../secure-your-boot-drive.mdx | 87 +++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/secure-your-boot-drive.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/secure-your-boot-drive.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/secure-your-boot-drive.mdx new file mode 100644 index 00000000000..dafe03dcdd5 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/secure-your-boot-drive.mdx @@ -0,0 +1,87 @@ +--- +sidebar_position: 2 +sidebar_label: Securing your boot device +--- + +import WebguiBootDeviceLabels from '../../partials/webgui-boot-device-labels.mdx'; + +# Securing your boot device + +The boot device is essential to your Unraid server, as it stores all configuration data, licensing, and system settings. Due to its importance, it is crucial to keep its contents secure and accessible at all times. + + + +## Backups + +Having a recent backup of your boot device ensures you can quickly recover from hardware failures, accidental changes, or data corruption. Be sure to create backups in the following situations: + +- Unraid をアップグレードする前、またはプラグインをインストールする前に +- ドライブを追加または削除した後に +- ネットワーク、共有、またはセキュリティ設定を変更した後に +- 大きな構成変更を行う前に +- 定期的に、通常のメンテナンス作業の一環として + +To back up your boot device using the Unraid %%WebGUI|web-gui%%, follow these steps: + +1. Select your boot device from the **Main** tab. +2. In the **Boot Device** tab, click **Boot Device Backup**. + +
+![Boot Device Backup control in the WebGUI](/img/flashbackup.png) +
+ +3. Unraid will create a ZIP file containing the boot device's contents. +4. この ZIP ファイルは、Unraid サーバーの外にある安全な場所(別の PC、NAS、またはクラウドストレージなど)に保存してください。 + +If you need to recreate your boot device, use this backup with the [USB Creator tool](https://unraid.net/download) via the **Use custom** option. + +:::tip + +Consider keeping a screenshot of your [disk assignments](../../getting-started/set-up-unraid/configure-your-array.mdx#assign-parity-and-data-disks) after any hardware changes. This ensures correct drive placement if you need to restore from your backup. + +::: + +--- + +## ネットワークアクセス + +You can control whether your boot device is accessible over the network, similar to other shares in Unraid. However, network access should be restricted since the boot device contains sensitive configuration and licensing data. Consider the following: + +- **Network visibility:** Decide if your boot device should be visible or hidden on your network. +- **アクセス権:** ネットワークアクセスが有効な場合は、内容の閲覧や変更ができるユーザーを制限するために権限を設定してください。 + +:::important[Reducing セキュリティ上のリスク] + +- **Disable sharing:** Set the boot device's %%SMB|samba%% export to **No** to prevent network access entirely. +- **Restrict access:** If you must share the boot device, set security to **Private** and grant access only to trusted users with strong passwords. +- **Avoid public access:** Never leave the `flash` share set to **Public** or **Secure** with guest write access. + +これらの手順は、不正な変更や重要ファイルの露出を防ぐのに役立ちます。 + +::: + +--- + +## 権限 + +To enhance system security, files on the boot device can no longer be given execute permission. This change prevents malicious or unintended code from running directly off the boot device, reducing the risk of exploitation or accidental system modification. + +If you have custom scripts or programs stored on the boot device, follow these steps: + +1. **スクリプトを実行可能な場所にコピーする:** + - スクリプトを既定のシステムパス上に置きたい場合は、`/usr/local/bin` を使用してください。 + - `config/go` ファイルにコピーコマンドを追加してこれを自動化します。 + - コピー後、ファイルに実行権限を設定してください。 + +2. **インタープリターを使ってスクリプトを実行する:** + - スクリプトの前にインタープリターを付けます(例: `bash /boot/config/scripts/myscript.sh`)。 + +この方法では、上級ユーザーがスクリプトを実行できるようにしつつ、システムの安全性を保てます。 From c39c699b56d361f43631febd9f6041a3e1a41a5f Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:28:29 -0400 Subject: [PATCH 160/437] New translations secure-your-outgoing-comms.mdx (Japanese) --- .../secure-your-outgoing-comms.mdx | 195 ++++++++++++++++++ 1 file changed, 195 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/secure-your-outgoing-comms.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/secure-your-outgoing-comms.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/secure-your-outgoing-comms.mdx new file mode 100644 index 00000000000..f098e024ce2 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/secure-your-outgoing-comms.mdx @@ -0,0 +1,195 @@ +--- +sidebar_position: 8 +sidebar_label: 送信通信を保護する +--- + +# 送信通信を保護する + +Outgoing Proxy Manager と %%Tailscale|tailscale%% の出口ノードは、Unraid の送信通信を安全なチャネル経由でルーティングする方法を提供します。これらのツールは、制限の厳しいファイアウォールの回避、ネットワークポリシーへの準拠、または送信トラフィックの保護に役立ちます。これらのソリューションは主に Unraid のシステムトラフィックに焦点を当てていますが、より広いネットワークまで対象を拡張するための設定オプションもあります。 + +送信通信を保護する主な方法は 3 つあります: + +1. [**Outgoing Proxy Manager**](#setting-up-a-proxy-server) - このツールは HTTP トラフィックをプロキシサーバー経由でルーティングし、Web リクエストを安全に管理・制御できるようにします。 +2. [**%%Tailscale|tailscale%% の出口ノード**](#tailscale-exit-nodes) - %%Tailscale|tailscale%% の出口ノードを使うと、すべてのトラフィックを %%Tailscale|tailscale%% のメッシュネットワーク経由でルーティングでき、デバイス間で安全な接続が確保されます。 +3. [**%%WireGuard|wireguard%% %%VPN|vpn-tunnel%%**](#outgoing-vpn-connections) - %%WireGuard|wireguard%% %%VPN|vpn-tunnel%% を使ってトラフィックを商用の %%VPN|vpn-tunnel%% プロバイダー経由でルーティングすることもでき、プライバシーとセキュリティをさらに強化できます。 + +### Outgoing Proxy Manager と Tailscale/WireGuard/VPN の比較 + +| ユースケース | 推奨ツール | 理由 | +| ------------------------------ | -------------------------------------------- | ------------------------------------------------------------------------------------------------- | +| Unraid システム更新のためにファイアウォールを回避する | Outgoing Proxy Manager | Unraid のシステムトラフィックのみをプロキシ経由でルーティングします。構成がシンプルで最小限です。 | +| メッシュネットワークで全送信トラフィックを保護する | %%Tailscale\|tailscale%% の出口ノード | %%Tailscale\|tailscale%% のメッシュネットワーク経由でトラフィックを暗号化します。既存の %%Tailscale\|tailscale%% インフラで簡単に設定できます。 | +| 全送信トラフィック(システム全体)を保護する | %%WireGuard\|wireguard%% %%VPN\|vpn-tunnel%% | Unraid からのすべてのトラフィック(Docker/VM を含む)を暗号化し、トンネル化して商用の %%VPN\|vpn-tunnel%% プロバイダーへ送ります。 | +| Docker または VM のトラフィックを分離する | %%VPN\|vpn-tunnel%% またはコンテナプロキシ | きめ細かな制御のために、コンテナ/VM レベルで %%VPN\|vpn-tunnel%% を設定します。 | +| どこからでもホームネットワークにアクセスする | %%Tailscale\|tailscale%% の出口ノード | ホームネットワーク経由でトラフィックをルーティングし、IP と地理的位置を一貫させます。 | + +多くのユーザーには、システム全体のセキュリティとプライバシーのために [%%Tailscale|tailscale%%](./tailscale.mdx) や [%%WireGuard|wireguard%%](./wireguard.mdx) のようなソリューションが推奨されます。Unraid 自身の HTTP リクエストだけをプロキシしたい場合は Outgoing Proxy Manager を使用してください。 + +### プロキシサーバーの設定 + +プロキシサーバーを設定するには: + +1. %%WebGUI|web-gui%% で ***Settings → Outgoing Proxy Manager*** に移動します。 + +
+ ![Outgoing Proxy Manager](/img/outgoing-proxy-manager.png) +
+ +2. プロキシの名前、URL、必要に応じてユーザー名/パスワードを追加します。 +3. **Apply** をクリックします。 +4. 一覧から新しいプロキシを選択し、もう一度 **Apply** をクリックします。 + +%%WebGUI|web-gui%% は、選択されたプロキシを自動的に送信システムトラフィックに使用します。Web ターミナルや %%SSH|ssh%% セッションが開いている場合は、新しいプロキシ設定を適用するためにいったん閉じて再度開いてください。この動作は透過的です。アクティビティを確認するにはプロキシサーバーのログを監視してください。 + +### HTTP プロキシサーバーの選び方 + +- **組織がプロキシを提供している場合:** ネットワーク管理者から提供されたアドレスと認証情報を使用します。 +- **自分で設定する必要がある場合:** + - [@ich777 による Proxy Server Docker コンテナ](https://forums.unraid.net/profile/72388-ich777/) はテスト済みで、Unraid で問題なく動作します。 + - このコンテナは、Unraid の [%%WireGuard|wireguard%% %%VPN|vpn-tunnel%%](wireguard.mdx) を使ってトラフィックを商用の %%VPN|vpn-tunnel%% 経由でルーティングしたり、別の Docker ベースの %%VPN|vpn-tunnel%% サービスに接続したりするよう設定できます。 + - 信頼性のため、起動中もネットワークを利用できるよう、プロキシサーバーは Unraid とは別のシステムでホストしてください。 + +プロキシトラフィックを監視するには、プロキシホストシステムの **Docker** タブに移動し、**Proxy Server** コンテナを選択して **Logs** を表示します。 + +### 自動インポートとプラグイン互換性 + +- 以前 **Proxy Editor** プラグインを使用していた場合、Unraid 7.0 以降のビルトインプロキシサポートへのアップグレード時に自動的に削除されます。 +- `config/go` スクリプトまたは `community.applications/proxy.cfg` にある従来のプロキシ設定は自動的にインポートされ、旧ファイルは安全のために名前が変更されます。 + +### プラグイン互換性 + +- PHP の `curl_init()` 関数を使用するプラグインは、自動的に送信プロキシを使用します。 +- `file_get_contents()` を使用するプラグインは、プロキシ互換性のために `curl_init()` に移行してください。 +- コマンドライン処理では、プロキシ対応のために `wget` より `curl` を優先してください。 + +プラグイン開発と互換性の詳細については、[ドキュメントのプラグインセクション](../../using-unraid-to/customize-your-experience/plugins.mdx) を参照してください。 + +## Tailscale の出口ノード + +%%Tailscale|tailscale%% exit nodes offer a secure and modern way to route your Unraid server's outgoing traffic through another device on your %%Tailnet|tailnet%%. This setup provides the security of a %%VPN|vpn-tunnel%% while leveraging %%Tailscale|tailscale%%'s easy-to-use mesh networking, making it ideal for users who want encrypted outgoing traffic without the complexity of traditional %%VPN|vpn-tunnel%%s. + +:::tip[When Tailscale の出口ノードを使用するために] + +次の用途では %%Tailscale|tailscale%% の出口ノードの使用を検討してください: + +- 旅行中に自宅ネットワークからの送信トラフィックを保護する +- VPN トラフィックをブロックするサービス向けに一貫した IP アドレスを維持する +- 既存の %%Tailscale|tailscale%% インフラとシームレスに統合する + +::: + +### Tailscale の出口ノードを設定する + +サーバーの送信トラフィック用に %%Tailscale|tailscale%% の出口ノードを設定するには: + +1. **Community Applications から [Tailscale プラグイン](https://unraid.net/community/apps/c/plugins?q=tailscale#r:~:text=Plugins-,Tailscale%20\(Plugin\),-Derek%20Kaser) をまだインストールしていない場合はインストールします。** +2. **%%Tailnet|tailnet%% 上で出口ノードを設定します。** これは別の Unraid サーバー、Docker コンテナ、または %%Tailscale|tailscale%% を実行している任意のデバイスにできます。 +3. **Unraid サーバーを設定して** 出口ノードを使用します: + - ***Settings → Tailscale*** に移動します。 + - **Use Exit Node** フィールドで、利用可能な出口ノードを選択します。 + - **Apply** をクリックします。 + +### Mullvad 連携 + +Tailscale は Mullvad VPN と提携し、商用の出口ノードを提供しています。[Tailscale 経由で Mullvad VPN](https://tailscale.com/mullvad) を購入すると、出口ノードとして同社のグローバルなサーバーネットワークにアクセスできます。この組み合わせにより、Tailscale のメッシュネットワーキングと Mullvad のプライバシー重視のインフラを利用できます。 + +### Docker コンテナの出口ノード + +Unraid サーバー上で %%Tailscale|tailscale%% の出口ノードとして機能する Docker コンテナを設定することもできます。 + +1. [公式 %%Tailscale|tailscale%% Docker イメージ](https://hub.docker.com/r/tailscale/tailscale) を使用して **%%Tailscale|tailscale%% コンテナをデプロイ** します。 +2. `--advertise-exit-node` フラグを追加して **コンテナを設定** します。 +3. %%Tailscale|tailscale%% の管理コンソールで **出口ノードを承認** します。 +4. %%Tailnet|tailnet%% 上の他のデバイス用の出口ノードとして **コンテナを選択** します。 + +## Outgoing VPN connections + +Unraid は商用プロバイダーへの送信 WireGuard VPN 接続をサポートしており、Docker コンテナまたはサーバー全体のトラフィックを安全なトンネル経由でルーティングできます。これはプライバシーの確保、地理的制限の回避、または送信データの保護に役立ちます。コミュニティの知見やトラブルシューティングについては、[WireGuard VPN tunneled access forum thread](https://forums.unraid.net/topic/84316-wireguard-vpn-tunneled-access/) を参照してください。 + +### VPN プロバイダーの選び方 + +適切な %%VPN|vpn-tunnel%% プロバイダーの選択は、速度、プライバシー、使いやすさ、サポートなどの優先事項によって決まります。以下のプロバイダーは Unraid によるサポートが手厚く、%%WireGuard|wireguard%% との強力な統合を提供します: + +| プロバイダー | 最適な用途 | 主な機能 | Unraid でのサポート | 注記 | +| -------------------------------------------------------------------------------------------------------- | -------------------- | ------------------------ | ------------- | ---------------------- | +| [NordVPN](https://nordvpn.com/) | 速度、プライバシー、コストパフォーマンス | ダブル NAT、ノーログ、グローバルネットワーク | 非常に良い | NordLynx プロトコル、高速 | +| [Surfshark](https://surfshark.com/) | 低価格、無制限デバイス | ノーログ、無制限接続、高速 | 非常に良い | 高いコストパフォーマンス、簡単なセットアップ | +| [ProtonVPN](https://protonvpn.com/) | プライバシー、オープンソース | ダブル NAT、Secure Core、ノーログ | 非常に良い | オープンソース、強力なプライバシー | +| [Mullvad](https://mullvad.net/en) | 匿名性、シンプルさ | 個人情報不要、定額料金、オープンソース | 非常に良い | 現金払い可、メール不要 | +| [PureVPN](https://www.purevpn.com/) | ストリーミング、柔軟性 | 大規模ネットワーク、Unraid との簡単な統合 | 良い | サポート良好、高速 | +| [CyberGhost](https://www.cyberghostvpn.com/) | ストリーミング、使いやすさ | 最適化されたサーバー、高速 | 良い | 使いやすいアプリ | +| [IVPN](https://www.ivpn.net/en/), [OVPN](https://www.ovpn.com/en), [Windscribe](https://windscribe.com/) | ニッチなニーズ | 高度なプライバシー、地域オプション | 良い | コミュニティによるサポート | + +:::tip + +ネイティブの %%WireGuard|wireguard%% サポートと強力なプライバシーポリシーを備えたプロバイダーを選んでください。独自クライアントや独自プロトコルを必要とするプロバイダーは避けてください。 + +::: + +### Docker 向け VPN トンネル経由アクセスの設定 + +特定の Docker コンテナを商用の %%VPN|vpn-tunnel%% トンネル経由でルーティングできます。ルーターの変更は不要です。 + +1. 選択したプロバイダーから %%WireGuard|wireguard%% 設定ファイルをダウンロードします。 +2. ***Settings → VPN Manager*** で **Import Config** を選択し、ファイルをアップロードします。これにより新しいトンネルが作成されます。 +3. **Peer type of access** は既定で *Docker 向け VPN トンネル経由アクセス* になります。必要に応じてローカル名を付けます。 +4. **Apply** をクリックします。 +5. トンネルの切り替えを **Active** に設定します。 + +:::tip + +トンネル名(例: `wg0`、`wg1`、`wg2`)を控えておきます。Docker コンテナを設定するときに必要になります。\ +プロバイダーの設定に DNS サーバーが指定されている場合は、後で使えるように記録しておきます。指定されていない場合は、`8.8.8.8` のようなパブリック DNS を使用します。 + +::: + +### Docker トンネルのテスト + +Docker トンネルが機能しており、DNS や IP 情報が漏れていないことを確認するには: + +1. Community Applications 経由で [Firefox](https://unraid.net/community/apps?q=Firefox) の Docker コンテナをインストールします。 +2. **Network Type** を **Custom: wgX** に設定します(X はトンネル名に置き換えます)。 +3. **Advanced** 表示に切り替え、**Extra Parameters** に DNS プロバイダーを追加します(例: `--dns=8.8.8.8`)。 +4. 変更を適用してコンテナを起動します。 +5. Firefox を起動し、[whatismyipaddress.com](https://whatismyipaddress.com/) にアクセスして、IP アドレスが VPN サーバーの国と一致していることを確認します。 +6. [dnsleaktest.com](https://www.dnsleaktest.com/) にアクセスし、VPN の DNS サーバーのみが検出されることを確認します。 + +このトンネルに追加のコンテナを割り当てることも、複数のトンネルを作成することもできます。 + +### システム向け VPN トンネル経由アクセスの設定 + +すべての Unraid トラフィックを商用 VPN 経由でルーティングするには: + +1. プロバイダーから %%WireGuard|wireguard%% 設定をダウンロードします。 +2. ***Settings → VPN Manager*** で **Import Config** を選択し、ファイルをアップロードします。 +3. 必要に応じてトンネル名を変更します。 +4. **Apply** をクリックします。 +5. トンネルの切り替えを **Active** に設定します。 + +:::note + +- Unraid の更新やプラグインのインストール時には、一時的にトンネルを無効にする必要がある場合があります。 +- システム全体のトンネルは同時に 1 つしかアクティブにできません。 +- インポートされた設定の DNS 設定は Unraid では無視されます。Unraid の DNS を信頼できるパブリックサーバー(例: `8.8.8.8`、`8.8.4.4`)に設定してください。 + +::: + +### システムトンネルのテスト + +1. [Firefox](https://unraid.net/community/apps?q=Firefox) の Docker コンテナをインストールします。 +2. すべての既定値を受け入れます。 +3. Firefox を起動し、[whatismyipaddress.com](https://whatismyipaddress.com/) にアクセスします。IP アドレスは VPN プロバイダーの所在地と一致するはずです。 + +--- + +### サポートとコミュニティリソース + +最新のガイダンス、トラブルシューティングの支援、コミュニティのヒントについては、[Unraid フォーラム](https://forums.unraid.net/) の次のリソースを参照してください: + +- **[WireGuard VPN Tunneled Access](https://forums.unraid.net/topic/84316-wireguard-vpn-tunneled-access/)** - このコミュニティディスカッションでは、Docker コンテナまたはシステム全体のトラフィックを商用 WireGuard VPN プロバイダー経由でルーティングする方法を扱っています。実際のセットアップ例、DNS リークテストのヒント、送信トンネルのトラブルシューティングのアドバイスが含まれています。 + +- **[Dynamix WireGuard Plugin Thread](https://forums.unraid.net/topic/84229-dynamix-wireguard-vpn/)** - これは Dynamix WireGuard プラグインの公式スレッドです。プラグインの更新、機能要望、バグ報告、および Unraid のビルトイン WireGuard サポートに関する一般的な Q&A を扱っています。 + +- **[WireGuard Quickstart](https://forums.unraid.net/topic/84226-wireguard-quickstart/)** - Unraid への受信 WireGuard VPN 接続を設定するためのステップバイステップガイドです。このリソースには、設定の手順、ピア設定の手順、リモートアクセスのヒントが含まれています。 + +\* *"WireGuard" と "WireGuard" のロゴは Jason A. Donenfeld の登録商標です。* From 4826353c8a59698fe474ea5fd801352eacb51756 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:28:31 -0400 Subject: [PATCH 161/437] New translations securing-your-connection.mdx (Japanese) --- .../securing-your-connection.mdx | 310 ++++++++++++++++++ 1 file changed, 310 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/securing-your-connection.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/securing-your-connection.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/securing-your-connection.mdx new file mode 100644 index 00000000000..a841d778cb9 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/securing-your-connection.mdx @@ -0,0 +1,310 @@ +--- +sidebar_position: 4 +sidebar_label: 接続を保護しています +--- + +# 接続を保護しています + +%%SSL|ssl%% 暗号化を使用して Unraid %%WebGUI|web-gui%% を保護すると、ログイン認証情報や設定情報などの機密データが、ローカルネットワークやインターネット上で傍受されたり改ざんされたりするのを防げます。ローカル環境でも [Let's Encrypt](https://letsencrypt.org/) によって発行されたワイルドカード %%SSL|ssl%% 証明書を使用でき、[Unraid Connect リモートアクセス](../../../unraid-connect/remote-access.mdx) のシナリオにも対応します。 + +:::important[The SSL の重要性 + +%%SSL|ssl%% (Secure Sockets Layer) は、ブラウザーと Unraid サーバー間のすべての通信を暗号化し、盗聴や中間者攻撃を防ぎます。%%SSL|ssl%% を使用しない場合、ネットワークにアクセスできる人なら誰でも機密データを傍受したり、セッションを乗っ取ったりする可能性があります。Unraid サーバーのローカル管理とリモート管理の両方で、%%SSL|ssl%% の使用を強く推奨します。 + +::: + +--- + +## SSL パラメーター + +Unraid には、%%SSL|ssl%% の設定方法や使用方法に影響するいくつかのパラメーターがあります。これらを理解すると、必要に応じて適切な証明書と接続方法を選択できます。 + +| パラメーター | 説明 | +| ------------------ | ------------------------------------------------------- | +| **サーバー名** | ***設定 → 識別*** で設定します。既定値は `tower` です。 | +| **ローカル TLD** | ***設定 → 管理アクセス*** で設定します。既定値は `local` です。 | +| **SSL/TLS を使用** | ***設定 → 管理アクセス*** で設定します。%%SSL\|ssl%% を有効にするかどうかを制御します。 | +| **HTTP ポート** | ***設定 → 管理アクセス*** で設定します。既定値は `80` です。 | +| **HTTPS ポート** | ***設定 → 管理アクセス*** で設定します。既定値は `443` です。 | +| **証明書** | 使用する %%SSL\|ssl%% 証明書の種類(以下を参照)。 | +| **LAN IP** | サーバーの LAN IP アドレス。URL で使用できる形式にします。 | +| **WAN IP** | サーバーのパブリック IP アドレス。URL で使用できる形式にします。 | +| **%%Hash\|hash%%** | サーバーの証明書に割り当てられる一意の 40 文字の識別子。 | + +### SSL 証明書の種類 + +| 種類 | 使用場面 | 長所/短所 | +| ---------------- | --------------------------------------------------------------------- | ----------------------------------------------------------- | +| **自己署名** | 信頼された証明書が不要で、ローカルのみでアクセスする場合。 | 設定は簡単ですが、ブラウザーに警告が表示されます。警告を承諾すれば通信は暗号化されます。 | +| **Myunraid.net** | 安全なローカルアクセスとリモートアクセス向け。特に Unraid Connect を使う場合や、信頼された証明書が必要な場合。 | ブラウザーに信頼され、警告は表示されません。Unraid Connect 経由の安全なリモートアクセスを有効にします。 | +| **カスタム** | ワイルドカード証明書や独自ドメインの証明書を使いたい上級者向け(%%DNS\|dns-name-resolution%% の設定が必要)。 | 信頼性があり柔軟ですが、追加の設定が必要です。 | + +--- + +## WebGUI へのアクセス方法 + +%%SSL|ssl%% の設定に応じて、Unraid %%WebGUI|web-gui%% にアクセスする主な方法は次のとおりです: + +#### HTTP のみ(暗号化なし) + +
+ クリックして展開/折りたたむ + + HTTP のみの場合、ブラウザーとサーバー間の通信は暗号化されません。 + + 1. Go to ***Settings → Management Access***. + 2. **SSL/TLS を使用** を *No* に設定します。 + 3. 独自の DNS がない限り、**Local TLD** は `local` のままにしてください。 + 4. アクセス URL: + - `http://[server name].[local TLD]`(例: `http://tower.local`) + - `http://[ip address]`(例: `http://192.168.100.1`) + 5. **Apply** をクリックします。 + + :::warning + ネットワーク上の誰でも HTTP で送信されたデータを傍受できます。可能な限り HTTPS を使用してください。 + ::: + +
+ +--- + +#### 自己署名証明書を使用した HTTPS + +
+ クリックして展開/折りたたむ + + 通信は暗号化されますが、証明書が信頼された認証局によって署名されていないため、ブラウザーに警告が表示されます。 + + 1. Go to ***Settings → Management Access***. + 2. **SSL/TLS を使用** を *Yes* に設定します。 + 3. 独自の DNS がない限り、**Local TLD** は `local` のままにしてください。 + 4. アクセス URL: + - `https://[server name].[local TLD]`(例: `https://tower.local`) + - `https://[ip address]`(例: `https://192.168.100.1`) + 5. **Apply** をクリックします。 + + :::important + ブラウザーに証明書エラーが表示されます。警告を承諾した後は、すべての通信が引き続き暗号化されます。 + ::: + +
+ +--- + +#### Myunraid.net 証明書とフォールバック URL を使用した HTTPS + +
+ クリックして展開/折りたたむ + + Myunraid.net 証明書を使用して %%WebGUI|web-gui%% 経由でサーバーに安全にアクセスでき、%%DNS|dns-name-resolution%% が利用できない場合に備えてフォールバック URL を設定できます。すべての通信は暗号化され、%%DNS|dns-name-resolution%% が利用できない場合はサーバーが予備の方法に切り替えるよう設定されます。 + + 1. Go to ***Settings → Management Access***. + 2. 独自の DNS 名前解決を提供できる場合を除き、**Local TLD** は既定値の `local` のままにしてください(これはフォールバック証明書に使用されます)。 + 3. **SSL/TLS を使用** は *No* または *Yes* のどちらかにしておいてください。 + 4. **Provision** を押して myunraid.net 証明書を生成します。 + + **SSL/TLS を使用** が *No* に設定されている場合の主な URL: + + - `http://[servername].[localTLD]`(例: `http://tower.local`) + - `http://[ipaddress]`(例: `http://192.168.100.1`) + + **SSL/TLS を使用** が *Yes* に設定されている場合の主な URL(自己署名証明書を使用): + + - `https://[servername].[localTLD]`(例: `https://tower.local`) + - `https://[ipaddress]`(例: `https://192.168.100.1`) + + **代替の myunraid.net URL:** + + - `https://[lan-ip].[hash].myunraid.net`(例: `https://192-168-100-1.a1b2c3d4e5.myunraid.net`) + - この URL は、**管理アクセス** ページの **ローカルアクセス URL** フィールドに表示されます。 + - [Unraid Connect プラグイン](../../../unraid-connect/overview-and-setup.mdx) をインストールすると、Connect ダッシュボードにも表示されます。 + + :::info + myunraid.net 証明書はブラウザーに信頼され、警告は表示されません。URL では、LAN IP アドレスのドットがハイフンに置き換えられ、サーバーに割り当てられた一意の 40 文字の %%hash|hash%% が末尾に追加されます。 + ::: + + :::tip[フォールバックアクセス] + %%DNS|dns-name-resolution%% が利用できなくなった場合(たとえばインターネットが停止した場合)、サーバー名または IP アドレスを使ったローカル URL を代替のアクセス方法として使用できます。 + ::: + +
+ +#### フォールバック URL なしの Myunraid.net 証明書を使用した HTTPS + +
+ クリックして展開/折りたたむ + + この方法では、すべての %%WebGUI|web-gui%% アクセスを Myunraid.net 証明書と URL の使用に強制することで、最も高いレベルの %%SSL|ssl%% 強制を実現します。最大限のセキュリティを求め、%%DNS|dns-name-resolution%% が利用できない場合にローカル IP やホスト名でサーバーへアクセスする必要がないユーザーに最適です。 + + 1. %%WebGUI|web-gui%% の ***設定 → 管理アクセス*** に移動します。 + 2. 独自の %%DNS|dns-name-resolution%% 名前解決がない限り、**LocalTLD** は `local` のままにしてください(後で `use_ssl` コマンドを実行する場合のフォールバック証明書に使用されます)。 + 3. **Provision** をクリックして Myunraid.net 証明書を生成します。 + 4. ネットワークに %%DNS|dns-name-resolution%% リバインディングの問題がなければ、**SSL/TLS を使用** の *Strict* オプションを利用できます。 + 5. **SSL/TLS を使用** を *Strict* に設定します(古い Unraid バージョンでは *Auto*)。 + 6. アクセス URL は次のようになります: + `https://[lan-ip].[hash].myunraid.net`(例: `https://192-168-100-1.a1b2c3d4e5.myunraid.net`) + + [Unraid Connect プラグイン](../../../unraid-connect/overview-and-setup.mdx) をインストールすると、Connect ダッシュボードにも表示されます。 + + :::caution + %%DNS|dns-name-resolution%% が利用できなくなった場合(たとえばインターネット接続が切れた場合)、Myunraid.net の URL を使って %%WebGUI|web-gui%% にアクセスできなくなります。 + ::: + + アクセスを回復するには: + + - Telnet、%%SSH|ssh%%、またはローカルに接続したキーボード/モニターを使ってログインします。 + - `use_ssl no` を実行して HTTP に切り替えます(`http://[servername].[localTLD]` または `http://[ipaddress]`)。 + - `use_ssl yes` を実行して、自己署名証明書を使用した HTTPS に切り替えます(`https://[servername].[localTLD]` または `https://[ipaddress]`)。詳細は上の [自己署名証明書を使用した HTTPS](#https-with-self-signed-certificate) を参照してください。 + - %%DNS|dns-name-resolution%% が復旧したら、完全なセキュリティのために **SSL/TLS を使用** を再び *Strict* に設定してください。 + ::: + +
+ +--- + +## リダイレクト + +`http://[servername].[localTLD]` にアクセスしたときのリダイレクト動作は、**SSL/TLS を使用** の設定によって異なります: + +- **Strict**: `https://[lan-ip].[hash].myunraid.net` にリダイレクトされます。 + :::note + %%DNS|dns-name-resolution%% が利用できない場合、ローカルアクセスが難しくなることがあります。[フォールバック URL なしの Myunraid.net 証明書を使用した HTTPS](#https-with-myunraidnet-certificate-and-with-no-fallback-url) の注意事項を参照してください。 + ::: + +- **Yes**: `https://[servername].[localTLD]` にリダイレクトされます。インターネット接続が切れていても動作します。 + +- **No**: HTTP URL が直接読み込まれ、リダイレクトも暗号化もありません。 + +:::tip + +リダイレクトは HTTPS URL ではなく、HTTP URL から開始した場合にのみ機能します。 + +::: + +--- + +## カスタム証明書 + +カスタム証明書を使用すると、商用の認証局によって発行された証明書や、ドメイン用のワイルドカード証明書など、独自の %%SSL|ssl%% 証明書で Unraid %%WebGUI|web-gui%% を保護できます。 + +カスタム証明書とは、Unraid や Let's Encrypt が生成したものではなく、自分で提供して管理する %%SSL|ssl%% 証明書のことです。これは、独自のドメイン名やワイルドカード証明書を使いたい場合、または組織の PKI インフラストラクチャと統合したい場合に便利です。 + +:::info[When カスタム証明書を使用する場合、責任は... + +- 信頼された認証局(CA)から証明書を取得する +- 選択したドメインの %%DNS|dns-name-resolution%% レコードを管理する +- 必要に応じて証明書をアップロードし、更新する +- 証明書がサーバーのドメイン名と一致していることを確認する(Subject または Subject Alternative Name フィールド) + +::: + +証明書が無効であるか、サーバーの URL と一致しない場合、Unraid はそれを削除して既定の証明書に戻します。 + +### カスタム証明書を使用した HTTPS(Unraid Connect リモートアクセスを任意で使用) + +
+ カスタム証明書を使用した HTTPS でアクセス - クリックして展開/折りたたむ + + 1. Go to ***Settings → Management Access***. + 2. **SSL/TLS を使用** を *Yes* に設定します。 + 3. **Local TLD** を、証明書の Subject で使用されているドメイン名に設定します。 + 4. `https://[servername].[localTLD]`(例: `https://tower.mydomain.com`)でサーバーにアクセスします。この URL の DNS は自分で管理する必要があります。 + 5. 証明書を `/boot/config/ssl/certs/[servername]_unraid_bundle.pem` にアップロードします。 + 6. 証明書は `[servername].[localTLD]` に対して有効であるか、ワイルドカード `*.[localTLD]` でなければなりません(`[localTLD]` は **Local TLD** フィールドに入力した値と完全に一致する必要があります)。 + - ドメインは Subject または Subject Alternative Name フィールドに含まれている必要があります(Unraid 6.10.3 以降は SAN をサポートします)。 + - 証明書が一致しない場合、Unraid はそれを削除します。 + 7. 必要に応じて、[Unraid Connect リモートアクセス](../../../unraid-connect/remote-access.mdx) を有効にして、安全でブラウザーに信頼されるリモート管理を行えます。 + + :::tip + ワイルドカード証明書の場合は、証明書の Subject Alternative Name または Subject フィールドに `*.[localTLD]` が含まれていることを確認してください。ここでの `[localTLD]` は、**管理アクセス** の **Local TLD** フィールドに入力した値と完全に一致している必要があります。 + ::: + +
+ +--- + +## SSL のトラブルシューティングと詳細設定 + +このセクションでは、myunraid.net 証明書を使用する際に発生しがちな SSL 関連の問題と詳細設定オプションを扱います。Unraid Connect をインストールしているかどうかは関係ありません。 + +### DNS リバインディング保護 + +DNS リバインディング保護は、多くのルーターに備わっているセキュリティ機能で、パブリック DNS エントリがローカル IP アドレスに解決されるのを防ぎます。これは、ネットワークを特定の攻撃から保護するのに役立ちますが、Unraid %%WebGUI|web-gui%% のローカルアクセスに %%SSL|ssl%% 証明書を使用しようとすると問題が発生することがあります。 + +%%SSL|ssl%% 証明書をプロビジョニングしようとして DNS リバインディング エラーが発生した場合(たとえば、**Provision** ボタンをクリックした後)、次の手順を試してください: + +- エラーメッセージで **OK** をクリックし、2〜5 分待ってから再試行します。 +- エラーが続く場合は、ルーターの設定で「DNS リバインディング保護」またはそれに類する項目を確認してください。 +- `myunraid.net` ドメインに対する DNS リバインディングを許可します。 +- DNS の変更が反映されるまで時間がかかることがあるため、更新後に再びエラーが表示される場合があります。 + +具体的な手順は、ルーターの機種やファームウェアによって異なる場合があります。 + +### DNS が停止しているときのサーバーへのアクセス + +myunraid.net 証明書で %%SSL|ssl%% が有効になっている場合、通常は次のような完全修飾ドメイン名(FQDN)を使って Unraid サーバーにアクセスします: + +``` +https://ip.yourpersonalhash.myunraid.net +``` + +または、カスタム HTTPS ポートを使用している場合は: + +``` +https://ip.yourpersonalhash.myunraid.net: +``` + +これにより、安全なアクセスに有効な %%SSL|ssl%% 証明書が使われます。ただし、インターネット接続が切れ、ブラウザーに DNS エントリがキャッシュされていない場合は、%%WebGUI|web-gui%% へのアクセスを失う可能性があります。 + +DNS またはインターネットへのアクセスを失った場合: + +- **SSL/TLS を使用** が **Yes** に設定されている場合は、次の URL でサーバーへのアクセスを試してください: + ``` + https://[servername].[localTLD] + ``` + またはカスタムポートを使用している場合は: + ``` + https://servername.[localTLD]: + ``` + +- これでも動作しない場合、または **SSL/TLS を使用** が **Strict** に設定されている場合: + 1. telnet、%%SSH|ssh%%、または直接接続したキーボード/モニターを使ってサーバーにログインします。 + 2. 次のコマンドを実行します: + ```bash + use_ssl no + ``` + 3. これで %%WebGUI|web-gui%% に次の URL でアクセスできます: + ``` + http:// + ``` + または、カスタムポートを使用している場合: + ``` + http://: + ``` + (注: これは HTTP であり、HTTPS ではありません。) + +インターネット接続が復旧したら、***設定 → 管理アクセス*** に移動し、**SSL/TLS を使用** を **Strict** に戻してローカル SSL を再有効化します。 + +### ローカルアクセス用の SSL を無効にする + +信頼できるホームネットワークでシンプルな HTTP 接続を使いたい場合や、%%SSL|ssl%% 証明書のプロビジョニング、DNS リバインディング、ブラウザー互換性に継続的な問題がある場合は、ローカルアクセス用の %%SSL|ssl%% を無効にすべきです。 + +ローカルアクセス用の %%SSL|ssl%% を無効にするには: + +1. WebGUI の ***設定 → 管理アクセス*** に移動します。 +2. **SSL/TLS を使用** を **No** に設定します。 +3. **Apply** をクリックします。 + +安全なリモート接続には %%SSL|ssl%% が必要なため、この変更により Remote Access 機能も無効になります。 + +:::caution + +%%SSL|ssl%% を無効にすると、%%WebGUI|web-gui%% は暗号化されていない HTTP でアクセス可能になります。これにより、ログイン認証情報とセッションデータがローカルネットワーク上の誰にも見えてしまうため、ネットワークが安全でリモートアクセスが不要だと確信できる場合を除き、推奨されません。最高のセキュリティのため、可能な限り %%SSL|ssl%% は有効のままにしてください。 + +::: + +:::note + +%%SSL|ssl%% の管理は Unraid の中核機能であり、Unraid Connect プラグインに依存しません。%%SSL|ssl%% を無効にしても、他の Unraid 機能には影響しません。 + +::: From 931e0f0383b9f3d1e9d424be32bf65198240426a Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:28:32 -0400 Subject: [PATCH 162/437] New translations securing-your-data.mdx (Japanese) --- .../secure-your-server/securing-your-data.mdx | 63 +++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/securing-your-data.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/securing-your-data.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/securing-your-data.mdx new file mode 100644 index 00000000000..83389866c18 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/securing-your-data.mdx @@ -0,0 +1,63 @@ +--- +sidebar_position: 5 +sidebar_label: データの暗号化 +--- + +# データの暗号化 + +Unraid でドライブを暗号化すると、機密データを保護する強力な層が追加され、ドライブが紛失または盗難に遭った場合の不正アクセス防止に役立ちます。暗号化は %%array|array%% と %%cache pool|cache-pool%% で利用できます。ただし、暗号化はデータ復旧を複雑にする可能性があるため、機密性が必要な場合、たとえば個人情報、 ব্যবস業務情報、または規制対象情報を保存する場合などにのみ使用してください。 + +:::caution + +暗号化はデータのセキュリティを高めますが、ハードウェア障害からの復旧を複雑にする場合があります。**本当に必要で、信頼できるバックアップ体制がある場合にのみ暗号化を有効にしてください。** 暗号化キーまたはキーファイルを失うと、データには永久にアクセスできなくなります。 + +::: + +
+ ドライブの暗号化を検討すべきなのはどんなときですか? - クリックして展開/折りたたみ + + - Unraid サーバーに機密、規制対象、または機微なデータを保存している。 + - ドライブが物理的に取り外されたり盗難に遭ったりした場合のデータ盗難が心配である。 + - 組織上または法的なデータ保護要件に準拠する必要がある。 + + Unraid を主に家庭用メディアや機微でないファイルに使っている場合、暗号化は不要であり、トラブルシューティングや復旧を複雑にする可能性があります。 + +
+ +## Unraid でドライブを暗号化する方法 + +:::warning + +ドライブを暗号化すると、そのドライブ上の既存データはすべて消去されます。 + +::: + +:::important[Before 暗号化中] + +Move all data off the drive you want to encrypt to another location (another drive in your %%array|array%%, a %%cache pool|cache-pool%%, or external backup). For details on safely moving your data, see [Converting to a new file system type](../../using-unraid-to/manage-storage/file-systems.mdx#converting-to-a-new-file-system-type). + +::: + +ドライブを暗号化するには: + +1. Go to the **Main** tab in the %%WebGUI|web-gui%%. +2. %%array|array%% を停止します。 +3. 暗号化したいドライブを選択します。 +4. **ファイルシステムの種類** で、希望するファイルシステムの暗号化版を選択します(例: `xfs-encrypted`、`btrfs-encrypted`)。 +5. **適用** をクリックして変更を確定します。 +6. **完了** をクリックして **Main** タブに戻ります。これでそのドライブはマウントできない状態として表示され、マウントできないドライブをフォーマットするオプションが表示されます。 +7. 正しいドライブを選択したことを再確認し、暗号化の設定を完了するために [フォーマット](../../using-unraid-to/manage-storage/file-systems.mdx#creating-a-file-system-formatting) します。 + +After enabling encryption, you must provide the encryption key or key file each time you start the %%array|array%%. Once unlocked, encrypted drives function just like any other volume in Unraid. + +--- + +## 暗号化キーの管理 + +Unraid では、システム内のすべての暗号化ドライブに同じ暗号化キーまたはキーファイルが必要です。 + +- パスフレーズまたはキーファイル(ランダムな画像ファイルなど)を使用できます。 +- 暗号化キーまたはキーファイルは、安全なオフラインの場所に保管してください。キーの保管を Unraid サーバーだけに依存しないでください。 +- キーまたはキーファイルを失うと、暗号化されたデータは復元できません—例外はありません。 + +暗号化されたドライブは業界標準の %%LUKS|luks%% 形式を使用しており、正しいキーがあれば最新の Linux システムでロック解除できます。 From 526fab3b053fe6612718721d0946c1d6cacbd987 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:28:33 -0400 Subject: [PATCH 163/437] New translations security-fundamentals.mdx (Japanese) --- .../security-fundamentals.mdx | 182 ++++++++++++++++++ 1 file changed, 182 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/security-fundamentals.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/security-fundamentals.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/security-fundamentals.mdx new file mode 100644 index 00000000000..15ca1b769c3 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/security-fundamentals.mdx @@ -0,0 +1,182 @@ +--- +sidebar_position: 1 +sidebar_label: セキュリティの基本 +--- + +# セキュリティの基本 + +:::note[Principle の最小権限 + +最小権限の原則とは、ユーザーやデバイスに、タスクの実行に必要な最小限のアクセスのみを付与し、それ以上は与えないことです。このアプローチは、侵害されたアカウントや誤操作による潜在的な被害を抑え、ゼロトラストモデルを含む現代のセキュリティにおける中核的な概念です。Unraid の設定全体、特に共有ユーザーの作成や権限の割り当てで、この原則を適用してください。 + +::: + +## 共有フォルダーへのアクセス制御 + +### ネットワークファイル共有プロトコルの選択 + +ホームやオフィスのネットワーク上で Unraid サーバーとファイルを共有する場合、接続方法についていくつかの選択肢があります。Unraid は、デバイス同士の通信を助ける通信プロトコルと呼ばれる一般的な方法をサポートしています。 + +| プロトコル | 主な用途 | 利点 | 欠点 | 推奨される使用例 | +| ------------------------------------- | ----------------------- | ------------------------------------------------- | ------------------------------------------- | ----------------------------------------------------------------------------- | +| %%SMB\|samba%% (Server Message Block) | ネイティブの Windows/macOS 統合 | Windows の標準サポート。プリンターと VM ストレージをサポートし、大きなファイルでも高速 | 古いバージョン(SMBv1)は安全ではない。小さなファイルでは遅い | Windows と Mac のネットワーク。混在したリソース環境(プリンター、VM) | +| %%NFS\|nfs%% (Network File System) | ネイティブの Unix/Linux 統合 | Linux/Unix 向けに最適化。小さなファイルで効率的。オーバーヘッドが低い | Windows では追加ツールが必要。ネットワークの信頼性が重要。ロック機能が限定的 | Linux および Unix 環境。小さなファイル操作。静的なデータワークロード | +| %%FTP\|ftp%% (File Transfer Protocol) | クロスプラットフォームの互換性 | 汎用的なクライアントサポート。簡単なセットアップ。バッチファイル転送 | 暗号化のない平文プロトコル。資格情報は暗号化されずに送信される。時代遅れのセキュリティ | 機密性のない転送やレガシー転送のみ。安全なファイル転送には FTPS(TLS による FTP)または SFTP(SSH による FTP)を使用してください | + +:::important + +Unraid のバージョン 6.9 以降、**%%AFP|AFP%% (Apple Filing Protocol)** のサポートは削除されました。Time Machine バックアップなどを含め、Mac コンピューターが Unraid サーバーと問題なく連携できるようにするには、***Settings → SMB*** に移動して **Enhanced macOS interoperability** をオンにしてください。 + +::: + +使用するプロトコルの選択は、使用するデバイスの種類とファイルに対して何をしたいかによって決まります。既定では、Unraid は現代の Windows および macOS システムで広くサポートされているため、%%SMB|samba%% を有効にします。%%NFS|nfs%% と %%FTP|ftp%% はオフになっていますが、必要に応じて有効にできます。 + +たとえば、%%FTP|ftp%% クライアントを使って Unraid サーバーに接続すると、大きなファイルを簡単に転送でき、必要に応じてアップロードやダウンロードを一時停止して再開することもできます。 + +--- + +### 共有のネットワーク上での表示を管理する + +Unraid では、ネットワークフォルダー(共有)へのアクセス権を次のように設定できます: + +1. **Shares タブへ移動**: まず、%%WebGUI|web-gui%% の **Shares** タブをクリックします。 + +2. **共有を選択**: 調整したい既存の共有を選びます。 + +3. **セキュリティ設定までスクロール**: 共有設定ページの下部に、有効になっている各ネットワークプロトコルのセキュリティオプションのセクションがあります。 + +4. **公開設定を調整**: この設定は、共有がネットワーク上でどのように表示されるかを制御します。選択肢は 3 つあります: + + - **Yes**: 共有は表示され、ネットワークを閲覧している人なら誰でもアクセスできます。 + - **Yes (Hidden)**: 共有はネットワークの参照リストには表示されませんが、共有名を知っている人は引き続きアクセスできます。 + - **No**: 共有は完全に非表示で、その特定のプロトコルではアクセスできません。 + +これらのオプションを調整することで、各共有を誰が見てアクセスできるかを管理でき、必要な人に必要なアクセスを確保しながら、%%SMB|samba%%、%%NFS|nfs%%、または %%FTP|ftp%% 接続を使用する場合でも、全体のセキュリティを維持しやすくなります。 + +--- + +### 共有の権限を設定する + +共有セキュリティは、システム上でユーザーが共有ファイルにどのようにアクセスするかを制御します。ファイルへのアクセスにユーザー名とパスワードを必須にする、読み取り専用に制限する、あるいは資格情報なしで完全に公開するように設定できます。 + +:::note\[Example] + +Unraid サーバーに `movies` 共有を作成する場合、データの読み取りだけに有効なユーザー名とパスワードを要求するか、公開アクセスを許可するかを選べます。ユーザーを追加する必要がある場合は、%%root user|root-user%% が [**User management**](./user-management.mdx#add-users) の手順に従って共有ユーザーを作成できます。 + +::: + +**Shares** タブに移動して共有を選択すると、設定内容が表示されます。そこにはセキュリティセクションがあり、有効にしているプロトコルに基づいて [アクセス権](#managing-network-visibility-of-shares) を管理できます。これにより、必要に応じて誰がファイルにアクセスできるかを調整できます。 + +**Security** 設定には次のオプションがあります: + +| 種類 | 説明 | 一般的な使用例 | +| ----------- | --------------------------------------------- | ------------------------------------ | +| **Public** | オープンアクセス: 誰でもこのフォルダーを読み書きできます。 | 共有メディアや公開ダウンロードなど、機密性のない情報に適しています。 | +| **Secure** | 制限付きアクセス: 誰でも読み取りはできますが、書き込みできるのは一部のユーザーのみです。 | チームフォルダーのように共同作業が必要な共有プロジェクトに適しています。 | +| **Private** | 制限付きアクセス: 特定のユーザーだけが読み書きできます。 | 財務記録や個人文書など、機密性の高い情報に最適です。 | + +:::caution[Windows SMB アクセス] + +最新の Windows(Windows 10 1709 以降、Windows 11、Server 2019 以降)は、より厳格なセキュリティポリシーのため、既定で **Public**(ゲスト/匿名)%%SMB|samba%% 共有へのアクセスをブロックします。公開共有への接続を試みると、Windows の設定で安全性の低いゲスト ログオンを手動で有効にしない限り、通常は失敗します。これはセキュリティ上の理由から推奨されません。 + +**ベストプラクティス:** Unraid の共有用にユーザーアカウントとパスワードを設定し、Windows からの確実なアクセスのためにその資格情報で接続してください。 + +**資格情報の制限:** Windows では、1 つのサーバーに対して同時に使用できるログイン資格情報は 1 セット మాత్రమేです。 同じサーバー上の別の共有に異なる資格情報で接続しようとすると、接続は失敗します。 + +**回避策:** 資格情報の問題が発生した場合は、1 つの共有にはサーバー名を使って、別の共有には IP アドレスを使って接続してみてください。Windows では、これらは別々のサーバーとして扱われます。 + +詳細については、[Microsoft の SMB ゲスト アクセスに関するドキュメント](https://learn.microsoft.com/en-us/windows-server/storage/file-server/enable-insecure-guest-logons-smb2-and-smb3) を参照してください。 + +::: + +--- + +## ネットワークセキュリティ + +### 強力な root パスワードを設定する + +インストール後に %%WebGUI|web-gui%% に初めてアクセスすると、%%root user|root-user%% のパスワードを設定する必要があります。ただし、Unraid ではパスワード強度の要件は強制されません。サーバーのパスワード保護の程度は、ユーザー自身が決める必要があります。 + +- **Users** タブに移動し、%%root user|root-user%% を選択して、パスワードを設定します。 +- リアルタイムで強度を確認するために、[Community Apps](../../using-unraid-to/run-docker-containers/community-applications.mdx) の **Dynamix Password Validator** プラグインの使用を検討してください。 +- 追加のガイダンスについては、オンラインで提供されている [Bitwarden のパスワード強度ツール](https://bitwarden.com/) を確認してください。 + +### ポートフォワーディングを見直し、最小限にする + +ルーターから Unraid サーバーへポートを転送することは、サービスへのリモートアクセスに必要な場合がありますが、ネットワークを大きなリスクにさらします。完全に理解しており、必要なポートだけを転送してください。 + +| ポート | 典型的な用途 | セキュリティリスク | より安全な代替手段 | +| ---------- | ------------------------------------ | -------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | +| 80 / 443 | %%WebGUI\|web-gui%% (HTTP/HTTPS) | 管理インターフェースを公開します。パスワードが弱い場合、傍受やブルートフォース攻撃のリスクがあります | リモートアクセスには Unraid Connect または VPN を使用してください。なお、Unraid Connect には WAN ポートフォワーディングまたは UPnP が必要です(常時接続のクラウドリレーではありません) | +| 445 | %%SMB\|samba%% (ファイル共有) | 共有をインターネットに公開します。データの盗難や削除のリスクがあります | 安全なリモートファイルアクセスには VPN を使用してください | +| 111 / 2049 | %%NFS\|nfs%% | %%NFS\|nfs%% 共有を公開します。%%SMB\|samba%% と同様のリスクがあります | リモートアクセスには VPN を使用してください | +| 22 / 23 | %%SSH\|ssh%%/Telnet | コンソールアクセスを公開します。ブルートフォース攻撃や資格情報の盗難のリスクがあります | %%SSH\|ssh%% 鍵または VPN を使用してください。Telnet は絶対に転送しないでください | +| 57xx | %%VNC\|vnc-session%% for %%VMs\|vm%% | %%VM\|vm%% のコンソールを公開します。不正なリモートアクセスのリスクがあります | Unraid Connect または VPN を使用してください | + +:::tip + +理解できないポートフォワーディングルールを見つけたら、削除して問題がないか監視してください。必要であれば、いつでも再追加できます。 + +::: + +:::caution + +サーバーをネットワークの DMZ に配置しないでください。Unraid サーバーを DMZ に置くと、すべてのポートがインターネットに公開され、侵害のリスクが大幅に高まります。強力なパスワードを使用していても、これは決して推奨されません。 + +::: + +--- + +## 共有アクセスのセキュリティ + +### 共有の表示と権限を制御する + +- WebGUI の **Shares** タブを使用して、各共有の公開設定とセキュリティ設定を行います。 +- 機密データには **Private** または **Secure** 共有を推奨します。**Public** 共有はネットワーク上の誰でもアクセスでき、セキュリティ上の理由から最新の Windows では既定でブロックされます。 +- 各ユーザーアカウントには、その役割に必要な権限だけを割り当てます(最小権限)。 +- 可能な限り、共有アクセスを特定のユーザーに制限します。 + +### ユーザー権限を慎重に割り当てる + +- 必要に応じて、ユーザーを共有に対して読み取り専用または読み取り/書き込みアクセスで割り当てます。 +- %%root user|root-user%% アカウントはシステム管理用であり、ネットワーク共有にはアクセスできません。ネットワーク共有へのアクセスには専用のユーザーアカウントを作成してください。 +- 定期的にユーザー権限を確認し、使用していないアカウントを削除します。 + +### 共有アクセスを Private または読み取り専用に制限する + +パスワードなしで共有にアクセスできるのは便利ですが、ローカルネットワーク上のデバイスが侵害された場合、データが危険にさらされる可能性もあります。これには、PC、Mac、モバイルデバイス、IoT デバイスが含まれます。既定では、Unraid の共有は公開の読み書き可能に設定されているため、ネットワーク上のどのデバイスでも、侵害されればファイルを盗んだり、削除したり、暗号化したりできる可能性があります。さらに、悪意のあるユーザーが望ましくないデータをサーバーにアップロードすることもあります。 + +- WebGUI の **shares** タブで、機密性の高い共有を **Private** に設定します。 +- **Public** 共有が必要な場合でも、可能な限り **Read-only** に設定します。 +- 書き込みアクセスは、強力なパスワードを持つ認証済みユーザーのみに付与してください。 + +### Avoid exposing the boot device share - or make it private + +The Unraid boot device contains critical system and configuration files. While it may be convenient to expose its %%SMB|samba%% share (often still named **`flash`** on disk, even when the %%WebGUI|web-gui%% labels the volume **Boot device** on 7.3.0+) for advanced configuration, this introduces significant risk if left public. + +- Only expose that share if absolutely necessary and set it to **Private**. +- アクセスにはユーザー名と強力なパスワードを必須にします。 +- 使用しないときは共有を削除または無効化して、リスクを減らします。 + +### サーバーを最新の状態に保つ + +定期的な更新はセキュリティに不可欠です。新しい脆弱性(CVE)は頻繁に見つかり、Lime Technology は Unraid OS 向けに積極的にパッチを提供しています。更新は、実際に適用して初めて効果があります。 + +- %%WebGUI|web-gui%% の ***Tools → Update OS*** で更新を確認します。 +- ***Settings → Notifications*** で通知を有効にすると、更新が利用可能になったときに通知を受け取れます。 +- **Apps** タブからプラグインと Docker コンテナを更新し、すべてのコンポーネントが安全かつ互換性のある状態を保ちます。 +- 既知の脅威からサーバーを保護するため、更新は速やかに適用してください。 + +### リモート管理には安全な方法を使用する + +%%WebGUI|web-gui%% をインターネットに直接公開しないでください。代わりに、安全なリモートアクセスソリューションを使用します: + +- **%%Tailscale|tailscale%%** は、Unraid 用の専用プラグインがある推奨 विकल्पです。ポートを公開したり複雑なファイアウォールルールを構成したりせずに、どこからでもサーバーやサービスにアクセスできる安全なプライベートネットワーク(tailnet)を作成します。 +- **%%WireGuard|wireguard%% VPN** は Unraid に組み込まれており、リモート管理のための安全で暗号化されたトンネルを提供します。 +- **%%OpenVPN|openvpn%%** はプラグインまたは Docker コンテナとして利用できます。 +- 多くの最新ルーターには VPN サポートが組み込まれています。設定方法はルーターのドキュメントを確認してください。 +- [Unraid Connect](../../../unraid-connect/overview-and-setup.mdx) プラグインは %%WebGUI|web-gui%% へのリモートアクセスを可能にしますが、ルーターでポート転送を設定する必要があります。 + +--- + +\* *"%%WireGuard|wireguard%%" and the "%%WireGuard|wireguard%%" logo are registered trademarks of Jason A. Donenfeld.* From 5161a93f8ab4389db421b4dd23946c864d3d0450 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:28:35 -0400 Subject: [PATCH 164/437] New translations tailscale.mdx (Japanese) --- .../secure-your-server/tailscale.mdx | 226 ++++++++++++++++++ 1 file changed, 226 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/tailscale.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/tailscale.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/tailscale.mdx new file mode 100644 index 00000000000..7cc49d5ead5 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/tailscale.mdx @@ -0,0 +1,226 @@ +--- +sidebar_position: 6 +sidebar_label: Tailscale +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Tailscale + +Unraid は、シームレスで安全なネットワーク接続をサーバーに直接もたらす技術提携により、[%%Tailscale|tailscale%%](https://tailscale.com/) との深い統合を実現しました。%%Tailscale|tailscale%% は従来型の VPN ではなく、%%WireGuard|wireguard%% 上に構築された最新のピアツーピア・オーバーレイ ネットワークです。これにより、物理的な場所やネットワーク環境に関係なく、デバイス、サーバー、個々の Docker コンテナを安全なプライベート ネットワーク(%%Tailnet|tailnet%%)に接続できます。Unraid との提携により、%%Tailscale|tailscale%% プラグインは完全に保守され、緊密に統合されます。Unraid 7 以降では、ネイティブの証明書サポートと高度な機能も利用できます。 + +- **簡単なセットアップ:** ポートフォワーディングやファイアウォールの煩わしさはありません。 +- **強力なセキュリティ:** 内部では %%WireGuard|wireguard%% 暗号化を使用しています。 +- **柔軟な共有:** ネットワーク全体ではなく、特定のデバイスやコンテナだけにアクセス権を付与できます。 +- **充実したサポート:** 公式に保守されるプラグインで、継続的な機能強化が行われます。 + +--- + +## Tailscale を始める + +まず、[無料の Tailscale アカウントに登録](https://login.tailscale.com/start)し、少なくとも 1 台のデバイス(Windows、macOS、Linux、iOS、Android など)にクライアントをインストールします。無料アカウントでは最大 3 ユーザーと 100 台のデバイスをサポートします。 + +Unraid を追加する前に、次を確認してください: + +- 識別しやすくするために [%%Tailnet|tailnet%% の名前を変更](https://tailscale.com/kb/1217/tailnet-name)します。 +- デバイス名を簡略化するために [%%MagicDNS|magicdns%%](https://tailscale.com/kb/1081/magicdns) を有効にします。 +- 安全で信頼できるアクセスのために [HTTPS 証明書](https://tailscale.com/kb/1153/enabling-https) を有効にします。 + +:::note + +HTTPS 証明書内のマシン名は公開されます。公開しても問題ない名前を使用してください。 + +::: + +### Unraid への Tailscale の追加 + +以下の手順は Unraid 7 以降で有効かつ最新です: + +1. 上記のとおり Tailscale アカウント設定を確認します。 +2. Unraid で [**Community Apps**](../../using-unraid-to/run-docker-containers/community-applications.mdx) タブを開き、公式の %%Tailscale|tailscale%% プラグインを検索してインストールします。 +3. ***Settings → Tailscale*** を開き、Reauthenticate をクリックします。%%Tailscale|tailscale%% アカウントでサインインします。 +4. **Connect** をクリックして、Unraid サーバーを %%Tailnet|tailnet%% に追加します。 +5. ***Settings → Management Access*** に移動して、%%WebGUI|web-gui%% 用の %%Tailscale|tailscale%% URL を確認します。 +6. In ***Settings → Tailscale***, find your server's %%Tailnet|tailnet%% name and IP. Use these to access SMB/NFS shares, Docker containers, and more from any device on your %%Tailnet|tailnet%%. + \+7. (Optional) Enable **Include Tailscale peers in /etc/hosts** (see [Enhanced hostname resolution](#enhanced-hostname-resolution)) to automatically add Tailscale devices to your server's hostname resolution, making it easier to access other devices on your %%Tailnet|tailnet%%. + +### サブネットルーティング(オプション) + +メインの LAN IP で Unraid サーバーにアクセスするには、または独自の IP を持つ Docker コンテナに पहुंच? + +1. Go to ***Settings → Tailscale***, click **Reauthenticate**, and sign in with your Tailscale account. +2. In the Tailscale settings, locate the **Advertise Routes** section and add: + - Your Unraid server's IP (e.g., `192.168.0.12/32`), or + - Your whole network's subnet (e.g., `192.168.0.0/24`). +3. **Apply** をクリックして変更を保存します。 +4. Log in to your [Tailscale admin console](https://login.tailscale.com/admin) and navigate to the **Machines** page. +5. Locate your Unraid server and approve the pending route for the advertised subnet. +6. 承認されると、%%Tailnet|tailnet%% 上のデバイスは通常の IP アドレスで Unraid サーバーや LAN デバイスにアクセスできるようになります。 + +:::note + +For advanced details, see the [%%Tailscale|tailscale%% subnet routing documentation](https://tailscale.com/kb/1019/subnets). + +::: + +### Enhanced hostname resolution + +The Tailscale plugin includes an option to automatically add Tailscale peers to your server's `/etc/hosts` file. This feature simplifies device access by enabling hostname-based connections to other devices on your %%Tailnet|tailnet%%. + +Benefits include: + +- Accessing other Tailscale devices using friendly hostnames instead of IP addresses. +- Automatic updates when devices join or leave your %%Tailnet|tailnet%%. +- Improved compatibility with applications that rely on hostname resolution. + +To enable this feature: + +1. Go to ***Settings → Tailscale*** in the %%WebGUI|web-gui%%. +2. Enable the **Include Tailscale peers in /etc/hosts** option. +3. **Apply** をクリックして変更を保存します。 + +Once enabled, you can access other devices on your %%Tailnet|tailnet%% using their Tailscale hostnames from your Unraid server, making it easier to configure services, access shared resources, and manage your network. + +--- + +## Docker コンテナへの Tailscale の追加 + +Unraid を使うと、[Docker コンテナ](../../using-unraid-to/run-docker-containers/overview.mdx) を %%Tailnet|tailnet%% に簡単に接続でき、各コンテナに一意のデバイス ID を付与して、安全で柔軟なリモートアクセスを実現できます。この統合により、サーバー全体を公開することなく個々のコンテナへのアクセスを共有でき、exit node、Serve、Funnel などの高度な機能もコンテナごとに利用できます。セットアップは完全に自動化されているため、あらゆるスキルレベルのユーザーが、強化されたセキュリティと効率化されたネットワークの恩恵を受けられます。 + +
+ Tailscale と Docker の統合の仕組み - クリックして展開/折りたたみ + + Docker コンテナで **Use %%Tailscale|tailscale%%** を有効にして変更を適用すると、Unraid はシームレスな統合のために次の手順を自動化します: + + 1. **Entrypoint の抽出:** Unraid はコンテナの元の Entrypoint と CMD を特定し、想定された起動動作を維持します。 + 2. **統合スクリプトの注入:** `tailscale_container_hook` スクリプトがコンテナ内にマウントされ、Entrypoint はまずこのスクリプトを実行するよう更新されます。 + 3. **環境設定:** 元の Entrypoint、CMD、および必要なすべての %%Tailscale|tailscale%% 変数が Docker run コマンドに渡されます。 + 4. **%%Tailscale|tailscale%% の初期化:** 起動時に、フック スクリプトが必要な依存関係をインストールし、%%Tailscale|tailscale%% クライアントをコンテナ内でダウンロードして起動します。 + 5. **通常起動:** その後、スクリプトがコンテナの元の Entrypoint と CMD を起動するため、アプリケーションは通常どおり実行されます。Tailscale のネットワークが自動的に重ねて適用されます。 + + 有効にすると、コンテナは Tailnet 上で独自のデバイスとして表示され、手動でのネットワーク設定やポートフォワーディングなしで、安全なアクセスと高度な Tailscale 機能を利用できるようになります。 + +
+ +:::warning[Container 互換性] + +Tailscale の統合はすべてのコンテナで動作するわけではありません。特に次のようなコンテナでは、Tailscale を有効にするとまったく機能しない場合があります: + +- カスタムネットワーク要件 +- 特定のネットワーク分離の要件 +- Tailscale のネットワーク変更と競合するアプリケーション + +まずは重要でないコンテナで Tailscale 統合をテストし、コンテナが正常に動作しなくなった場合は無効化できるようにしておいてください。 + +::: + +:::note\[Prerequisites] + +- まず、Docker コンテナにアクセスする任意のコンピューターに %%Tailscale|tailscale%% をインストールします。 +- Docker との統合には Unraid の Tailscale プラグインは厳密には必須ではありませんが、最良の体験のためにインストールして Unraid サーバーでサインインすることを強く推奨します。 + +::: + +Docker コンテナに %%Tailscale|tailscale%% を追加するには: + +1. [はじめに](#getting-started-with-tailscale) で説明したように、%%Tailscale|tailscale%% アカウント設定を確認します。 +2. Unraid で **Docker** タブを開き、[対象のコンテナを編集](../../using-unraid-to/run-docker-containers/managing-and-customizing-containers.mdx)します。 +3. **Use Tailscale** スイッチを有効にします。 +4. コンテナの **Tailscale ホスト名** を入力します(Tailnet 内で一意である必要があります)。 + +:::warning + +このホスト名用の HTTPS 証明書が生成され、公開証明書台帳に掲載されます。公開しても問題ない名前を選んでください。詳細は [Tailscale HTTPS ドキュメント](https://tailscale.com/kb/1153/enabling-https) を参照してください。 + +::: + +5. このコンテナを exit node にするかどうかを決めます(VPN コンテナに便利です)。 +6. Choose whether the container should use an exit node for its outgoing traffic. If the Tailscale plugin is installed, you’ll see a list of available exit nodes; otherwise, enter the IP manually. +7. exit node を使用する場合、このコンテナが LAN にもアクセスできるようにするかどうかを指定します。 +8. Tailscale の **Userspace Networking** フィールドは通常自動的に設定されます。特別な理由がない限り無効のままにしてください。 +9. **%%Tailscale|tailscale%% %%SSH|ssh%%** を有効にするかどうかを決めます(%%Tailscale|tailscale%% による認証付きのセキュアシェル アクセス)。 + +:::info[Serve vs. Funnel] + +- **Serve**: フレンドリーな HTTPS URL を使って、Tailnet からコンテナの Web サイトや Web サービスに安全にアクセスできます。ポートフォワーディングは不要で、Tailnet デバイスのみが接続できます。 +- **Funnel**: 一意の HTTPS URL を通じて、コンテナの Web サイトを公開インターネットに公開します。リンクを知っていれば、Tailnet に参加していなくても誰でもアクセスできます。サービスを広いインターネットに公開するため、注意して使用してください。 + +::: + +10. **Serve** を有効にするとコンテナの Web インターフェースを Tailnet にリバースプロキシでき、**Funnel** を有効にすると公開インターネットからアクセスできるようになります。Unraid はコンテナの WebUI 設定に基づいて使用するポートを自動検出します。必要に応じて、詳細オプションも利用できます。 + +:::warning + +Serve または Funnel を使用する場合、追加の認証レイヤーはありません。ユーザーアクセスの管理はコンテナ側の責任です。Web アプリはそれに応じて保護してください。 + +::: + +11. **Apply** your changes and check the **Enhanced Log** or **Log Viewer** for Tailscale messages. Click the **To authenticate, visit...** link to approve the container on your Tailnet. + +:::caution\[Troubleshooting] + +**永続状態エラー** - "*ERROR: Couldn't detect persistent Docker directory for .tailscale_state*" が表示される場合: + +- コンテナを編集し、Tailscale の状態データを保存するためのマップ済みパス(例: `/container-path/`)を指定します。 +- Tailscale の **Show advanced settings** を有効にし、Tailscale の **State directory** を `/container-path/.tailscale_state` に設定します。 +- コンテナを再起動します。 +- Docker XML の作成者は、コンテナの XML ファイルに `/container-path/.tailscale_state` を追加することで、これを簡略化できます。 + +::: + +--- + +## Tailscale の更新 + +%%Tailscale|tailscale%% は、新機能とセキュリティ改善を提供するために頻繁に更新されます。Unraid システムを安全かつ互換性のある状態に保つため、Unraid の %%Tailscale|tailscale%% プラグインと、%%Tailscale|tailscale%% を使用する Docker コンテナの両方を最新に保ってください。 + +### Updating the Tailscale Plugin + +When a new version is available, update the plugin through the Unraid Apps tab just like any other plugin. The plugin is actively maintained and regularly updated with the latest Tailscale features. You can always review the latest Tailscale changes in the [%%Tailscale|tailscale%% changelog](https://tailscale.com/changelog) and the [plugin release notes](https://github.com/unraid/unraid-tailscale/releases). + +### Updating Tailscale in Docker Containers + +To update %%Tailscale|tailscale%% in Docker containers: + +1. Docker ページで、任意のコンテナの %%Tailscale|tailscale%% アイコンにカーソルを合わせます。更新がある場合は通知が表示されます。 +2. コンテナを更新するには、次のいずれかを行います: + - Switching to **Advanced View** (upper-right corner), then clicking **Force update**. + - コンテナを編集し、設定の切り替えなどの軽微な変更を加えて、**Apply** をクリックします。 + +--- + +## Userspace networking + +**Userspace networking** は、コンテナが %%Tailnet|tailnet%% およびネットワーク全体にどのように接続するかを制御します。多くの場合、コンテナに %%Tailscale|tailscale%% の WebUI URL でアクセスし、すべてのクライアント システムに %%Tailscale|tailscale%% がインストールされているなら、詳細は気にしなくて構いません。 + +- **Enabled:** コンテナは制限された環境で動作します。ほかの %%Tailnet|tailnet%% デバイスへの接続を開始したり、%%Tailscale|tailscale%% DNS を使用したりはできませんが、%%Tailscale|tailscale%% WebUI と元の WebUI URL の両方から到達可能です。 + +- **Disabled:** コンテナは完全な %%Tailnet|tailnet%% アクセスを持ち、%%Tailscale|tailscale%% DNS を使用できます。ほかの %%Tailnet|tailnet%% デバイスと通信できますが、元の WebUI URL は利用できない場合があります。 + +:::info[Feature 要件] + +- **Exit Node** に設定されたコンテナでは、常に userspace networking が有効になります。 +- **Use an Exit Node** に設定されたコンテナでは、常に userspace networking が無効になります。 + +::: + +### ネットワークタイプの互換性 + +Tailscale の統合と userspace networking の動作は、コンテナのネットワークタイプによって異なります。下の表で互換性とアクセス オプションを確認してください: + +| ネットワークタイプ | Userspace networking の既定 | 変更できますか? | WebUI アクセス (%%Tailscale\|tailscale%%) | WebUI アクセス (元) | 注記 | +| -------------------- | ------------------------ | -------- | ------------------------------------- | ------------------- | -------------------------------------------------------- | +| `host` | 無効化 | いいえ | いいえ | はい | ホストモードでは %%Tailscale\|tailscale%% 統合は利用できません | +| `bridge` | 無効化 | はい | はい | *有効*: はい *無効*: いいえ | 有効時は両方の URL を使用可能。無効時は %%Tailscale\|tailscale%% WebUI のみ | +| `eth0`/`br0`/`bond0` | 無効化 | はい | はい | はい | 設定に関係なく両方の URL にアクセス可能 | +| `container`/`wg0` | 無効(未テスト) | はい | 不明 | 不明 | 注意して使用してください。完全にはテストされていません | + +:::info[Keep ご留意ください] + +- %%Tailscale|tailscale%% WebUI URL は、%%Tailscale|tailscale%% がインストールされて %%Tailnet|tailnet%% に参加しているデバイス、または明示的な共有が有効になっている場合にのみアクセスできます。 +- ほとんどのユーザーにとって、既定設定で安全かつ信頼性の高いアクセスが提供されます。高度なオプションは、特殊なネットワーク要件向けに用意されています。 + +::: + +\* *"%%WireGuard|wireguard%%" and the "%%WireGuard|wireguard%%" logo are registered trademarks of Jason A. Donenfeld.* From b86b50ec86d59483fbfee94e1ab4b3d9a087cf2e Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:28:36 -0400 Subject: [PATCH 165/437] New translations user-management.mdx (Japanese) --- .../secure-your-server/user-management.mdx | 145 ++++++++++++++++++ 1 file changed, 145 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/user-management.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/user-management.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/user-management.mdx new file mode 100644 index 00000000000..d263455e28c --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/user-management.mdx @@ -0,0 +1,145 @@ +--- +sidebar_position: 3 +sidebar_label: ユーザー管理 +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import ResetPasswordBasic from './partials/reset-password-basic.mdx'; +import ResetPasswordAdvanced from './partials/reset-password-advanced.mdx'; + +# ユーザー管理 + +Unraid では、NAS 上のユーザー管理が簡単かつ安全に行え、初心者から上級者まで幅広く対応します。合理化されたアプローチにより混乱を抑えつつ、セキュリティとアクセス制御を堅牢に保てます。 + +:::note[Simplified アプローチ] + +従来の Linux システムとは異なり、Unraid ではシンプルなユーザーモデルを提供しています: + +- **単一の管理者(%%root|root-user%%)**: メインユーザーは 1 人だけなので、権限設定が सरल化され、セキュリティも向上します。 +- **共有中心のアクセス**: データの共有に重点を置いているため、複数ユーザー環境の複雑さを必要としないユーザーにとって扱いやすくなっています。 + +このように、Linux に詳しくなくても、NAS を安全に簡単に管理できます。 + +::: + +## 概要 + +### root ユーザー + +Unraid は、%%root|root-user%% と呼ばれる単一のスーパーユーザーで動作し、すべてを完全に制御できます。 + +%%root ユーザー|root-user%%... + +- Have full access to the %%WebGUI|web-gui%%, %%SSH|ssh%%, and Telnet interfaces. +- すべてのユーザーアカウントと設定の管理を担当します。 +- セキュリティ上の理由から、**%%SMB|samba%%**、**%%NFS|nfs%%**、または **%%FTP|ftp%%** を介してファイル共有に直接アクセスすることはできません。 +- [パスワードなしでログインするための%%SSH|ssh%%キー認証](../../system-administration/advanced-tools/command-line-interface.mdx#accessing-the-terminal) を利用できます。 + +
+ ![Root User](/img/rootuser.png) +
+ +:::important + +%%root user|root-user%% はセキュリティ維持に不可欠です。必ず [強力なパスワード](./security-fundamentals.mdx#set-a-strong-root-password) を設定し、システムの安全を保つために %%SSH|ssh%% アクセスを制限してください。 + +::: + +### 共有ユーザー + +これらのアカウントは、システムレベルの制御なしで、特定の共有にアクセスするために設計されています。 + +共有ユーザー... + +- %%root user|root-user%% によってのみ作成・管理できます。 +- (有効な場合)**%%SMB|samba%%**、**%%NFS|nfs%%**、または **%%FTP|ftp%%** を介して共有にアクセスできます。 +- Don't have access to the **%%WebGUI|web-gui%%**, **%%SSH|ssh%%**, or **Telnet**. + +
+ ![Root User](/img/shareusers.png) +
+ +--- + +## ユーザーを追加 + +別のデバイスから Unraid 上の共有ファイルに接続するには、ユーザー名とパスワードが必要です。これらの認証情報は、コンテナ内で実行される特定のアプリケーションに使用するものとは別で、それらには独自のログイン情報があります。 + +ユーザーを追加するには: + +1. **ユーザー管理を開く** + - ***Users → Shares Access***(または ***Settings → Users → Shares Access***) に移動します。 + - **ユーザーを追加** をクリックします。 + +2. **ユーザー資格情報を設定する** + - **ユーザー名**: 一意の名前を選択します(例: `john_media`)。競合を避けるため小文字のみを使用し、Windows の制限を考慮して 30 文字未満にしてください。 + + - **パスワード**: 文字、数字、記号を組み合わせて強力なパスワードを作成します。ガイドとしてパスワード強度メーターに従ってください。 + +:::note\[Optionally] + +- **説明を追加**: 「Media Library Access」のようなメモを記入します。 +- **カスタム画像**: 視覚的に識別するために、PNG 画像(ユーザーのアバターなど)をアップロードします。 + +::: + +
+ ![Root User](/img/adduser.png) +
+ +3. **追加** を選択してユーザーを作成します。 + +--- + +## ユーザーを削除 + +不要になったユーザーアカウントは、Unraid で簡単に削除できます。 + +:::caution + +ユーザーアカウントの削除は完全に実行され、共有および共有リソースへのアクセスは直ちに失われます。 + +::: + +ユーザーを削除するには: + +1. **Users** メニューに移動し、削除したいユーザーアカウント名をクリックします。 +2. **Delete** と表示されたチェックボックスをオンにします。**Apply** ボタンは **Delete** ボタンに変わります。 +3. **Delete** をクリックしてユーザーを削除します。削除を確認するメッセージが表示されます。 +4. **Done** を選択します。 + +--- + +## ユーザーを変更する + +ユーザーがパスワードを忘れた場合や、共有フォルダへのアクセスを変更する必要がある場合は、Unraid でユーザーアカウントを変更できます。 + +ユーザーアカウントを変更するには: + +1. ***Users → Shares Access***(または ***Settings → Users → Shares Access***) に移動し、変更したいユーザーアカウントをクリックします。 +2. *(オプション)* **ユーザーの編集** 画面では、**ユーザー名** 以外の情報を更新できます。新しい **パスワード** を設定するには、入力してから同じ内容を再入力して確認します。 +3. *(オプション)* 下部に、そのユーザーがアクセスできるフォルダ(共有)の一覧が表示されます。これらの共有のアクセス設定は調整できますが、新しい共有を追加することはできません。 +4. **Apply** をクリックして変更を保存します。 + +--- + +## パスワードをリセットする + +If you've forgotten your %%root|root-user%% password, don't worry! Here are two simple methods to regain access to your Unraid server. You'll need physical access to your **[boot device](../../system-administration/maintain-and-update/changing-the-flash-device.mdx)** (for example the USB drive) and another computer. + + + + + + + + + + + +:::tip[Be 注意] + +USB に物理的にアクセスできる人であれば、この方法を使って %%root|root-user%% のパスワードをリセットし、完全な管理者アクセス権を取得できます。USB は必ず सुरक्षितに保管してください。 + +::: From b899d7a8ca98eeb88a9b9013b85ab6efe7ca9a14 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:28:38 -0400 Subject: [PATCH 166/437] New translations wireguard.mdx (Japanese) --- .../secure-your-server/wireguard.mdx | 255 ++++++++++++++++++ 1 file changed, 255 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/wireguard.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/wireguard.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/wireguard.mdx new file mode 100644 index 00000000000..a52f6fb0257 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/system-administration/secure-your-server/wireguard.mdx @@ -0,0 +1,255 @@ +--- +sidebar_position: 7 +sidebar_label: WireGuard +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import WireGuardConfigureMobile from './partials/wireguard-configure-mobile.mdx'; +import WireGuardConfigureOtherDevices from './partials/wireguard-configure-other-devices.mdx'; + +# WireGuard + +Tailscaleは多くのユーザーにとって使いやすい体験を提供しますが、[WireGuard](https://www.wireguard.com/)はUnraidに組み込まれた堅牢なVPNソリューションで、特定の高度なネットワークシナリオで真価を発揮します。特に、VPNルーティングを細かく制御する必要がある場合や、サードパーティのサービスに依存せずにサーバー間またはLAN間の接続が必要な場合に有用です。以下では、WireGuardが優れている主なシナリオを紹介します。 + +

WireGuardを選ぶタイミング

+ +| シナリオ | なぜ%%WireGuard\|wireguard%%を選ぶのか? | +| ---------------- | ----------------------------------------------------------- | +| **高度な構成** | カスタム%%VPN Tunnel\|vpn-tunnel%%の設定や、既存のネットワークインフラとの統合を可能にします | +| **サーバー間トンネル** | Unraidサーバー間に永続的な暗号化リンクを作成できます | +| **LAN間統合** | 中間サービスを介さずにネットワーク全体を接続します | +| **帯域幅を大量に使うタスク** | 最大のスループットを実現するため、プロトコルのオーバーヘッドを最小限に抑えます | + +:::info + +多くのユーザーにとって、[**Tailscale**](../secure-your-server/tailscale.mdx)はWireGuardでできることをすべて、しかも多くの場合より簡単に実現できます。通常、ポートフォワーディングや手動設定は不要です。ただし、高度でカスタムなVPN設定が必要な場合や、特定の互換性要件がある場合には、WireGuardを選ぶほうがよい選択となることがあります。 + +::: + +

接続タイプと使用例

+ +%%WireGuard|wireguard%%の接続タイプを知っておくと、自分に合っているか判断しやすくなります: + +| 接続タイプ | 実際の使用例 | +| :------------------------------- | :----------------------------------------------------------------------------------------------------------- | +| サーバーへのリモートアクセス | Access Unraid %%WebGUI\|web-gui%%, Docker containers, %%VM\|vm%%s, and network shares remotely. | +| LANへのリモートアクセス | LAN上のすべてのデバイスに、あたかもローカルネットワーク上にいるかのようにリモートからアクセスする。 | +| サーバー間アクセス | データ共有やバックアップのために、2台のUnraidサーバーを安全に接続する。 | +| LAN間アクセス | 2つのLAN全体をシームレスに接続し、ネットワーク間の円滑な通信を実現する。 | +| サーバーハブ&スポークアクセス | 複数の%%VPN\|vpn-tunnel%%クライアントがサーバーを介して互いに接続できるようにする。 | +| LAN ハブアンドスポーク アクセス | 中央サーバーを介して複数のLAN間の通信を有効にする。 | +| %%VPN tunneled\|vpn-tunnel%%アクセス | Route specific Docker containers and %%VM\|vm%%s through a commercial %%WireGuard\|wireguard%% VPN provider. | +| リモートトンネルアクセス | 信頼できないネットワーク上にいるときに、すべてのインターネットトラフィックをUnraidサーバー経由で安全にルーティングします。 | + +## UnraidでWireGuardを設定する + +:::note\[Prerequisites] + +- **動的DNS:** 公開IPが変わる場合に確実にアクセスできるよう、DDNSを設定します。一般的な選択肢には[Cloudflare](https://www.cloudflare.com/)(ドメイン所有が必要)、[No-IP](https://www.noip.com/)、または[DuckDNS](https://www.duckdns.org/)(無料ですが、時折停止が発生する場合があります)があります。 +- **ルーターの設定:** + - 自動ポートフォワーディングのために、***設定 → 管理アクセス***で%%UPnP|upnp%%を有効にします。 + - %%UPnP|upnp%%が利用できない場合は、UDPポート51820を手動でUnraidサーバーのIPに転送します。 +- **クライアントソフトウェア:** デバイスに%%WireGuard|wireguard%%をインストールします([Windows](https://www.wireguard.com/install/)、[macOS](https://apps.apple.com/us/app/wireguard/id1451685025)、[iOS](https://apps.apple.com/us/app/wireguard/id1441195209)、[Android](https://play.google.com/store/apps/details?id=com.wireguard.android))。 + +::: + +

ステップ1: キーを生成する

+ +1. ***設定 → VPN Manager***に移動します。 + +
+ ![VPN Manager](/img/wg0.png) +
+ +2. トンネルに名前を付けます(例: "Home VPN")。 +3. **Generate Keypair**をクリックして公開鍵と秘密鍵を作成します。 + +:::warning + +秘密鍵はフルネットワークアクセスを提供するため、安全に保管してください。 + +::: + +

ステップ2: エンドポイントを設定する

+ +- **DDNSユーザー向け:** **Local endpoint**のIPをDDNSのURL(例: `myhome.duckdns.org`)に置き換えます。 +- 既定のポート(`51820`)は、既存のサービスと競合しない限りそのまま使用します。 + +

ステップ3: ポートフォワーディングを設定する

+ +- **%%UPnP|upnp%%ユーザー向け:** ***設定 → 管理アクセス***で有効になっていれば、Unraidがポートを自動的に転送します。 + +
+ ![UPnP enabled](/img/upnp-yes.png) +
+ +- **手動設定:** %%UPnP|upnp%%が利用できない場合: + 1. ルーターにログインします。 + 2. UDPポート`51820`をUnraidサーバーのLAN IPに転送します。 + 3. 外部設定と内部設定には同じポートを使用します。 + +
+ ![UPnP disabled](/img/upnp-no.png) +
+ +

ステップ4: トンネルを有効化する

+ +1. **Active**を切り替えて%%WireGuard|wireguard%%を有効にします。 +2. 起動時に%%WireGuard|wireguard%%を実行するには、**Autostart**を有効にします。 + +
+ ![Activation toggle](/img/activate.png) +
+ +:::important[Security best practices] + +- **信頼できるアクセスのみ:** VPNアクセスは物理的なネットワークアクセスに近いため、信頼できるデバイスのみを許可してください。 +- **キー管理:** 秘密鍵は絶対に共有しないでください。パスワードと同様に扱ってください。 +- **Network segmentation:** For complex setups (custom Docker/%%VM|vm%%s), isolate VPN traffic using VLANs or separate subnets. +- **定期的な監査:** 接続されているデバイスとアクセス権限を四半期ごとに確認します。 + +::: + +### ピア(クライアント)の定義 + +ピアとは、スマートフォン、ノートパソコン、別のサーバーなど、Unraid %%WireGuard|wireguard%% VPNに接続するクライアントデバイスです。ピアを定義するとは、そのデバイスに固有の識別情報を作成し、キーを保護することを意味します。 + +1. **Add Peer**を選択します。 + +
+ ![Add Peer](/img/peer-add.png) +
+ +2. ピアに名前を付けます(例: *MyAndroid*)。 +3. フルネットワークアクセス用の初期接続タイプを選択します。通常は*Remote access to LAN*です。 +4. **Generate Keypair**をクリックして公開鍵と秘密鍵を作成します。秘密鍵は安全に保管してください。 +5. 必要に応じて、追加のセキュリティのために事前共有鍵を生成します。 +6. **Apply** をクリックします。 + +:::note + +ピアは自分でキーを生成できますが、Unraidにキーを生成させると完全な設定ファイルが提供されるため、セットアップが簡単になります。 + +::: + +:::caution + +新しいピアを追加すると、%%WireGuard|wireguard%%トンネルが一時的に無効になることがあり、接続が中断される可能性があります。変更を行う前に、サーバーへローカルアクセスできることを確認してください。 + +::: + +### ピア(クライアント)の設定 + + + + + + + + + + + +### DNSの設定 + +1. IPアドレスまたは完全修飾ドメイン名(例: `yourpersonalhash.unraid.net`)でデバイスにアクセスします。 + +:::note + +"tower"のような短い名前や、ルーター管理のDNSエントリは、VPN経由では機能しない場合があります。 + +::: + +2. 短い名前の解決を有効にするには: + - Unraidの***設定 → VPN Manager***に移動します。 + - **Basic**から**Advanced**モードに切り替えます。 + - **Peer DNS Server**フィールドに、使用したいDNSサーバーのIPアドレスを入力します。 + - 変更を保存し、クライアント設定ファイルを更新します。 +3. 推奨DNSサーバー: + - LANルーターのIPアドレス。 + - `8.8.8.8`のようなパブリックDNSサーバー。 + +この設定は、クライアントの元のDNSサーバーにアクセスできない場合がある**Remote tunneled access**モードで特に重要です。 + +:::note + +%%mDNS|mdns%%アドレス(例: `tower.local`)はローカルネットワークでのみ機能し、%%WireGuard|wireguard%% VPN経由では機能しません。 + +::: + +### 複雑なネットワーク + +For most users, the default **Use NAT** setting works out of the box and allows access to Unraid and most LAN devices. However, if you use Docker containers with custom IPs or %%VM|vm%%s with strict networking requirements: + +1. %%WireGuard|wireguard%%トンネルの設定で、**Use NAT**を**No**に設定します。 +2. ルーターで、WireGuardトンネルネットワーク(例: `10.253.0.0/24`)への静的ルートを追加し、UnraidサーバーのIPを指すようにします。 +3. ***設定 → Docker Settings***で、**Host access to custom networks**を**Enabled**に設定します。 + +### 避けるべき構成 + +| Use NAT 設定 | ホストがカスタムネットワークにアクセス | Server & Dockers (Bridge/Host) | %%VMs\|vm%% & その他のLANシステム | カスタムIPのDocker | 注記 | +| ---------- | ------------------- | ------------------------------ | ------------------------- | ------------- | ------------------------------------ | +| はい | 無効(静的ルートは任意) | アクセス可能 | アクセス可能 | アクセス不可 | シンプルなネットワーク設定。ほとんどのユーザーに推奨 | +| はい | 有効(静的ルートは任意) | アクセス可能 | アクセス不可 | アクセス不可 | この構成は避けてください | +| いいえ | 無効(静的ルートなし) | アクセス可能 | アクセス不可 | アクセス不可 | 避けるべきです。正しく機能させるには静的ルートが必要です | +| いいえ | 無効(静的ルートあり) | アクセス可能 | アクセス可能 | アクセス不可 | ほぼ正解です。カスタムネットワークへのホストアクセスを有効にしてください | +| いいえ | 有効(静的ルートあり) | アクセス可能 | アクセス可能 | アクセス可能 | 複雑なネットワーク向けの推奨構成 | + +## WireGuardのトラブルシューティング + +WireGuardは目立たないように設計されています。何かが動作していない場合でも、エラーメッセージは表示されません。効果的にトラブルシューティングするには、設定の各要素を体系的に確認してください。 + +#### 接続チェックリスト + +- ✅ Unraidとクライアントデバイスの両方でトンネルがアクティブになっている。*("Active"はトンネルが開始されていることを意味しますが、必ずしも接続済みとは限りません。)* +- ✅ DDNSのURLが現在の公開IPを指しており、**Local endpoint**に設定されている。 +- ✅ 正しいUDPポートがルーターからUnraidへ転送されており、**Local endpoint**のポートと一致している。 +- ✅ サーバー側で変更を行った後は、クライアントに最新の設定ファイルがある。 +- ✅ ピア設定(QRコード/ファイル)を表示または配布する前に変更が保存されている。 + +#### 追加のトラブルシューティングのヒント + +
+ 初回セットアップのヒント - クリックして展開/折りたたむ + + WireGuardを初めて設定する場合、次のヒントでよくある落とし穴を回避できます: + + - 最初のクライアントは、ローカルネットワークの問題を切り分けるために、Wi‑Fiではなくモバイル回線のモバイルデバイスで設定します。 + - 最も簡単に設定を移行できるQRコード方式を使用します。 + +
+ +
+ ハンドシェイクと接続の問題 - クリックして展開/折りたたむ + + ハンドシェイクが表示されない、または接続できない場合は、次の重点チェックを試してください: + + - ハンドシェイクが見えない場合は、トラフィックを生成して(たとえばサーバーへpingして)接続を発生させてみてください。 + - モバイルクライアントでは、VPNの動作に干渉する可能性があるため、省電力、データセーバー、バッテリーセーバー機能を無効にしてください。 + - クライアントとサーバーのネットワークが異なるサブネットを使用していることを確認します(たとえば、両方で`192.168.1.0/24`を使わないようにします)。 + - DDNSにCloudflareを使用している場合は、**Proxy status**を**DNS only**(**Proxied**ではない)に設定します。DNS変更の伝播には時間がかかる場合があります。 + - 一部の場所からは接続できるのに他ではできない場合、リモート側のネットワークがUDPトラフィックをブロックしている可能性があります。%%WireGuard|wireguard%%は現在、フォールバックとしてTCPをサポートしていません。 + +
+ +
+ 高度なネットワーク競合 - クリックして展開/折りたたむ + + ネットワーク構成がより複雑な場合、またはIP競合が疑われる場合は、次の高度なトラブルシューティング手順を確認してください: + + - **Advanced**モードでは、**Local tunnel network pool**がどちら側の既存ネットワークとも重複していないことを確認します。競合がある場合は、別のプライベートサブネット(例: `10.10.10.0/24`)に変更します。 + - For Docker containers with custom IPs or %%VM|vm%%s with strict requirements, see the [Complex networks](#complex-networks) section. + +
+ +
+ 緊急時の復旧 - クリックして展開/折りたたむ + + Unraid %%WebGUI|web-gui%%にアクセスできなくなり、%%WireGuard|wireguard%%の自動起動を無効にする必要がある場合 + + - Delete `/boot/config/wireguard/autostart` from your boot drive and reboot. + +
+ +\* *"%%WireGuard|wireguard%%" and the "%%WireGuard|wireguard%%" logo are registered trademarks of Jason A. Donenfeld.* From e18f4f96dc1567e10b9e2a25246cffa8f1c4f989 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:28:39 -0400 Subject: [PATCH 167/437] New translations _category_.json (Japanese) --- .../current/unraid-os/troubleshooting/_category_.json | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/_category_.json diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/_category_.json b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/_category_.json new file mode 100644 index 00000000000..4d2e763bc0d --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "トラブルシューティング", + "position": 5 +} \ No newline at end of file From 60f697217326e74924c9a54d3215734c51f3d480 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:28:40 -0400 Subject: [PATCH 168/437] New translations _category_.json (Japanese) --- .../troubleshooting/common-issues/_category_.json | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/common-issues/_category_.json diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/common-issues/_category_.json b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/common-issues/_category_.json new file mode 100644 index 00000000000..800078d3c07 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/common-issues/_category_.json @@ -0,0 +1,7 @@ +{ + "label": "よくある問題", + "position": 1, + "link": { + "type": "generated-index" + } +} \ No newline at end of file From bae6561fab524f5cb69e14932b291da96edf84b3 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:28:42 -0400 Subject: [PATCH 169/437] New translations boot-and-startup-failures.mdx (Japanese) --- .../boot-and-startup-failures.mdx | 219 ++++++++++++++++++ 1 file changed, 219 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/common-issues/boot-and-startup-failures.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/common-issues/boot-and-startup-failures.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/common-issues/boot-and-startup-failures.mdx new file mode 100644 index 00000000000..9cab0e1e48f --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/common-issues/boot-and-startup-failures.mdx @@ -0,0 +1,219 @@ +--- +sidebar_position: 1 +sidebar_label: ブートと起動の失敗 +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# ブートと起動の失敗 + +Unraid サーバーが正しく起動しない場合、起動プロセスを明確に理解していなければ原因の特定は困難です。このガイドに従えば、ほとんどの起動問題をすばやく診断して解決でき、%%array|array%%、%%WebGUI|web-gui%%、およびサービスを最小限の停止時間で稼働状態に保てます。 + +## Preparing boot media + +このトピックの詳細は、[USB デバイスの準備](../../getting-started/set-up-unraid/create-your-bootable-media.mdx#prepare-your-usb-device) セクションで説明しています。 + +:::caution + +Always [back up your boot device](../../system-administration/maintain-and-update/changing-the-flash-device.mdx#backing-up-your-flash-device) before making changes. All user-specific settings, including your license key, are stored in the `config` folder. Restoring this folder after re-prepping your boot device will help preserve your current configuration. + +::: + +## UEFI ブートを有効にする + +最新のシステムでは、強化されたセキュリティとより速い起動時間のために、通常 **UEFI ブートモード** が必要です。 + +システム BIOS/%%UEFI|uefi%% 設定で %%UEFI|uefi%% ブートを構成するには: + +1. 起動時にマザーボードの BIOS/%%UEFI|uefi%% セットアップに入ります(通常は F2、DEL、または ESC を押します) +2. ブートオプションまたはブートモードの設定を見つけます +3. ブートモードを **UEFI** または **CSM 無効の UEFI** に設定します +4. Ensure the Unraid boot device is selected as the UEFI boot target +5. 変更を保存して終了します + +## 起動シーケンスを理解する + +Unraid の起動シーケンスにはいくつかの段階があります: + +
+ 1. BIOS 起動 - クリックして展開/折りたたみ + + BIOS/UEFI ファームウェアがハードウェアを初期化し、起動可能なデバイスを見つけます。これが起動プロセス全体の基盤です。 + + - The motherboard BIOS recognizes the Unraid bootable device (typically a USB flash drive). + - Setting the boot device as the default startup target varies based on your BIOS; check your motherboard manual for guidance. + - The boot volume supports both **legacy (CSM)** and **%%UEFI|uefi%%** boot modes. + - For %%UEFI|uefi%% boot, ensure the `EFI` folder on the boot volume does not have a trailing hyphen (`-`). + +
+ +
+ 2. Syslinux ローダー - クリックして展開/折りたたみ + + ブートローダーが起動オプションを表示し、Linux カーネルをメモリに読み込みます。この段階で、どのオペレーティングシステムまたは診断ツールを実行するかが決まります。 + + - Boot menu entries are defined in the `syslinux/syslinux.cfg` file on the boot volume. + - このファイルは、***Main → Syslinux configuration*** の %%WebGUI|web-gui%% から編集できます。 + - 現在の Unraid ビルドに同梱されている **Memtest86+** は、従来モードと %%UEFI|uefi%% モードの両方で動作します。古い Unraid バージョンでは、%%UEFI|uefi%% 用に [公式 Memtest サイト](https://www.memtest86.com/) から互換版を入手してください。 + - オプションが選択されていない場合、タイムアウト後に既定の起動が実行され、ヘッドレス運用に便利です。 + +
+ +
+ 3. Linux コア - クリックして展開/折りたたみ + + Linux カーネルが初期化され、ハードウェア検出を開始します。ここでオペレーティングシステムがブートローダーから制御を引き継ぎます。 + + - **Syslinux** loads the Linux core from the boot volume into RAM. + - bz\* ファイルが読み込まれていることを示すコンソールメッセージが表示されます。 + - Errors at this stage often indicate issues with the boot device. + - Linux は起動中にハードウェアを検出します。 + +
+ +
+ 4. Boot-volume dependent services - Click to expand/collapse + + The boot volume becomes accessible and essential services begin loading. This stage is critical for configuration and network access. + + - The boot volume mounts at `/boot`. + - マウントに失敗してもログインプロンプトが表示される場合がありますが、これは起動が完了していないことを示しています。 + - `df` コマンドを使って `/boot` がマウントされているか確認します。 + - The boot volume must be labeled **UNRAID** (all caps) for proper mounting. + - この段階で追加のドライバーとファームウェアが利用可能になります。 + - 設定が RAM に読み込まれます。 + - ネットワークや %%WireGuard|wireguard%% VPN(有効な場合)を含む標準的な Linux サービスがここで開始されます。 + +
+ +
+ 5. プラグイン - クリックして展開/折りたたみ + + サードパーティの拡張機能やカスタマイズが読み込まれて、システム機能が強化されます。プラグインの問題により、起動に失敗することがあります。 + + - インストール済みのプラグインはこの手順で読み込まれます。 + - 必要に応じて、**Safe boot** オプションでプラグインの読み込みを抑制できます。 + +
+ +
+ 6. WebGUI - クリックして展開/折りたたみ + + Web ベースの管理インターフェースが利用可能になり、サーバーのリモート管理と設定ができるようになります。 + + - %%WebGUI|web-gui%% はこの時点で起動します。 + - The `config/go` file on the boot volume can run user commands before or after the %%WebGUI|web-gui%% starts. + +
+ +
+ 7. Array - クリックして展開/折りたたみ + + ストレージデバイスがマウントされて利用可能になり、起動プロセスが完了します。ここでデータにアクセスできるようになります。 + + - 自動起動が有効な場合、%%array|array%% はここで開始されます。そうでない場合は手動で開始する必要があります。 + - ドライブは `/dev/diskX` および `/mnt/cache`(存在する場合)としてマウントされます。 + - 共有はネットワーク上で `/mnt/user/sharename` として利用可能になります。 + - Docker コンテナは Docker タブで指定された順序で、調整可能な遅延付きで起動します。 + - 自動起動する仮想マシン(%%VMs|vm%%)も起動します。 + +
+ +この時点で、Unraid サーバーは完全に稼働しています。 + +--- + +## 起動失敗 + +サーバーが起動しない場合、体系的なトラブルシューティングによって根本原因をすばやく特定し、解決できます。重要な問題を見落としたり不要な変更を加えたりしないよう、以下の手順を順番に実行してください。各手順は前の手順を基にしているため、特定の問題に関係ないように見えても飛ばさないでください。 + +1. Use a USB 2.0 port for the boot device if possible (when booting from USB). It's generally more reliable and less prone to issues than USB 3.0. +2. Check your BIOS/%%UEFI|uefi%% settings to ensure that the Unraid boot device is set as the primary boot target. +3. Inspect the boot device for any physical or logical errors on a Windows or macOS computer. +4. Re-extract the Unraid release bz\* files onto the boot volume to prevent any potential corruption. +5. Rebuild boot media by starting with a clean Unraid copy, then restore your `config` folder. +6. [セーフモード](../../using-unraid-to/customize-your-experience/plugins.mdx#troubleshooting-with-safe-mode) で起動して、プラグイン関連の問題がないか確認してください。 +7. Test with new boot media and perform a clean Unraid installation. This helps determine if there are issues with the server hardware. +8. If necessary, transfer your license to a new boot device. + +--- + +## ブートドライブの紛失と、パリティドライブ不明からの復旧 + +:::important + +この復旧プロセスでは、ドライブの割り当てを誤るとデータ損失の危険があります。続行する前に: + +1. ドライブの割り当てに確信が持てるまでは、**array を開始しないでください** +2. どのドライブが以前はパリティドライブで、どのドライブがデータドライブだったかを**記録してください** +3. 不明な場合は、[Unraid フォーラム](https://forums.unraid.net/)で**助けを求めることを検討してください** + +最近のバックアップや array 構成の記録がある場合は、まずそれらを確認してください。 + +::: + +Unraid のブートドライブが故障し、最近のバックアップやどのドライブがパリティかの情報がない場合でも、ファイルシステムによってデータドライブを識別できる Unraid の機能を使ってシステムを復旧できます。%%Parity drives|parity-drives%% には有効なファイルシステムがないため、それらを区別する手がかりになります。 + +Unraid identifies data drives by detecting existing valid file systems. %%Parity drives|parity-drives%%, which lack a file system, appear unmountable. This characteristic allows you to distinguish %%parity drives|parity-drives%% from data drives after booting with new boot media. + +### 復旧手順 + +この手順は、ブートドライブを失い、どのドライブがパリティかデータかを思い出せない場合に、array 構成を復元するのに役立ちます。データ損失を避けるため、各手順を慎重に実行してください。 + +1. Create new Unraid boot media. +2. Boot the server from this new device (do not assign any drives yet). +3. 試用版を使うか、既存のライセンスを移行して、ライセンスを有効化します。 +4. 以下で説明する方法のいずれかを使って、%%parity drives|parity-drives%% を特定します。 +5. ***Tools → New Config*** を使って %%array|array%% をリセットし、可能であれば以前の割り当てを保持します。 +6. ***Main*** タブでドライブの割り当てを正しく設定し、%%parity|parity%% ドライブとデータドライブを区別してください。 +7. ドライブ割り当てを確定するために %%array|array%% を開始します。 +8. %%parity|parity%% が有効なら、***Parity is Already Valid*** にチェックを入れます。そうでない場合は、%%parity|parity%% の再構築を許可してください。 + +:::warning[Multiple パリティドライブ] + +複数の%%parity drives|parity-drives%% があり、マウントできないドライブに基づいてそれらを特定した場合は、**Parity is Already Valid** オプションを**使用しないでください**。割り当てを誤る確率は 50:50 で、誤った場合、%%array|array%% は保護されているように見えても実際には保護されていません。このような場合は、適切な保護を確実にするため、常にパリティの再構築を許可してください。 + +::: + +9. 新しい割り当てに基づいて、ユーザー共有の include/exclude 設定を確認し、必要に応じて調整します。 +10. 特に %%parity|parity%% が再構築されていない場合は、%%parity check|parity-check%% を実行して整合性を確認します。 + +--- + +### パリティドライブの特定 + +
+ Unraid の組み込み機能を使用する(推奨方法) - クリックして展開/折りたたみ + + この方法ではプラグインは不要ですが、%%parity|parity%% は無効になり、再構築が必要になります。 + + この方法を使うには: + + 1. すべてのドライブをデータドライブとして割り当てて開始します。 + 2. %%Parity drives|parity-drives%% には有効なファイルシステムがないため、マウント不可として表示されます。 + 3. マウント不可ドライブの数が %%parity|parity%% の数と一致することを確認します。 + 4. これらのドライブのシリアル番号を控えておきます。 + 5. 必要に応じて、マウント済みのデータドライブを確認して順番を特定できます。 + +
+ +
+ Unassigned Devices プラグインを使用する - クリックして展開/折りたたみ + + このプラグインベースの方法では、ドライブを読み取り専用モードでマウントすることで %%parity|parity%% の有効性を維持できます。 + + この方法を使うには: + + 1. ***Apps*** タブから [**Unassigned Devices** プラグイン](https://unraid.net/community/apps?q=unassigned+devices#r:~:text=don%27t%20be%20carefull!!!-,Unassigned%20Devices,-dlandon) をインストールします。 + 2. 各ディスクを 1 つずつ、読み取り専用でマウントします。 + 3. マウントに失敗するドライブは %%parity drives|parity-drives%% である可能性が高いです(parity1 と parity2 を区別することはできません)。 + 4. 必要に応じて、マウント済みのデータドライブを確認して順番を特定します。 + +
+ +詳細は、Unraid フォーラムの [Unassigned Devices プラグインスレッド](https://forums.unraid.net/topic/55481-unassigned-devices-managing-unassigned-devices-without-rebooting/) を参照してください。 + +--- + +\* *"%%WireGuard|wireguard%%" and the "%%WireGuard|wireguard%%" logo are registered trademarks of Jason A. Donenfeld.* From d6ee1d23c4e8e9743fcfa6f3d4be9890646a70f2 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:28:43 -0400 Subject: [PATCH 170/437] New translations data-recovery.mdx (Japanese) --- .../common-issues/data-recovery.mdx | 357 ++++++++++++++++++ 1 file changed, 357 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/common-issues/data-recovery.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/common-issues/data-recovery.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/common-issues/data-recovery.mdx new file mode 100644 index 00000000000..55bd6b6e40d --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/common-issues/data-recovery.mdx @@ -0,0 +1,357 @@ +--- +sidebar_position: 4 +sidebar_label: データ復旧 +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import RepairXfs from './partials/data-recovery/repair-xfs.mdx'; +import RepairBtrfs from './partials/data-recovery/repair-btrfs.mdx'; +import XfsCheckWebGUI from './partials/data-recovery/xfs-check-webgui.mdx'; +import XfsCheckCli from './partials/data-recovery/xfs-check-cli.mdx'; + +# データ復旧 + +Unraid サーバーを管理する際には、データ保護を理解することが重要です。Unraid は一般的なハードウェア障害に対して強力な保護を提供しますが、どのシステムもデータ損失を完全に防ぐことはできません。このセクションでは、データを保護するためのベストプラクティス、潜在的な問題の見極め方、問題発生時のデータ復旧について説明します。 + +効果的なデータ復旧は、定期的なバックアップ、積極的な監視、ドライブおよびアレイ構成の慎重な取り扱いを含む、堅実なデータ保護戦略から始まります。 + +--- + +## バックアップ戦略の基本 + +Unraid はさまざまなハードウェア障害から保護を提供しますが、重要なデータの信頼できるバックアップを持つことは不可欠です。バックアップは、壊滅的な障害、ランサムウェア、または誤削除に対する最後の防衛線です。 + +- **重要なデータを評価する:** 個人的な文書、写真、重要な動画など、置き換えのきかない、または必須のファイルを特定します。 +- **複数のバックアップコピー:** 3-2-1 ルールに従いましょう。少なくとも 3 つのコピーを 2 種類の異なるメディアに保存し、1 つはオフサイトまたはクラウドに保管します。これにより、火災や盗難などの物理的災害によるリスクを最小限に抑えられます。 +- **バックアップ頻度:** データ損失の可能性を減らすために、定期的なバックアップをスケジュールします。 +- **ランサムウェア対策:** 少なくとも 1 つのバックアップコピーは、オフラインまたはアクセス不能な状態にして、破損の可能性に備えます。 +- **Backup tools:** For Unraid 7.0 and above, it's recommended to use [Unraid Connect](../../../unraid-connect/overview-and-setup.mdx) for automated backups of your boot device and configuration to the cloud. Additional popular backup solutions include: + - **[Duplicati](https://unraid-production-481d40bf.preview.craft.cloud/community/apps?q=Duplicati#r:~:text=of%202%20Apps-,duplicati,-Backup%2C%20Cloud):** 重複排除と暗号化を備え、クラウド、ローカル、USB、リモートの保存先に対応する、汎用性の高いオープンソースのバックアップツールです。 + - **[rclone](https://unraid-production-481d40bf.preview.craft.cloud/community/apps?q=rclone#r:~:text=various%20cloud%20services.-,rclone,-Waseh%27s%20Repository):** クラウドストレージプロバイダの同期とバックアップのための堅牢なソリューションです。 + - **[rsync](https://rsync.samba.org/):** ローカルまたはリモートのバックアップに効率的な選択肢です。 + - **[borgbackup](https://www.borgbackup.org/):** 重複排除され暗号化されたバックアップに関心のある上級ユーザー向けの選択肢です。 + +ユーザーは自分のリスク許容度とバックアップ要件を評価すべきですが、クラウド統合と自動化を活用することは、ほとんどの Unraid ユーザーにとって良い出発点です。 + +:::tip[Modern バックアップ戦略] + +With Unraid 7.0 and up, enable [Unraid Connect](../../../unraid-connect/overview-and-setup.mdx) for automated cloud backups of your boot device and configuration. Consider using Duplicati, rclone, or similar tools for important files and shares to create scheduled backups to local, remote, or cloud destinations. Always test your restore process to ensure your backups will work when needed. + +::: + +:::info[Proactive 監視とサポート] + +- **通知を有効にする:** ***Settings → Notifications*** で通知を設定し、システムの問題に関する即時アラートを受け取れるようにします。 +- **専門家の助言を求める:** 復旧手順に不安がある場合は、何かを行う前に [Unraid フォーラム](https://forums.unraid.net/) に相談してください。 +- **定期的な健康チェック:** ドライブの [SMART データ](../../system-administration/monitor-performance/smart-reports-and-disk-health.mdx) を確認し、定期的にファイルシステムチェックを実行します。 + +::: + +--- + +## ファイルシステムを修復する + +:::caution + +これらの手順は、ファイルシステムが破損したデータドライブにのみ厳密に使用してください。パリティドライブ、ハードウェアの問題、または欠落しているドライブには適用しないでください。 + +- ファイルシステム修復ツールは、ファイルシステムまたはマウントのエラーがあるデータドライブやキャッシュドライブを修正するためだけのものです。 +- パリティドライブには**ファイルシステムがありません**。パリティドライブで修復ツールを実行すると破損する可能性があり、元に戻せないデータ損失につながることがあります。 + +::: + +### デバイス名: パスと記号 + +**%%WebGUI|web-gui%%** を使用する場合、デバイスパスは自動的に管理されます。コマンドラインで修復する場合は、常に正しい **パーティションパス** を使用していることを確認してください: + +| ラベル | 一般的なパス | 用途 | %%Parity\|parity%% は保護されていますか? | +| ------------------------ | ---------- | --------------- | ------------------------------ | +| Disk 7 | /mnt/disk7 | Unraid マウントポイント | はい(%%array\|array%% ディスクの場合) | +| %%Array\|array%% パーティション | /dev/md7p1 | Unraid 管理デバイス | はい | +| 生のパーティション | /dev/sdj1 | 直接デバイスアクセス | いいえ | + +:::warning + +ディスク全体(たとえば `/dev/sdj`)に対してファイルシステム修復ツールを絶対に実行しないでください。常にパーティションパス(たとえば `/dev/sdj1` や Unraid 管理の `/dev/mdXp1`)を使用してください。 + +- %%array|array%% ドライブでは、%%parity|parity%% 保護を**維持**するために、常に Unraid 管理のデバイス(たとえば `/dev/md5p1`)を使用してください。 +- 生のパーティション(たとえば `/dev/sdj1`)を使用しても%%parity|parity%% は更新されず、無効な状態のままになります。 + +::: + +- %%array|array%% ドライブでは、常に有効な%%parity|parity%%を維持するために `/dev/mdXp1` を使用してください。 +- For non-%%array|array%% drives (like %%cache|cache%%-only devices), use the direct partition path, e.g., `/dev/sdj1`. + +### 適切な修復方法の選択 + +**v6.0.0** 以降のすべての Unraid バージョンは、%%WebGUI|web-gui%% を通じて %%XFS|xfs%% および %%BTRFS|btrfs%% のファイルシステム修復をサポートしています。 + +ほとんどのユーザーに推奨される方法は次のとおりです: + +1. %%WebGUI|web-gui%% を開きます。 +2. **Main** タブに移動します。 +3. 該当する %%array|array%% または %%cache|cache%% デバイスをクリックします。 +4. 画面の指示に従って、組み込みのファイルシステムチェックと修復を実行します。 + +コマンドラインを使う場合は、常に次の点に注意してください: + +- %%array|array%% ドライブの正しい Unraid 管理パーティション(`/dev/mdXp1`)を特定します。 +- ファイルシステムに適した修復ツールを使用します: + - **XFS:** `xfs_repair` + - **BTRFS:** `btrfs scrub` + +:::caution[Know ファイルシステム] + +誤った修復ツールを使うと、さらに損傷が広がる可能性があります。修復を開始する前に、ディスクが **%%XFS|xfs%%**、**%%BTRFS|btrfs%%**、または別の対応ファイルシステム形式であることを確認してください。 + +::: + +--- + +## WebGUI でドライブを確認および修復する + +このセクションでは、Unraid の組み込みツールを使用して、データドライブ上のファイルシステム破損を診断し修復する方法を説明します。ファイルシステムの問題は、正常でないシャットダウン、電源障害、またはハードウェアの問題の後に発生することがありますが、Unraid は、根本的な問題を修正しながら %%parity|parity%% 保護を維持する安全な修復方法を提供します。 + +### テストの準備 + +| ファイルシステム | 起動モード | メンテナンスモードが必要? | 注記 | +| ---------------- | --------- | ------------- | --------------------------------------------------------------------- | +| %%XFS\|xfs%% | メンテナンスモード | はい | チェック/修復を行うには、%%Array\|array%% をメンテナンスモードで起動する必要があります(ドライブはマウントされません)。 | +| %%BTRFS\|btrfs%% | 通常モード | いいえ | スクラブ/チェックを行うには、%%Array\|array%% はメンテナンスモードではなく通常モードで起動する必要があります。 | + +- 対象ドライブのファイルシステムを特定します: **Main** タブ → ドライブ名をクリック → **File system type** を確認します。 +- Main 画面で、テストまたは修復するディスクをクリックします。 + +### テストの実行 + +1. ほとんどのファイルシステム(%%XFS|xfs%% など)の既定は読み取り専用チェック(変更なし)で、通常は `-n`(変更しない)オプションを使用します。 (%%XFS|xfs%% でより詳細な出力が必要な場合は、`-v`(verbose)オプションを追加し、`-nv` にします。) +2. %%BTRFS|btrfs%% では、`balance` 操作の代わりに `scrub` コマンドを使用します。 +3. **Check** をクリックして開始します。必要に応じて、進行状況を監視するために **Refresh** ボタンを使用します。 +4. 破損が見つからない場合は、[**テストと修復後**](#after-the-test-and-repair) に進みます。 + +### 修復の実行 + + + + + + + + + + + +### テストと修復後 + +%%Maintenance Mode|maintenance-mode%% を使用した場合は、アレイを停止し、通常モードで再起動して操作を再開します。 + +:::tip[What 修復後に想定されること] + +- 修復およびチェック操作には、ファイルシステムのサイズと状態に応じて、30 分以上かかることがあります。 +- 大規模な破損では、復旧されたファイルやフォルダーの断片を含む `lost+found` フォルダーが作成されることがあります。必要に応じてそれらを確認して復元し、完了後に削除してください。 +- これは Windows で chkdsk や scandisk を実行し、`File0000.chk` などに名前が変更されたファイルを扱うのに似ています。`lost+found` の内容を確認するときは時間をかけてください。 + +::: + +--- + +### XFS のチェックと修復 + + + + + + + + + + + +--- + +## マウントできないディスク + +以前は正常だったディスクがマウントできなくなった場合、通常はファイルシステムの破損を示しており、多くは正常でないシャットダウンや書き込み失敗が原因です。 + +:::danger[Critical アクション] + +%%WebGUI|web-gui%% でマウントできないディスクを絶対にフォーマットしないでください! フォーマットするとすべてのデータが消去され、%%parity|parity%% が更新されるため、復旧は不可能になります。 + +::: + +### 復旧手順 + +以前は問題なく動作していたディスクが突然マウントできなくなると、データについて不安になるのは当然です。この種の問題は、正常でないシャットダウン、電源遮断、または書き込み操作の失敗の後に発生するファイルシステムの破損が原因であることがよくあります。最も重要なのは、%%WebGUI|web-gui%% でフォーマットを求められても**ドライブをフォーマットしない**ことです。フォーマットすると既存のデータはすべて消去され、復旧は困難、場合によっては不可能になります。 + +代わりに、まず最初にファイルシステムの修復を試みるべきです。Unraid にはそのための組み込みツールがあり、正しい手順に従えば、最小限のリスクでデータへのアクセスを復元できることがよくあります。 + +手順は次のとおりです: + +1. [ファイルシステム修復セクション](#repair-file-systems) を確認します。このガイドでは、使用しているファイルシステムごとの手順を説明します。 + +2. %%XFS|xfs%% ファイルシステムを使用しているディスク(Unraid の多くの構成で既定)では、次を実行します: + + ``` + xfs_repair -v /dev/mdXp1 + ``` + + **X** を正しいディスク番号に置き換えてください。`-v` フラグは詳細な進行状況を表示します。このコマンドは、指定したディスク上のファイルシステムをチェックし、修復を試みます。 + +3. %%BTRFS|btrfs%% でフォーマットされたディスクでは、まず読み取り専用チェックを実行します: + + ``` + btrfs check /dev/mdXp1 + ``` + + **X** を正しいディスク番号に置き換えてください。修復モードは、絶対に必要な場合にのみ、リスクを理解したうえで使用してください: + + ``` + btrfs check --repair /dev/mdXp1 + ``` + +:::danger + +`--repair` オプションは非常に危険で、さらなるデータ損失を引き起こす可能性があります。必ず最初にバックアップまたはディスクイメージを作成してください。[ドキュメント](https://btrfs.readthedocs.io/en/latest/btrfs-check.html) を確認し、よく分からない場合は追加の助言を求めることを検討してください。 + +::: + +これらの修復を試しても問題が解決しない場合や、理解できないエラーに遭遇した場合は、いったん作業を止めて Unraid フォーラムで助けを求めるのが最善です。経験豊富なユーザーやモデレーターが次の手順を案内してくれますし、その先に進む前に別の意見を得ることは常に安全です。 + +--- + +## アレイ構成の消失 + +Losing your %%array|array%% configuration can be stressful, but it doesn't mean your data is gone. The %%array|array%% configuration file (located at `config/super.dat` on your boot device) tells Unraid how your drives are assigned and which ones serve as %%parity|parity%%. If you've lost your boot device or don’t have a recent backup, you can recover your %%array|array%% by carefully reassigning the drives. + +このような状況に陥った場合は、次の手順に従ってください: + +1. %%WebGUI|web-gui%% で、使用可能なすべてのドライブをデータドライブとして割り当てます。まだ%%parity|parity%% は割り当てないでください。 +2. %%array|array%% を開始します。以前 %%parity|parity%% に使われていたドライブは、ファイルシステムがないため *マウントできない* と表示されます。 +3. これらのマウントできないドライブのシリアル番号を書き留めるかスクリーンショットを撮ります。これらが %%parity|parity%% ドライブです。 +4. %%array|array%% を停止します。 +5. ***Tools → New Config*** に移動し、現在の割り当てを保持するオプションを選択します。 +6. 続行することを確認するチェックボックスをオンにして、**Apply** をクリックします。 +7. **Main** タブに戻り、記録したシリアル番号を使って %%parity|parity%% ドライブを正しく割り当てます。 +8. %%array|array%% を開始し、正しい割り当てに基づいて %%parity|parity%% を再構築します。 + +--- + +## ddrescue を使ってデータを復旧する + +When standard Unraid recovery methods, such as the [replacing disks](../../using-unraid-to/manage-storage/array/replacing-disks-in-array.mdx) procedure, aren't feasible due to multiple disk failures or invalid %%parity|parity%%, specialized tools like **ddrescue** can help you salvage as much data as possible from a failing drive. + +:::note[Best データ復旧のベストプラクティス] + +始める前に、データ復旧は繊細な作業であることを忘れないでください。可能であれば、常に障害が発生しているディスクのコピーから作業し、元のソースディスクには新しいデータを書き込まないでください。置き換えのきかないデータであれば、高度な復旧作業を自分で始める前に、専門の復旧サービスを検討してください。作業内容を記録し、時間をかけて進めてください。急ぐと恒久的なデータ損失のリスクが高まります。 + +::: + +ddrescue をインストールする推奨方法は、**[Nerd Tools](https://unraid.net/community/apps?q=nerd+tools#r)** プラグインを使用することです(これは 2022 年に非推奨の NerdPack に代わったものです)。 + +ddrescue を有効にするには: + +1. Unraid %%WebGUI|web-gui%% の **Apps** タブから [Nerd Tools](https://unraid-production-481d40bf.preview.craft.cloud/community/apps?q=nerd+tools#r:~:text=of%201%20App-,Nerd%20Tools,-unRaid.es) をインストールします。 +2. ***Settings → Nerd Tools*** を開き、**ddrescue** を有効にします。 + +### 障害のあるディスクのクローン作成 + +正常な保存先ディスクが必要で、その容量は障害のあるソースディスクと少なくとも同じ大きさでなければなりません。処理中は、どちらのディスクもマウントされていないことを確認してください。開始前にデバイスの割り当てを必ず再確認してください。保存先を間違えると、そのディスクのデータが上書きされ、破壊されます。 + +ディスク全体をクローンするには、ターミナルまたは %%SSH|ssh%% セッションを開き、次のコマンドを実行します: + +``` +ddrescue -f /dev/sdX /dev/sdY /boot/ddrescue.log +``` + +- **X** をソースディスクの文字に、**Y** を保存先ディスクの文字に置き換えます。 +- /boot/ddrescue.log\` ファイルは進行状況を記録し、処理が中断されても再開できるようにします。 + +%%parity|parity%% を維持しながら %%array|array%% ディスクへ直接クローンしたい場合は、`md#` デバイスを使用し、%%array|array%% をメンテナンスモードで起動します: + +``` +ddrescue -f /dev/sdX1 /dev/md\# /boot/ddrescue.log +``` + +- **X** をソースディスクの文字に置き換えてください(パーティションであることを示す `1` に注意してください)。 +- **#** を保存先ディスクの番号に置き換えてください。 + +:::caution + +ddrescue を実行する前に、必ずデバイスの割り当てを確認してください。保存先を間違えると、そのディスク上のデータが完全に失われる可能性があります。 + +::: + +### ddrescue の出力を読み解く + +復旧処理中、ddrescue はリアルタイムの進行状況を表示します。 + +最初のパスで表示される内容の例は次のとおりです: + +``` +GNU ddrescue 1.27 +ipos: 926889 MB, non-trimmed: 1695 kB, current rate: 95092 kB/s +opos: 926889 MB, non-scraped: 0 B, average rate: 79236 kB/s +non-tried: 1074 GB, bad-sector: 0 B, error rate: 0 B/s +rescued: 925804 MB, bad areas: 0, run time: 3h 14m 44s +pct rescued: 46.28%, read errors: 54, remaining time: 3h 18m +time since last successful read: 0s +Copying non-tried blocks... Pass 1 (forwards) +``` + +:::note[What これは何を意味しますか?] + +- **ipos/opos**: ソースディスクと保存先ディスクの現在の読み書き位置。 +- **rescued**: 正常にコピーされたデータ量。 +- **bad areas/read errors**: 発生した問題領域と読み取りエラーの数。 +- **pct rescued**: これまでに復旧されたディスクの割合。 +- **remaining time**: 完了までの推定時間。 +- **Copying non-tried blocks...**: ddrescue はまだ試していないすべてのセクタを読み取る最初の試行を行っています。 + +::: + +最初のコピー後、ddrescue は複数回のパスを行い、場合によっては両方向からブロックを読み取ることで、問題セクタからのデータ復旧を試みます。この段階は、特にディスクが深刻に損傷している場合、はるかに長くかかることがあります。 + +この段階での出力例は次のとおりです: + +``` +GNU ddrescue 1.27 +ipos: 17878 MB, non-trimmed: 0 B, current rate: 0 B/s +opos: 17878 MB, non-scraped: 362496 B, average rate: 74898 kB/s +non-tried: 0 B, bad-sector: 93696 B, error rate: 102 B/s +rescued: 2000 GB, bad areas: 101, run time: 7h 25m 8s +pct rescued: 99.99%, read errors: 260, remaining time: 25m +time since last successful read: 10s +Scraping failed blocks... (forwards) +``` + +:::note[What's 今何が起きているのですか?] + +- **Scraping failed blocks...**: ddrescue は読み取り不能なセクタの復旧を繰り返し試みています。 +- **bad areas/read errors**: ddrescue がより多くの損傷を見つけるにつれてこれらの数値は増えることがありますが、目標は復旧不能なデータを最小限に抑えることです。 + +::: + +### 復旧したディスクのマウントと確認 + +ddrescue が完了したら、保存先ディスクのマウントを試せます。%%WebGUI|web-gui%% で簡単にマウントするには、[**Unassigned Devices** プラグイン](https://unraid.net/community/apps?q=unassigned+devices#r:~:text=don%27t%20be%20carefull!!!-,Unassigned%20Devices,-dlandon) を使用します。ディスクがマウントできない場合は、`xfs_repair` や `btrfs check` など、適切なファイルシステム修復ツールを実行します。ディスクがマウントできた場合でも、整合性を確認するためにファイルシステムチェックを実行することをお勧めします。 + +ファイルを復旧したら、%%array|array%% 上の安全な場所にコピーします。特にディスクに読み取り不能セクタが多かった場合は、一部のファイルが破損している可能性があることに注意してください。%%checksums|checksum%%(または組み込みのチェックサム機能を備えた %%BTRFS|btrfs%%)を使用すると、損傷したファイルを特定するのに役立ちます。 + +### チェックサムなしで破損ファイルを特定する + +チェックサムがない場合でも、ddrescue の fill モードを使って、問題セクタの影響を受けたファイルを特定できます: + +1. 一意の文字列を含む一時ファイルを作成します: + + ``` + printf "Unraid " > ~/fill.txt + ``` + +2. その文字列でクローンしたディスクの不良ブロックを埋めます: + + ``` + ddrescue --fill-mode='-' ~/fill.txt /dev/sdY /boot/ddrescue.log + ``` + + **Y** を保存先ディスクに置き換え、既存の ddrescue マップファイルを使用します。 From 78f6ae4f42331b3e10afc7be295e7969488e91d7 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:28:44 -0400 Subject: [PATCH 171/437] New translations docker-troubleshooting.mdx (Japanese) --- .../common-issues/docker-troubleshooting.mdx | 98 +++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/common-issues/docker-troubleshooting.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/common-issues/docker-troubleshooting.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/common-issues/docker-troubleshooting.mdx new file mode 100644 index 00000000000..cfe515b467a --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/common-issues/docker-troubleshooting.mdx @@ -0,0 +1,98 @@ +--- +sidebar_position: 5 +sidebar_label: Dockerのトラブルシューティング +--- + +# Dockerのトラブルシューティング + +:::info + +このページでは、Unraid上のDockerコンテナに関するトラブルシューティングのガイダンスを、Unraidチームが管理する内容に限定して提供します。高度なトラブルシューティング、詳細な技術情報、またはUnraid固有の実装を超えるトピックについては、[公式Dockerドキュメント](https://docs.docker.com/)を参照してください。 + +::: + +Dockerを使用すると、Unraidサーバー上でさまざまなアプリケーションを簡単に実行できますが、コンテナが起動しない、Dockerイメージファイルが破損する、ネットワークに問題が発生するなどの不具合が起こることがあります。このページでは、Unraid上のDockerに関連する一般的な問題を取り上げ、効果的に解決するためのベストプラクティスを紹介します。 + +--- + +## Dockerイメージファイルを再作成する + +破損したDockerイメージファイル(`docker.img`)はよくある問題で、原因としては%%cache pool|cache-pool%%の空き容量不足や不適切なシャットダウンが挙げられます。幸い、適切に設定されたコンテナでは、可変データはすべてイメージファイルの外部(通常は`appdata`共有)に保存されるため、アプリケーションの設定やデータを失うことなく、イメージを安全に再作成できます。 + +Dockerイメージファイルを再作成するには: + +1. %%WebGUI|web-gui%%の***設定 → Docker***に移動します。 +2. **Dockerを有効にする**を**いいえ**に設定し、**適用**をクリックしてDockerサービスを停止します。 +3. Docker vdiskファイルを削除するオプションを選択し、**適用**をクリックします。必要に応じて、ファイルを手動で削除することもできます。 +4. 新しいDocker vdiskファイルの場所とファイル名を確認します。この設定には、フォルダーのパスとファイル名の両方が含まれます。 +5. 新しいイメージファイルの希望サイズを設定します。通常、既定のサイズでほとんどのユーザーには十分です。 +6. **Dockerを有効にする**を**はい**に設定し、**適用**をクリックします。Unraidが%%BTRFS|btrfs%%を使用して新しい`docker.img`ファイルを作成し、フォーマットします。 + +これで、保存済みの設定を使ってコンテナを再インストールする準備が整いました。 + +--- + +## Dockerアプリケーションを再インストールする + +Unraid automatically saves a template for each installed container on your boot device. These templates store your configuration, making it easy to restore containers after recreating the Docker image file. + +コンテナを再インストールするには: + +1. Go to the **Apps** tab in the %%WebGUI|web-gui%%. +2. **Previous Apps**セクションを開きます。 +3. 再インストールしたいコンテナを選択します。 +4. インストールを続行します。Unraidが各コンテナを再ダウンロードし、以前の設定を自動的に適用します。 + +:::important + +この手順により、可変データがDockerイメージファイルの外部(たとえば`appdata`共有)にマッピングされている限り、コンテナは以前の状態に復元されます。 + +::: + +:::tip + +再インストール後にコンテナが起動しない場合は、**Docker**タブのコンテキストメニューからログを確認し、エラーメッセージやトラブルシューティングの手がかりを探してください。 + +::: + +:::note + +コンテナを復元した後は、すべてのマッピングされたホストパスが存在し、正しい権限を持っていることを確認してください。誤ったマッピングや権限の問題は、起動失敗の一般的な原因です。 + +::: + +--- + +## Dockerカスタムネットワークを復元する + +カスタムDockerネットワークは、Dockerイメージファイルを削除すると保持されません。イメージを削除する前に、ターミナルを開いて次のコマンドを実行し、カスタムネットワーク名を記録してください: + +``` +docker network ls +``` + +作成したネットワークの名前を控えます(既定の`bridge`、`host`、`none`ネットワークは除きます)。 + +カスタムネットワークを復元するには: + +1. Dockerイメージファイルを再作成した後、次のコマンドを使用して各カスタムネットワークを再作成します: + + ``` + docker network create + ``` + + ``を、前に記録した正確な名前に置き換えてください。 + +2. 必要に応じて、復元したネットワークを使用するようにコンテナを更新します。 + +:::note + +環境で必要な場合は、***設定 → Docker***で**カスタムネットワークへのホストアクセス**を**有効**に設定すると、ホストからカスタムネットワークへのアクセスを有効にできます。 + +::: + +:::tip + +復元後にコンテナが期待どおりに通信できない場合は、Dockerのネットワーク設定を確認し、競合や接続の問題がないか調べてください。 + +::: From a229110f9e7f9d9002f599c457f74075de8deef7 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:28:46 -0400 Subject: [PATCH 172/437] New translations repair-btrfs.mdx (Japanese) --- .../partials/data-recovery/repair-btrfs.mdx | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/common-issues/partials/data-recovery/repair-btrfs.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/common-issues/partials/data-recovery/repair-btrfs.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/common-issues/partials/data-recovery/repair-btrfs.mdx new file mode 100644 index 00000000000..fc93384a9fc --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/common-issues/partials/data-recovery/repair-btrfs.mdx @@ -0,0 +1,9 @@ +- %%WebGUI|web-gui%% で `btrfs scrub` を使用して、特定のエラーをスキャンし修復します。 +- 単一ドライブでは、scrub は一部のエラーを検出できても修復できない場合があります。その場合は、データを別の場所にコピーしてから、ディスクまたはプールを再フォーマットすることを検討してください。 + +:::note + +- 現在の %%BTRFS|btrfs%% 修復ツールでは、すべての破損に対処できない場合があります。必要に応じて、更新されたツールについて Unraid のドキュメントを確認してください。 +- scrub と recovery の詳細については、それぞれの %%BTRFS|btrfs%% のドキュメントまたは Unraid フォーラムを参照してガイダンスを確認してください。 + +::: From dd4a9c0036b343c8989efb02fb3f44896dc0d3f7 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:28:47 -0400 Subject: [PATCH 173/437] New translations repair-xfs.mdx (Japanese) --- .../partials/data-recovery/repair-xfs.mdx | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/common-issues/partials/data-recovery/repair-xfs.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/common-issues/partials/data-recovery/repair-xfs.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/common-issues/partials/data-recovery/repair-xfs.mdx new file mode 100644 index 00000000000..862c83aed40 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/common-issues/partials/data-recovery/repair-xfs.mdx @@ -0,0 +1,18 @@ +Unraid 7.0 以降では、XFS ファイルシステムの修復は WebGUI を通じて完全に自動化されています: + +1. Click the **CHECK** button (no options to enter). +2. Check results: + - **No corruption detected**: Shows "no filesystem corruption detected" and the **CHECK** button remains. + - **Corruption detected**: Shows "filesystem corruption detected" and a **FIX** button appears. +3. Click **FIX** to automatically repair the file system. +4. If needed, a **ZERO LOG** button may appear. +5. The process shows "filesystem repaired" when complete. + +この自動化されたシステムにより、ユーザーが修復オプションを手動で入力する必要がなくなり、正しい修復手順が確実に実行されます。 + +:::note + +- 修復では %%parity|parity%% 保護が維持され、かなりの時間がかかる場合があります。 +- %%WebGUI|web-gui%% とコマンドラインの両方のオプションが %%XFS|xfs%% 修復でサポートされています(コマンドは下記参照)。 + +::: From 155b8fd9098e98511554f2f15639fea1eef23b91 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:28:48 -0400 Subject: [PATCH 174/437] New translations xfs-check-cli.mdx (Japanese) --- .../partials/data-recovery/xfs-check-cli.mdx | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/common-issues/partials/data-recovery/xfs-check-cli.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/common-issues/partials/data-recovery/xfs-check-cli.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/common-issues/partials/data-recovery/xfs-check-cli.mdx new file mode 100644 index 00000000000..ac0757504b3 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/common-issues/partials/data-recovery/xfs-check-cli.mdx @@ -0,0 +1,12 @@ +コンソールまたは %%SSH|ssh%% 経由で、次を実行します: + +``` +xfs_repair -v /dev/mdXp1 +``` + +**X** を正しいディスク番号に置き換えてください(例: ディスク 1 の場合は `md1p1`)。 + +- 必要に応じて、修復レポートを確認し、さらなる対処手順を実施してください。問題が軽微な場合は、通常 `-v` を付けて実行するだけで十分です。 +- 修復によって `lost+found` ディレクトリが作成された場合は、上記のとおり確認して管理してください。 +- 修復中も %%Parity|parity%% は維持されます。 +- 完了したら、%%array|array%% を停止し、通常モードで再起動します。 From 6137223cb73bc84bc875e0ad96ed5fd4d007e5f9 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:28:50 -0400 Subject: [PATCH 175/437] New translations xfs-check-webgui.mdx (Japanese) --- .../partials/data-recovery/xfs-check-webgui.mdx | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/common-issues/partials/data-recovery/xfs-check-webgui.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/common-issues/partials/data-recovery/xfs-check-webgui.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/common-issues/partials/data-recovery/xfs-check-webgui.mdx new file mode 100644 index 00000000000..b9ea149598f --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/common-issues/partials/data-recovery/xfs-check-webgui.mdx @@ -0,0 +1,7 @@ +1. %%WebGUI|web-gui%% を %%XFS|xfs%% でフォーマットされた %%array|array%% ドライブに使用します。 +2. %%array|array%% を %%Maintenance Mode|maintenance-mode%%(アンマウント済み)で開始します。 +3. メインタブでディスクを選択し、**ファイルシステム状態を確認** を開きます。 +4. 既定では、チェックは `-n`(変更しない)を使用します。より詳細な出力が必要な場合は、`-v` を追加して `-nv` にします。 +5. 修復するには、修正を許可するために `-n` フラグを削除します。 + +%%WebGUI|web-gui%% プロセスは、修復中に %%parity|parity%% を維持します。 From 341563c2c69a610c7ee7e2b0e80f0363542cc850 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:28:51 -0400 Subject: [PATCH 176/437] New translations flash-drive-failure.mdx (Japanese) --- .../partials/unclean-shutdowns/flash-drive-failure.mdx | 1 + 1 file changed, 1 insertion(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/common-issues/partials/unclean-shutdowns/flash-drive-failure.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/common-issues/partials/unclean-shutdowns/flash-drive-failure.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/common-issues/partials/unclean-shutdowns/flash-drive-failure.mdx new file mode 100644 index 00000000000..83bc3c5f305 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/common-issues/partials/unclean-shutdowns/flash-drive-failure.mdx @@ -0,0 +1 @@ +The %%array|array%% status is stored on your boot device. If the boot device becomes unavailable or enters a read-only state, Unraid cannot update the shutdown status, even if the %%array|array%% stops correctly. This results in an unclean shutdown being detected at the next boot. From 6e3c4c31a6dadcd0a859cdb60b9675b5e1f13cd8 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:28:52 -0400 Subject: [PATCH 177/437] New translations open-terminal-sessions.mdx (Japanese) --- .../partials/unclean-shutdowns/open-terminal-sessions.mdx | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/common-issues/partials/unclean-shutdowns/open-terminal-sessions.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/common-issues/partials/unclean-shutdowns/open-terminal-sessions.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/common-issues/partials/unclean-shutdowns/open-terminal-sessions.mdx new file mode 100644 index 00000000000..ba8016099c1 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/common-issues/partials/unclean-shutdowns/open-terminal-sessions.mdx @@ -0,0 +1,7 @@ +Unraid はシャットダウン中に、開いているすべてのターミナルまたは SSH セッションが終了するのを待機します。これらのセッションがアクティブなままでシャットダウンタイマーが切れると、強制シャットダウンが実行されます。 + +:::tip + +[Dynamix Stop Shell](https://unraid.net/community/apps/c/tools-system/p2?srsltid=AfmBOoqBXyDNfHxRDCL7Fv9Gcfz8-8CdHmiJSX16PRZpZLLzgQtw2mVk#:~:text=the%20given%20interval.-,Dynamix%20Stop%20Shell,-Dynamix%20Repository) プラグインは、残っている bash または SSH セッションを自動的に終了でき、適切なシャットダウンを確実にするのに役立ちます。ただし、%%array|array%% への書き込み操作が進行中の場合は注意してください。 + +::: From 19815fd0188f0508fe4456fb62df267f8c5b6fa7 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:28:54 -0400 Subject: [PATCH 178/437] New translations unexpected-power-loss.mdx (Japanese) --- .../partials/unclean-shutdowns/unexpected-power-loss.mdx | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/common-issues/partials/unclean-shutdowns/unexpected-power-loss.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/common-issues/partials/unclean-shutdowns/unexpected-power-loss.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/common-issues/partials/unclean-shutdowns/unexpected-power-loss.mdx new file mode 100644 index 00000000000..da9a4457616 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/common-issues/partials/unclean-shutdowns/unexpected-power-loss.mdx @@ -0,0 +1,7 @@ +電源の中断は、正常でないシャットダウンの主な原因の一つです。バッテリーが切れる前に Unraid を自動的にシャットダウンできるよう、適切に設定された UPS でシステムを保護してください。 + +:::note + +Unraid は、%%apcupsd Protocol|apcupsd%% プロトコルを使用するほとんどの UPS ユニットをサポートしています(APC と CyberPower は通常互換性があります)。お使いの UPS がサポートされていない場合は、Community Applications の Network UPS Tools(NUT)プラグインを検討してください。 + +::: From 66ab261dc0158ab0100efb87b704553fc1362749 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:28:55 -0400 Subject: [PATCH 179/437] New translations system-crashes-and-stability.mdx (Japanese) --- .../system-crashes-and-stability.mdx | 240 ++++++++++++++++++ 1 file changed, 240 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/common-issues/system-crashes-and-stability.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/common-issues/system-crashes-and-stability.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/common-issues/system-crashes-and-stability.mdx new file mode 100644 index 00000000000..0dd54fe4b66 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/common-issues/system-crashes-and-stability.mdx @@ -0,0 +1,240 @@ +--- +sidebar_position: 3 +sidebar_label: システムクラッシュと安定性 +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# システムクラッシュと安定性 + +システムクラッシュや安定性の問題は、原因の特定と解決が難しい場合があります。多くはハードウェア障害、設定ミス、またはソフトウェア内の競合に起因します。このセクションでは、Unraidサーバーの安定性を維持するのに役立つ一般的な原因、診断手順、ベストプラクティスを案内します。 + +--- + +## RAMの問題 + +メモリの問題は、システムの不安定化やデータ破損の最も一般的な原因のひとつです。RAMは時間の経過とともに劣化することがあり、予測不能なエラーを引き起こして、診断が難しくなることがあります。このセクションでは、メモリ関連の安定性問題の特定と解決方法を説明します。 + +RAMの問題の一般的な症状には、次のものがあります: + +- 原因不明のシステムクラッシュやフリーズ +- ファイルまたは%%array|array%%内のデータ破損 +- アプリケーションのランダムなエラー +- 負荷時のシステム不安定化 +- %%parity checks|parity-check%%の失敗 + +### RAMのテスト + +メモリテストは、安定性の問題を診断するうえで不可欠です。Unraidのブートメニューには、Legacyシステムと%%UEFI|uefi%%システムの両方で動作する、包括的なRAMテスト用のMemtest86+が含まれています。 + +RAMをテストするには: + +1. サーバーを再起動し、ブートメニューから\*\*Memtest86+\*\*を選択します。 +2. 十分に検査するため、テストは少なくとも2〜4時間実行してください。 +3. エラーメッセージやテスト失敗がないか監視します。 + +:::note[Other RAMテストツール] + +- [**MemTest86+**](https://www.memtest.org/): Unraidに含まれるオープンソースツール +- [**MemTest86**](https://www.memtest86.com/): 最新ハードウェアをサポートする商用ツール +- [**Karhu RAM Test**](https://www.karhusoftware.com/): 有料ですが非常に効果的なWindowsベースのツールで、従来の方法よりも速くエラーを検出でき、30分以内の検出率は95.67%です(DDR5システムに最適) +- [**HCI MemTest**](https://hcidesign.com/memtest/): 人気のある無料のWindowsベースのテスター +- [**Prime95**](https://prime95.net/): RAMとCPUの安定性を同時に検証します + +::: + +:::important[If RAMエラーが見つかった場合] + +Memtest86+でエラーが出る場合は、RAMモジュールを挿し直してから再度テストしてください。故障しているモジュールを特定するため、各RAMスティックを個別にテストします。対応するRAM速度と構成についてはマザーボードのドキュメントを参照し、互換性の問題を最小限に抑えるため、異なるRAMブランドや速度を混在させないでください。 + +::: + +### RAMのオーバークロック + +RAMのオーバークロックは、システムの安定性に大きな影響を与える可能性があります。多くのユーザーはRAMをメーカー指定の最高速度で動作させたいと考えますが、マザーボードとCPUの組み合わせには、RAMの定格値より低い、信頼性の高い最大速度がある場合がよくあります。 + +:::caution[RAM オーバークロックのリスクと推奨事項] + +**購入時:** 可能であれば、RAMメーカーのQVLではなく、マザーボードのQVL(Qualified Vendor List)に掲載されているRAMを必ず購入してください。これにより、互換性と安定性が向上します。 + +**Intel XMPおよびAMD AMPプロファイルはオーバークロックです。** 最大の安定性を得るには、RAMは常にXMP/AMP速度ではなくSPD速度で動作させてください。 + +**オーバークロックのリスク:** + +- システムの不安定化とランダムクラッシュ +- データ破損とファイルシステムエラー +- ハードウェア寿命の短縮 +- 他のコンポーネントとの互換性問題 + +**トラブルシューティング:** Memtest86+で問題が出なくても、まだ不具合がある場合はXMP/AMPを無効にして再試行してください。性能差は通常ごくわずかですが、安定性の改善は大きいことがあります。 + +::: + +

ベストプラクティス

+ +1. オーバークロックを試す前に、必ずマザーボードとCPUの仕様を確認してください。 +2. **最大の安定性を重視する場合:** XMP/AMPプロファイルを無効にし、RAMをデフォルトのSPD速度で動作させます。 +3. 控えめな設定から始め、徐々に上げてください。 +4. 変更後はMemtest86+で安定性をテストします。 +5. 不安定さに気付いたら、すぐにデフォルトまたはより低い速度に戻してください。 +6. サーバー環境では、パフォーマンスと安定性のトレードオフを考慮してください。 + +## 重要な安定性要因 + +システムの安定性は、RAMやCPUの性能だけに依存しません。複数のハードウェアおよびソフトウェアコンポーネントが連携して、信頼性の高い動作を維持します。このセクションでは、Unraidサーバーの安定性に影響する重要な領域を取り上げ、問題を防止・解決するための実行可能な手順を示します。 + +システムの安定性は通常、次の要素に依存します: + +- 電源品質と信頼性 +- 適切な熱管理 +- ディスクの健康状態とI/O性能 +- プラグインとアプリケーションの互換性 +- 最新のファームウェアとBIOSバージョン +- 予防的な監視とメンテナンス + +### 電源の信頼性 + +
+ クリックして展開/折りたたむ + + 安定して十分な電源供給は、サーバーを中断なく稼働させるうえで不可欠です。電源の問題は見落とされがちですが、最も厄介な安定性の問題を引き起こすことがあります。 + + 一般的な電源関連の問題には、次のものがあります: + + - ランダムなシステムクラッシュやフリーズ + - 書き込み中のデータ破損 + - 予告なしの突然のシャットダウン + - ハードウェアコンポーネントの故障 + - 不安定なパフォーマンス + +

予防とメンテナンス

+ + 予防的な電源メンテナンスは、最も一般的な安定性問題を防ぎます。定期的な確認と適切なコンポーネント選定により、高額な停止時間とデータ損失を回避できます。 + + 1. 必ず、ハードウェアに適した高品質で定格の合ったPSUを使用してください。 + 2. **重要:** 電源装置が、接続されているすべてのストレージデバイスの同時スピンアップに対応できることを確認してください。12Vレールの電流定格は、段階的ではなく、すべてのドライブが一度にスピンアップする際の電流を考慮する必要があります。 + 3. 可能な限り、電源スプリッターの使用は避けてください。特にドライブのスピンアップのような大電流イベント時には、電圧降下と不安定化の原因になります。 + 4. エンタープライズおよびマルチベイシステムでは、冗長電源の導入を検討してください。 + 5. 各PSUユニットが正しく装着され、接続されていることを確認してください。 + 6. 利用可能であれば、PSUの状態表示(AC OK LEDなど)を監視してください。 + 7. ダウンタイムを避けるため、故障したユニットはただちに交換してください。 + 8. すべての電源ケーブルがしっかり接続されていることを定期的に確認してください。 + 9. 回路が過負荷になっていないことを確認してください。 + +
+ +### 熱管理と過熱 + +
+ クリックして展開/折りたたむ + + 過熱は、ハードウェア障害と不規則なサーバー動作の主要因のひとつです。熱の問題は、コンポーネントの性能を抑制させたり、完全に故障させたりする可能性があります。 + + 熱問題の兆候には、次のものがあります: + + - システムのスロットリングまたは性能低下 + - 高負荷時のランダムクラッシュ + - ファンノイズや通常とは異なる冷却動作 + - ハードウェアコンポーネントの故障 + - 一貫性のないシステム動作 + +

冷却ソリューションとベストプラクティス

+ + 適切な冷却は、システムの安定性を維持し、熱スロットリングを防ぐために不可欠です。これらの実践は、サーバーが安全な温度範囲内で動作するのに役立ちます。 + + 1. サーバーは、十分な換気が確保された場所に設置してください。 + 2. 周囲温度を適切に管理してください(理想は18〜24°C/64〜75°F)。 + 3. 十分な冷却ソリューション(高品質ファン、ラックマウント型空調)を活用してください。 + 4. ハードウェアセンサーを使用してシステム温度を監視してください。 + 5. 冷却コンポーネントのほこりやゴミを定期的に清掃してください。 + 6. サーバーを、狭く換気の悪い場所に置かないでください。 + 7. 高性能システムでは追加の冷却を検討してください。 + + 温度を積極的に監視することで、冷却の問題がシステムの不安定化を引き起こす前に特定できます。Unraidの組み込み温度センサー、またはお使いのシステムに対応したハードウェア監視ツールを使用してください。 + +
+ +### ディスクの健康状態とI/Oエラー + +
+ クリックして展開/折りたたむ + + ディスクエラーは、経年劣化したドライブであれ突然の故障であれ、システムの安定性を損ない、データを危険にさらす可能性があります。I/Oの問題は、完全な障害に至る前に、しばしば性能問題として現れます。 + + ディスク問題の症状には、次のものがあります: + + - サーバー負荷の増大またはパフォーマンス低下 + - %%parity checks|parity-check%%の失敗 + - データ破損または読み取り/書き込みエラー + - 異常なディスク動作または騒音 + - ディスク操作中のシステムフリーズ + +

予防保守

+ + 定期的なメンテナンスは、データ損失やシステム不安定化を引き起こす前にディスクの問題を検出するのに役立ちます。こうした予防的な手順は、ドライブ寿命を大幅に延ばし、性能を維持できます。 + + 1. Unraidに組み込まれている[disk health tools](../../system-administration/monitor-performance/smart-reports-and-disk-health.mdx)を使用して、drive %%SMART|smart%%データを定期的に監視してください。 + 2. Run periodic [%%parity checks|parity-check%%s](../../using-unraid-to/manage-storage/array/array-health-and-maintenance.mdx#parity-checks) to ensure data integrity. + 3. ディスクの温度とパフォーマンス指標を監視してください。 + 4. ドライブの通気と冷却を適切に保ってください。 + +

問題が発生した場合

+ + ディスクの問題に迅速に対応することで、データ損失を防ぎ、ダウンタイムを最小限に抑えられます。問題を特定して解決するため、次の手順を体系的に実行してください。 + + 1. データ損失を防ぐため、故障しつつあるドライブはただちに交換してください。 + 2. 配線、電源供給、ドライブコントローラの状態を調査してください。 + 3. 接続の緩みやケーブル損傷を確認してください。 + 4. 疑わしいドライブには、拡張%%SMART|smart%%テストの実行を検討してください。 + 5. I/Oエラーパターンがないかシステムログを監視してください。 + +
+ +### アプリケーションとプラグインの安定性 + +
+ クリックして展開/折りたたむ + + Unraidの柔軟性は、プラグインとDockerコンテナのサポートによって実現されています。ただし、サードパーティ製プラグインは、特に古い場合や現在のUnraidバージョンと互換性がない場合、不安定化を招くことがあります。 + + トラブルシューティング時には... + + - [Safe Mode](../../using-unraid-to/customize-your-experience/plugins.mdx#troubleshooting-with-safe-mode)を使用してプラグインを一時的に無効化し、問題の原因を特定してください。 + - 機能追加には、プラグインよりもDockerコンテナを優先してください。コンテナはコアOSからの分離性が高く、システム全体の問題を引き起こしにくいためです。 + - 安定性を維持するため、未使用または未サポートのプラグインは定期的に更新または削除してください。 + +
+ +### ファームウェアとBIOSの更新 + +
+ クリックして展開/折りたたむ + + 古いファームウェアやBIOSは、不安定化、セキュリティ上の脆弱性、ハードウェア互換性の問題を招く可能性があります。システムの安定性とセキュリティを維持するには、定期的な更新が不可欠です。 + + - マザーボードと重要なコンポーネントのファームウェアおよびBIOS更新を定期的に確認するようスケジュールしてください。 + - 更新前には必ず設定をバックアップし、可能であれば管理された環境で更新をテストしてください。 + - 更新手順を文書化し、定期的に見直してベストプラクティスに従えているか確認してください。 + + システムファームウェアを最新に保つことで、予期しないクラッシュを防ぎ、新しいハードウェア機能を利用できるようになります。 + + :::tip[推奨事項] + - [ASUS Armoury Crate](https://www.asus.com/supportonly/armoury%20crate/helpdesk_download/)、[Gigabyte @BIOS](https://www.gigabyte.com/Support/Consumer/Download)、または[MSI Center](https://www.msi.com/Landing/MSI-Center)などのメーカー提供ユーティリティを使用して、リスクなしで更新してください。 + - 利用可能であれば、マザーボードのBIOS設定で自動更新オプションを確認してください。 + ::: + +
+ +### プロアクティブなシステム監視 + +
+ クリックして展開/折りたたむ + + 継続的な監視は、問題を早期に検出するために不可欠です。 + + - Unraidで[永続ログ](../../troubleshooting/diagnostics/capture-diagnostics-and-logs.mdx)を有効にし、再起動をまたいでログを保持してください。 + - システム監視ツールを使用して、温度、電圧、ドライブの健全性を追跡してください。軽微な問題が深刻化する前に対処できるよう、重要な閾値に対するアラートを設定してください。 + - システムログを定期的に確認することで、パターンを見つけ、ダウンタイムにつながる前に根本原因に対処できます。 + +
From b59ba8321beab2b062fe61dff937aa87e5860206 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:28:57 -0400 Subject: [PATCH 180/437] New translations unclean-shutdowns.mdx (Japanese) --- .../common-issues/unclean-shutdowns.mdx | 327 ++++++++++++++++++ 1 file changed, 327 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/common-issues/unclean-shutdowns.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/common-issues/unclean-shutdowns.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/common-issues/unclean-shutdowns.mdx new file mode 100644 index 00000000000..a029e5a7749 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/common-issues/unclean-shutdowns.mdx @@ -0,0 +1,327 @@ +--- +sidebar_position: 2 +sidebar_label: 不適切なシャットダウン +--- + +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; + +# 不適切なシャットダウン + +不適切なシャットダウンは、Unraid が %%array|array%% がシステムの電源が切れる前に正しく停止されなかったことを検出したときに発生します。この状況では、データの整合性を確保するため、次回の起動時に自動的に %%parity check|parity-check%% が実行される場合があります。 + +:::important[Recommendations 不適切なシャットダウンを防ぐため + +いくつかの予防策を講じることで、不適切なシャットダウンを回避または特定しやすくなります: + +- **UPS を使用する:** サーバーを無停電電源装置(UPS)に接続し、バッテリー残量が少なくなったときに制御されたシャットダウンを開始するよう設定します。 +- **正常なシャットダウンを試みる:** サーバーが応答しない場合は、電源ボタンを短く押して安全なシャットダウンを開始します。ボタンを押し続けないでください。強制的に電源が切れ、不適切なシャットダウンにつながります。 +- **Enable persistent logging:** Go to ***Settings → Syslog Server*** to activate logging that persists after a reboot. See [Persistent logs (Syslog server)](../diagnostics/capture-diagnostics-and-logs.mdx#persistent-logs-syslog-server) for more details. +- **サポート用の診断を添付する:** 不適切なシャットダウンが発生した場合、Unraid はフラッシュデバイス上の `/log/diagnostics.zip` に診断情報を保存しようとします。サポートを求めるフォーラム投稿には、このファイルを添付してください。 + +::: + +:::tip[UPS 設定のベストプラクティス + +適切に構成された UPS は、停電による不適切なシャットダウンに対する最善の防御策です。 + +- **UPS を USB で** Unraid サーバーに接続します。 +- **Enable UPS support** in ***Settings → UPS Settings***. +- **Configure shutdown timeouts:** Set the UPS to trigger a controlled shutdown before the battery runs low. Adjust the "Battery runtime left" or "Battery charge level" thresholds to provide enough time for Unraid to [stop the %%array|array%%](../../using-unraid-to/manage-storage/array/overview.mdx#startstop-the-array) and power down safely. +- **設定をテストする:** 停電をシミュレートして、UPS と Unraid が正しく応答することを確認します。 + +より高度な UPS モデルや未対応のハードウェアとの互換性を広げるには、[NUT plugin](https://unraid.net/community/apps/c/plugins/p4?srsltid=AfmBOop675PrJQW4iqb4JBN3GyPpwDDiSmnZReq78t27XyxkFdMX8inO#:~:text=NUT%20%2D%20Network%20UPS%20Tools) を検討してください。 + +::: + +## Events that cause unclean shutdowns + +Understanding the main triggers for unclean shutdowns helps you prevent them. The following sections cover the most common scenarios and their solutions. + +### 予期しない電源断 + +電源の中断は、正常でないシャットダウンの主な原因の一つです。バッテリーが切れる前に Unraid を自動的にシャットダウンできるよう、適切に設定された UPS でシステムを保護してください。 + +:::note + +Unraid は、%%apcupsd Protocol|apcupsd%% プロトコルを使用するほとんどの UPS ユニットをサポートしています(APC と CyberPower は通常互換性があります)。お使いの UPS がサポートされていない場合は、Community Applications の Network UPS Tools(NUT)プラグインを検討してください。 + +::: + +### Flash drive failure + +The %%array|array%% status is stored on your USB flash device. If the flash drive becomes unavailable or enters a read-only state, Unraid cannot update the shutdown status, even if the %%array|array%% stops correctly. This results in an unclean shutdown being detected at the next boot. + +### Open terminal sessions + +Unraid はシャットダウン中に、開いているすべてのターミナルまたは SSH セッションが終了するのを待機します。これらのセッションがアクティブなままでシャットダウンタイマーが切れると、強制シャットダウンが実行されます。 + +:::tip + +[Dynamix Stop Shell](https://unraid.net/community/apps/c/tools-system/p2?srsltid=AfmBOoqBXyDNfHxRDCL7Fv9Gcfz8-8CdHmiJSX16PRZpZLLzgQtw2mVk#:~:text=the%20given%20interval.-,Dynamix%20Stop%20Shell,-Dynamix%20Repository) プラグインは、残っている bash または SSH セッションを自動的に終了でき、適切なシャットダウンを確実にするのに役立ちます。ただし、%%array|array%% への書き込み操作が進行中の場合は注意してください。 + +::: + +--- + +## シャットダウンタイムアウトの設定 + +Properly configuring shutdown timeouts is essential to ensure your Unraid server can stop all services effectively. This prevents unclean shutdowns, especially during power loss or maintenance. The most important step is to configure your %%VMs|vm%% to hibernate instead of shutting down. This approach helps eliminate many timeout-related issues. + +### VM hibernation setup + +:::tip[Use VM hibernation] + +For the most reliable and fastest shutdowns, configure your %%VMs|vm%% to hibernate instead of shutting down. This is especially important for Windows %%VMs|vm%% but benefits all %%VM|vm%% types. + +We recommend using hibernation because it: + +- **Saves VM state instantly** - No waiting for the guest OS to shut down. +- **Prevents data loss** - No risk of interrupting updates or unsaved work. +- **Avoids timeout issues** - Hibernation is nearly instantaneous. +- **Faster recovery** - %%VMs|vm%% resume exactly where they left off. + +Shutdown can be problematic because: + +- Windows may display dialog boxes ("Save this document?") that halt the shutdown indefinitely. +- Windows updates can take 10+ minutes during shutdown. +- If the timeout expires, Unraid force-kills the %%VM|vm%%, potentially corrupting in-progress Windows updates, unsaved documents, application data, and file systems in the guest OS. + +**Critical requirement:** Ensure the %%QEMU|qemu%% %%Guest Agent|guest-agent%% is installed in the %%VM|vm%% for hibernation to function correctly. + +::: + +To enable VM hibernation: + + + + + 1. **Download %%QEMU|qemu%% %%Guest Agent|guest-agent%%:** + - Go to the [VirtIO drivers download page](https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/). + - Download the latest `virtio-win.iso` file. + + 2. **Install in Windows %%VM|vm%%:** + - Mount the `virtio-win.iso` to your %%VM|vm%%. + - Run the installer from the mounted ISO. + - Install both %%VirtIO|virtio%% drivers AND %%QEMU|qemu%% %%Guest Agent|guest-agent%%. + - Restart the %%VM|vm%%. + + 3. **Configure in Unraid:** + - Go to your %%VM|vm%% settings in the ***VMs*** tab. + - Set **Shutdown Action** to **Hibernate**. + - **Apply** をクリックします。 + + + + + + 1. **Install %%QEMU|qemu%% %%Guest Agent|guest-agent%%:** + + ```bash + # Ubuntu/Debian + sudo apt install qemu-guest-agent + + # CentOS/RHEL/Fedora + sudo yum install qemu-guest-agent + # or + sudo dnf install qemu-guest-agent + ``` + + 2. **Enable the service:** + ```bash + sudo systemctl enable qemu-guest-agent + sudo systemctl start qemu-guest-agent + ``` + + 3. **Configure in Unraid:** + - Set **Shutdown Action** to **Hibernate** in your %%VM|vm%% settings. + + + + + + Some %%VMs|vm%%, like Home Assistant, don't allow the installation of additional software. For these: + + - Keep **Shutdown Action** set to **Shutdown**. + - Use longer timeout values (see timeout recommendations below). + - Consider the risks of force-killing these %%VMs|vm%% during updates. + + :::note[Why appliance VMs are different] + Appliance %%VMs|vm%% are designed to run specific software and often don't allow the installation of additional packages, such as %%QEMU|qemu%% %%Guest Agent|guest-agent%%. This means hibernation isn't available, so you'll need to rely on proper timeout configuration. + ::: + + + + +Now to verify your hibernation works, start your %%VM|vm%% and open some applications. Then stop it from Unraid. When you start it again, it should resume with all applications still open. + +:::warning[Guest Agent is critical] + +Without the %%QEMU|qemu%% %%Guest Agent|guest-agent%% installed, hibernation may not work properly. In that case, the %%VM|vm%% will revert to shutdown mode, consuming the full timeout period. + +::: + +--- + +### Timeout configuration + +In this section, we’ll cover how to configure timeouts for various systems and processes. This information is important to ensure that your %%VMs|vm%% and Docker containers shut down gracefully without data loss. + +| 設定 | デフォルト | When to increase | どこで設定するか | +| ------------------------ | ----- | ------------------------------------------------- | ---------------------------------------------------- | +| %%VM\|vm%% シャットダウンタイムアウト | 60秒 | 300s if not using hibernation and VMs crash | ***Settings → VM Manager → VM Shutdown (Advanced)*** | +| Docker コンテナ停止タイムアウト | 10秒 | 30s if any containers are crashing when stopped | ***Settings → Docker (Advanced)*** | +| 一般的なシャットダウンタイムアウト | 90秒 | 180s if you get unclean shutdowns, 300s+ with VMs | ***Settings → Disk Settings → Shutdown time-out*** | + +:::tip[When to increase timeouts] + +If you're experiencing unclean shutdowns or containers that crash during shutdown, consider increasing the general shutdown timeout to **180 seconds** (or **300+ seconds** if you have multiple %%VMs|vm%%). This gives services more time to shut down gracefully. + +::: + +### Shutdown sequence + +When shutting down, the process happens in the following order: + +1. **%%VM|vm%% shutdown**: This involves three stages, and each one can take up to the VM timeout: + + - Stage 1: Resume any paused %%VMs|vm%% + - Stage 2: Hibernate %%VMs|vm%% that are set up for hibernation + - Stage 3: Shut down any remaining %%VMs|vm%% + + All %%VMs|vm%% in each stage are processed at the same time, meaning the total shutdown time can be calculated as: VM timeout × 3. + +2. Docker containers stop simultaneously (total time = Docker timeout). + +3. Other services include tasks like LXC containers and third-party plugins, which usually take a few seconds. + +4. Array shutdown: drives need to be unmounted and data synced; this typically takes 15-30 seconds. + +:::tip[Calculate your general shutdown timeout] + +**Formula:** Your general shutdown timeout should be greater than: + +``` +(VM timeout × 3) + (Docker timeout) + (Other services) + 15-30 seconds +``` + +**Example:** If we follow the formula, it would look like this: `(300 × 3) + 30 + 10 + 30 = 970 seconds (over 16 minutes)`. + +**Recommended:** At least **180 seconds (3 minutes)** at minimum and **300+ seconds (5+ minutes)** if you have multiple %%VMs|vm%% or complex containers. + +::: + +If all your %%VMs|vm%% are set to hibernate rather than shutting down, then the VM timeout is less critical since hibernation is nearly immediate. You could use a lower VM timeout (for example, 60-120 seconds) as a backup for any %%VMs|vm%% that don't support hibernation. + +--- + +### Detailed configuration guide + +This section provides in-depth information about configuring timeouts for different system components. Each timeout setting works together to ensure your server shuts down gracefully without data loss. + +#### VM timeouts + +Configure VM shutdown timeouts in ***Settings → VM Manager → VM Shutdown*** (enable Advanced view). + +**How it works:** + +- %%VMs|vm%% go through three shutdown stages, each consuming the full VM timeout +- All %%VMs|vm%% in each stage are processed simultaneously +- Total VM shutdown time = VM timeout × 3 + +**Common issues:** + +- **Windows update interruptions:** Updates during shutdown can be corrupted if timeout expires. +- **Unsaved work:** Dialog boxes asking to save documents can halt shutdown indefinitely. +- **Hibernation failures:** %%VMs|vm%% without %%QEMU|qemu%% %%Guest Agent|guest-agent%% may fail to hibernate and use full timeout. + +:::tip[VM timeout recommendations] + +- **Primary recommendation:** Configure %%VMs|vm%% to hibernate instead of shutting down (requires %%QEMU|qemu%% %%Guest Agent|guest-agent%%). +- **If VMs crash during shutdown:** Increase timeout to **300 seconds (5 minutes)** for Windows %%VMs|vm%%. +- **Windows updates:** Set Windows to install updates at startup rather than during shutdown. +- **Test your setup:** Manually stop your %%VMs|vm%% to confirm they shut down or hibernate within the timeout period. + +::: + +:::warning[No safe timeout without hibernation] + +Without hibernation and %%QEMU|qemu%% %%Guest Agent|guest-agent%%, there isn't a truly safe timeout for Windows %%VMs|vm%%. Dialog boxes or ongoing update installations could render any timeout inadequate, leading to forced shutdowns and data corruption risk. + +::: + +#### Docker timeouts + +Configure Docker container stop timeouts in ***Settings → Docker*** (enable Advanced view). + +**How it works:** + +- Containers are stopped in parallel, so total time equals the Docker stop timeout. +- Most containers stop within 10 seconds, but some may need more time. +- Complex containers with large databases or ongoing operations might require additional time. +- If the timer expires, containers are force-stopped. + +:::tip[Docker timeout recommendations] + +- The **default 10 seconds** works well for most containers. +- **If containers are crashing when stopped:** Increase timeout to **30 seconds**. +- Monitor your containers during shutdown to identify any that consistently need more time. + +::: + +#### General timeouts + +Configure the general shutdown timeout in ***Settings → Disk Settings → Shutdown time-out***. + +**UPS considerations (most critical factor):** + +- Your UPS must provide enough runtime to complete the full shutdown sequence before battery runs out. +- For **manual shutdown**, you can set longer timeouts since you control when shutdown starts. +- With **power outage shutdown**, your timeout is limited by UPS battery life. +- **Test your UPS** by simulating a power outage to ensure your server shuts down cleanly with time to spare. + +:::tip[General timeout recommendations] + +- **If you get unclean shutdowns:** Increase to **180 seconds (3 minutes)** for systems without %%VMs|vm%%. +- **For systems with %%VMs|vm%%:** Use **300+ seconds (5+ minutes)** if not using hibernation. +- **If using hibernation:** **180-300 seconds** is usually sufficient. +- Ensure timeouts are not longer than what your UPS can support during a power outage. + +::: + +#### Third-party services + +**LXC containers:** +The LXC plugin has its own timeout setting for stopping containers. Like Docker containers, LXC containers typically stop within a few seconds, but some may require more time. Check the LXC plugin settings for the container stop timeout and include this timeout in your general shutdown timeout calculation. + +**Other services:** +Some plugins or custom services may have their own shutdown procedures. Refer to the plugin documentation for specific timeout settings and incorporate them into your calculations. + +**Updated formula with third-party services:** + +``` +(VM timeout × 3) + (Docker timeout) + (LXC/other timeouts) + 15-30 seconds +``` + +**Dynamix Stop Shell plugin:** +If you frequently use SSH or terminal sessions, open sessions can prevent clean shutdowns because Unraid waits for them to close before proceeding. + +The [Dynamix Stop Shell](https://unraid.net/community/apps/c/tools-system/p2?srsltid=AfmBOoqBXyDNfHxRDCL7Fv9Gcfz8-8CdHmiJSX16PRZpZLLzgQtw2mVk#:~:text=the%20given%20interval.-,Dynamix%20Stop%20Shell,-Dynamix%20Repository) plugin helps by automatically closing lingering bash or SSH sessions when the array is stopped, ensuring a timely shutdown. + +You can install it from [Community Applications (search for "Dynamix Stop Shell")](https://unraid.net/community/apps/c/tools-system/p2?srsltid=AfmBOoqBXyDNfHxRDCL7Fv9Gcfz8-8CdHmiJSX16PRZpZLLzgQtw2mVk#:~:text=the%20given%20interval.-,Dynamix%20Stop%20Shell,-Dynamix%20Repository). + +:::tip[When to use the plugin] + +- If you regularly have terminal sessions open. +- To prevent forgotten SSH sessions from delaying shutdown. +- For automated cleanup during shutdown. + +::: + +:::caution + +- Be cautious if you have scripts or processes running in terminal sessions. +- Ensure no critical write operations are in progress before shutdown. +- The plugin will forcefully close sessions, which could interrupt work. + +::: From 33500a9e4a07453c3160e9aecd26dc1113d2d0c9 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:28:58 -0400 Subject: [PATCH 181/437] New translations _category_.json (Japanese) --- .../unraid-os/troubleshooting/diagnostics/_category_.json | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/diagnostics/_category_.json diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/diagnostics/_category_.json b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/diagnostics/_category_.json new file mode 100644 index 00000000000..9d279472a76 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/diagnostics/_category_.json @@ -0,0 +1,7 @@ +{ + "label": "診断", + "position": 2, + "link": { + "type": "generated-index" + } +} \ No newline at end of file From bdae2c117935d9bd7db634a3648de07900b5f6d2 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:28:59 -0400 Subject: [PATCH 182/437] New translations capture-diagnostics-and-logs.mdx (Japanese) --- .../capture-diagnostics-and-logs.mdx | 206 ++++++++++++++++++ 1 file changed, 206 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/diagnostics/capture-diagnostics-and-logs.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/diagnostics/capture-diagnostics-and-logs.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/diagnostics/capture-diagnostics-and-logs.mdx new file mode 100644 index 00000000000..01ac7cc073d --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/diagnostics/capture-diagnostics-and-logs.mdx @@ -0,0 +1,206 @@ +--- +sidebar_position: 1 +sidebar_label: 診断情報とログを取得する +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import SyslogMirror from './partials/syslog-server/mirror.mdx'; +import SyslogRemote from './partials/syslog-server/remote.mdx'; +import SyslogLocal from './partials/syslog-server/local.mdx'; +import DockerLogsViaWebGUI from './partials/docker-logs/via-webgui.mdx'; +import DockerLogsCommandLine from './partials/docker-logs/command-line.mdx'; +import DockerLogsPersistent from './partials/docker-logs/persistent.mdx'; + +# 診断情報の取得 + +Unraid サーバーで問題が発生した場合、効果的なトラブルシューティングのためには詳細な情報を収集することが重要です。こうした情報は、特にフォーラムに投稿する際に、他のユーザーが正確かつ迅速に支援するのに役立ちます。 + +:::info[Diagnostics 含める...] + +診断 zip ファイルには、次の内容を含む、Unraid システムの詳細なスナップショットを作成するいくつかの匿名化されたテキストファイルが含まれます: + +- **システム構成**: %%array|array%%、共有、ネットワーク設定、インストール済みプラグインに関する情報。 +- **システムログ**: カーネル、%%WebGUI|web-gui%%、およびシステムサービスのログ。問題の原因につながった可能性のあるイベントを記録します。 +- **ハードウェア情報**: 接続されているドライブ、コントローラー、その他のハードウェアコンポーネントの詳細。 +- **Docker と %%VM|vm%% の情報**: Docker と仮想マシンの全体構成(個々のコンテナや %%VM%% に関する情報は含まれません)。 + +::: + +--- + +## システム診断 + +Unraid では、トラブルシューティングのために包括的なシステム情報を取得できる **Diagnostics** ツールが、%%WebGUI|web-gui%% の ***Tools → Diagnostics*** にあります。このツールは zip ファイルを生成し、ダウンロードしてフォーラム投稿に添付してサポートを受けることができます。診断ファイルはすべてテキストベースで、含まれる情報をユーザー自身が確認できます。 + +| シナリオ | 取得方法 | 注記 | +| ---------------------------- | --------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| %%WebGUI\|web-gui%% が利用可能 | %%WebGUI\|web-gui%% の ***Tools → Diagnostics*** を使用して、診断 zip ファイルを生成してダウンロードします。 | 診断は、機密データを保護するために既定で匿名化されます。 | +| %%WebGUI\|web-gui%% が利用できない | **%%SSH\|ssh%%**、telnet、または直接コンソールからアクセスして `diagnostics` コマンドを実行します。zip ファイルは `/boot/logs` に保存されます。 | 再起動する前に必ず診断を取得し、ログをそのまま保持してください。 | +| %%Array\|array%% が通常モードで起動済み | これが診断を取得する推奨方法です。特にドライブの状態について、最も完全な情報を得られます。 | これが不可能な場合は、代替の取得方法として [永続ログのセクション](#persistent-logs-syslog-server) を参照してください。 | + +
+ ![ディスク選択ロジック](/img/Diagnostics.jpg) +
+ +:::important + +フォーラムに投稿する際は、展開したファイルを個別にアップロードせず、診断 zip ファイル 1 つを添付してください。 + +::: + +### 診断データの匿名化 + +By default, diagnostics are automatically anonymized. If you enable %%Mover|mover%% logging under ***Settings → Scheduler → Mover Settings***, the %%syslog|syslog%% will include details about files the %%Mover|mover%% processes. It's best to allow %%Mover|mover%% logging only when troubleshooting specific %%Mover|mover%%-related issues, as it may reveal file paths and names. + +When your system shuts down gracefully, the session log is saved automatically to the boot device. You can access it after rebooting by going to ***Tools → Syslog → syslog-previous***. This log is also included in diagnostics on the next boot. However, if the system crashes, the system log will be lost. In these cases, enabling %%syslog|syslog%% mirroring to the boot device or using a remote %%syslog server|syslog-server%% is recommended to preserve logs for troubleshooting. + +--- + +## ドライブ読み取り性能のテスト + +組み込みの Linux ツールを使用して、ハードドライブの読み取り性能を評価できます。これは、%%array|array%% または %%cache|cache%% 内の %%parity|parity%% 同期が遅い、ディスク応答が鈍い、あるいはドライブ間の速度差がある場合の診断に役立ちます。 + +:::important[When およびドライブ速度をテストする理由] + +次のような場合は、ディスク読み取りベンチマークの実行を検討してください: + +- Extremely slow %%parity|parity%% builds or %%parity check|parity-check%%s +- 特定のディスクからのファイル転送が不自然に遅い +- ディスクの追加や交換後のドライブ不一致、特に SSD と HDD を混在させる場合 +- 再割り当てされたセクターまたは %%UDMA|udma%% %%CRC errors|crc-errors%%。ドライブの故障を示している可能性があります + +これらのテストで実際のファイル転送速度を正確に再現できるわけではありませんが、性能の低いディスクやコントローラーのボトルネックを特定する手がかりになります。 + +::: + +### クイックテスト (hdparm) + +`hdparm` ツールは、ディスクのキャッシュ読み取り速度とバッファ付き読み取り速度の両方を測定します。 + +テストを実行するには、`X` をディスクデバイス名(`sdb` や `sdg` など)に置き換え、次のコマンドを入力します: + +``` +hdparm -tT /dev/sdX +``` + +- `-T` の結果はキャッシュ読み取り速度を示します。 +- `-t` の結果は、バッファ付き(連続)ディスク読み取り性能を示します。 + +:::tip + +より信頼性の高いベンチマークを得るには、このテストを複数回実行してください。たとえば、次のワンライナーを使ってテストを 12 回実行できます: + +``` +for ((i=0;i<12;i++)); do hdparm -tT /dev/sdX; done +``` + +::: + +:::note + +必ず `/dev/sdX` を有効な物理デバイスに置き換えてください。`/dev/md1` のような論理 Unraid デバイスは避けてください。これらには %%parity|parity%% 処理が含まれ、生の性能測定値が歪む可能性があります。 + +::: + +### 総合テスト (diskspeed.sh) + +%%parity|parity%% ドライブとデータドライブを含む、接続されているすべてのドライブをより詳細に評価するには、コミュニティスクリプト `diskspeed.sh` の使用を検討してください。 + +このスクリプトは次のことを行います: + +- ディスク表面全体で複数の線形オフセットにおける読み取り速度をテストします +- CSV データと性能ヒートマップ(画像)を生成します +- 性能の低い領域を特定できます。これは、ハードウェアの故障や問題のある SMR ドライブの兆候である可能性があります + +`diskspeed.sh` を始めるには: + +1. スクリプトを [Unraid フォーラム](https://forums.unraid.net/topic/31073-disk-speed-test-graphs-disk-bottlenecks-identified-see-how-fast-your-disks-can-really-go/) からダウンロードします。 +2. `/boot/scripts/` のような永続パスに配置します。 +3. 実行可能にします: + +``` +chmod +x /boot/scripts/diskspeed.sh +``` + +4. スクリプトを実行します: + +``` +bash /boot/scripts/diskspeed.sh +``` + +:::note + +このスクリプトは読み取り専用の操作のみを行い、ドライブ上のデータを変更しません。ただし、ディスク I/O に影響し、%%array|array%% の性能に干渉する可能性があるため、テストはアイドル時間帯に実行するのが最善です。 + +::: + +--- + +## 永続ログ (syslog サーバー) + +永続ログは、再起動間のシステムイベントを記録するために不可欠です。システムの再起動時にリセットされる標準ログとは異なり、永続ログは Unraid の組み込み %%syslog server|syslog-server%% を使用して、時間の経過とともに発生するクラッシュや断続的な問題を診断できるようにします。 + +### 適切なログ方法の選択 + +永続ログを設定するには、***Settings → Syslog Server*** に移動します。各方法には長所と短所があります: + +| 方法 | 利点 | 欠点 | 最適な用途 | +| ------------------------------- | ---------------------------------------------------------------------------------------- | ------------------------------------ | --------------------- | +| **Mirror syslog to boot drive** | 起動プロセスのイベントを記録します | Can wear out the boot device quickly | 短期的な診断(数日) | +| **リモート %%syslog\|syslog%%** | ログは別のデバイスに保存されます | 常時稼働の別サーバーが必要です | 長期的な監視(数週間から数か月) | +| **ローカル %%syslog\|syslog%%** | Keeps logs on the %%array\|array%% or %%cache\|cache%%, reducing wear on the boot device | システムがクラッシュするとアクセスしにくくなります | 外部デバイスなしで継続的にログを記録します | + +:::tip + +詳細な設定方法については、WebGUI ツールバーの **ヘルプ** アイコンを確認してください。 + +::: + +### syslog サーバーの有効化 + + + + + + + + + + + + + + + +--- + +## Docker コンテナログへのアクセス + +標準診断では Docker と %%VM|vm%% に関するデータは限定的ですが、より詳細にトラブルシューティングするためにコンテナのログへ直接アクセスできます。 + +Docker ログを取得するには: + + + + + + + + + + + + + + + +### 仮想マシンのログ + +%%VM|vm%% のログは、それぞれのハイパーバイザーを通じてアクセスできます(たとえば、%%QEMU|qemu%% のログは `/var/log/libvirt/` にあります)。詳細については、使用している %%VM|vm%% プラットフォームのドキュメントを確認してください。 + +:::important + +アプリケーション固有の問題でサポートを求める際は、関連するコンテナまたは %%VM|vm%% のログを別途添付することを忘れないでください。 + +::: From fd05777810b654c02864fbc2dc588644766be4dd Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:29:01 -0400 Subject: [PATCH 183/437] New translations command-line.mdx (Japanese) --- .../diagnostics/partials/docker-logs/command-line.mdx | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/diagnostics/partials/docker-logs/command-line.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/diagnostics/partials/docker-logs/command-line.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/diagnostics/partials/docker-logs/command-line.mdx new file mode 100644 index 00000000000..f31a6b0ddd9 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/diagnostics/partials/docker-logs/command-line.mdx @@ -0,0 +1,5 @@ +コマンドを使用してください: + +```bash +docker logs [container_name] > /path/to/save/log.txt +``` From 2bc534d5c22e02c098549f84979ff4064022aaba Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:29:02 -0400 Subject: [PATCH 184/437] New translations persistent.mdx (Japanese) --- .../diagnostics/partials/docker-logs/persistent.mdx | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/diagnostics/partials/docker-logs/persistent.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/diagnostics/partials/docker-logs/persistent.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/diagnostics/partials/docker-logs/persistent.mdx new file mode 100644 index 00000000000..61737249f02 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/diagnostics/partials/docker-logs/persistent.mdx @@ -0,0 +1,5 @@ +コンテナのログをホストのパスにマッピングするには、コンテナテンプレートを次のように設定します: + +``` +/path/in/container:/logs +``` From e0fa19b80d75b107eb32abaed49c6f4b202c2f3d Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:29:03 -0400 Subject: [PATCH 185/437] New translations via-webgui.mdx (Japanese) --- .../diagnostics/partials/docker-logs/via-webgui.mdx | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/diagnostics/partials/docker-logs/via-webgui.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/diagnostics/partials/docker-logs/via-webgui.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/diagnostics/partials/docker-logs/via-webgui.mdx new file mode 100644 index 00000000000..cceebdb2768 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/diagnostics/partials/docker-logs/via-webgui.mdx @@ -0,0 +1,2 @@ +- ***Docker > コンテナ*** に移動します +- 対象のコンテナの **ログ** アイコンをクリックします From 8be107416bb82a2d93410baeaacab41ac5a2fbfa Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:29:04 -0400 Subject: [PATCH 186/437] New translations local.mdx (Japanese) --- .../partials/syslog-server/local.mdx | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/diagnostics/partials/syslog-server/local.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/diagnostics/partials/syslog-server/local.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/diagnostics/partials/syslog-server/local.mdx new file mode 100644 index 00000000000..111e1c77de7 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/diagnostics/partials/syslog-server/local.mdx @@ -0,0 +1,17 @@ +サーバー上にUnraid %%syslog|syslog%%の永続的で信頼性の高いコピーを作成するには: + +1. **ローカル syslog サーバー**を*有効*に設定します。 +2. 次のオプションを設定します: + - **ローカル %%syslog|syslog%% フォルダー**: キャッシュのみ、または優先共有を使用します(SSDに最適)。 + - **ローテーション設定**: ファイルサイズと数の上限を調整します。 +3. 最良の結果を得て、起動イベントを含むすべての %%syslog|syslog%% データが確実に取得されるようにするには、**リモート %%syslog server|syslog-server%%** フィールドにサーバー自身のIPアドレス(「ループバック方式」)を設定してください。そうしないと、%%syslog|syslog%% は設定した共有に保存されません。 + - This ensures %%syslog|syslog%% events are both stored locally and persist across reboots, without writing to the boot device. +4. **Apply** をクリックします。 + - ログは指定した共有に保存されます。 + +:::note + +- ローカル %%syslog server|syslog-server%% からフォーラムにファイルをアップロードした場合、それらは**匿名化されません**。 +- この方法で保存されたログは標準の診断情報には含まれません。サポートが必要な場合は、別途添付してください。 + +::: From 784ba5451c4b053ca1d2623f819b71996e010709 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:29:06 -0400 Subject: [PATCH 187/437] New translations mirror.mdx (Japanese) --- .../partials/syslog-server/mirror.mdx | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/diagnostics/partials/syslog-server/mirror.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/diagnostics/partials/syslog-server/mirror.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/diagnostics/partials/syslog-server/mirror.mdx new file mode 100644 index 00000000000..deeea1d5812 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/diagnostics/partials/syslog-server/mirror.mdx @@ -0,0 +1,17 @@ +1. Select **Yes** under **Mirror syslog to boot drive**. +2. Click **Apply**. Logs will be saved to `/boot/logs/syslog` on your boot device + +次回の再起動時に、このファイルは `/boot/logs/syslog-previous` に名前が変更されます。このファイルは **Tools → Syslog → syslog-previous** から表示でき、診断情報にも(匿名化されて)含まれます。 + +

仕組み

+ +- By default, Unraid copies the %%syslog|syslog%% to the boot device during every graceful shutdown. This is managed through the "Copy %%syslog|syslog%% to boot drive on shutdown" setting, which is enabled by default. +- If you're troubleshooting crashes, you can enable "Mirror syslog to boot drive." This will write the %%syslog|syslog%% to both `/var/log/syslog` and `/boot/logs/syslog` in real time. If a crash happens, any %%syslog|syslog%% entries recorded to the boot device before the crash will be preserved. + +どちらの方法でも、次回の起動後に `/boot/logs/syslog-previous` ファイルが作成されます。このファイルは %%syslog|syslog%% ビューアーからアクセスでき、診断情報にも含まれます。 + +:::caution + +The **Copy %%syslog|syslog%% to boot drive on shutdown** setting is safe for your boot device. However, enabling **Mirror syslog to boot drive** can lead to excessive writes if left on for an extended period. For long-term logging needs, consider using a local or remote %%syslog server|syslog-server%% instead. + +::: From 2d1d536d7a9b850dee058d457975303159939420 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:29:07 -0400 Subject: [PATCH 188/437] New translations remote.mdx (Japanese) --- .../diagnostics/partials/syslog-server/remote.mdx | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/diagnostics/partials/syslog-server/remote.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/diagnostics/partials/syslog-server/remote.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/diagnostics/partials/syslog-server/remote.mdx new file mode 100644 index 00000000000..22d9b865596 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/diagnostics/partials/syslog-server/remote.mdx @@ -0,0 +1,14 @@ +1. **ローカル syslog サーバー**を*有効*に設定します。 +2. **リモート syslog サーバー**に syslog サーバーの IP アドレスを入力してください。 +3. **Apply** をクリックします。 + - ログは指定したデバイスにストリームされます。 + +
+ ![リモート syslog 設定](/img/Syslog-server.jpg) +
+ +:::note + +フォーラムにリモート %%syslog server|syslog-server%% からファイルをアップロードすると、それらは**匿名化されません**。 + +::: From c9fc90ff4e5a1882524cc87fbeff3ba457f620e5 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:29:08 -0400 Subject: [PATCH 189/437] New translations udma-crc-errors.mdx (Japanese) --- .../diagnostics/udma-crc-errors.mdx | 148 ++++++++++++++++++ 1 file changed, 148 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/diagnostics/udma-crc-errors.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/diagnostics/udma-crc-errors.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/diagnostics/udma-crc-errors.mdx new file mode 100644 index 00000000000..4916d5b2936 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/diagnostics/udma-crc-errors.mdx @@ -0,0 +1,148 @@ +--- +sidebar_position: 2 +sidebar_label: UDMA CRCエラー +--- + +# UDMA CRCエラー + +**%%UDMA|udma%% %%CRCエラー|crc-errors%%**([%%SMART|smart%% 属性 199](../../system-administration/monitor-performance/smart-reports-and-disk-health.mdx))は Unraid ユーザーに典型的で、ドライブの健全性レポートにしばしば表示されます。ほとんどのユーザーにとって、これらのエラーはドライブ自体の故障ではなく、ドライブとサーバー間の通信問題を示しています。 + +%%CRCエラー|crc-errors%% が発生すると、ドライブはホストからデータが正しく受信されなかったことを検出します。Unraid はデータを再送信して自動的に復旧を試みます。再送信が成功すれば処理は通常どおり続行されますが、再試行のために書き込み速度が低下する場合があります。これらのイベントは %%syslog|syslog%% に記録されます。 + +If recovery attempts fail after several retries, Unraid treats it as a read error. In %%parity|parity%%-protected %%arrays|array%%, Unraid will attempt to rewrite the affected sector using %%parity|parity%% and data from other drives. If this rewrite is successful, operation resumes; if not, the drive is disabled and marked with a red 'x' in the %%WebGUI|web-gui%%. + +
+ CRC エラーとは何か?(技術的な説明) - クリックして展開/折りたたみ + + **%%cyclic redundancy check (CRC)|crc%%** は、転送中の生データの偶発的な変更を検出する数学的なチェックサムです。%%UDMA|udma%%(ultra direct memory access)の文脈では、%%CRCエラー|crc-errors%% はドライブとコントローラー間で送信されたデータがこの整合性チェックに失敗したことを意味します。これは通常、ドライブのプラッタやフラッシュメモリの問題ではなく、緩んだケーブルや不良ケーブルなどの物理的な通信問題を示します。 + +
+ +--- + +## UDMA CRCエラーの考えられる原因 + +UDMA CRCエラーは、ドライブとシステム間のデータ転送の問題を示します。これらのエラーを放置すると、データ破損、性能低下、ドライブ障害の原因になる可能性があります。根本原因を理解することで、場当たり的に解決策を探すのではなく、的を絞った修正を実施できます。 + +

確認すべき一般的な原因

+ +- **緩んでいる、または差し込みが不十分な SATA ケーブル:** SATA コネクターはそれほど堅牢ではなく、振動やケーブルの張力で簡単に緩むことがあります。ケーブルをきつく束ねるのは避けてください。クロストークや干渉の原因になります。 +- **不良な SATA ケーブル:** 破損したケーブルや品質の低いケーブルは、%%CRCエラー|crc-errors%% の一般的な原因です。 +- **電力供給の問題:** スプリッターケーブルや電源ユニットの過負荷が原因となることが多い、不十分または不安定な電力は、断続的なエラーを引き起こす可能性があります。 +- **未装着のディスクコントローラー:** コントローラーカードがスロットに完全に差し込まれていない場合、通信エラーが発生することがあります。 +- **ドライブのハードウェア障害:** 頻度は低いものの、故障しかけているドライブでも CRC エラーが発生することがあります。 +- **ケーブル管理の問題:** + - **結束バンド:** ケーブル管理に結束バンドを使う場合は、きつく締めすぎず、ゆるめにしてください。できれば代わりにベルクロストラップを使用してください。 + - **電源ケーブルとデータケーブルの配線:** 電源ケーブルを SATA データケーブルに沿って配線するのは避けてください。どうしても接触させるか、非常に近づける必要がある場合は、干渉を最小限にするため 90 度で交差させる必要があります。 + - **SATA ケーブルの曲げ方:** 90 度に曲げるために SATA ケーブルを無理に折り曲げないでください。ケーブルを損傷し、通信問題の原因になります。 + +--- + +## 復旧手順 + +%%CRCエラー|crc-errors%% に気付いたら、最初の手順として、各ドライブの SATA ケーブルと電源ケーブルを注意深く確認し、差し直してください。損傷している、またはしっかり固定できないケーブルは交換してください。エラーが続く場合は、電源ユニットとコントローラー接続を確認し、問題を切り分けるためにケーブルやポートの入れ替えを検討してください。 + +配線と電源を対処した後も %%CRCエラー|crc-errors%% が続く場合は、コントローラーまたはドライブの故障を除外するため、さらに調査が必要になることがあります。 + +--- + +## CRC エラー表示の理解 + +### たまに発生するエラーと頻繁に発生するエラー + +
+ クリックして展開/折りたたむ + + %%CRCエラー|crc-errors%% の頻度とパターンを理解することで、対応の緊急度を判断できます。すべてのエラーに即時対応が必要なわけではありませんが、パターンから注意が必要な根本的問題が見えてくることがあります。 + +

たまに発生するエラー(懸念は低い)

+ 数週間または数か月の間に数回の %%CRCエラー|crc-errors%% が発生しても、通常は問題ありません。こうした単発の事象は、一時的な電力変動、メンテナンス中のケーブルの動き、または自動的に解消する一過性の問題が原因であることがあります。 + +

頻繁に発生するエラー(懸念は高い)

+ 毎日または毎週発生する %%CRCエラー|crc-errors%%、あるいはエラー数が急速に増加している場合は、すぐに調査が必要な継続的な問題を示しています。このパターンは、緩んだ接続、不良ケーブル、電源の問題など、時間とともに悪化するハードウェア問題を示すことがよくあります。 + +

対処すべきタイミング

+ エラーが頻繁、または増加傾向にある場合は、すぐに調査してください。配線と電源構成を確認して断続的な問題がないかを調べ、エラー率を監視して悪化の兆候を特定してください。これらの問題は自然に解決することは少なく、より深刻な障害につながる可能性があるため、エラーが続く場合は予防保守を検討してください。 + +
+ +### 保留中セクター数 + +
+ クリックして展開/折りたたむ + + **現在の保留中セクター数**([%%SMART|smart%% 属性 197](../../system-administration/monitor-performance/smart-reports-and-disk-health.mdx))は、%%CRCエラー|crc-errors%% と並んで表示されることの多い重要な指標です。この組み合わせは、早急な対応と慎重な監視を必要とする深刻な問題を示しています。 + + 保留中セクターは、アクセスしても読み取れない可能性のある、信頼性の低いディスク領域を示します。これらは読み取りエラーを経験したセクターであり、現在はドライブのファームウェアによって問題のある可能性があるものとしてマークされています。保留中セクターが %%CRCエラー|crc-errors%% と一緒に現れる場合、通信問題が、データを確実に保存および取得するドライブの能力に物理的な損傷を引き起こしていることを示唆します。 + +

この組み合わせが危険な理由

+ %%CRCエラー|crc-errors%% はドライブとコントローラー間の通信問題を示し、保留中セクターはディスクの一部が信頼性を失いつつあることを示します。この2つが重なると、データ保護が損なわれる可能性のある高リスクな状況になります。別のドライブが故障し、なおかつこのドライブに保留中セクターがある場合、データを復旧できる可能性は大幅に制限され、[データ復旧](../../troubleshooting/common-issues/data-recovery.mdx) 作業が危険にさらされることがあります。 + + この組み合わせを見たら、次の対応を行ってください: + + - **直ちに**、まだ保護されていない重要なデータをバックアップしてください。 + - 拡張 %%SMART|smart%% テストを使用してドライブの健全性を確認し、保留中セクターが増え続ける場合はドライブの交換を検討してください。 + - 追加の警告兆候がないか状況を注意深く監視し、ドライブが信頼できなくなった場合に備えて array の再構築ができるよう準備してください。 + +
+ +### CRC カウントの持続性 + +
+ クリックして展開/折りたたむ + + ドライブの [%%SMART|smart%% データ](../../system-administration/monitor-performance/smart-reports-and-disk-health.mdx) における %%CRCエラー|crc-errors%% のカウントはリセットされることはなく、増える一方です。 + + この累積的な性質は、次のことを意味します: + + - このカウントは、そのドライブの生涯における総エラー数を表します + - 悪化状況を特定するため、増加率を監視してください + - 一度エラーが発生すると、恒久的に記録されます + - 問題が深刻化する前に、カウントを使って予防保守の予定を立ててください + + CRC エラーが少し見つかっても慌てないでください。ただし、増加率は必ず追跡してください。エラーが急増する場合は、すぐに対応が必要な新しい問題を示していることがよくあります。 + +
+ +### ダッシュボードの警告アイコン + +
+ クリックして展開/折りたたむ + + Unraid が %%CRCエラー|crc-errors%% を検出すると、**Dashboard** に影響を受けたドライブの横へ警告アイコンが表示されます。これは %%SMART|smart%% の警告であり、内容を確認して対処する必要があります。 + +

これが重要な理由

+ + - 潜在的なハードウェア問題を早期に知らせる警告システム + - 問題を早期に見つけることでデータ損失の防止に役立つ + - 予防保守が必要なタイミングを示す + - Unraid のプロアクティブな監視システムの一部 + + 警告アイコンをクリックすると、詳細な %%SMART|smart%% 情報を表示し、警告を確認済みにできます。 + +
+ +### SMART 警告の確認 + +
+ クリックして展開/折りたたむ + + SMART 警告を確認済みにして消去するには: + + 1. 影響を受けたドライブの横にある **オレンジ色の警告アイコン** をクリックします + 2. オプションメニューから **確認済み** を選択します + 3. 求められたら操作を確認します + 4. アイコンが **緑色** に変わり、確認済みであることを示します + +

確認済みの動作

+ + - 警告をすぐには表示しないようにします + - 問題を見たことを記録します + - エラー数がさらに増えた場合のみ再通知します + - 根本的な問題の監視を維持します + + :::important + 警告を確認済みにしても根本的な問題は解決されません。Unraid に、その警告を認識したことを伝えるだけです。%%CRCエラー|crc-errors%% の根本原因は、引き続き調査して解決する必要があります。 + ::: + +
From ba1cf165ab32a8f0b01fca504638dd1e4e9d5795 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:29:10 -0400 Subject: [PATCH 190/437] New translations faq.mdx (Japanese) --- .../current/unraid-os/troubleshooting/faq.mdx | 385 ++++++++++++++++++ 1 file changed, 385 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/faq.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/faq.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/faq.mdx new file mode 100644 index 00000000000..d94b9267a19 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/faq.mdx @@ -0,0 +1,385 @@ +--- +sidebar_position: 3 +sidebar_label: FAQ +toc_max_heading_level: 3 +--- + +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; + +# よくある質問 + +Unraid OS に関するヘルプが必要な場合は、いくつかのサポート方法があります: + +- **Unraidフォーラム:** [一般サポート](https://forums.unraid.net/forum/55-general-support/), [Compulsive Design](https://forums.unraid.net/forum/35-unraid-compulsive-design/) +- **公式ドキュメント:** [Unraid Docs](../../docs-home.mdx) +- **Discord:** [Unraid Discord コミュニティ](https://discord.unraid.net) +- **サポートポータル:** [Unraid サポート](https://unraid.net/support) + +--- + +## ビルドとハードウェア + +
+ +### I need help with a build or system configuration. Where do I go? + +Unraid サーバーの構築やアップグレードのガイダンスについては、[Compulsive Designフォーラム](https://forums.unraid.net/forum/35-unraid-compulsive-design/)をご覧いただくか、[Unraid Discord](https://discord.unraid.net)に参加してください。経験にかかわらず、コミュニティは活発で、喜んでお手伝いします。 + +
+ +
+ +### What controllers are recommended for Unraid? + +Unraid は、%%RAID|raid%% ではない Host Bus Adapter (HBA) で最適に動作します。ドライブの状態情報を隠してメンテナンスを複雑にする可能性がある、ハードウェア %%RAID|raid%% コントローラーは避けるのが最善です。 + +必ずファームウェアの更新を確認し、コントローラーが %%RAID|raid%% モードではなく HBA/IT モードに設定されていることを確認してください。コミュニティが正常にテストしたモデルについては、[Recommended Controllers スレッド](https://forums.unraid.net/topic/102010-recommended-controllers-for-unraid/)を参照してください。 + +
+ +
+ +### What's the best way to add more storage if my built-in controller is full? + +Unraid allows for the expansion of storage across multiple controllers. You can add a compatible HBA (as mentioned above). Ensure the controller operates in standard HBA (non-%%RAID|raid%%) mode and supports %%AHCI|ahci%%/SATA. Avoid using %%RAID|raid%%-only cards, as Unraid requires direct disk access for %%parity|parity%% and monitoring. + +
+ +
+ +### Does Unraid have an allocation feature that remembers bad sectors on drives to prevent writes to them? + +Unraid は、ドライブの %%SMART|smart%% データを利用して状態を監視し、不良セクタなどの問題を検出します。%%SMART|smart%% は最新のハードドライブや SSD に組み込まれており、再割り当て済みセクタや保留中セクタなどの属性を追跡します。 + +Unraid には不良セクタを避けるための特定の割り当て機能はありませんが、%%SMART|smart%% データを使用して、ドライブに故障の兆候が見られる場合や不良セクタが増加している場合に通知します。この情報は、%%WebGUI|web-gui%% のドライブのヘルスステータスと %%SMART|smart%% 属性で確認できます。 + +ドライブに再割り当て済みセクタまたは保留中セクタが多く見られる場合は、データ損失を防ぐため、早めに交換することを検討してください。 + +ドライブの状態に不安がある場合は、支援を受けるために [一般サポートフォーラム](https://forums.unraid.net/forum/55-general-support/) で %%SMART|smart%% データを共有できます。 + +
+ +--- + +## OS と設定 + +
+ +### Can I use a HASP key within a VM on Unraid? How does that work with multiple VMs? + +If your HASP key is a USB dongle, you can assign it to only one %%VM|vm%% at a time. Note that two %%VM|vm%%s cannot use the same key simultaneously. You might need to pass through an entire USB controller for better compatibility. Always run tests with a Trial license to confirm that your hardware performs as expected. + +
+ +
+ +### My USB flash has failed, and I don't have a backup. How do I restore my configuration? + +[Unraid Connect](../../unraid-connect/overview-and-setup.mdx) を Flash バックアップ用に有効にしていた場合は、それを使って復元できます。そうでない場合は、新しい高品質のフラッシュドライブを入手してその上に Unraid をインストールし、メールで受け取った登録キーを使用してください。ドライブの割り当てを元どおりに再設定してください。割り当てを思い出せない場合は、[一般サポートフォーラム](https://forums.unraid.net/forum/55-general-support/)で सहायताを求めて投稿してください。 + +
+ +
+ +### What should I do if I have forgotten my root password? + +[パスワードをリセットする](../system-administration/secure-your-server/user-management.mdx#reset-your-password) を参照してください。 + +:::note + +If you're using encrypted drives and forget the encryption password, data recovery isn't possible - there is no backdoor. + +::: + +
+ +
+ +### How do I completely start Unraid OS from scratch? (Factory reset procedure) + +1. Backup any data you wish to keep. +2. Stop the %%array|array%% and shut down your server. +3. Remove the USB flash device. +4. Use the Unraid USB Flash Creator tool to reformat and reinstall Unraid onto the flash drive. +5. Reinsert the flash device and boot your server. +6. In the %%WebGUI|web-gui%%, open a terminal and run `lsblk` to list all drives (excluding the flash). +7. Wipe existing filesystems from each data drive: + +:::danger[Critical: Destructive Operation] + +**This step will permanently erase ALL data on the specified drive(s) and is IRREVERSIBLE!** + +- **作業を始める前に、必要なデータのバックアップがあることを確認してください** + +- **このコマンドを実行する前に、WebGUI または `lsblk` でデバイス識別子を再確認してください** + +- **必ず正しいドライブを対象にしていることを確認してください** - 間違ったドライブのデータ損失は復旧できません + +各データドライブについて、次を実行します: + +```bash +wipefs /dev/sdX +``` + +Replace `X` with the correct drive letter (e.g., sda, sdb, sdc) + +::: + +8. 通常の Unraid のセットアップと設定を続けてください。 + +
+ +
+ +### How do I change the hostname of my server? + +To change your Unraid server's hostname, navigate the %%WebGUI|web-gui%% to ***Settings → System Settings → Identification***. + +**ホスト名を変更した場合の影響:** + +- 新しいホスト名は、ネットワーク識別に使用されます(例: `http://newname` でのアクセス)。 +- 新しいホスト名を使うように、マッピングされたネットワークドライブやショートカットを再接続する必要がある場合があります。 +- 一部のデバイスやサービスは古い名前をキャッシュしている場合があります。新しい名前を認識させるには、デバイス全体の再起動が必要になることがあります。 + +
+ +
+ +### My flash drive is reporting an invalid GUID. What do I do? + +Unraid requires a USB flash device with a unique hardware %%GUID|guid%% (serial number). Some manufacturers may reuse %%GUID|guid%%s or use generic values, making these drives incompatible with each other. + +**実機で検証済みのブランド:** + +- Samsung FIT Plus / Bar Plus +- Kingston DataTraveler Exodia +- Lexar JumpDrive M45 +- PNY Elite-X + (Avoid newer SanDisk Ultra Fit/Cruzer models unless you can confirm a unique %%GUID|guid%%.) + +It's best to avoid generic or unbranded drives, SSDs, USB card readers, and SD card adapters, as these often lack unique %%GUID|guid%%s and may not be supported for booting Unraid. + +
+ +--- + +## 仮想化とデバイス + +
+ +### Whenever I shut down my Windows VM with an AMD GPU assigned, it fails to restart. What can I do? + +多くの AMD GPU では機能レベルのリセットに問題があり、これがこの問題の原因となっています。回避策としては、シャットダウン前に Windows 内から GPU を取り外すか、通常この問題を回避できる NVIDIA GPU を使用します。 + +
+ +
+ +### How do I pass through my primary GPU to a VM if my CPU has no integrated graphics? + +This is feasible but requires additional steps. Check out [SpaceInvaderOne's video guide](https://forums.unraid.net/topic/51230-video-guidehow-to-pass-through-an-nvidia-gpu-as-primary-or-only-gpu-in-unraid/) for detailed instructions on how to do this properly. + +
+ +--- + +## ストレージと RAID + +
+ +### Does Unraid support various RAID types such as RAID1/5/6/10? + +Unraid には、従来の %%RAID|raid%% システムとは異なる独自のストレージアーキテクチャがあります。以下は各ストレージオプションの比較です: + +
+ | 機能 / 能力 | Unraid %%parity\|parity%% %%array\|array%% (md) | %%BTRFS\|btrfs%% プール (%%cache\|cache%%) | **%%ZFS\|zfs%% プール (7.x+)** | 従来の %%RAID 1\|raid1%%/%%RAID 5\|raid5%%/%%RAID 6\|raid6%%/%%RAID 10\|raid10%% | + | ------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ------------------------------------ | -------------------------------------------------------------------------------------------- | + | %%Parity\|parity%% / 冗長性モデル | 専用の %%parity\|parity%% ディスク | %%BTRFS\|btrfs%% によるソフトウェア %%RAID 1\|raid1%%/%%RAID 10\|raid10%%/%%RAID 5\|raid5%%/%%RAID 6\|raid6%% | %%RAID 1\|raid1%%-Z1/Z2/Z3 またはミラー | ストライプ化された %%parity\|parity%%(%%RAID 5\|raid5%%/%%RAID 6\|raid6%%)またはミラー(%%RAID 10\|raid10%%) | + | データのストライピング | いいえ | はい(%%RAID 1\|raid1%% を除く) | はい | はい | + | ディスクサイズの柔軟性 | 任意のサイズを混在可能 | 同程度のサイズの場合に最適 | 各 vdev ごとに同程度のサイズが最適 | 一致したサイズが必要 | + | 1 枚ずつディスクを拡張 | はい | はい(デバイスの追加または交換) | はい(vdev ごと\*) | 通常は不可 | + | ディスクごとのファイルシステム | はい | いいえ | いいえ | いいえ | + | 単一ディスクの読み取り速度 | ネイティブなディスク速度 | 集約型(複数ディスク) | 集約型(複数ディスク) | 集約型 | + | 再構築中の書き込み性能低下 | 最小限(故障したドライブのみ) | レベルによる | vdev の構成による | 大きい | + | %%Bit rot\|bit-rot%% の検出 | 任意(%%BTRFS\|btrfs%%/%%ZFS\|zfs%% の %%checksum\|checksum%%) | ✅ 組み込み | ✅ End-to-end %%checksum\|checksum%%s | ❌ 本質的には備えていない | + | %%Snapshot\|snapshot%% / send-receive | ❌ | ✅(%%BTRFS\|btrfs%%) | ✅ ネイティブ | ❌ | + | 本番運用での推奨用途 | 一般的なメディアストレージ | %%RAID 1\|raid1%%/%%RAID 10\|raid10%%(%%RAID 5\|raid5%%/%%RAID 6\|raid6%% は避ける)\*\* | ✅ すべてのレベルで安定 | Enterprise %%array\|array%%s | +
+ +\* %%ZFS|zfs%% vdev は、vdev 内の **すべて** のドライブを交換するか、新しい vdev を追加することで拡張する必要があります。\ +\* %%BTRFS|btrfs%% %%RAID 5|raid5%%/%%RAID 6|raid6%% は、上流では引き続き「experimental(実験的)」として扱われています。注意して使用してください。 + +- **Unraid %%parity|parity%% %%array|array%%** は段階的な拡張に優れており、サイズの異なるドライブを混在させても再構築の負荷を最小限に抑えられます。 +- **%%ZFS|zfs%% pools** (available in 7.x) provide enterprise-class redundancy, %%snapshot|snapshot%%s, and %%checksum|checksum%%s, making them ideal for %%VM|vm%%s and databases. +- **%%BTRFS|btrfs%% pools** excel for fast SSD %%cache|cache%%s, especially in mirrored %%RAID 1|raid1%%/%%RAID 10|raid10%% mode. +- Traditional hardware %%RAID|raid%% cards are *not* necessary; you can use simple HBAs to allow Unraid to manage drives directly. + +
+ +
+ +### I currently have an array of devices formatted with an MBR-style partition table and want to convert to GPT. How do I do that? + +
+Why convert from MBR to GPT? +
+ +MBR (Master Boot Record) partitioning supports disks up to 2TB and only allows a maximum of four primary partitions. On the other hand, GPT (%%GUID|guid%% Partition Table) can handle much larger disks and nearly unlimited partitions. Converting to GPT is advisable if you work with larger drives or want better partition management. + +:::important[Use **メンテナンスモード**] + +Before starting the conversion process, put your %%array|array%% into **Maintenance Mode**. This step ensures no writes occur during the conversion, protecting your data. + +::: + +
+Conversion process +
+ +1. 有効な %%parity|parity%% と、フラッシュドライブの最新バックアップがあることを確認してください。 +2. Enter **Maintenance Mode** from the ***Main*** tab. +3. まず %%parity|parity%% ドライブを交換して再構築してください。 +4. 各データドライブを 1 台ずつ交換し、各交換後に %%array|array%% を再構築します。 +5. 新しいドライブは、そのサイズに応じた適切なパーティション方式でフォーマットされます: + - **2TB 以下**: MBR パーティションを使用 + - **2TB 超**: GPT パーティションを使用 +6. すべてのドライブの交換と再構築が完了したら、**メンテナンスモード** を終了します。 + +この手順により、パーティション方式を変更しながらデータを安全に保てます。 + +:::note[Additional notes] + +- **パーティション設定は自動です**: Unraid はドライブサイズに基づいて自動的にパーティション方式を選択します: + - **2TB 以下**: 常に MBR パーティションを使用 + - **2TB 超**: 常に GPT パーティションを使用 + +- Starting with Unraid OS 6.9, partition 1 starts at 32KiB for rotational devices and 1MiB for non-rotational devices, regardless of the partition style. + \-- Always [back up your flash drive](../system-administration/secure-your-server/secure-your-flash-drive.mdx#backups) before starting this conversion process. + +::: + +
+ +--- + +## ネットワーク + +
+ +### Is there any way to disable the br0 bridge? + +Yes. The **br0** bridge is a Linux network bridge allowing Docker containers and %%VM|vm%%s to connect directly to your local area network (LAN) with their IP addresses. It acts as a virtual network switch that connects your physical network interface to the virtual interfaces used by containers and %%VM|vm%%s. + +:::note + +Disabling br0 means that %%VMs|vm%% and Docker containers will not have direct access to the LAN and may lose some advanced networking features. + +::: + +
+ +
+ +### I can't seem to connect to the WebGUI using `http://tower` or `http://tower.local`. What do I do? + +ホスト名で %%WebGUI|web-gui%% に接続できない場合、ローカル DNS がサーバー名を解決できていないのが原因かもしれません。代わりに、IP アドレスを使って直接接続してみてください。 + +**サーバーの IP アドレスを見つける方法:** + +- ルーターまたはスイッチの DHCP クライアント一覧で、「Tower」またはそれに類似する名前のデバイスを確認してください。 +- フラッシュ作成時に静的 IP を割り当てた場合は、そのアドレスを使用してください。 +- サーバーにモニターとキーボードを接続すると、起動後にローカルコンソールに IP アドレスが表示されます。 + +**この問題の一般的な原因:** + +- お使いのコンピューターとサーバーが異なるサブネットまたは VLAN 上にある可能性があります。 +- ルーターがローカルのホスト名解決をサポートしていない可能性があります。 +- Unraid サーバーがネットワークに接続されていないか、ネットワーク設定が誤っている可能性があります。 +- ファイアウォールまたはセキュリティソフトがアクセスをブロックしている可能性があります。 + +接続できない場合は、サーバーとネットワーク機器を再起動し、すべてのケーブルがしっかり接続されていることを確認してください。 + +
+ +--- + +## インストール + +
+ +### I can't get the USB flash creator to install Unraid on my flash device. What do I do? + +USB フラッシュ作成ツールがシステムまたはフラッシュドライブで動作しない場合は、[手動インストール方法](../getting-started/set-up-unraid/create-your-bootable-media.mdx#manual-install-method) を使って Unraid のブートデバイスを準備できます。この方法は Windows、macOS、Debian/Ubuntu Linux に対応しています。 + +
+ +
+ +### I need to configure my system to boot using UEFI. How do I do this? + +%%UEFI|uefi%% ブートモードは、いくつかの方法で設定できます: + +#### Option 1: During flash creation + +USB フラッシュ作成ツールを使う場合は、フラッシュドライブに Unraid を書き込む前に %%UEFI|uefi%% ブートモードを有効にするオプションを選択してください。 + +#### Option 2: After booting in Legacy Mode + +In the %%WebGUI|web-gui%%, head to the Flash Device ***Settings → Flash Device*** page. + +%%UEFI|uefi%% ブートモードを有効にして、サーバーを再起動してください。 + +#### Option 3: Manual folder rename + +フラッシュドライブ上で、`EFI-` フォルダーの名前を `EFI` に変更します(末尾のダッシュ `-` を削除)。 + +フラッシュドライブをサーバーに挿入し、マザーボードの BIOS/%%UEFI|uefi%% 設定に入ってください。 + +USB フラッシュを主要な起動デバイスに設定し、%%UEFI|uefi%% ブートモードを有効にします(利用可能であれば CSM/Legacy/Compatibility モードも必ず無効にしてください)。 + +
+ +
+ +### I'm having issues using my web browser with the WebGUI. What can I do? + +%%WebGUI|web-gui%% で表示または機能上の問題が発生している場合は、次の点を確認してください: + +- **広告ブロッカーとコンテンツブロッカー:** これらのブラウザー拡張機能は %%WebGUI|web-gui%% に干渉する可能性があります。Unraid サーバーを広告ブロッカーのホワイトリストに追加するか、サーバーのアドレスに対してブロッカーを無効にしてみてください。 +- **ブラウザー拡張機能:** 一部の拡張機能はスクリプトをブロックしたり、ページ内容を変更したりすることがあります。拡張機能を無効にするか、プライベート/シークレットウィンドウを試してください。 +- **古いブラウザー:** 最新のブラウザー(Chrome、Firefox、Edge など)を使用していることを確認してください。古いブラウザーでは %%WebGUI|web-gui%% を十分にサポートできない場合があります。 +- **キャッシュの問題:** ブラウザーのキャッシュを削除するか、強制再読み込み(Ctrl+F5 または Cmd+Shift+R)を試してください。 +- **ネットワークの問題:** お使いのコンピューターとサーバーが同じネットワークとサブネットに接続されていることを確認してください。 + +問題が解決しない場合は、別のブラウザーやデバイスから %%WebGUI|web-gui%% にアクセスしてみてください。 + +
+ +
+ +### How do I extend my Unraid trial? + +Unraid の [30 日間無料トライアル](https://unraid.net/download) をもっと長く使いたい場合は、延長できます。元のトライアルの期限が切れたら、%%array|array%% を停止して **Registration** ページに移動してください。15 日間の延長を申請するボタンが表示されるはずです。これは 2 回まで行え、ライセンスを購入する前に合計 60 日間利用できます。 + +:::important + +You must use the same USB flash device to continue your trial. Changing the flash device will require starting a new trial from scratch. + +::: + +
From a85e11890cf0f7fff99554abfbdf2e242fe471b7 Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:29:12 -0400 Subject: [PATCH 191/437] New translations licensing-faq.mdx (Japanese) --- .../troubleshooting/licensing-faq.mdx | 210 ++++++++++++++++++ 1 file changed, 210 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/licensing-faq.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/licensing-faq.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/licensing-faq.mdx new file mode 100644 index 00000000000..5037b054b56 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/unraid-os/troubleshooting/licensing-faq.mdx @@ -0,0 +1,210 @@ +--- +sidebar_position: 4 +sidebar_label: ライセンスFAQ +toc_max_heading_level: 3 +--- + +# ライセンスFAQ + +このページでは、Unraid OS のライセンスに関するよくある質問を掲載しています。一般的なトラブルシューティングの質問については、[メインFAQ](faq.mdx)をご覧ください。 + +--- + +## ライセンス所有権 + +### Do I own my software license? {#own-license} + +[Unraid OS ライセンスを購入](https://unraid.net/pricing)すると、ソフトウェアの永続的なコピーを所有することになります。ライセンスは永久に有効で、将来のアップデートに料金を支払わないことを選んでも失効しません。 + +--- + +## 購入 + +### How do I purchase Unraid? {#purchase-unraid} + +Unraid を購入する方法は 2 つあります。 + +1. **%%WebGUI|web-gui%% から:** 試用を開始している場合は、%%WebGUI|web-gui%% の右上メニューから直接ライセンスを購入またはアップグレードできます。 +2. **アクティベーションコードで:** [Unraid ウェブサイト](https://unraid.net/pricing) で Unraid ライセンスのアクティベーションコードを購入します。アクティベーションコードには有効期限がなく、いつでも引き換え可能です。 + +すべてのライセンスはサーバーごとです。購入前に 30 日間の無料トライアルで Unraid が要件を満たすことを確認してください。すべての販売は最終となります。 + +### How do I redeem a license activation code? {#redeem-activation-code} + +1. [Unraid ウェブサイト](https://unraid.net/pricing) でアクティベーションコードを購入します。コードは購入レシートに記載されています。 +2. [Getting started ガイド](../getting-started/set-up-unraid/create-your-bootable-media.mdx) を使って Unraid サーバーをセットアップします。 +3. Unraid サーバーの %%WebGUI|web-gui%% にログインします(既定では `http://tower` または `http://tower.local`)。 +4. Unraid.net アカウントにサインインします。 +5. **アクティベーションコードを引き換える** を選択し、コードを入力します。 +6. 登録キーは、インストール手順とともにメールで送信されます。 + +:::important + +Activation codes are one-time use for generating your Unraid license key file. + +::: + +:::note[Instructional Video] + +
+

i{!&4jjul-%rAOy00-KM0V=+6%b0-6HCS|@cuXJ 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�RWLG%HU+ zwD6{8ke4ndYBEf0UY~2yf-f|UPeqYJo-vFA+znEIoqNr)rrZ8yYMX`@O}okl+#HMY6`pe%!ZG{#}|<0G><^{AMXr*h1qw`06$hC3{Gd z&0V24CUp9UgX*3?t#h|Aip%CD7><);tCi_);o9z&(YaWYcZh>NnFrj-*X2HC6V9i> zn&)T?YXXrHga*3Mfyf;QczCI0S^$N(>Rtk?@dYBvEn$KRFmaE+rf zH~do?Iy@Yv2(x@jdoBYjXA$36E~g4r*AI#7ZY&kP@!^pg4h)c6^=7E05 zx<7YwHvoQMuOCX~rv{mX4MJ`B>Mz`^rHT3v^zn*iV!Jr9k6?99|sb>P&fRXnXUG?pT$@`z0JM4&DmJ?R=;>u9@!nuPtkUwH0xL9(fRD__zd(Iayg4&yE7?nX-f~3j$0m#0&#``FyPSH1 z9|oKx!o4|%Aw%}z(C}!uAEr~^;!LnN5$`-iFtf6r)0*C)KB774J3FKxbE?oY7W zbeXiArf;mT=Dd6!f9SU`%soS=j%5+0D{MQtzI3k{CL4YpTrR0k2y8(dr_}U5%-qu>NAV zaaP zy1jc%M^USy?uFvMCmwcnHqg)AsRXTuQmVZ$E3@~$(J<(Nx>0Pz%Sbaqq#F06wQ!rs z<9vqoN^CK9lrpG0n_&*dVL7W>`yjF0bU{LCzk6hjN(YTkHW{vjVh<7KC`&m{(Z$ht zD0Zgd=V#IMIY>gBV1vT6Sq1Eh4YOe<{kg%eWijF0N%{2NMs-#r(uc{990gX|5+`0T zLpiOm5SjCO+JuGUi}Rq_{X=-Mf}@b7hu#@<98MYZcaJNar@B23DS9{kK<6 zZ+!{>(T;aC9u(yCSJ>U;);wYfegI?X-E16s)2~A1lh(n{oxBV|o9>=dK}rNd>GcJw zY($^b-xn>iEsQ6jijef)?&*Wb4pfJT8|IA$B75$F@j0Z1BKjLhZh2oXI=uIu>R~K0 zYdx-}{4|SD64UPD<$1GeY0-%W35M5goMrE)YM5?ogNCAMkk_q2E5ycVfVpkH7PJ%0 z81&*v&GFzIYEa(li|PY?V7I#Z>d)UWxXixYcUOjL^ny%M;~xI-{O2oue(!H%02b7& z;myJ!bO6-?Z=Tw_bug4w;|6WK%Voi(gZWaeW*RT=#u&yCi0^WE2|601!AJx*tmP-{ zQ1IIBMjYj+(#r$nb@!iB&yT8VX(@!qTOhCf1WYE%su^C6Q_sFVpW_~_-cnM`(-Mm( z^$`ikN3VZSO@xJ1J4 zX3{+G^G!QzvdGfTINrCzk7`Pl&&3|1`H4HExo$d_o?%$ov|#-)Y$bIjb0}5bzgfQ% z-w_a8{6GR~bypRple{P#Wf@I+ZNXRQh2>+79~!vzdCM^@v03;^^R(z&>oHg5Jycl3 z0q~Fg)R{El~a7aLOd}z2HYaE%O$+Y4~lI-TAKlPG~wfk z1;o<>HOXrIz+{=!(<-Hi3)ZvE zR&5|<#RuAVu}^a*xJPC|UnF8iz(ZKE|K{C64%@fA8)&Jy$TxL^yuw{;YczG@xXoij zTc>|eIKEY; z7%RK9L@e`}Uf)Wp=hZG7D4VO%&o+-UhTSKN?B}G0@$ApMb69~^IuvlVHop)_?{^Q6 zk?@x7&bp!@;yv9?lG!~lp=$rH+WA9hP_S@(xgQG>6AmY|AafOI)*CboXwupmW6?+B z1M*@5=oQ28lTfw97Bl?2DM%%QWD$DF)2QkE%~R^-8w&y~Ww2Cg0Ax;b68$w2nq)ja zU~m|rW+?iDe&+f~jjDW{h0bASeDdgvh{y)AJioQM(&Uf7wSxngCC}*i_)a!pJEO)( z@K(63M6t`zHcp`19I%5h#|Gf;eVMqJJ^k1N)Hw3^ADSpePH;BrDs`;oxlz^zT^6{j z?f$^K0`YG~9bJ0;4xLNzSACclYf(u<@qPNyjA6$&z*KiBG34kNEk^x5F0|nnP9k!y;#<5 zZ15V?GAbb0jPV29XTIIq*s(SiAmNJ5HS790NFXzZ4~N|N@XH4JEk&b*W$`RMcfd}V z#y2L3K_jQ}Yf#5tf$s7dM9S|gM3U{2>}Filb(6s9ZLAHd4Q&y}P{hH`mvI#jLVKQS z-t1c^o@Xq4Aatm2uCRdq7cjwFRDx)s(8{g$E%EcKQtsJ(N2}svq}t-(P_(U}=F3Kd zy>ExFoL3hgtfLX_ytmZyUVdmCXb3y$;)!Pg0J(;1zFVIJWrMNB{;dTt30;epyw)?m zg7af!!le3>!pd|Kai_~_dtk6Gb}#5fHp7K>Q{mJRTlMWotavCrh?kUY#w2Gj*`^q- zA=sVyvI64nL~zjA_u66ctz%NN{E@&fuC8f6SXL@9f10%$0MU^ZV5BF%<`dCvMA7f3 zv2;1=x{szeX^%s8B%XDX?n1k2gCelKu!aO~xv-WP8%INFk^T{`)|epHG@md1{6fY! z?-MKT$HVo3Bp7vxFGn__wE~w25h0{y2w{MRRj%zioP=OSWkXp=1SgFB4u0vtw^I#V zg?j5;;O-p~hrf>3QmbI)jFl5!ijO$WD=^afIs`ygBc!XRYH{}?qqg#q1ZY%D!FiJ5 zh@PILxIO^5CIJN-IROR(PsZjJ%{kZ3j8%BgtBWsDF793am)wv% z_!)|U-}>6gl zy)TMfC-(sgSm_E4_fKid+6@Lml-agnk#MV%ZrVi56OpKh{wX_$w0VbVn6 zGreDTD1Y65k6=XzY8lY^+3(Ywj_Om|8uS)Z)Pq#nDans_cGwu?Νc9W$;!7NYiM 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/(bk8b=ENB^WBV?0kjRZ%*Q+D6;4 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 Date: Thu, 2 Apr 2026 11:25:52 -0400 Subject: [PATCH 055/437] New translations sso-with-options.png (Japanese) --- .../current/API/images/sso-with-options.png | Bin 0 -> 76436 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/API/images/sso-with-options.png diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/API/images/sso-with-options.png b/i18n/ja/docusaurus-plugin-content-docs/current/API/images/sso-with-options.png new file mode 100644 index 0000000000000000000000000000000000000000..2206d8b8538ee4c0d0cb0da3afa9638f503a4268 GIT binary patch literal 76436 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 F?_XBCND2S| literal 0 HcmV?d00001 From 1eb7f933e9844264f19c82dcb8ecb2998ff5dd3c Mon Sep 17 00:00:00 2001 From: Eli Bosley <11823237+elibosley@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:25:54 -0400 Subject: [PATCH 056/437] New translations index.mdx (Japanese) --- .../current/API/index.mdx | 105 ++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/API/index.mdx diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/API/index.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/API/index.mdx new file mode 100644 index 00000000000..2b7b83572e8 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/API/index.mdx @@ -0,0 +1,105 @@ +--- +title: Unraid API へようこそ +description: Unraid Server の管理と自動化のための公式 GraphQL API +sidebar_position: 1 +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import Card from '@site/src/components/Card'; +import GetStartedV72 from './partials/get-started-v72.mdx'; +import GetStartedPre72 from './partials/get-started-pre72.mdx'; + +# Unraid API へようこそ + +:::tip[What's 新規] + +Starting with Unraid OS v7.2, the API comes built into the operating system - no plugin installation required! + +::: + +The Unraid API provides a GraphQL interface for programmatic interaction with your Unraid server. It enables automation, monitoring, and integration capabilities. + +## 📦 Availability + +### ✨ Native Integration (Unraid OS v7.2+) + +Starting with Unraid OS v7.2, the API is integrated directly into the operating system: + +- No plugin installation required +- Automatically available on system startup +- Deep system integration +- Access through **Settings** → **Management Access** → **API** + +### 🔌 Plugin Installation (Pre-7.2 and Advanced Users) + +For Unraid versions prior to v7.2 or to access newer API features: + +1. Install the Unraid Connect Plugin from Community Apps +2. [Configure the plugin](./how-to-use-the-api.mdx#enabling-the-graphql-sandbox) +3. Access API functionality through the [GraphQL Sandbox](./how-to-use-the-api.mdx) + +:::info[Important Notes] + +- The Unraid Connect plugin provides the API for pre-7.2 versions +- You do NOT need to sign in to Unraid Connect to use the API locally +- Installing the plugin on 7.2+ gives you access to newer API features before they're included in OS releases + +::: + +## 📚 Documentation Sections + +