From 015470e7d62e34365df53bb79604fefd9228f6a2 Mon Sep 17 00:00:00 2001 From: Kristal Dale Date: Thu, 11 Jul 2019 15:45:32 -0700 Subject: [PATCH] Initial commit for localization files - new localization directory includes all .pot and .po files used in transaltions - updated config to include sphinx-intl settings Signed-off-by: Kristal Dale --- .../po/locale/zh_CN/LC_MESSAGES/FAQ/faq.po | 275 ++++ .../LC_MESSAGES/concepts/autospec-about.po | 219 +++ .../LC_MESSAGES/concepts/bundles-about.po | 71 + .../zh_CN/LC_MESSAGES/concepts/mixer-about.po | 115 ++ .../zh_CN/LC_MESSAGES/concepts/restart.po | 301 ++++ .../zh_CN/LC_MESSAGES/concepts/security.po | 249 ++++ .../zh_CN/LC_MESSAGES/concepts/stateless.po | 202 +++ .../zh_CN/LC_MESSAGES/concepts/swupd-about.po | 193 +++ .../LC_MESSAGES/concepts/telemetry-about.po | 176 +++ .../locale/zh_CN/LC_MESSAGES/disclaimers.po | 32 + .../LC_MESSAGES/documentation_license.po | 20 + .../bare-metal-install-desktop.po | 745 ++++++++++ .../bare-metal-install-server.po | 1237 +++++++++++++++++ .../get-started/bootable-usb/bootable-usb.po | 227 +++ .../get-started/compatibility-check.po | 71 + .../LC_MESSAGES/get-started/get-started.po | 67 + .../virtual-machine-install/gce.po | 340 +++++ .../virtual-machine-install/hyper-v.po | 111 ++ .../virtual-machine-install/kvm.po | 231 +++ .../virtualbox-cl-installer.po | 554 ++++++++ .../vmw-player-preconf.po | 493 +++++++ .../virtual-machine-install/vmw-player.po | 492 +++++++ .../vmware-esxi-install-cl.po | 477 +++++++ .../vmware-esxi-preconfigured-cl-image.po | 466 +++++++ .../LC_MESSAGES/guides/deploy-at-scale.po | 414 ++++++ .../locale/zh_CN/LC_MESSAGES/guides/guides.po | 44 + .../guides/kernel/kernel-development.po | 539 +++++++ .../guides/kernel/kernel-modules-dkms.po | 483 +++++++ .../guides/kernel/kernel-modules.po | 267 ++++ .../guides/maintenance/architect-lifecycle.po | 137 ++ .../guides/maintenance/assign-static-ip.po | 211 +++ .../guides/maintenance/bulk-provision.po | 201 +++ .../guides/maintenance/cpu-performance.po | 257 ++++ .../maintenance/developer-workstation.po | 196 +++ .../download-verify-decompress-linux.po | 284 ++++ .../download-verify-decompress-mac.po | 275 ++++ .../download-verify-decompress-windows.po | 279 ++++ .../guides/maintenance/enable-user-space.po | 155 +++ .../guides/maintenance/fix-broken-install.po | 159 +++ .../guides/maintenance/hostname.po | 110 ++ .../maintenance/increase-virtual-disk-size.po | 245 ++++ .../LC_MESSAGES/guides/maintenance/time.po | 78 ++ .../guides/maintenance/validate-signatures.po | 142 ++ .../guides/network/custom-clear-container.po | 177 +++ .../zh_CN/LC_MESSAGES/guides/network/dpdk.po | 377 +++++ .../guides/network/ipxe-install.po | 314 +++++ .../guides/network/network-bonding.po | 153 ++ .../zh_CN/LC_MESSAGES/guides/network/vnc.po | 943 +++++++++++++ .../guides/telemetrics/telem-guide.po | 942 +++++++++++++ .../po/locale/zh_CN/LC_MESSAGES/index.po | 94 ++ .../LC_MESSAGES/reference/bundle-commands.po | 58 + .../LC_MESSAGES/reference/bundles/bundles.po | 41 + .../reference/bundles/openssh-server.po | 181 +++ .../reference/collaboration/collaboration.po | 161 +++ .../collaboration/structure-formatting.po | 890 ++++++++++++ .../reference/collaboration/writing-guide.po | 689 +++++++++ .../reference/compatible-hardware.po | 262 ++++ .../reference/how-to-clear-overview.po | 94 ++ .../LC_MESSAGES/reference/image-types.po | 193 +++ .../zh_CN/LC_MESSAGES/reference/reference.po | 34 + .../reference/system-requirements.po | 124 ++ .../zh_CN/LC_MESSAGES/tooling/autoproxy.po | 162 +++ .../zh_CN/LC_MESSAGES/tooling/autospec.po | 578 ++++++++ .../LC_MESSAGES/tooling/compatible-kernels.po | 135 ++ .../locale/zh_CN/LC_MESSAGES/tooling/debug.po | 131 ++ .../locale/zh_CN/LC_MESSAGES/tooling/ister.po | 166 +++ .../locale/zh_CN/LC_MESSAGES/tooling/mixer.po | 1074 ++++++++++++++ .../zh_CN/LC_MESSAGES/tooling/swupd-guide.po | 446 ++++++ .../zh_CN/LC_MESSAGES/tooling/tooling.po | 30 + .../LC_MESSAGES/tutorials/aws-web/aws-web.po | 379 +++++ .../zh_CN/LC_MESSAGES/tutorials/azure.po | 445 ++++++ .../zh_CN/LC_MESSAGES/tutorials/dars.po | 128 ++ .../zh_CN/LC_MESSAGES/tutorials/dlrs/dlrs.po | 618 ++++++++ .../LC_MESSAGES/tutorials/docker/docker.po | 297 ++++ .../LC_MESSAGES/tutorials/flatpak/flatpak.po | 117 ++ .../locale/zh_CN/LC_MESSAGES/tutorials/fmv.po | 180 +++ .../zh_CN/LC_MESSAGES/tutorials/greengrass.po | 660 +++++++++ .../zh_CN/LC_MESSAGES/tutorials/hadoop.po | 232 ++++ .../zh_CN/LC_MESSAGES/tutorials/kata.po | 143 ++ .../LC_MESSAGES/tutorials/kata_migration.po | 104 ++ .../tutorials/kubernetes/kubernetes-bp.po | 138 ++ .../tutorials/kubernetes/kubernetes.po | 448 ++++++ .../machine-learning/machine-learning.po | 314 +++++ .../zh_CN/LC_MESSAGES/tutorials/nvidia.po | 420 ++++++ .../zh_CN/LC_MESSAGES/tutorials/redis.po | 183 +++ .../LC_MESSAGES/tutorials/smb/smb-desktop.po | 110 ++ .../zh_CN/LC_MESSAGES/tutorials/smb/smb.po | 152 ++ .../zh_CN/LC_MESSAGES/tutorials/spark.po | 176 +++ .../LC_MESSAGES/tutorials/tutorial-proxy.po | 121 ++ .../zh_CN/LC_MESSAGES/tutorials/tutorials.po | 28 + .../tutorials/wordpress/web-server-install.po | 547 ++++++++ .../tutorials/wordpress/wordpress.po | 51 + .../tutorials/wordpress/wp-install.po | 293 ++++ .../LC_MESSAGES/tutorials/yubikey-u2f.po | 159 +++ .../pot/locale/.doctrees/FAQ/faq.doctree | Bin 0 -> 44258 bytes .../.doctrees/concepts/autospec-about.doctree | Bin 0 -> 28812 bytes .../.doctrees/concepts/bundles-about.doctree | Bin 0 -> 10686 bytes .../.doctrees/concepts/mixer-about.doctree | Bin 0 -> 16006 bytes .../locale/.doctrees/concepts/restart.doctree | Bin 0 -> 41914 bytes .../.doctrees/concepts/security.doctree | Bin 0 -> 41067 bytes .../.doctrees/concepts/stateless.doctree | Bin 0 -> 30170 bytes .../.doctrees/concepts/swupd-about.doctree | Bin 0 -> 27152 bytes .../concepts/telemetry-about.doctree | Bin 0 -> 21980 bytes .../pot/locale/.doctrees/disclaimers.doctree | Bin 0 -> 6026 bytes .../.doctrees/documentation_license.doctree | Bin 0 -> 5346 bytes .../pot/locale/.doctrees/environment.pickle | Bin 0 -> 416014 bytes .../bare-metal-install-desktop.doctree | Bin 0 -> 104297 bytes .../bare-metal-install-server.doctree | Bin 0 -> 176593 bytes .../bootable-usb/bootable-usb.doctree | Bin 0 -> 41062 bytes .../get-started/compatibility-check.doctree | Bin 0 -> 14611 bytes .../.doctrees/get-started/get-started.doctree | Bin 0 -> 12146 bytes .../virtual-machine-install/gce.doctree | Bin 0 -> 58781 bytes .../virtual-machine-install/hyper-v.doctree | Bin 0 -> 19766 bytes .../virtual-machine-install/kvm.doctree | Bin 0 -> 45739 bytes .../virtualbox-cl-installer.doctree | Bin 0 -> 89999 bytes .../vmw-player-preconf.doctree | Bin 0 -> 81601 bytes .../vmw-player.doctree | Bin 0 -> 80011 bytes .../vmware-esxi-install-cl.doctree | Bin 0 -> 83444 bytes ...vmware-esxi-preconfigured-cl-image.doctree | Bin 0 -> 81223 bytes .../.doctrees/guides/deploy-at-scale.doctree | Bin 0 -> 59011 bytes .../locale/.doctrees/guides/guides.doctree | Bin 0 -> 9159 bytes .../guides/kernel/kernel-development.doctree | Bin 0 -> 84341 bytes .../guides/kernel/kernel-modules-dkms.doctree | Bin 0 -> 73903 bytes .../guides/kernel/kernel-modules.doctree | Bin 0 -> 40385 bytes .../maintenance/architect-lifecycle.doctree | Bin 0 -> 23304 bytes .../maintenance/assign-static-ip.doctree | Bin 0 -> 34367 bytes .../guides/maintenance/bulk-provision.doctree | Bin 0 -> 37793 bytes .../maintenance/cpu-performance.doctree | Bin 0 -> 36316 bytes .../maintenance/developer-workstation.doctree | Bin 0 -> 27941 bytes .../download-verify-decompress-linux.doctree | Bin 0 -> 35622 bytes .../download-verify-decompress-mac.doctree | Bin 0 -> 34121 bytes ...download-verify-decompress-windows.doctree | Bin 0 -> 34892 bytes .../maintenance/enable-user-space.doctree | Bin 0 -> 24329 bytes .../maintenance/fix-broken-install.doctree | Bin 0 -> 22366 bytes .../guides/maintenance/hostname.doctree | Bin 0 -> 16274 bytes .../increase-virtual-disk-size.doctree | Bin 0 -> 38705 bytes .../.doctrees/guides/maintenance/time.doctree | Bin 0 -> 13437 bytes .../maintenance/validate-signatures.doctree | Bin 0 -> 29015 bytes .../network/custom-clear-container.doctree | Bin 0 -> 40612 bytes .../.doctrees/guides/network/dpdk.doctree | Bin 0 -> 65551 bytes .../guides/network/ipxe-install.doctree | Bin 0 -> 54665 bytes .../guides/network/network-bonding.doctree | Bin 0 -> 25924 bytes .../.doctrees/guides/network/vnc.doctree | Bin 0 -> 144665 bytes .../guides/telemetrics/telem-guide.doctree | Bin 0 -> 148644 bytes .../pot/locale/.doctrees/index.doctree | Bin 0 -> 14443 bytes .../reference/bundle-commands.doctree | Bin 0 -> 9236 bytes .../reference/bundles/bundles.doctree | Bin 0 -> 1453071 bytes .../reference/bundles/openssh-server.doctree | Bin 0 -> 27037 bytes .../collaboration/collaboration.doctree | Bin 0 -> 22701 bytes .../structure-formatting.doctree | Bin 0 -> 93073 bytes .../collaboration/writing-guide.doctree | Bin 0 -> 76889 bytes .../reference/compatible-hardware.doctree | Bin 0 -> 23142 bytes .../reference/how-to-clear-overview.doctree | Bin 0 -> 15191 bytes .../.doctrees/reference/image-types.doctree | Bin 0 -> 23206 bytes .../.doctrees/reference/reference.doctree | Bin 0 -> 7885 bytes .../reference/system-requirements.doctree | Bin 0 -> 14854 bytes .../.doctrees/tooling/autoproxy.doctree | Bin 0 -> 27310 bytes .../locale/.doctrees/tooling/autospec.doctree | Bin 0 -> 93993 bytes .../tooling/compatible-kernels.doctree | Bin 0 -> 30811 bytes .../locale/.doctrees/tooling/debug.doctree | Bin 0 -> 19445 bytes .../locale/.doctrees/tooling/ister.doctree | Bin 0 -> 24196 bytes .../locale/.doctrees/tooling/mixer.doctree | Bin 0 -> 140290 bytes .../.doctrees/tooling/swupd-guide.doctree | Bin 0 -> 60846 bytes .../locale/.doctrees/tooling/tooling.doctree | Bin 0 -> 6532 bytes .../tutorials/aws-web/aws-web.doctree | Bin 0 -> 68375 bytes .../locale/.doctrees/tutorials/azure.doctree | Bin 0 -> 90090 bytes .../locale/.doctrees/tutorials/dars.doctree | Bin 0 -> 24300 bytes .../.doctrees/tutorials/dlrs/dlrs.doctree | Bin 0 -> 96539 bytes .../.doctrees/tutorials/docker/docker.doctree | Bin 0 -> 52542 bytes .../tutorials/flatpak/flatpak.doctree | Bin 0 -> 19972 bytes .../locale/.doctrees/tutorials/fmv.doctree | Bin 0 -> 32601 bytes .../.doctrees/tutorials/greengrass.doctree | Bin 0 -> 90733 bytes .../locale/.doctrees/tutorials/hadoop.doctree | Bin 0 -> 40794 bytes .../locale/.doctrees/tutorials/kata.doctree | Bin 0 -> 21877 bytes .../tutorials/kata_migration.doctree | Bin 0 -> 17612 bytes .../kubernetes/kubernetes-bp.doctree | Bin 0 -> 25500 bytes .../tutorials/kubernetes/kubernetes.doctree | Bin 0 -> 69669 bytes .../machine-learning/machine-learning.doctree | Bin 0 -> 51988 bytes .../locale/.doctrees/tutorials/nvidia.doctree | Bin 0 -> 68348 bytes .../locale/.doctrees/tutorials/redis.doctree | Bin 0 -> 33760 bytes .../tutorials/smb/smb-desktop.doctree | Bin 0 -> 17399 bytes .../.doctrees/tutorials/smb/smb.doctree | Bin 0 -> 26242 bytes .../locale/.doctrees/tutorials/spark.doctree | Bin 0 -> 27785 bytes .../tutorials/tutorial-proxy.doctree | Bin 0 -> 20624 bytes .../.doctrees/tutorials/tutorials.doctree | Bin 0 -> 7092 bytes .../wordpress/web-server-install.doctree | Bin 0 -> 81939 bytes .../tutorials/wordpress/wordpress.doctree | Bin 0 -> 9229 bytes .../tutorials/wordpress/wp-install.doctree | Bin 0 -> 37740 bytes .../.doctrees/tutorials/yubikey-u2f.doctree | Bin 0 -> 24403 bytes localization/pot/locale/FAQ/faq.pot | 198 +++ .../pot/locale/concepts/autospec-about.pot | 162 +++ .../pot/locale/concepts/bundles-about.pot | 54 + .../pot/locale/concepts/mixer-about.pot | 94 ++ localization/pot/locale/concepts/restart.pot | 210 +++ localization/pot/locale/concepts/security.pot | 170 +++ .../pot/locale/concepts/stateless.pot | 150 ++ .../pot/locale/concepts/swupd-about.pot | 138 ++ .../pot/locale/concepts/telemetry-about.pot | 130 ++ localization/pot/locale/disclaimers.pot | 26 + .../pot/locale/documentation_license.pot | 18 + .../bare-metal-install-desktop.pot | 651 +++++++++ .../bare-metal-install-server.pot | 1081 ++++++++++++++ .../get-started/bootable-usb/bootable-usb.pot | 197 +++ .../get-started/compatibility-check.pot | 58 + .../pot/locale/get-started/get-started.pot | 62 + .../virtual-machine-install/gce.pot | 276 ++++ .../virtual-machine-install/hyper-v.pot | 86 ++ .../virtual-machine-install/kvm.pot | 186 +++ .../virtualbox-cl-installer.pot | 459 ++++++ .../vmw-player-preconf.pot | 400 ++++++ .../virtual-machine-install/vmw-player.pot | 401 ++++++ .../vmware-esxi-install-cl.pot | 399 ++++++ .../vmware-esxi-preconfigured-cl-image.pot | 377 +++++ .../pot/locale/guides/deploy-at-scale.pot | 274 ++++ localization/pot/locale/guides/guides.pot | 42 + .../guides/kernel/kernel-development.pot | 396 ++++++ .../guides/kernel/kernel-modules-dkms.pot | 354 +++++ .../locale/guides/kernel/kernel-modules.pot | 202 +++ .../maintenance/architect-lifecycle.pot | 106 ++ .../guides/maintenance/assign-static-ip.pot | 151 ++ .../guides/maintenance/bulk-provision.pot | 138 ++ .../guides/maintenance/cpu-performance.pot | 178 +++ .../maintenance/developer-workstation.pot | 172 +++ .../download-verify-decompress-linux.pot | 241 ++++ .../download-verify-decompress-mac.pot | 233 ++++ .../download-verify-decompress-windows.pot | 240 ++++ .../guides/maintenance/enable-user-space.pot | 126 ++ .../guides/maintenance/fix-broken-install.pot | 138 ++ .../locale/guides/maintenance/hostname.pot | 82 ++ .../increase-virtual-disk-size.pot | 202 +++ .../pot/locale/guides/maintenance/time.pot | 66 + .../maintenance/validate-signatures.pot | 99 ++ .../guides/network/custom-clear-container.pot | 154 ++ .../pot/locale/guides/network/dpdk.pot | 308 ++++ .../locale/guides/network/ipxe-install.pot | 226 +++ .../locale/guides/network/network-bonding.pot | 114 ++ .../pot/locale/guides/network/vnc.pot | 773 ++++++++++ .../locale/guides/telemetrics/telem-guide.pot | 636 +++++++++ localization/pot/locale/index.pot | 78 ++ .../pot/locale/reference/bundle-commands.pot | 54 + .../pot/locale/reference/bundles/bundles.pot | 34 + .../reference/bundles/openssh-server.pot | 152 ++ .../reference/collaboration/collaboration.pot | 130 ++ .../collaboration/structure-formatting.pot | 739 ++++++++++ .../reference/collaboration/writing-guide.pot | 561 ++++++++ .../locale/reference/compatible-hardware.pot | 257 ++++ .../reference/how-to-clear-overview.pot | 62 + .../pot/locale/reference/image-types.pot | 168 +++ .../pot/locale/reference/reference.pot | 30 + .../locale/reference/system-requirements.pot | 110 ++ localization/pot/locale/tooling/autoproxy.pot | 110 ++ localization/pot/locale/tooling/autospec.pot | 432 ++++++ .../pot/locale/tooling/compatible-kernels.pot | 86 ++ localization/pot/locale/tooling/debug.pot | 90 ++ localization/pot/locale/tooling/ister.pot | 130 ++ localization/pot/locale/tooling/mixer.pot | 787 +++++++++++ .../pot/locale/tooling/swupd-guide.pot | 342 +++++ localization/pot/locale/tooling/tooling.pot | 26 + .../pot/locale/tutorials/aws-web/aws-web.pot | 286 ++++ localization/pot/locale/tutorials/azure.pot | 314 +++++ localization/pot/locale/tutorials/dars.pot | 90 ++ .../pot/locale/tutorials/dlrs/dlrs.pot | 481 +++++++ .../pot/locale/tutorials/docker/docker.pot | 214 +++ .../pot/locale/tutorials/flatpak/flatpak.pot | 94 ++ localization/pot/locale/tutorials/fmv.pot | 126 ++ .../pot/locale/tutorials/greengrass.pot | 512 +++++++ localization/pot/locale/tutorials/hadoop.pot | 175 +++ localization/pot/locale/tutorials/kata.pot | 110 ++ .../pot/locale/tutorials/kata_migration.pot | 94 ++ .../tutorials/kubernetes/kubernetes-bp.pot | 115 ++ .../tutorials/kubernetes/kubernetes.pot | 350 +++++ .../machine-learning/machine-learning.pot | 238 ++++ localization/pot/locale/tutorials/nvidia.pot | 310 +++++ localization/pot/locale/tutorials/redis.pot | 158 +++ .../pot/locale/tutorials/smb/smb-desktop.pot | 94 ++ localization/pot/locale/tutorials/smb/smb.pot | 110 ++ localization/pot/locale/tutorials/spark.pot | 134 ++ .../pot/locale/tutorials/tutorial-proxy.pot | 102 ++ .../pot/locale/tutorials/tutorials.pot | 26 + .../wordpress/web-server-install.pot | 423 ++++++ .../locale/tutorials/wordpress/wordpress.pot | 42 + .../locale/tutorials/wordpress/wp-install.pot | 238 ++++ .../pot/locale/tutorials/yubikey-u2f.pot | 126 ++ source/conf.py | 5 + 284 files changed, 47711 insertions(+) create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/FAQ/faq.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/concepts/autospec-about.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/concepts/bundles-about.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/concepts/mixer-about.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/concepts/restart.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/concepts/security.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/concepts/stateless.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/concepts/swupd-about.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/concepts/telemetry-about.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/disclaimers.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/documentation_license.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/get-started/bare-metal-install-desktop/bare-metal-install-desktop.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/get-started/bare-metal-install-server/bare-metal-install-server.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/get-started/bootable-usb/bootable-usb.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/get-started/compatibility-check.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/get-started/get-started.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/get-started/virtual-machine-install/gce.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/get-started/virtual-machine-install/hyper-v.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/get-started/virtual-machine-install/kvm.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/get-started/virtual-machine-install/virtualbox-cl-installer.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/get-started/virtual-machine-install/vmw-player-preconf.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/get-started/virtual-machine-install/vmw-player.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/get-started/virtual-machine-install/vmware-esxi-install-cl.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/guides/deploy-at-scale.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/guides/guides.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/guides/kernel/kernel-development.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/guides/kernel/kernel-modules-dkms.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/guides/kernel/kernel-modules.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/guides/maintenance/architect-lifecycle.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/guides/maintenance/assign-static-ip.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/guides/maintenance/bulk-provision.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/guides/maintenance/cpu-performance.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/guides/maintenance/developer-workstation.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/guides/maintenance/download-verify-decompress-linux.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/guides/maintenance/download-verify-decompress-mac.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/guides/maintenance/download-verify-decompress-windows.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/guides/maintenance/enable-user-space.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/guides/maintenance/fix-broken-install.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/guides/maintenance/hostname.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/guides/maintenance/increase-virtual-disk-size.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/guides/maintenance/time.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/guides/maintenance/validate-signatures.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/guides/network/custom-clear-container.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/guides/network/dpdk.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/guides/network/ipxe-install.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/guides/network/network-bonding.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/guides/network/vnc.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/guides/telemetrics/telem-guide.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/index.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/reference/bundle-commands.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/reference/bundles/bundles.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/reference/bundles/openssh-server.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/reference/collaboration/collaboration.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/reference/collaboration/structure-formatting.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/reference/collaboration/writing-guide.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/reference/compatible-hardware.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/reference/how-to-clear-overview.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/reference/image-types.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/reference/reference.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/reference/system-requirements.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/tooling/autoproxy.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/tooling/autospec.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/tooling/compatible-kernels.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/tooling/debug.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/tooling/ister.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/tooling/mixer.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/tooling/swupd-guide.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/tooling/tooling.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/tutorials/aws-web/aws-web.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/tutorials/azure.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/tutorials/dars.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/tutorials/dlrs/dlrs.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/tutorials/docker/docker.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/tutorials/flatpak/flatpak.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/tutorials/fmv.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/tutorials/greengrass.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/tutorials/hadoop.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/tutorials/kata.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/tutorials/kata_migration.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/tutorials/kubernetes/kubernetes-bp.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/tutorials/kubernetes/kubernetes.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/tutorials/machine-learning/machine-learning.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/tutorials/nvidia.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/tutorials/redis.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/tutorials/smb/smb-desktop.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/tutorials/smb/smb.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/tutorials/spark.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/tutorials/tutorial-proxy.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/tutorials/tutorials.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/tutorials/wordpress/web-server-install.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/tutorials/wordpress/wordpress.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/tutorials/wordpress/wp-install.po create mode 100644 localization/po/locale/zh_CN/LC_MESSAGES/tutorials/yubikey-u2f.po create mode 100644 localization/pot/locale/.doctrees/FAQ/faq.doctree create mode 100644 localization/pot/locale/.doctrees/concepts/autospec-about.doctree create mode 100644 localization/pot/locale/.doctrees/concepts/bundles-about.doctree create mode 100644 localization/pot/locale/.doctrees/concepts/mixer-about.doctree create mode 100644 localization/pot/locale/.doctrees/concepts/restart.doctree create mode 100644 localization/pot/locale/.doctrees/concepts/security.doctree create mode 100644 localization/pot/locale/.doctrees/concepts/stateless.doctree create mode 100644 localization/pot/locale/.doctrees/concepts/swupd-about.doctree create mode 100644 localization/pot/locale/.doctrees/concepts/telemetry-about.doctree create mode 100644 localization/pot/locale/.doctrees/disclaimers.doctree create mode 100644 localization/pot/locale/.doctrees/documentation_license.doctree create mode 100644 localization/pot/locale/.doctrees/environment.pickle create mode 100644 localization/pot/locale/.doctrees/get-started/bare-metal-install-desktop/bare-metal-install-desktop.doctree create mode 100644 localization/pot/locale/.doctrees/get-started/bare-metal-install-server/bare-metal-install-server.doctree create mode 100644 localization/pot/locale/.doctrees/get-started/bootable-usb/bootable-usb.doctree create mode 100644 localization/pot/locale/.doctrees/get-started/compatibility-check.doctree create mode 100644 localization/pot/locale/.doctrees/get-started/get-started.doctree create mode 100644 localization/pot/locale/.doctrees/get-started/virtual-machine-install/gce.doctree create mode 100644 localization/pot/locale/.doctrees/get-started/virtual-machine-install/hyper-v.doctree create mode 100644 localization/pot/locale/.doctrees/get-started/virtual-machine-install/kvm.doctree create mode 100644 localization/pot/locale/.doctrees/get-started/virtual-machine-install/virtualbox-cl-installer.doctree create mode 100644 localization/pot/locale/.doctrees/get-started/virtual-machine-install/vmw-player-preconf.doctree create mode 100644 localization/pot/locale/.doctrees/get-started/virtual-machine-install/vmw-player.doctree create mode 100644 localization/pot/locale/.doctrees/get-started/virtual-machine-install/vmware-esxi-install-cl.doctree create mode 100644 localization/pot/locale/.doctrees/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.doctree create mode 100644 localization/pot/locale/.doctrees/guides/deploy-at-scale.doctree create mode 100644 localization/pot/locale/.doctrees/guides/guides.doctree create mode 100644 localization/pot/locale/.doctrees/guides/kernel/kernel-development.doctree create mode 100644 localization/pot/locale/.doctrees/guides/kernel/kernel-modules-dkms.doctree create mode 100644 localization/pot/locale/.doctrees/guides/kernel/kernel-modules.doctree create mode 100644 localization/pot/locale/.doctrees/guides/maintenance/architect-lifecycle.doctree create mode 100644 localization/pot/locale/.doctrees/guides/maintenance/assign-static-ip.doctree create mode 100644 localization/pot/locale/.doctrees/guides/maintenance/bulk-provision.doctree create mode 100644 localization/pot/locale/.doctrees/guides/maintenance/cpu-performance.doctree create mode 100644 localization/pot/locale/.doctrees/guides/maintenance/developer-workstation.doctree create mode 100644 localization/pot/locale/.doctrees/guides/maintenance/download-verify-decompress-linux.doctree create mode 100644 localization/pot/locale/.doctrees/guides/maintenance/download-verify-decompress-mac.doctree create mode 100644 localization/pot/locale/.doctrees/guides/maintenance/download-verify-decompress-windows.doctree create mode 100644 localization/pot/locale/.doctrees/guides/maintenance/enable-user-space.doctree create mode 100644 localization/pot/locale/.doctrees/guides/maintenance/fix-broken-install.doctree create mode 100644 localization/pot/locale/.doctrees/guides/maintenance/hostname.doctree create mode 100644 localization/pot/locale/.doctrees/guides/maintenance/increase-virtual-disk-size.doctree create mode 100644 localization/pot/locale/.doctrees/guides/maintenance/time.doctree create mode 100644 localization/pot/locale/.doctrees/guides/maintenance/validate-signatures.doctree create mode 100644 localization/pot/locale/.doctrees/guides/network/custom-clear-container.doctree create mode 100644 localization/pot/locale/.doctrees/guides/network/dpdk.doctree create mode 100644 localization/pot/locale/.doctrees/guides/network/ipxe-install.doctree create mode 100644 localization/pot/locale/.doctrees/guides/network/network-bonding.doctree create mode 100644 localization/pot/locale/.doctrees/guides/network/vnc.doctree create mode 100644 localization/pot/locale/.doctrees/guides/telemetrics/telem-guide.doctree create mode 100644 localization/pot/locale/.doctrees/index.doctree create mode 100644 localization/pot/locale/.doctrees/reference/bundle-commands.doctree create mode 100644 localization/pot/locale/.doctrees/reference/bundles/bundles.doctree create mode 100644 localization/pot/locale/.doctrees/reference/bundles/openssh-server.doctree create mode 100644 localization/pot/locale/.doctrees/reference/collaboration/collaboration.doctree create mode 100644 localization/pot/locale/.doctrees/reference/collaboration/structure-formatting.doctree create mode 100644 localization/pot/locale/.doctrees/reference/collaboration/writing-guide.doctree create mode 100644 localization/pot/locale/.doctrees/reference/compatible-hardware.doctree create mode 100644 localization/pot/locale/.doctrees/reference/how-to-clear-overview.doctree create mode 100644 localization/pot/locale/.doctrees/reference/image-types.doctree create mode 100644 localization/pot/locale/.doctrees/reference/reference.doctree create mode 100644 localization/pot/locale/.doctrees/reference/system-requirements.doctree create mode 100644 localization/pot/locale/.doctrees/tooling/autoproxy.doctree create mode 100644 localization/pot/locale/.doctrees/tooling/autospec.doctree create mode 100644 localization/pot/locale/.doctrees/tooling/compatible-kernels.doctree create mode 100644 localization/pot/locale/.doctrees/tooling/debug.doctree create mode 100644 localization/pot/locale/.doctrees/tooling/ister.doctree create mode 100644 localization/pot/locale/.doctrees/tooling/mixer.doctree create mode 100644 localization/pot/locale/.doctrees/tooling/swupd-guide.doctree create mode 100644 localization/pot/locale/.doctrees/tooling/tooling.doctree create mode 100644 localization/pot/locale/.doctrees/tutorials/aws-web/aws-web.doctree create mode 100644 localization/pot/locale/.doctrees/tutorials/azure.doctree create mode 100644 localization/pot/locale/.doctrees/tutorials/dars.doctree create mode 100644 localization/pot/locale/.doctrees/tutorials/dlrs/dlrs.doctree create mode 100644 localization/pot/locale/.doctrees/tutorials/docker/docker.doctree create mode 100644 localization/pot/locale/.doctrees/tutorials/flatpak/flatpak.doctree create mode 100644 localization/pot/locale/.doctrees/tutorials/fmv.doctree create mode 100644 localization/pot/locale/.doctrees/tutorials/greengrass.doctree create mode 100644 localization/pot/locale/.doctrees/tutorials/hadoop.doctree create mode 100644 localization/pot/locale/.doctrees/tutorials/kata.doctree create mode 100644 localization/pot/locale/.doctrees/tutorials/kata_migration.doctree create mode 100644 localization/pot/locale/.doctrees/tutorials/kubernetes/kubernetes-bp.doctree create mode 100644 localization/pot/locale/.doctrees/tutorials/kubernetes/kubernetes.doctree create mode 100644 localization/pot/locale/.doctrees/tutorials/machine-learning/machine-learning.doctree create mode 100644 localization/pot/locale/.doctrees/tutorials/nvidia.doctree create mode 100644 localization/pot/locale/.doctrees/tutorials/redis.doctree create mode 100644 localization/pot/locale/.doctrees/tutorials/smb/smb-desktop.doctree create mode 100644 localization/pot/locale/.doctrees/tutorials/smb/smb.doctree create mode 100644 localization/pot/locale/.doctrees/tutorials/spark.doctree create mode 100644 localization/pot/locale/.doctrees/tutorials/tutorial-proxy.doctree create mode 100644 localization/pot/locale/.doctrees/tutorials/tutorials.doctree create mode 100644 localization/pot/locale/.doctrees/tutorials/wordpress/web-server-install.doctree create mode 100644 localization/pot/locale/.doctrees/tutorials/wordpress/wordpress.doctree create mode 100644 localization/pot/locale/.doctrees/tutorials/wordpress/wp-install.doctree create mode 100644 localization/pot/locale/.doctrees/tutorials/yubikey-u2f.doctree create mode 100644 localization/pot/locale/FAQ/faq.pot create mode 100644 localization/pot/locale/concepts/autospec-about.pot create mode 100644 localization/pot/locale/concepts/bundles-about.pot create mode 100644 localization/pot/locale/concepts/mixer-about.pot create mode 100644 localization/pot/locale/concepts/restart.pot create mode 100644 localization/pot/locale/concepts/security.pot create mode 100644 localization/pot/locale/concepts/stateless.pot create mode 100644 localization/pot/locale/concepts/swupd-about.pot create mode 100644 localization/pot/locale/concepts/telemetry-about.pot create mode 100644 localization/pot/locale/disclaimers.pot create mode 100644 localization/pot/locale/documentation_license.pot create mode 100644 localization/pot/locale/get-started/bare-metal-install-desktop/bare-metal-install-desktop.pot create mode 100644 localization/pot/locale/get-started/bare-metal-install-server/bare-metal-install-server.pot create mode 100644 localization/pot/locale/get-started/bootable-usb/bootable-usb.pot create mode 100644 localization/pot/locale/get-started/compatibility-check.pot create mode 100644 localization/pot/locale/get-started/get-started.pot create mode 100644 localization/pot/locale/get-started/virtual-machine-install/gce.pot create mode 100644 localization/pot/locale/get-started/virtual-machine-install/hyper-v.pot create mode 100644 localization/pot/locale/get-started/virtual-machine-install/kvm.pot create mode 100644 localization/pot/locale/get-started/virtual-machine-install/virtualbox-cl-installer.pot create mode 100644 localization/pot/locale/get-started/virtual-machine-install/vmw-player-preconf.pot create mode 100644 localization/pot/locale/get-started/virtual-machine-install/vmw-player.pot create mode 100644 localization/pot/locale/get-started/virtual-machine-install/vmware-esxi-install-cl.pot create mode 100644 localization/pot/locale/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.pot create mode 100644 localization/pot/locale/guides/deploy-at-scale.pot create mode 100644 localization/pot/locale/guides/guides.pot create mode 100644 localization/pot/locale/guides/kernel/kernel-development.pot create mode 100644 localization/pot/locale/guides/kernel/kernel-modules-dkms.pot create mode 100644 localization/pot/locale/guides/kernel/kernel-modules.pot create mode 100644 localization/pot/locale/guides/maintenance/architect-lifecycle.pot create mode 100644 localization/pot/locale/guides/maintenance/assign-static-ip.pot create mode 100644 localization/pot/locale/guides/maintenance/bulk-provision.pot create mode 100644 localization/pot/locale/guides/maintenance/cpu-performance.pot create mode 100644 localization/pot/locale/guides/maintenance/developer-workstation.pot create mode 100644 localization/pot/locale/guides/maintenance/download-verify-decompress-linux.pot create mode 100644 localization/pot/locale/guides/maintenance/download-verify-decompress-mac.pot create mode 100644 localization/pot/locale/guides/maintenance/download-verify-decompress-windows.pot create mode 100644 localization/pot/locale/guides/maintenance/enable-user-space.pot create mode 100644 localization/pot/locale/guides/maintenance/fix-broken-install.pot create mode 100644 localization/pot/locale/guides/maintenance/hostname.pot create mode 100644 localization/pot/locale/guides/maintenance/increase-virtual-disk-size.pot create mode 100644 localization/pot/locale/guides/maintenance/time.pot create mode 100644 localization/pot/locale/guides/maintenance/validate-signatures.pot create mode 100644 localization/pot/locale/guides/network/custom-clear-container.pot create mode 100644 localization/pot/locale/guides/network/dpdk.pot create mode 100644 localization/pot/locale/guides/network/ipxe-install.pot create mode 100644 localization/pot/locale/guides/network/network-bonding.pot create mode 100644 localization/pot/locale/guides/network/vnc.pot create mode 100644 localization/pot/locale/guides/telemetrics/telem-guide.pot create mode 100644 localization/pot/locale/index.pot create mode 100644 localization/pot/locale/reference/bundle-commands.pot create mode 100644 localization/pot/locale/reference/bundles/bundles.pot create mode 100644 localization/pot/locale/reference/bundles/openssh-server.pot create mode 100644 localization/pot/locale/reference/collaboration/collaboration.pot create mode 100644 localization/pot/locale/reference/collaboration/structure-formatting.pot create mode 100644 localization/pot/locale/reference/collaboration/writing-guide.pot create mode 100644 localization/pot/locale/reference/compatible-hardware.pot create mode 100644 localization/pot/locale/reference/how-to-clear-overview.pot create mode 100644 localization/pot/locale/reference/image-types.pot create mode 100644 localization/pot/locale/reference/reference.pot create mode 100644 localization/pot/locale/reference/system-requirements.pot create mode 100644 localization/pot/locale/tooling/autoproxy.pot create mode 100644 localization/pot/locale/tooling/autospec.pot create mode 100644 localization/pot/locale/tooling/compatible-kernels.pot create mode 100644 localization/pot/locale/tooling/debug.pot create mode 100644 localization/pot/locale/tooling/ister.pot create mode 100644 localization/pot/locale/tooling/mixer.pot create mode 100644 localization/pot/locale/tooling/swupd-guide.pot create mode 100644 localization/pot/locale/tooling/tooling.pot create mode 100644 localization/pot/locale/tutorials/aws-web/aws-web.pot create mode 100644 localization/pot/locale/tutorials/azure.pot create mode 100644 localization/pot/locale/tutorials/dars.pot create mode 100644 localization/pot/locale/tutorials/dlrs/dlrs.pot create mode 100644 localization/pot/locale/tutorials/docker/docker.pot create mode 100644 localization/pot/locale/tutorials/flatpak/flatpak.pot create mode 100644 localization/pot/locale/tutorials/fmv.pot create mode 100644 localization/pot/locale/tutorials/greengrass.pot create mode 100644 localization/pot/locale/tutorials/hadoop.pot create mode 100644 localization/pot/locale/tutorials/kata.pot create mode 100644 localization/pot/locale/tutorials/kata_migration.pot create mode 100644 localization/pot/locale/tutorials/kubernetes/kubernetes-bp.pot create mode 100644 localization/pot/locale/tutorials/kubernetes/kubernetes.pot create mode 100644 localization/pot/locale/tutorials/machine-learning/machine-learning.pot create mode 100644 localization/pot/locale/tutorials/nvidia.pot create mode 100644 localization/pot/locale/tutorials/redis.pot create mode 100644 localization/pot/locale/tutorials/smb/smb-desktop.pot create mode 100644 localization/pot/locale/tutorials/smb/smb.pot create mode 100644 localization/pot/locale/tutorials/spark.pot create mode 100644 localization/pot/locale/tutorials/tutorial-proxy.pot create mode 100644 localization/pot/locale/tutorials/tutorials.pot create mode 100644 localization/pot/locale/tutorials/wordpress/web-server-install.pot create mode 100644 localization/pot/locale/tutorials/wordpress/wordpress.pot create mode 100644 localization/pot/locale/tutorials/wordpress/wp-install.pot create mode 100644 localization/pot/locale/tutorials/yubikey-u2f.pot diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/FAQ/faq.po b/localization/po/locale/zh_CN/LC_MESSAGES/FAQ/faq.po new file mode 100644 index 00000000..98697cf0 --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/FAQ/faq.po @@ -0,0 +1,275 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/FAQ/faq.rst:4 +msgid "FAQ" +msgstr "" + +#: ../../../source/FAQ/faq.rst:6 +msgid "" +"Below is a list of commonly asked questions with answers sourced from the" +" |CL-ATTR| team and `Clear Linux community forums`_." +msgstr "" + +#: ../../../source/FAQ/faq.rst:14 +msgid "General" +msgstr "" + +#: ../../../source/FAQ/faq.rst:17 +msgid "Why did you make another distro?" +msgstr "" + +#: ../../../source/FAQ/faq.rst:19 +msgid "" +"The |CL| team felt that performance was left on the table with Linux " +"software. |CL| takes a holistic approach to improving performance across " +"the stack. We also wanted to take more modern approaches with OS updates " +"and tooling." +msgstr "" + +#: ../../../source/FAQ/faq.rst:26 +msgid "Can other distros copy |CL| improvements?" +msgstr "" + +#: ../../../source/FAQ/faq.rst:28 +msgid "Yes, we absolutely love open source reuse and upstreaming improvements." +msgstr "" + +#: ../../../source/FAQ/faq.rst:33 +msgid "How often do you update?" +msgstr "" + +#: ../../../source/FAQ/faq.rst:35 +msgid "" +"The |CL| team puts out multiple releases a week, often releasing 2 or " +"more times a day. This rolling release approach allows |CL| to remain " +"agile to upstream changes and security patches." +msgstr "" + +#: ../../../source/FAQ/faq.rst:42 +msgid "Is telemetry required?" +msgstr "" + +#: ../../../source/FAQ/faq.rst:44 +msgid "" +"The telemetry solution provided by |CL| is entirely optional and " +"customizable. It is disabled by default. If you do choose to enable " +"telemetry, the data helps the |CL| team proactively identify and resolve " +"bugs. See the :ref:`telemetry ` page for more " +"information." +msgstr "" + +#: ../../../source/FAQ/faq.rst:52 +msgid "What is the default firewall?" +msgstr "" + +#: ../../../source/FAQ/faq.rst:54 +msgid "" +"|CL| packages :command:`iptables` as a bundle, however, there are no " +"default firewall rules. All network traffic is allowed by default." +msgstr "" + +#: ../../../source/FAQ/faq.rst:60 +msgid "Where are the files that I usually see under /etc like fstab?" +msgstr "" + +#: ../../../source/FAQ/faq.rst:62 +msgid "" +"|CL| has a stateless design that maintains a separation between system " +"files and user files. Default values are stored under " +":file:`/usr/share/defaults/`. Files under :file:`/etc/` are not created " +"unless you create one." +msgstr "" + +#: ../../../source/FAQ/faq.rst:66 +msgid "" +"A blog post explaining how this is accomplished with :file:`/etc/fstab/` " +"specifically is available here: https://clearlinux.org/news-blogs/where-" +"etcfstab-clear-linux" +msgstr "" + +#: ../../../source/FAQ/faq.rst:73 +msgid "Software packages" +msgstr "" + +#: ../../../source/FAQ/faq.rst:76 +msgid "How is software installed and updated?" +msgstr "" + +#: ../../../source/FAQ/faq.rst:78 +msgid "" +"|CL| provides software in the form of :ref:`bundles ` and " +"updates software with :ref:`swupd `." +msgstr "" + +#: ../../../source/FAQ/faq.rst:81 +msgid "" +":ref:`FlatPak\\* ` is an application virtualization solution " +"that allows more software to be available to |CL| users by augmenting the" +" software |CL| packages natively with software available through FlatPak." +msgstr "" + +#: ../../../source/FAQ/faq.rst:85 +msgid "" +"Our goal is to have software packaged natively and made available through" +" bundles whenever possible." +msgstr "" + +#: ../../../source/FAQ/faq.rst:91 +msgid "Does |CL| use RPMs like other distros?" +msgstr "" + +#: ../../../source/FAQ/faq.rst:93 +msgid "" +"|CL| provides software in the form of :ref:`bundles `. The" +" RPM format is used as an intermediary step for packaging and determining" +" software dependencies at OS build time." +msgstr "" + +#: ../../../source/FAQ/faq.rst:97 +msgid "" +"Individual RPMs can sometimes be manually installed on a |CL| system with" +" the right tools, but that is not the intended use case." +msgstr "" + +#: ../../../source/FAQ/faq.rst:103 +msgid "Can I install a software package from another OS on |CL|?" +msgstr "" + +#: ../../../source/FAQ/faq.rst:105 +msgid "" +"Software that is packaged in other formats for other Linux distributions " +"is not guaranteed to work on |CL| and may be impacted by |CL| updates." +msgstr "" + +#: ../../../source/FAQ/faq.rst:108 +msgid "" +"If the software you're seeking is open source, please submit a request to" +" add it to |CL|. Submit requests on GitHub\\* here: " +"https://github.com/clearlinux/distribution/issues" +msgstr "" + +#: ../../../source/FAQ/faq.rst:115 +msgid "Software availability" +msgstr "" + +#: ../../../source/FAQ/faq.rst:118 +msgid "What software is available on |CL|?" +msgstr "" + +#: ../../../source/FAQ/faq.rst:120 +msgid "" +"Available software can be found in the `Software Store`_, through the " +"GNOME\\* Software application on the desktop, or by using :ref:`swupd " +"search `." +msgstr "" + +#: ../../../source/FAQ/faq.rst:126 +msgid "Is Google\\* Chrome\\* available?" +msgstr "" + +#: ../../../source/FAQ/faq.rst:128 +msgid "" +"The Google Chrome web browser is not distributed as a bundle in |CL| due " +"to copyright and licensing complexities." +msgstr "" + +#: ../../../source/FAQ/faq.rst:131 +msgid "" +"A discussion on manually installing and maintaining Google Chrome can be " +"found on GitHub: https://github.com/clearlinux/distribution/issues/422" +msgstr "" + +#: ../../../source/FAQ/faq.rst:137 +msgid "Is FFmpeg available?" +msgstr "" + +#: ../../../source/FAQ/faq.rst:139 +msgid "" +"`FFmpeg`_ is a multimedia software suite, which is commonly used for " +"various media encoding/decoding, streaming, and playback." +msgstr "" + +#: ../../../source/FAQ/faq.rst:142 +msgid "" +"|CL| does not distribute FFmpeg due to well-known licensing and legal " +"complexities (See https://www.ffmpeg.org/legal.html and " +"http://blog.pkh.me/p/13-the-ffmpeg-libav-situation.html)." +msgstr "" + +#: ../../../source/FAQ/faq.rst:146 +msgid "" +"Read more in the |CL| repository, including discussion of an alternative " +"hardware-based solution: " +"https://github.com/clearlinux/distribution/issues/429." +msgstr "" + +#: ../../../source/FAQ/faq.rst:150 +msgid "" +"While |CL| cannot distribute FFmpeg, a manual solution to build and " +"install FFmpeg under :file:`/usr/local` has been shared on the community " +"forums: https://community.clearlinux.org/t/how-to-h264-etc-support-for-" +"firefox-including-ffmpeg-install." +msgstr "" + +#: ../../../source/FAQ/faq.rst:157 +msgid "Is ZFS\\* available?" +msgstr "" + +#: ../../../source/FAQ/faq.rst:159 +msgid "" +"ZFS is not available with |CL| because of copyright and licensing " +"complexities. BTRFS is an alternative filesystem that is available in " +"|CL| natively." +msgstr "" + +#: ../../../source/FAQ/faq.rst:163 +msgid "" +"A user on GitHub notes that the ZFS kernel module can be compiled, built," +" and installed manually: " +"https://github.com/clearlinux/distribution/issues/631" +msgstr "" + +#: ../../../source/FAQ/faq.rst:169 +msgid "Can you add a driver that I need?" +msgstr "" + +#: ../../../source/FAQ/faq.rst:171 +msgid "" +"If a kernel module is available as part of the Linux kernel source tree " +"but not enabled in the |CL| kernels, in many cases the |CL| team will " +"enable it upon request. Submit requests on GitHub here: " +"https://github.com/clearlinux/distribution/issues" +msgstr "" + +#: ../../../source/FAQ/faq.rst:176 +msgid "" +"The |CL| team does not typically add out-of-tree kernel modules as a " +"matter of practice because of the maintenance overhead. If the driver was" +" unable to be merged upstream, there is a good chance we may be unable to" +" merge it for similar reasons." +msgstr "" + +#: ../../../source/FAQ/faq.rst:181 +msgid "" +"Kernel modules can be individually built and installed on |CL|. See the " +":ref:`kernel modules ` page for more information." +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/concepts/autospec-about.po b/localization/po/locale/zh_CN/LC_MESSAGES/concepts/autospec-about.po new file mode 100644 index 00000000..0379daac --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/concepts/autospec-about.po @@ -0,0 +1,219 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/concepts/autospec-about.rst:4 +msgid "Autospec" +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:6 +msgid "" +"``autospec`` is a tool to assist in the automated creation and " +"maintenance of RPM packaging in |CL-ATTR|. Where a standard RPM build " +"process using ``rpmbuild`` requires a tarball and .spec file to start, " +"``autospec`` requires only a tarball and package name to start." +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:12 +msgid "How autospec works" +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:14 +msgid "" +"``autospec`` attempts to infer the requirements of the .spec file by " +"analyzing the source code and :file:`Makefile` information. It will " +"continuously run updated builds based on new information discovered from " +"build failures until it has a complete and valid .spec file. Although not" +" required, you can influence the behavior of ``autospec`` by providing " +":ref:`control files `." +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:20 +msgid "The basic process is described in the following steps:" +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:22 +msgid "" +"The :command:`make autospec` command generates a .spec based on analysis " +"of code and control files, if present." +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:25 +msgid "``autospec`` creates a ``build root`` with ``mock`` config." +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:27 +msgid "``autospec`` attempts to build an RPM from the generated .spec." +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:29 +msgid "``autospec`` detects any missed declarations in the .spec." +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:31 +msgid "" +"If build errors occur, ``autospec`` will scan the build log to try and " +"detect the root cause." +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:34 +msgid "" +"If ``autospec`` detects the root cause and knows how to continue, it will" +" restart the build automatically at step 1 with updated build " +"instructions." +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:37 +msgid "" +"Otherwise, ``autospec`` will stop the build for user inspection and " +"editing of control files to resolve the errors. The user resumes the " +"process at step 1 after errors are resolved." +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:40 +msgid "" +"Following these steps, ``autospec`` continues to rebuild the package, " +"based on new information discovered from build failures, until it has a " +"valid .spec. If no build errors occur, RPM packages are successfully " +"built." +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:47 +msgid "Control files" +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:49 +msgid "" +"It is possible to influence the behavior of ``autospec`` by providing " +"control files. These files may be used to alter the default behavior of " +"the configure routine, to blacklist build dependencies, etc. Control " +"files must be located in the same directory as the resulting .spec." +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:54 +msgid "Table 1 shows control files used to control dependencies, for example." +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:56 +msgid "**Table 1. Control files to control dependencies**" +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:60 +msgid "Filename" +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:61 +msgid "Description" +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:62 +msgid "buildreq_add" +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:63 +msgid "" +"Each line in the file provides the name of a package to add as a build " +"dependency to the .spec." +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:65 +msgid "buildreq_ban" +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:66 +msgid "" +"Each line in the file is a build dependency that under no circumstance " +"should be automatically added to the build dependencies. This is useful " +"to block automatic configuration routines adding undesired functionality," +" or to omit any automatically discovered dependencies during tarball " +"scanning." +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:71 +msgid "pkgconfig_add" +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:72 +msgid "" +"Each line in the file is assumed to be a pkgconfig() build dependency. " +"Add the pkg-config names here, as ``autospec`` will automatically " +"transform the names into their ``pkgconfig($name)`` style when generating" +" the .spec." +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:76 +msgid "pkgconfig_ban" +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:77 +msgid "" +"Each line in this file is a pkgconfig() build dependency that should not " +"be added automatically to the build, much the same as `` buildreq_ban``. " +"As with ``pkgconfig_add``, these names are automatically transformed by " +"``autospec`` into their correct ``pkgconfig($name))`` style." +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:82 +msgid "requires_add" +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:83 +msgid "" +"Each line in the file provides the name of a package to add as a runtime " +"dependency to the .spec." +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:85 +msgid "requires_ban" +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:86 +msgid "" +"Each line in the file is a runtime dependency that under no circumstance " +"should be automatically added to the runtime dependencies. This is useful" +" to block automatic configuration routines adding undesired " +"functionality, or to omit any automatically discovered dependencies " +"during tarball scanning." +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:92 +msgid "" +"Further control of the build can be achieved through the use of the " +"``options.conf`` file. If this file does not exist, it is created by " +"``autospec`` with default values. If certain deprecated configuration " +"files exists ``autospec`` will use the value indicated by those files and" +" remove them." +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:98 +msgid "For a comprehensive list of control files, view the `autospec readme`_." +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:101 +msgid "Related topics" +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:103 +msgid ":ref:`autospec`" +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:104 +msgid ":ref:`mixer`" +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/concepts/bundles-about.po b/localization/po/locale/zh_CN/LC_MESSAGES/concepts/bundles-about.po new file mode 100644 index 00000000..424afdc0 --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/concepts/bundles-about.po @@ -0,0 +1,71 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/concepts/bundles-about.rst:4 +msgid "Bundles" +msgstr "" + +#: ../../../source/concepts/bundles-about.rst:6 +msgid "" +"Linux-based operating systems contain the code of several hundred, if not" +" thousands, of open source projects. To make this manageable, " +"distributions use a concept called \"packages\" to configure and compile " +"the source code of these projects into binaries." +msgstr "" + +#: ../../../source/concepts/bundles-about.rst:11 +msgid "" +"Many distributions then split the content of these compiled packages into" +" so-called sub-packages, which are the granularity at which these " +"distributions deploy their software. With those kinds of distributions, " +"system administrators can then install and update sub-packages " +"individually or as a set, using tools such as \"yum\" and \"apt-get.\"" +msgstr "" + +#: ../../../source/concepts/bundles-about.rst:17 +msgid "" +"The |CL-ATTR| takes a slightly different approach. While we also use the " +"concept of packages to manage compiling source code into binaries, we do " +"not use the package concept to deploy software. Instead, we provide " +"software \"bundles\" that are installed and managed using :ref:`swupd" +"`. Each bundle contains as many or as few open source " +"projects needed to provide a complete functionality." +msgstr "" + +#: ../../../source/concepts/bundles-about.rst:24 +msgid "Next steps" +msgstr "" + +#: ../../../source/concepts/bundles-about.rst:26 +msgid "To put this concept into practice, see the following resources:" +msgstr "" + +#: ../../../source/concepts/bundles-about.rst:28 +msgid ":ref:`bundles`" +msgstr "" + +#: ../../../source/concepts/bundles-about.rst:29 +msgid ":ref:`bundle-commands`" +msgstr "" + +#: ../../../source/concepts/bundles-about.rst:30 +msgid ":ref:`compatible-kernels`" +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/concepts/mixer-about.po b/localization/po/locale/zh_CN/LC_MESSAGES/concepts/mixer-about.po new file mode 100644 index 00000000..b40281b7 --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/concepts/mixer-about.po @@ -0,0 +1,115 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/concepts/mixer-about.rst:4 +msgid "Mixer" +msgstr "" + +#: ../../../source/concepts/mixer-about.rst:6 +msgid "" +"|CL-ATTR| is a powerful, modular, and customizable OS. Upstream |CL| " +"offers many images to support different environments and use-cases. " +"There are hundreds of bundles that will meet most, if not all, of your OS" +" and software needs." +msgstr "" + +#: ../../../source/concepts/mixer-about.rst:11 +msgid "" +"However, if you need additional customization or content, |CL| provides " +"the mixer tool. Depending on your needs, the mixer tool allows you to:" +msgstr "" + +#: ../../../source/concepts/mixer-about.rst:15 +msgid ":ref:`create-mix` to create a distinct derivative of the |CL| that" +msgstr "" + +#: ../../../source/concepts/mixer-about.rst:15 +msgid "contains your custom software." +msgstr "" + +#: ../../../source/concepts/mixer-about.rst:20 +msgid "Create a mix" +msgstr "" + +#: ../../../source/concepts/mixer-about.rst:22 +msgid "When creating a mix, you can" +msgstr "" + +#: ../../../source/concepts/mixer-about.rst:24 +msgid "Use any existing upstream bundles with no modification." +msgstr "" + +#: ../../../source/concepts/mixer-about.rst:25 +msgid "Redefine what goes into existing bundles." +msgstr "" + +#: ../../../source/concepts/mixer-about.rst:26 +msgid "Create completely new, custom bundles with your own custom packages." +msgstr "" + +#: ../../../source/concepts/mixer-about.rst:28 +msgid "" +"With mixer you are not required to incorporate every upstream release " +"into your mix. You decide which upstream versions to update your " +"derivative to, as illustrated in Figure 1." +msgstr "" + +#: ../../../source/concepts/mixer-about.rst:36 +msgid "" +"Figure 1: With a custom mix, you add your custom bundle and decide which " +"upstream versions to update your mix to, on your own release cycle." +msgstr "" + +#: ../../../source/concepts/mixer-about.rst:39 +msgid "" +"Creating your own mix forks away from the |CL| upstream and requires that" +" you act as your own OSV. There is a greater level of responsibility, " +"requiring more infrastructure and processes to adopt. However, with this " +"approach, you have a higher degree of control and customization of your " +"custom |CL|." +msgstr "" + +#: ../../../source/concepts/mixer-about.rst:45 +msgid "Related topics" +msgstr "" + +#: ../../../source/concepts/mixer-about.rst:47 +msgid "" +"|CL| provides flexibility in how you customize your OS. Learn more about " +"mixer and related topics to decide which customization approach is best " +"for you." +msgstr "" + +#: ../../../source/concepts/mixer-about.rst:51 +msgid ":ref:`mixer`" +msgstr "" + +#: ../../../source/concepts/mixer-about.rst:52 +msgid ":ref:`bundles-about`" +msgstr "" + +#: ../../../source/concepts/mixer-about.rst:53 +msgid ":ref:`swupd-about`" +msgstr "" + +#: ../../../source/concepts/mixer-about.rst:54 +msgid ":ref:`deploy-at-scale`" +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/concepts/restart.po b/localization/po/locale/zh_CN/LC_MESSAGES/concepts/restart.po new file mode 100644 index 00000000..1a503831 --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/concepts/restart.po @@ -0,0 +1,301 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/concepts/restart.rst:4 +msgid "Restart system services after an OS update" +msgstr "" + +#: ../../../source/concepts/restart.rst:6 +msgid "" +"The software life cycle describes how software is created, developed, and" +" deployed, and includes how to replace or update software. A good OS " +"provides tools for the entire software life cycle. These tools must " +"include ways to remove software components properly when replaced with " +"something else." +msgstr "" + +#: ../../../source/concepts/restart.rst:12 +msgid "" +"Most of the work on software update code in |CL| was focused on adding " +"new software to the system. We recommended that users reboot their system" +" once in a while, but we did not provide any tools to restart services " +"easily, until now." +msgstr "" + +#: ../../../source/concepts/restart.rst:18 +msgid "User challenges" +msgstr "" + +#: ../../../source/concepts/restart.rst:20 +msgid "" +"It is difficult to determine which services to restart. You can either " +"evaluate each system and reboot manually, or figure out which services to" +" restart based on documentation like the |CL| release notes. Since " +"neither option solves the issue completely, the |CL| team created a " +"solution." +msgstr "" + +#: ../../../source/concepts/restart.rst:25 +msgid "" +"Over the years, several OSes approached the problem and created partial " +"solutions such as the following:" +msgstr "" + +#: ../../../source/concepts/restart.rst:28 +msgid "Automatically restart services during an upgrade." +msgstr "" + +#: ../../../source/concepts/restart.rst:29 +msgid "Evaluate services using these steps:" +msgstr "" + +#: ../../../source/concepts/restart.rst:31 +msgid "Mark updates requiring a reboot, such as kernel updates." +msgstr "" + +#: ../../../source/concepts/restart.rst:32 +msgid "Inform the user of those updates." +msgstr "" + +#: ../../../source/concepts/restart.rst:33 +msgid "Ask the user to restart the OS." +msgstr "" + +#: ../../../source/concepts/restart.rst:35 +msgid "" +"Both solutions are acceptable for many OSes. However, |CL| updates " +"software automatically and users do not see notices from the updater " +"unless they review the journal. |CL| requires a completely different " +"solution, with the following requirements:" +msgstr "" + +#: ../../../source/concepts/restart.rst:40 +msgid "" +"Eliminate the guesswork about what to restart and under what " +"circumstances." +msgstr "" + +#: ../../../source/concepts/restart.rst:41 +msgid "" +"Cannot restart everything. Many service daemons do not support an " +"automatic background restart." +msgstr "" + +#: ../../../source/concepts/restart.rst:43 +msgid "Fit into the |CL| architectural perspective: be small, quick, and lean." +msgstr "" + +#: ../../../source/concepts/restart.rst:46 +msgid "clr-service-restart functionality" +msgstr "" + +#: ../../../source/concepts/restart.rst:48 +msgid "Typical reasons to restart a service daemon include:" +msgstr "" + +#: ../../../source/concepts/restart.rst:50 +msgid "A new version replaces the executable file itself." +msgstr "" + +#: ../../../source/concepts/restart.rst:51 +msgid "A new version replaces a library component used by a service daemon." +msgstr "" + +#: ../../../source/concepts/restart.rst:53 +msgid "" +"Our method restarts daemons when it is really needed, especially in the " +"case of security updates. The tool restarts daemons by reading various " +"files in the :file:`procfs` filesystem provided by the kernel." +msgstr "" + +#: ../../../source/concepts/restart.rst:57 +msgid "" +"The second part of the problem is to determine whether or not running " +"processes are part of a system service. The tool focuses on system " +"services because most system services are background tasks with no direct" +" user interaction. Fortunately, :command:`systemd` provides a simple way " +"to:" +msgstr "" + +#: ../../../source/concepts/restart.rst:62 +msgid "Determine which active tasks are within the system domain." +msgstr "" + +#: ../../../source/concepts/restart.rst:63 +msgid "Determine which tasks map to which service." +msgstr "" + +#: ../../../source/concepts/restart.rst:65 +msgid "" +"We combined both solutions into a low-overhead tool that shows which " +"system daemons require a restart, as shown below:" +msgstr "" + +#: ../../../source/concepts/restart.rst:68 +msgid "Figure 1: Invoke :command:`clr-service-restart`." +msgstr "" + +#: ../../../source/concepts/restart.rst:83 +msgid "" +":command:`clr-service-restart` implements a whitelist to identify which " +"daemons can be restarted. The system administrator can customize the " +"default |CL| OS whitelist using *allow* or *disallow* options for " +"restarting system services. When a software update occurs, :command:`clr-" +"service-restart` consults the whitelist to see if a service daemon is " +"allowed to be restarted or not. See the options section for details." +msgstr "" + +#: ../../../source/concepts/restart.rst:93 +msgid "Options for clr-service-restart" +msgstr "" + +#: ../../../source/concepts/restart.rst:95 +msgid "" +"The *allow* option identifies a daemon to restart after an OS software " +"update. The :command:`clr-service-restart` daemon creates a symlink in " +":file:`/etc/clr-service-restart` as a record. The example below tells " +":command:`clr-service-restart` to restart the *tallow* daemon after an OS" +" software update." +msgstr "" + +#: ../../../source/concepts/restart.rst:105 +msgid "" +"The *disallow* option tells :command:`clr-service-restart` not to restart" +" the specified daemon even if the OS defaults permit the daemon to be " +"restarted. The :command:`clr-service-restart` daemon creates a symlink in" +" :file:`/etc/clr-service-restart` that points to :file:`/dev/null` as a " +"record. The example below tells :command:`clr-service-restart` not to " +"restart the *rngd* daemon after an OS software update." +msgstr "" + +#: ../../../source/concepts/restart.rst:116 +msgid "" +"The *default* option makes :command:`clr-service-restart` revert back to " +"the OS defaults and delete any symlink in :file:`/etc/clr-service-" +"restart`. The example below tells :command:`clr-service-restart` to " +"restart *rngd* automatically again, because *rngd* is whitelisted for " +"automatic service restarts by default in |CL|." +msgstr "" + +#: ../../../source/concepts/restart.rst:128 +msgid "Monitor options for clr-service-restart" +msgstr "" + +#: ../../../source/concepts/restart.rst:130 +msgid "" +":command:`clr-service-restart` works in the background and is invoked " +"with :command:`swupd` automatically. Review the journal output to verify " +"that services are restarted after an OS software update." +msgstr "" + +#: ../../../source/concepts/restart.rst:134 +msgid "" +"To monitor :command:`clr-service-restart`, use one or both options " +"described below." +msgstr "" + +#: ../../../source/concepts/restart.rst:139 +msgid "" +"This option makes :command:`clr-service-restart` perform no restarts. " +"Instead it displays the services that could potentially be restarted. " +"When used, :command:`clr-service-restart` outputs a list of messages " +"showing:" +msgstr "" + +#: ../../../source/concepts/restart.rst:144 +msgid "Which service needs a restart." +msgstr "" + +#: ../../../source/concepts/restart.rst:145 +msgid "What unit it is." +msgstr "" + +#: ../../../source/concepts/restart.rst:146 +msgid "Why it needs a restart." +msgstr "" + +#: ../../../source/concepts/restart.rst:147 +msgid "Which command is required to restart the unit." +msgstr "" + +#: ../../../source/concepts/restart.rst:151 +msgid "" +"This option makes :command:`clr-service-restart` consider all system " +"services, not only the ones that are whitelisted. Because the default " +"whitelist in |CL| is relatively short, you can use this option to restart" +" all impacted services when you log in on the system." +msgstr "" + +#: ../../../source/concepts/restart.rst:156 +msgid "" +"If you pass both options (:option:`-a` and :option:`-n`), :command:`clr-" +"service-restart` displays a complete list of system services that require" +" a restart. Use both options to verify that all desired daemons are " +"restarted." +msgstr "" + +#: ../../../source/concepts/restart.rst:163 +msgid "Telemetry" +msgstr "" + +#: ../../../source/concepts/restart.rst:165 +msgid "" +":command:`clr-service-restart` may cause problems such as a short service" +" outage when a daemon is being restarted, or if a daemon fails to " +"properly restart. To minimize issues, :command:`clr-service-restart` " +"creates a telemetry record and sends it to the optional |CL| telemetry " +"service if both conditions below are met:" +msgstr "" + +#: ../../../source/concepts/restart.rst:171 +msgid "If a unit fails to automatically restart after an OS update." +msgstr "" + +#: ../../../source/concepts/restart.rst:172 +msgid "" +"If that unit resides in the system location " +":file:`/usr/lib/systemd/system`." +msgstr "" + +#: ../../../source/concepts/restart.rst:175 +msgid "" +"If you do not install the |CL| telemetrics bundle, the data is discarded." +" If you install the telemetrics bundle and you opt to send telemetry, " +"then the system unit name is sent to the |CL| telemetry service. We " +"evaluate the report and update the whitelist to remove services that are " +"not safe to restart." +msgstr "" + +#: ../../../source/concepts/restart.rst:182 +msgid "Conclusion" +msgstr "" + +#: ../../../source/concepts/restart.rst:184 +msgid "" +"The |CL| team enjoys coming up with simple and efficient solutions to " +"make your work easier. We made a github project of :command:`clr-service-" +"restart` and we invite you to look at the code, share your thoughts, and " +"work with us on improving the project. You can find the project at:" +msgstr "" + +#: ../../../source/concepts/restart.rst:189 +msgid "https://github.com/clearlinux/clr-service-restart" +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/concepts/security.po b/localization/po/locale/zh_CN/LC_MESSAGES/concepts/security.po new file mode 100644 index 00000000..4ff29235 --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/concepts/security.po @@ -0,0 +1,249 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/concepts/security.rst:4 +msgid "OS Security" +msgstr "" + +#: ../../../source/concepts/security.rst:6 +msgid "" +"|CL-ATTR| aims to make systemic and layered security-conscious decisions " +"that are both performant and practical. This security philosophy is " +"rooted within the project's codebase and operating culture." +msgstr "" + +#: ../../../source/concepts/security.rst:17 +msgid "Security in Updates" +msgstr "" + +#: ../../../source/concepts/security.rst:19 +msgid "" +"The |CL| team believes in the benefits of software security through open " +"sourcing, incremental updates, and rapidly resolving known security " +"advisories." +msgstr "" + +#: ../../../source/concepts/security.rst:26 +msgid "The latest Linux* codebase" +msgstr "" + +#: ../../../source/concepts/security.rst:28 +msgid "" +"|CL| uses the newest version of the Linux kernel which allows the " +"operating system to leverage the latest features from the upstream Linux " +"kernel, including security fixes." +msgstr "" + +#: ../../../source/concepts/security.rst:36 +msgid "Automated Effective Updating" +msgstr "" + +#: ../../../source/concepts/security.rst:38 +msgid "|CL| is incrementally updated multiple times per day." +msgstr "" + +#: ../../../source/concepts/security.rst:40 +msgid "" +"This `rolling release model`_ allows |CL| to consume the latest security " +"fixes of software packages as soon as they become available. There is no " +"waiting for major or minor releases on |CL|." +msgstr "" + +#: ../../../source/concepts/security.rst:44 +msgid "" +"An update is not effective if it is just simply downloaded onto a system." +" It needs to be obtained *AND* ensured that the new patched copy is being" +" used; not an older copy loaded into memory. |CL| will let you know when " +"a service needs to be rebooted or do it for your automatically after a " +"software update, if desired." +msgstr "" + +#: ../../../source/concepts/security.rst:51 +msgid "" +"In |CL| updates are delivered automatically, efficiently, and " +"effectively. For more information see `documentation about Software " +"Updates`_ in |CL|." +msgstr "" + +#: ../../../source/concepts/security.rst:60 +msgid "Automated CVE Scanning and Remediation" +msgstr "" + +#: ../../../source/concepts/security.rst:62 +msgid "" +"The sheer number of software packages and security vulnerabilities is " +"growing exponentially. Repositories of Common Vulnerabilities and " +"Exposures (CVEs) and their fixes, if known, are published by :abbr:`NIST`" +" in a National Vulnerability Database \\ |NVD|\\ and at \\ |MITRE|\\ ." +msgstr "" + +#: ../../../source/concepts/security.rst:68 +msgid "" +"|CL| employs a proactive and measured approach to addressing known and " +"fixable :abbr:`CVEs (Common Vulnerabilities and Exposures)`. Packages are" +" automatically scanned against :abbr:`CVEs (Common Vulnerabilities and " +"Exposures)` daily, and security patches are deployed as soon as they are " +"available." +msgstr "" + +#: ../../../source/concepts/security.rst:74 +msgid "" +"These combined practices minimize the amount of time |CL| systems are " +"exposed to unnecessary security risk." +msgstr "" + +#: ../../../source/concepts/security.rst:82 +msgid "Security in Software" +msgstr "" + +#: ../../../source/concepts/security.rst:86 +msgid "Minimized attack surface" +msgstr "" + +#: ../../../source/concepts/security.rst:88 +msgid "" +"|CL| removes legacy, unneeded, or redundant standards and components as " +"much as possible to enable the use of best known security standards. " +"Below are some examples:" +msgstr "" + +#: ../../../source/concepts/security.rst:92 +msgid "" +"`RC4`, `SSLv3`, `3DES`, and `SHA-1` ciphers which have had known " +"vulnerabilities, have been explicitly disabled within many |CL| packages " +"to avoid their accidental usage." +msgstr "" + +#: ../../../source/concepts/security.rst:96 +msgid "" +"Services and subsystems which expose sensitive system information have " +"been removed such as the `finger` and `tcpwrappers`." +msgstr "" + +#: ../../../source/concepts/security.rst:99 +msgid "`SFTP` has been disabled by default due to security considerations." +msgstr "" + +#: ../../../source/concepts/security.rst:104 +msgid "Verified trust" +msgstr "" + +#: ../../../source/concepts/security.rst:106 +msgid "" +"|CL| encourages the use of secure practices such as encryption and " +"digital signature verification throughout the system and discourages " +"blind trust. Below are some examples:" +msgstr "" + +#: ../../../source/concepts/security.rst:110 +msgid "" +"All update operations from swupd are transparently encrypted and checked " +"against the |CL| maintainers' public key for authenticity. More " +"information can be found in this blog post: `blog post about swupd " +"security`_" +msgstr "" + +#: ../../../source/concepts/security.rst:115 +msgid "" +"Before being built, packages available from |CL| verify checksums and " +"signatures provided by third party project codebases and maintainers." +msgstr "" + +#: ../../../source/concepts/security.rst:118 +msgid "" +"|CL| features a unified certificate store, `clrtrust`_ which comes ready " +"to work with well-known Certificate Authorities out of the box. " +"`clrtrust`_ also offers an easy to use command line interface for " +"managing system-wide chains of trust, instead of ignoring foreign " +"certificates." +msgstr "" + +#: ../../../source/concepts/security.rst:129 +msgid "Compiled with secure options" +msgstr "" + +#: ../../../source/concepts/security.rst:131 +msgid "" +"While |CL| packages are optimized for performance on Intel® architecture," +" security conscious kernel and compiler options are sensibly taken " +"advantage of. Below are some examples:" +msgstr "" + +#: ../../../source/concepts/security.rst:136 +msgid "" +"Kernels shipped with |CL| are signed and disallow the usage of custom " +"kernel modules to maintain verifiable system integrity." +msgstr "" + +#: ../../../source/concepts/security.rst:139 +msgid "" +"`Address space layout randomization (ASLR)`_ and `Kernel address space " +"layout randomization (KASLR)`_ are kernel features which defend against " +"certain memory based attacks. More information can be found in a `blog " +"post about PIE executables`_ ." +msgstr "" + +#: ../../../source/concepts/security.rst:150 +msgid "Security in System Design" +msgstr "" + +#: ../../../source/concepts/security.rst:152 +msgid "" +"Simple, yet effective, techniques are used throughout the |CL| system " +"design to defend against common attack vectors and enable good security " +"hygiene. Below are some examples:" +msgstr "" + +#: ../../../source/concepts/security.rst:157 +msgid "" +"Full disk encryption using `Linux Unified Key Setup`_ (LUKS) is " +"available during installation." +msgstr "" + +#: ../../../source/concepts/security.rst:160 +msgid "" +"|CL| uses the PAM cracklib module to harden user login and password " +"security resulting in:" +msgstr "" + +#: ../../../source/concepts/security.rst:163 +msgid "" +"No default username or root password set out of the box with |CL|, you " +"will be asked to set your own password immediately." +msgstr "" + +#: ../../../source/concepts/security.rst:166 +msgid "" +"Simple password schemes, which are known to be easily compromised, cannot" +" be set in |CL|." +msgstr "" + +#: ../../../source/concepts/security.rst:169 +msgid "" +"A password blacklist, to avoid system passwords being set to passwords " +"which have been compromised in the past." +msgstr "" + +#: ../../../source/concepts/security.rst:172 +msgid "" +"`Tallow`_, a lightweight service which monitors and blocks suspicious SSH" +" login patterns, is installed with the :command:`openssh-server` bundle." +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/concepts/stateless.po b/localization/po/locale/zh_CN/LC_MESSAGES/concepts/stateless.po new file mode 100644 index 00000000..735bbbec --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/concepts/stateless.po @@ -0,0 +1,202 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/concepts/stateless.rst:4 +msgid "Stateless" +msgstr "" + +#: ../../../source/concepts/stateless.rst:6 +msgid "" +"In most operating systems, files can become intermingled with user and " +"system data and configurations." +msgstr "" + +#: ../../../source/concepts/stateless.rst:14 +msgid "" +"Figure 1: Without stateless, user and system files become mixed on the " +"filesystem over time." +msgstr "" + +#: ../../../source/concepts/stateless.rst:16 +msgid "" +"|CL-ATTR| has a stateless design philosophy of which the goal is to " +"provide an :abbr:`OS (operating system)` that functions without excessive" +" user configuration or customization. Stateless in this context does " +"*not* mean ephemeral or non-persistent." +msgstr "" + +#: ../../../source/concepts/stateless.rst:26 +msgid "File-level separation" +msgstr "" + +#: ../../../source/concepts/stateless.rst:28 +msgid "" +"To accomplish a stateless design the Linux Filesystem Hierarchy is " +"separated between user-owned areas and |CL|-owned areas." +msgstr "" + +#: ../../../source/concepts/stateless.rst:36 +msgid "" +"Figure 2: With stateless, user and system files are separated on the " +"filesystem." +msgstr "" + +#: ../../../source/concepts/stateless.rst:39 +msgid "System areas" +msgstr "" + +#: ../../../source/concepts/stateless.rst:40 +msgid "" +"File under the :file:`/usr` directory are managed by |CL| as system " +"files. Files written under the :file:`/usr` directory by users can get " +"removed through system updates with :ref:`swupd `.This " +"operating assumption allows |CL| to verify and maintain integrity of " +"system files." +msgstr "" + +#: ../../../source/concepts/stateless.rst:46 +msgid "User areas" +msgstr "" + +#: ../../../source/concepts/stateless.rst:47 +msgid "" +"Files under the :file:`/etc/`, :file:`/home`, and :file:`/var` " +"directories are owned and managed by the user. A freshly installed |CL| " +"system will only have a minimal set of files in the :file:`/etc/` " +"directory and software installed by |CL| does not write to :file:`/etc`. " +"This operating assumption allows |CL| users to clearly identify the " +"configuration that makes their system unique." +msgstr "" + +#: ../../../source/concepts/stateless.rst:55 +msgid "Software Configuration" +msgstr "" + +#: ../../../source/concepts/stateless.rst:57 +msgid "" +"With stateless separation, default software configurations are read in " +"order from predefined source code, |CL| provided defaults, and user-" +"provided configuration." +msgstr "" + +#: ../../../source/concepts/stateless.rst:62 +msgid "Default configurations" +msgstr "" + +#: ../../../source/concepts/stateless.rst:64 +msgid "" +"Software in |CL| provides default configuration values so that it is " +"immediately functional, whenever it is appropriate to do so." +msgstr "" + +#: ../../../source/concepts/stateless.rst:67 +msgid "" +"|CL| distributed software packages may be directly modified to include " +"default configuration values or default configuration files may be " +"provided by |CL| under :file:`/usr/share/defaults`. These files can be " +"referenced as templates for customization." +msgstr "" + +#: ../../../source/concepts/stateless.rst:72 +msgid "" +"For example, the default configuration that Apache uses when installed " +"can be found at :file:`/usr/share/defaults/httpd/httpd.conf` directory." +msgstr "" + +#: ../../../source/concepts/stateless.rst:77 +msgid "Overriding configurations" +msgstr "" + +#: ../../../source/concepts/stateless.rst:79 +msgid "" +"If a configuration needs to be changed, the appropriate file should be " +"modified by the user under :file:`/etc/`. If the configuration file does " +"not already exist, it can be created in the appropriate location." +msgstr "" + +#: ../../../source/concepts/stateless.rst:83 +msgid "" +"User defined configuration files should contain the minimal set of " +"desired changes and rely on default configuration for the rest." +msgstr "" + +#: ../../../source/concepts/stateless.rst:86 +msgid "For example, a customized Apache configuration can be used instead by:" +msgstr "" + +#: ../../../source/concepts/stateless.rst:88 +msgid "Create the destination directory for the configuration:" +msgstr "" + +#: ../../../source/concepts/stateless.rst:94 +msgid "Copy the default configuration as a reference template:" +msgstr "" + +#: ../../../source/concepts/stateless.rst:100 +msgid "Make any desired modifications to the configurations:" +msgstr "" + +#: ../../../source/concepts/stateless.rst:106 +msgid "Reload the service or reboot the system to pickup any changes:" +msgstr "" + +#: ../../../source/concepts/stateless.rst:113 +msgid "" +"This pattern can be used to modify the configurations of other programs " +"too. The `stateless man page`_ has application-specific examples." +msgstr "" + +#: ../../../source/concepts/stateless.rst:118 +msgid "System reset" +msgstr "" + +#: ../../../source/concepts/stateless.rst:120 +msgid "" +"Once advantage of the stateless design is that the system defaults can be" +" easily restored by simply deleting everything under :file:`/etc/` and " +":file:`/var`." +msgstr "" + +#: ../../../source/concepts/stateless.rst:124 +msgid "" +"Running the commands below effectively performs a system reset as if it " +"was just installed:" +msgstr "" + +#: ../../../source/concepts/stateless.rst:132 +msgid "" +"In other Linux distributions, this can be a catastrophic action that " +"renders a system unable to boot." +msgstr "" + +#: ../../../source/concepts/stateless.rst:136 +msgid "Additional information" +msgstr "" + +#: ../../../source/concepts/stateless.rst:138 +msgid "`stateless man page`_" +msgstr "" + +#: ../../../source/concepts/stateless.rst:140 +msgid "" +"`Where is /etc/fstab in Clear Linux? `_" +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/concepts/swupd-about.po b/localization/po/locale/zh_CN/LC_MESSAGES/concepts/swupd-about.po new file mode 100644 index 00000000..1bae3f8f --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/concepts/swupd-about.po @@ -0,0 +1,193 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/concepts/swupd-about.rst:4 +msgid "swupd: software updater" +msgstr "" + +#: ../../../source/concepts/swupd-about.rst:6 +msgid "" +":command:`swupd` is an operating system software manager and update " +"program that operates at a file-level to enable verifiable integrity and " +"update efficiency." +msgstr "" + +#: ../../../source/concepts/swupd-about.rst:10 +msgid "Visit the `swupd man page`_ for more details." +msgstr "" + +#: ../../../source/concepts/swupd-about.rst:13 +msgid "Versioning" +msgstr "" + +#: ../../../source/concepts/swupd-about.rst:15 +msgid "" +"Using package managers to keep track of software version compatibility or" +" compare multiple systems on many Linux distributions can be cumbersome." +msgstr "" + +#: ../../../source/concepts/swupd-about.rst:17 +msgid "" +"With |CL| :command:`swupd`, versioning happens at the individual file-" +"level. This means |CL| generates an entirely new OS version with any set " +"of software changes to the system (including software downgrades or " +"removals). This rolling release versioning model is similar to " +":command:`git` internal version tracking, where any of the individual " +"file commits are tracked and move the pointer forward when changed." +msgstr "" + +#: ../../../source/concepts/swupd-about.rst:23 +msgid "" +"While administrators can pick and choose which `bundles`_ a system has " +"installed, a single |CL| version number strictly represents one " +"combination of all software versions that can be installed onto a system " +"of that |CL| version. This method of whole OS versioning offers unique " +"advantages. Namely, system administrators can quickly compare multiple " +"|CL| systems that share the same version for important software and " +"security fixes." +msgstr "" + +#: ../../../source/concepts/swupd-about.rst:31 +msgid "Updating" +msgstr "" + +#: ../../../source/concepts/swupd-about.rst:33 +msgid "" +"|CL| promotes regular and automated updating of software to ensure " +"integration of new enhancements and security fixes. Refer to " +":ref:`security` documentation for more information." +msgstr "" + +#: ../../../source/concepts/swupd-about.rst:37 +msgid "Learn how to update your system using :ref:`swupd `." +msgstr "" + +#: ../../../source/concepts/swupd-about.rst:40 +msgid "Update efficiency" +msgstr "" + +#: ../../../source/concepts/swupd-about.rst:42 +msgid "" +"Because :command:`swupd` operates at the individual file-level instead of" +" a package-level, |CL| updates are small and fast." +msgstr "" + +#: ../../../source/concepts/swupd-about.rst:45 +msgid "" +"On many Linux\\* distributions, updates to a particular software package " +"require the whole software package to be downloaded and replaced --even " +"for one line of code." +msgstr "" + +#: ../../../source/concepts/swupd-about.rst:49 +msgid "" +"In |CL|, updates are generated using the :ref:`mixer ` tool." +" Mixer calculates the difference between two |CL| versions and makes " +"available *binary deltas*, which contain only the changed portion of " +"files. This *binary delta technology* [1]_ means :command:`swupd` on |CL|" +" systems only needs to download and apply a small fraction of a package " +"in order to receive an update." +msgstr "" + +#: ../../../source/concepts/swupd-about.rst:55 +msgid "" +"The :ref:`mixer ` tool additionally computes updates files " +"in multiple compression formats, allowing :command:`swupd` to utilize the" +" most efficiently compressed format for a |CL| system to minimize the " +"cost to update." +msgstr "" + +#: ../../../source/concepts/swupd-about.rst:61 +msgid "Update integrity" +msgstr "" + +#: ../../../source/concepts/swupd-about.rst:63 +msgid "" +"This is the basis of the :command:`swupd diagnose` subcommand, which " +"allows a |CL| system to check for any discrepancies to system files. As " +"necessary, :command:`swupd repair` provides a useful way for software " +"developers to remediate these discrepancies and return to a known " +"filesystem state." +msgstr "" + +#: ../../../source/concepts/swupd-about.rst:67 +msgid "Bundles" +msgstr "" + +#: ../../../source/concepts/swupd-about.rst:69 +msgid "" +"|CL-ATTR| approaches software management differently than many other " +"Linux-based operating systems." +msgstr "" + +#: ../../../source/concepts/swupd-about.rst:72 +msgid "" +"Instead of deploying granular software packages, |CL| uses the concept of" +" bundles with pre-associated software. Each bundle encapsulates a " +"particular use-case, which is enabled by composing all the required " +"upstream open-source projects and packages into one logical unit." +msgstr "" + +#: ../../../source/concepts/swupd-about.rst:77 +msgid "This bundle-based approach offers some unique advantages:" +msgstr "" + +#: ../../../source/concepts/swupd-about.rst:79 +msgid "" +"Bundles provide a particular functionality, or stack, which include all " +"associated runtime dependencies." +msgstr "" + +#: ../../../source/concepts/swupd-about.rst:82 +msgid "" +"Software package dependencies are resolved on the server, so file-level " +"conflicts do not occur on the target system after an update." +msgstr "" + +#: ../../../source/concepts/swupd-about.rst:85 +msgid "All combinations of bundles are able to co-exist on a |CL| system." +msgstr "" + +#: ../../../source/concepts/swupd-about.rst:87 +msgid "For more information on bundles, visit:" +msgstr "" + +#: ../../../source/concepts/swupd-about.rst:89 +msgid ":ref:`bundles`" +msgstr "" + +#: ../../../source/concepts/swupd-about.rst:90 +msgid ":ref:`bundles-about`" +msgstr "" + +#: ../../../source/concepts/swupd-about.rst:91 +msgid ":ref:`bundle-commands`" +msgstr "" + +#: ../../../source/concepts/swupd-about.rst:92 +msgid ":ref:`compatible-kernels`" +msgstr "" + +#: ../../../source/concepts/swupd-about.rst:94 +msgid "" +"The software update technology for |CL-ATTR| was first presented at the " +"Linux Plumbers conference in 2012." +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/concepts/telemetry-about.po b/localization/po/locale/zh_CN/LC_MESSAGES/concepts/telemetry-about.po new file mode 100644 index 00000000..ebd80e2b --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/concepts/telemetry-about.po @@ -0,0 +1,176 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/concepts/telemetry-about.rst:4 +msgid "Telemetrics" +msgstr "" + +#: ../../../source/concepts/telemetry-about.rst:6 +msgid "" +"One of the key features of |CL-ATTR| is telemetry, which is used to " +"monitor system health. Telemetry enables developers to observe and " +"proactively address issues before end users are impacted." +msgstr "" + +#: ../../../source/concepts/telemetry-about.rst:10 +msgid "*Telemetrics* is a combination word made from:" +msgstr "" + +#: ../../../source/concepts/telemetry-about.rst:12 +msgid "*Telemetry* which is sensing and reporting data." +msgstr "" + +#: ../../../source/concepts/telemetry-about.rst:13 +msgid "" +"*Analytics* which is using visualization and statistical inferencing to " +"make sense of the reported data." +msgstr "" + +#: ../../../source/concepts/telemetry-about.rst:16 +msgid "" +"|CL| telemetry reports system-level debug/crash information using " +"specialized probes. The probes monitor system tasks such as :abbr:`swupd " +"(software updater)`, kernel oops, machine error checks, and BIOS error " +"report table for unhandled hardware failures. Telemetry enables real-time" +" issue reporting to allow system developers to quickly focus on an issue " +"and monitor corrective actions." +msgstr "" + +#: ../../../source/concepts/telemetry-about.rst:22 +msgid "" +"|CL| telemetry is fully customizable and can be used during software " +"development for debugging purposes. You can use **libtelemetry** in your " +"code to create custom telemetry records. You can also use **telem-record-" +"gen** in script files or call it from another program." +msgstr "" + +#: ../../../source/concepts/telemetry-about.rst:29 +msgid "" +"The |CL| telemetry client is disabled by default until you decide to " +"enable it. Telemetry is an **opt-in** solution and can be easily enabled" +" or disabled." +msgstr "" + +#: ../../../source/concepts/telemetry-about.rst:32 +msgid "Architecture" +msgstr "" + +#: ../../../source/concepts/telemetry-about.rst:34 +msgid "" +"|CL| telemetry has two fundamental components, which are shown in figure " +"1:" +msgstr "" + +#: ../../../source/concepts/telemetry-about.rst:36 +msgid "" +"Client: generates and delivers records to the backend server via the " +"network." +msgstr "" + +#: ../../../source/concepts/telemetry-about.rst:37 +msgid "" +"Backend: captures records sent from the client and displays the " +"cumulative content through a specialized interface." +msgstr "" + +#: ../../../source/concepts/telemetry-about.rst:42 +msgid "" +"If you want to capture your own records for analysis, you must set up " +"your own backend server." +msgstr "" + +#: ../../../source/concepts/telemetry-about.rst:49 +msgid "Figure 1: Clear Linux Telemetry Architecture." +msgstr "" + +#: ../../../source/concepts/telemetry-about.rst:51 +msgid "" +"The telemetry client provides the front end of a complete telemetrics " +"solution and includes the following components:" +msgstr "" + +#: ../../../source/concepts/telemetry-about.rst:54 +msgid "" +"**telemprobd**, a daemon that prepares the telemetry records and spools " +"them on disk prior to delivery" +msgstr "" + +#: ../../../source/concepts/telemetry-about.rst:55 +msgid "" +"**telempostd**, a daemon that sends the records to the telemetry backend " +"server or leaves them on disk until deleting after the record expires." +msgstr "" + +#: ../../../source/concepts/telemetry-about.rst:57 +msgid "**probes**, that collect specific types of data from the operating system." +msgstr "" + +#: ../../../source/concepts/telemetry-about.rst:58 +msgid "" +"**libtelemetry**, that telemetrics probes use to create telemetrics " +"records and send them to the telemprobd daemon for further processing." +msgstr "" + +#: ../../../source/concepts/telemetry-about.rst:62 +msgid "" +"The telemetry backend provides the server-side component of a complete " +"telemetrics solution and consists of:" +msgstr "" + +#: ../../../source/concepts/telemetry-about.rst:65 +msgid "Nginx web server." +msgstr "" + +#: ../../../source/concepts/telemetry-about.rst:66 +msgid "Two Flask apps:" +msgstr "" + +#: ../../../source/concepts/telemetry-about.rst:68 +msgid "" +"Collector, an ingestion web app for records received from telemetrics-" +"client probes." +msgstr "" + +#: ../../../source/concepts/telemetry-about.rst:69 +msgid "" +"TelemetryUI, a web app that exposes several views to visualize the " +"telemetry data and also provides a REST API to perform queries." +msgstr "" + +#: ../../../source/concepts/telemetry-about.rst:72 +msgid "PostgreSQL as the underlying database server." +msgstr "" + +#: ../../../source/concepts/telemetry-about.rst:74 +msgid "" +"The default telemetry backend server reports back to the |CL| development" +" team and is not viewable outside the Intel firewall. If you want to " +"collect your own records, then you must set up your own telemetry backend" +" server." +msgstr "" + +#: ../../../source/concepts/telemetry-about.rst:79 +msgid "Next steps" +msgstr "" + +#: ../../../source/concepts/telemetry-about.rst:81 +msgid "To put this concept into practice, refer to :ref:`telem-guide`." +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/disclaimers.po b/localization/po/locale/zh_CN/LC_MESSAGES/disclaimers.po new file mode 100644 index 00000000..02a439c0 --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/disclaimers.po @@ -0,0 +1,32 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/disclaimers.rst:7 +msgid "Disclaimer" +msgstr "" + +#: ../../../source/disclaimers.rst:9 +msgid "" +"This documentation is a work in progress and is being provided for " +"informative purposes only. Because it is a work in progress, there are " +"parts that are either missing or will be revised as code development " +"continues." +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/documentation_license.po b/localization/po/locale/zh_CN/LC_MESSAGES/documentation_license.po new file mode 100644 index 00000000..2afbc4cf --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/documentation_license.po @@ -0,0 +1,20 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/get-started/bare-metal-install-desktop/bare-metal-install-desktop.po b/localization/po/locale/zh_CN/LC_MESSAGES/get-started/bare-metal-install-desktop/bare-metal-install-desktop.po new file mode 100644 index 00000000..1e344316 --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/get-started/bare-metal-install-desktop/bare-metal-install-desktop.po @@ -0,0 +1,745 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:4 +msgid "Install |CL-ATTR| from the live desktop" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:6 +msgid "" +"The live desktop allows you to boot |CL-ATTR| in a GNOME desktop without " +"modifying the host system, offering the chance to explore developing on " +"|CL|. Better yet, launch the |CL| installer to install on your target " +"system." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:15 +msgid "System requirements" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:17 +msgid "Assure that your target system supports the installation:" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:19 +msgid ":ref:`system-requirements`" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:20 +msgid ":ref:`compatibility-check`" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:23 +msgid "Preliminary steps" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:25 +msgid "`Visit our Downloads page`_." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:27 +msgid "Download the file :file:`clear--live-desktop.iso`" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:31 +msgid " is the latest |CL| auto-numbered release." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:33 +msgid "Follow your OS instructions to create a bootable USB drive." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:35 +msgid ":ref:`bootable-usb`" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:40 +msgid "Install from live image" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:42 +msgid "" +"After you download and burn the live desktop image on a USB drive, follow" +" these steps." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:45 +msgid "Insert the USB drive into an available USB slot." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:47 +msgid "Power on the system." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:49 +msgid "" +"Open the system BIOS setup menu by pressing the :kbd:`F2` key. Your BIOS " +"setup menu entry point may vary." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:52 +msgid "" +"In the setup menu, enable the UEFI boot and set the USB drive as the " +"first option in the device boot order." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:55 +msgid "Save these settings, e.g. :kbd:`F10`, and exit." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:57 +msgid "Reboot the target system." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:59 +msgid "Select :guilabel:`Clear Linux OS` in the boot menu, shown in Figure 1." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:65 +msgid "Figure 1: Clear Linux OS in boot menu" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:70 +msgid "Confirm network connection" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:72 +msgid "" +"Confirm there is a network connection before launching the installer. " +"Choose a method: `Wired Connection`, or `WiFi Connected`. This guide " +"shows an example of a **Wired Connection**." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:76 +msgid "" +"In the upper right of the top menu bar, select the square icon to view " +"Network settings, shown in Figure 2." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:79 +msgid "Select :guilabel:`Wired Connected` and then :guilabel:`Wired Settings`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:85 +msgid "Figure 2: Software icon, Network settings" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:87 +msgid "" +"View the :guilabel:`Wired` menu to assure that you're target system and " +"installer are connected to a network." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:90 +msgid "Optional: Configure Proxy settings." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:92 +msgid "To view :guilabel:`Network Proxy`, select its :guilabel:`Gear` icon." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:94 +msgid "Select from `Automatic`, `Manual` or `Disabled` as desired." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:96 +msgid "Close the dialogue box." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:98 +msgid "Select the :guilabel:`Gear` icon to view Network settings." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:100 +msgid "" +"If desired, select :guilabel:`Connect automatically`. Select other " +"options as desired." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:103 +msgid "Select :guilabel:`Apply` button to confirm change to settings." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:106 +msgid "Software" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:108 +msgid "" +"Optional: Explore |CL| bundles and other software available. Double-click" +" the :guilabel:`Software` icon from the Activities menu, shown in Figure " +"2." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:112 +msgid "" +"`Sofware` application is *only intended for exploring* available bundles," +" applications, and images. Do not attempt to install them." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:115 +msgid "Assure there is a network connection before launching `Software`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:118 +msgid "Launch the |CL| installer" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:120 +msgid "" +"After the live desktop image boots, find the |CL| icon in the " +":guilabel:`Activities` menu at left, shown in Figure 3." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:123 +msgid "Click the icon, :guilabel:`Install Clear Linux OS`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:129 +msgid "Figure 3: Install Clear Linux OS icon" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:131 +msgid "The installer is launched, as shown in Figure 4." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:137 +msgid "Figure 4: |CL| OS Desktop Installer" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:139 +msgid "" +"In :guilabel:`Select Language`, select a language from the options, or " +"type your preferred language in the search bar." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:142 +msgid "Select :guilabel:`Next`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:148 +msgid "Minimum installation requirements" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:150 +msgid "" +"To fulfill minimum installation requirements, complete the `Required " +"options`_. We also recommend completing `Advanced options`_." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:155 +msgid "" +"The :kbd:`Install` button is only highlighted **after** you complete " +"`Required options`_." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:158 +msgid "Checkmarks indicate a selection has been made." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:160 +msgid "" +"An Internet connection is required. You may want to launch a browser " +"prior to installation to verify your Internet connection." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:164 +msgid "|CL| Desktop Installer" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:166 +msgid "" +"The |CL| Desktop Installer Main Menu appears as shown in Figure 5. To " +"meet the minimum requirements, enter values in all submenus for the " +":guilabel:`Required options`. After you complete them, your selections " +"appear below submenus and a checkmark appears at right." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:175 +msgid "Figure 5: Clear Linux OS Desktop Installer - Main Menu" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:178 +msgid "Navigation" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:180 +msgid "Use the :kbd:`mouse` to navigate or select options." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:182 +msgid "" +"Use :kbd:`Tab` key to navigate between :guilabel:`Required options` and " +":guilabel:`Advanced options`" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:185 +msgid "Use :kbd:`Up` or :kbd:`Down` arrow keys to navigate submenu list." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:187 +msgid "Select :kbd:`Confirm`, or :kbd:`Cancel` in submenus." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:190 +msgid "Required options" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:193 +msgid "Select Time Zone" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:195 +msgid "" +"From the Main Menu, select :guilabel:`Select Time Zone`. `UTC` is " +"selected by default." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:198 +msgid "" +"In :guilabel:`Select Time Zone`, navigate to the desired time zone. Or " +"start typing the region and then city. (.e.g., " +":file:`America/Los_Angeles`)." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:202 +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:218 +msgid "Select :guilabel:`Confirm`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:208 +msgid "Figure 6: Select System Time Zone" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:211 +msgid "Select Keyboard" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:213 +msgid "From the Main Menu, select :guilabel:`Select Keyboard`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:215 +msgid "" +"Navigate to your desired keyboard layout. We select \"us\" for the United" +" States." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:224 +msgid "Figure 7: Select Keyboard menu" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:227 +msgid "Select Installation Media" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:229 +msgid "From the Main Menu, select :guilabel:`Select Installation Media`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:231 +msgid "" +"Choose an installation method: `Safe Installation`_ or `Destructive " +"Installation`_." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:238 +msgid "Figure 8: Select Installation Media" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:241 +msgid "Safe Installation" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:242 +msgid "" +"Use this method to safely install |CL| on media with available space, or " +"alongside existing partitions, and accept the `Default partition " +"schema`_. If enough free space exists, safe installation is allowed." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:248 +msgid "" +"|CL| allows installation alongside another OS. Typically, when you boot " +"your system, you can press an `F key` to view and select a bootable " +"device or partition during the BIOS POST stage. Some BIOSes present the " +"|CL| partition, and you can select and boot it. However, other BIOSes may" +" only show the primary partition, in which case you will not be able boot" +" |CL|. Be aware of this possible limitation." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:257 +msgid "Destructive Installation" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:259 +msgid "" +"Use this method to destroy the contents of the target device, install " +"|CL| on it, and accept the `Default partition schema`_." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:262 +msgid "Disk encryption" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:264 +msgid "" +"For greater security, disk encryption is supported using LUKS. Encryption" +" is optional." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:267 +msgid "" +"To encrypt the root partition, select :guilabel:`Enable Encryption`, as " +"shown in Figure 9." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:274 +msgid "Figure 9: Enable Encryption" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:276 +msgid "When :guilabel:`Encryption Passphrase` appears, enter a passphrase." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:282 +msgid "Figure 10: Encryption Passphrase" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:286 +msgid "Minimum length is 8 characters. Maximum length is 94 characters." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:288 +msgid "Enter the same passphrase in the second field." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:290 +msgid "Select :guilabel:`Confirm` in the dialogue box." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:294 +msgid ":guilabel:`Confirm` is only highlighted if passphrases match." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:296 +msgid "Select :guilabel:`Confirm` in submenu." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:299 +msgid "Manage User" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:301 +msgid "In Required Options, select :guilabel:`Manage User`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:303 +msgid "In :guilabel:`User Name`, enter a user name." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:309 +msgid "Figure 11: Manage User" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:311 +msgid "" +"In :guilabel:`Login`, create a login name. It must start with a letter " +"and can use numbers, hyphens, and underscores. Maximum length is 31 " +"characters." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:315 +msgid "" +"In :guilabel:`Password`, enter a password. Minimum length is 8 " +"characters. Maximum length is 255 characters." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:318 +msgid "In :guilabel:`Confirm`, enter the same password." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:322 +msgid "" +":guilabel:`Administrator` rights are selected by default. For security " +"purposes, the default user must be assigned as an Administrator." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:326 +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:394 +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:427 +msgid "Select :kbd:`Confirm`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:330 +msgid "Select :guilabel:`Cancel` to return to the Main Menu." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:333 +msgid "Modify User" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:335 +msgid "In Manager User, select :guilabel:`Manage User`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:337 +msgid "Modify user details as desired." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:339 +msgid "Select :guilabel:`Confirm` to save the changes you made." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:343 +msgid "" +"Optional: Select :guilabel:`Cancel` to return to the Main Menu to revert " +"changes." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:346 +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:404 +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:429 +msgid "Optional: Skip to `Finish installation`_." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:349 +msgid "Telemetry" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:351 +msgid "" +"Choose whether to participate in `telemetry`. :ref:`telem-guide` is a " +"|CL| feature that reports failures and crashes to the |CL| development " +"team for improvements. For more information, see :ref:`telemetry-about`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:355 +msgid "From :guilabel:`Required Options`, select :guilabel:`Telemetry`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:357 +msgid "Select :kbd:`Yes`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:363 +msgid "Figure 12: Enable Telemetry" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:365 +msgid "If you don't wish to participate, select :kbd:`No`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:368 +msgid "Advanced options" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:370 +msgid "" +"After you complete the `Required options`_, we recommend completing " +":guilabel:`Advanced options`--though they're not required. Doing so " +"customizes your development environment, so you're ready to go " +"immediately after reboot." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:375 +msgid "`Bundle Selection`_" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:377 +msgid "`Assign Hostname`_" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:379 +msgid "As for bundles, you can always add more later with :ref:`swupd-guide`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:382 +msgid "Bundle Selection" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:384 +msgid "On the Advanced menu, select :guilabel:`Bundle Selection`" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:386 +msgid "Select your desired bundles." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:392 +msgid "Figure 13: Bundle Selection" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:396 +msgid "View the bundles that you selected." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:402 +msgid "Figure 14: Bundle Selections - Advanced Options" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:407 +msgid "Assign Hostname" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:409 +msgid "In Advanced Options, select :guilabel:`Assign Hostname`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:411 +msgid "In :guilabel:`Hostname`, enter the hostname only (excluding the domain)." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:417 +msgid "Figure 15: Assign Hostname" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:421 +msgid "" +"Hostname does not allow empty spaces. Hostname must start with an " +"alphanumeric character but may also contain hyphens. Maximum length of 63" +" characters." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:425 +msgid "Navigate to :kbd:`Confirm` until highlighted." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:432 +msgid "Finish installation" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:434 +msgid "" +"When you are satisfied with your installation configuration, select " +":guilabel:`Install`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:441 +msgid "Figure 16: Finish installation" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:447 +msgid "" +"If you do not enter a selection for all :guilabel:`Required Options`, the" +" :guilabel:`Install` button remains greyed out, as shown in Figure 17. " +"Return to `Required Options`_ and make selections." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:456 +msgid "Figure 17: Required Options - Incomplete" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:458 +msgid "After installation is complete, select :guilabel:`Exit`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:460 +msgid "Shut down the target system." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:462 +msgid "Remove the USB or any installation media." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:464 +msgid "Power on your system." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:468 +msgid "" +"Allow time for the graphical login to appear. A login prompt shows the " +"administrative user that you created." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:470 +msgid "Log in as the adminstrative user." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:472 +msgid "Congratulations. You successfully installed |CL|." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:475 +msgid "Default partition schema" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:477 +msgid "" +"Table 1 shows the defult partition schema with the exception of root, " +"which varies." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:480 +msgid "**Table 1. Disk Partition Setup**" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:484 +msgid "FileSystem" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:485 +msgid "Mount Point" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:486 +msgid "Minimum size" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:487 +msgid "``VFAT``" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:488 +msgid "/boot" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:489 +msgid "150M" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:490 +msgid "``swap``" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:492 +msgid "256MB" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:493 +msgid "``root``" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:494 +msgid "/" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:495 +msgid "*Size depends upon use case/desired bundles.*" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:498 +msgid "Next steps" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:500 +msgid ":ref:`guides`" +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/get-started/bare-metal-install-server/bare-metal-install-server.po b/localization/po/locale/zh_CN/LC_MESSAGES/get-started/bare-metal-install-server/bare-metal-install-server.po new file mode 100644 index 00000000..75413807 --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/get-started/bare-metal-install-server/bare-metal-install-server.po @@ -0,0 +1,1237 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:4 +msgid "Install |CL-ATTR| on bare metal with live server" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:6 +msgid "" +"These instructions guide you through installing |CL-ATTR| on bare metal " +"from a bootable USB drive using a live server image." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:13 +msgid "System requirements" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:15 +msgid "Assure that your target system supports the installation:" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:17 +msgid ":ref:`system-requirements`" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:18 +msgid ":ref:`compatibility-check`" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:21 +msgid "Download the latest |CL| live server image" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:23 +msgid "" +"Get the latest |CL| installer image from the `downloads page`_. Look for " +"the :file:`clear-[version number]-live-server.iso` file." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:26 +msgid "Follow your OS instructions to create a bootable USB drive." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:28 +msgid ":ref:`bootable-usb`" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:30 +msgid "After downloading the image, verify and decompress the file per your OS." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:33 +msgid "Install |CL| on your target system" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:35 +msgid "" +"Ensure that your system is configured to boot UEFI. The installation " +"method described below requires a wired Internet connection with DHCP." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:40 +msgid "" +"Alternatively, you can install |CL| over a wireless connection by first " +"using `nmtui`. Follow the `nmtui` instructions shown in Figure 2." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:43 +msgid "Follow these steps to install |CL| on the target system:" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:45 +msgid "Insert the USB drive into an available USB slot." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:47 +msgid "Power on the system." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:49 +msgid "" +"Open the system BIOS setup menu by pressing the :kbd:`F2` key. Your BIOS " +"setup menu entry point may vary." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:53 +msgid "" +"|CL| supports UEFI boot. Some hardware may list UEFI and non-UEFI USB " +"boot entries. In this case, you should select the `UEFI` boot option." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:57 +msgid "" +"In the setup menu, enable the UEFI boot and set the USB drive as the " +"first option in the device boot order." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:60 +msgid "Save these settings and exit." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:62 +msgid "Reboot the target system." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:64 +msgid "This action launches the |CL| installer boot menu, shown in figure 1." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:70 +msgid "Figure 1: Clear Linux OS Installer boot menu" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:72 +msgid "With :guilabel:`Clear Linux OS` highlighted, select :kbd:`Enter`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:75 +msgid "Launch the |CL| Installer" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:77 +msgid "At the :guilabel:`login` prompt, enter :command:`root`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:79 +msgid "" +"Follow the onscreen instructions, shown in Figure 2, and enter a " +"temporary password." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:86 +msgid "Figure 2: root login" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:88 +msgid "" +"At the :guilabel:`root` prompt, enter :command:`clr-installer` and press " +":kbd:`Enter`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:95 +msgid "Figure 3: clr-installer command" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:98 +msgid "Minimum installation requirements" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:100 +msgid "" +"To fulfill minimum installation requirements, complete the `Required " +"options`_. While not required, we encourage you to apply the `Recommended" +" options`_. `Advanced options`_ are optional." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:106 +msgid "" +"The :kbd:`Install` button is **only highlighted after** you complete " +"`Required options`_." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:110 +msgid "Main Menu" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:111 +msgid "The |CL| Installer Main Menu appears as shown in Figure 4." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:117 +msgid "Figure 4: Clear Linux OS Installer" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:119 +msgid "" +"The |CL| Installer Main Menu has two tabs: :guilabel:`[R] Required " +"options` and :guilabel:`[A] Advanced options`. Navigate between tabs " +"using the arrow these shortcut keys:" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:123 +msgid ":kbd:`Shift+A` for :guilabel:`[A] Advanced options`" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:124 +msgid ":kbd:`Shift+R` for :guilabel:`[R] Required options`" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:126 +msgid "" +"To meet the minimum requirements, enter your choices in the " +":guilabel:`Required options`. After confirmation, your selections appear " +"beside the :guilabel:`>>` chevron, below the menu options." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:131 +msgid "Navigation" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:133 +msgid "Select :kbd:`Tab` or :kbd:`Up/Down` arrows to highlight your choice." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:135 +msgid "Select :kbd:`Enter` or :kbd:`Spacebar` to confirm your choice." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:137 +msgid "Select :kbd:`Cancel` or :kbd:`Esc` to cancel your choice." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:140 +msgid "Required options" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:143 +msgid "Choose Timezone" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:145 +msgid "" +"From the Main Menu, navigate to :guilabel:`Choose Timezone`. `UTC` is the" +" default." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:148 +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:168 +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:185 +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:677 +msgid "Select :kbd:`Enter`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:150 +msgid "" +"In :guilabel:`Select System Timezone`, use :kbd:`Up/Down` arrows navigate" +" to the desired timezone." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:155 +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:172 +msgid "Press :kbd:`Enter` to confirm." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:161 +msgid "Figure 5: Select System Timezone" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:164 +msgid "Choose Language" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:166 +msgid "From the Main Menu, navigate to :guilabel:`Choose Language`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:170 +msgid "In :guilabel:`Select System Language`, navigate to your desired language." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:178 +msgid "Figure 6: Select System Language" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:181 +msgid "Configure the Keyboard" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:183 +msgid "From the Main Menu, select :guilabel:`Configure the Keyboard`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:187 +msgid "In :guilabel:`Select Keyboard`, navigate to the desired option." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:189 +msgid "Select :kbd:`Enter` to :kbd:`Confirm`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:191 +msgid "" +"Optional: In :guilabel:`Test keyboard`, type text to assure that the keys" +" map to your keyboard." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:198 +msgid "Figure 7: Select Keyboard menu" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:201 +msgid "Configure Installation Media" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:203 +msgid "From the Main Menu, select :guilabel:`Configure Installation Media`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:205 +msgid "" +"Choose an installation method: * `Safe Installation`_ * `Destructive " +"Installation`_ * `Advanced Configuration`_" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:215 +msgid "Figure 8: Select Installation Media" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:217 +msgid "Select :guilabel:`Rescan Media` to show available installation targets." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:222 +msgid "Safe Installation" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:224 +msgid "" +"Use this method to safely install |CL| on media with available space, or " +"alongside existing partitions, and accept the `Default partition " +"schema`_. If enough free space exists, safe installation is allowed. See " +"also `Troubleshooting`_ below." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:230 +msgid "Destructive Installation" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:232 +msgid "" +"Use this method to destroy the contents of the target device, install " +"|CL| on it, and accept the `Default partition schema`_." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:237 +msgid "" +"From the :guilabel:`Select Installation Media` menu, select " +":guilabel:`Enable Encryption` to encrypt the root filesystem for either " +"option above. See also `Disk encryption`_ for more information." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:242 +msgid "Advanced Configuration" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:244 +msgid "" +"Use this method to manually configure partitions. These must meet " +"`Default partition schema`_. You may also choose `Disk encryption`_ " +"during configuration of each partition." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:250 +msgid "" +"`Advanced Configuration` is available in the installer versions 1.2.0 and" +" above." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:253 +msgid "" +"From :guilabel:`Select Installation Media`, shown in Figure 8 above, " +"select :guilabel:`Advanced Configuration`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:256 +msgid "" +"In :guilabel:`Advanced Configuration`, navigate to :file:`/dev/sda` and " +"then press :kbd:`Enter`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:263 +msgid "Figure 9: Advanced configuration menu" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:265 +msgid "Choose a partition method:" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:267 +msgid "" +":guilabel:`Auto Partition` Select this option to accept the `Default " +"partition schema`_." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:270 +msgid "Navigate to and press :guilabel:`Confirm`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:272 +msgid "Continue with installation configuration. Jump to `Telemetry`_." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:274 +msgid "`Manual Partition`_ Continue below." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:277 +msgid "Manual Partition" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:279 +msgid "We provide a simple example below." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:281 +msgid "" +"Navigate to the unallocated media (e.g.,`/dev/sda`) until highlighted, as" +" shown in Figure 9." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:284 +msgid "Press :guilabel:`Enter` to edit the partition." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:286 +msgid "The :guilabel:`Partition Setup` menu appears, shown in Figure 10." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:290 +msgid "" +"After adding the first partition, select :guilabel:`Free Space` to add " +"another partition." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:293 +msgid "root partition" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:295 +msgid "" +"We configure the `root` partition as shown in Figure 10. Configuration of" +" the `root` partition varies." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:302 +msgid "Figure 10: root partition" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:304 +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:317 +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:331 +msgid "Navigate to :guilabel:`Add` and press :guilabel:`Enter`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:307 +msgid "boot partition" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:309 +msgid "We configure the `boot` partition as shown in Figure 11." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:315 +msgid "Figure 11: boot partition" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:320 +msgid "swap partition" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:322 +msgid "" +"In the :guilabel:`File System` pulldown menu, select `swap`, and enter a " +"label. We enter the minimum required size (e.g., 256M)." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:329 +msgid "Figure 12: swap partition" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:333 +msgid "" +"Next, navigate to :guilabel:`Confirm` and press :guilabel:`Enter`, shown " +"in Figure 13." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:336 +msgid "Manual partitioning is complete." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:342 +msgid "Figure 13: Final configuration of disk partitions" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:344 +msgid "You may skip to the `Telemetry`_ section below." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:347 +msgid "Disk encryption" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:349 +msgid "" +"For greater security, disk encryption is supported using LUKS for the any" +" partition except `/boot` on |CL|. To encrypt the root partition, see the" +" example below. Encryption is optional." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:354 +msgid "Encryption Passphrase" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:356 +msgid "" +"|CL| uses a single passphrase for encrypted partitions. Additional keys " +"may be configured post-installation using the ``cryptsetup`` tool." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:359 +msgid "" +"Optional: Select :guilabel:`[X] Encrypt` to encrypt the root partition, " +"as shown in Figure 14." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:366 +msgid "Figure 14: Encrypt partition" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:368 +msgid "The :guilabel:`Encryption Passphrase` dialogue appears." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:372 +msgid "Minimum length is 8 characters. Maximum length is 94 characters." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:378 +msgid "Figure 15: Encryption Passphrase" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:380 +msgid "Enter the same passphrase in the first and second field." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:382 +msgid "Navigate to :guilabel:`Confirm` and press :kbd:`Enter`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:386 +msgid ":guilabel:`Confirm` is only highlighted if passphrases match." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:389 +msgid "Telemetry" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:391 +msgid "" +":ref:`telem-guide` is a |CL| feature that reports failures and crashes to" +" the |CL| development team for improvements. For more detailed " +"information, visit our :ref:`telemetry-about` page." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:395 +msgid "Select your desired option on whether to participate in `telemetry`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:397 +msgid "" +"In the Main Menu, navigate to :guilabel:`Telemetry` and select " +":kbd:`Enter`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:400 +msgid "Select :kbd:`Tab` to highlight your choice." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:402 +msgid "Select :kbd:`Enter` to confirm." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:408 +msgid "Figure 16: Enable Telemetry" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:411 +msgid "Recommended options" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:413 +msgid "" +"After you complete the `Required options`_, we highly recommend " +"completing these selected `Advanced options`_ at minimum:" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:416 +msgid "`Manage User`_ Assign a new user with administrative rights" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:417 +msgid "`Assign Hostname`_ Simplify your development environment" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:420 +msgid "Skip to finish installation" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:422 +msgid "" +"After selecting values for all :guilabel:`Required options`, you may skip" +" to `Finish installation`_." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:425 +msgid "" +"Otherwise, continue below. In the Main Menu, select :guilabel:`Advanced " +"options` for additional configuration." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:429 +msgid "Advanced options" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:432 +msgid "Configure Network Interfaces" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:434 +msgid "" +"By default, |CL| is configured to automatically detect the host network " +"interface using DHCP. However, if you want to use a static IP address or " +"if you do not have a DHCP server on your network, follow these " +"instructions to manually configure the network interface. Otherwise, " +"default network interface settings are automatically applied." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:442 +msgid "If DHCP is available, no user selection may be required." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:444 +msgid "" +"Navigate to :guilabel:`Configure Network Interfaces` and select " +":kbd:`Enter`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:447 +msgid "Navigate to the network :guilabel:`interface` you wish to change." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:449 +msgid "" +"When the desired :guilabel:`interface` is highlighted, select " +":guilabel:`Enter` to edit." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:452 +msgid "Multiple network interfaces may appear." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:458 +msgid "Figure 17: Configure Network Interfaces" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:460 +msgid "Notice :guilabel:`Automatic / dhcp` is selected by default (at bottom)." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:462 +msgid "" +"Optional: Navigate to the checkbox :guilabel:`Automatic / dhcp` and " +"select :kbd:`Spacebar` to deselect." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:469 +msgid "Figure 18: Network interface configuration" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:471 +msgid "" +"Navigate to the appropriate fields and assign the desired network " +"configuration." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:474 +msgid "To save settings, navigate to :guilabel:`Confirm` and select :kbd:`Enter`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:479 +msgid "" +"To revert to previous settings, navigate to the :guilabel:`Cancel` and " +"select :kbd:`Enter`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:482 +msgid "" +"Upon confirming network configuration, the :guilabel:`Testing Networking`" +" dialogue appears. Assure the result shows success. If a failure occurs, " +"your changes will not be saved." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:486 +msgid "" +"Upon confirmation, you are returned to :guilabel:`Network interface` " +"settings." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:489 +msgid "Navigate to and select :guilabel:`Main Menu`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:491 +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:519 +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:540 +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:564 +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:664 +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:694 +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:714 +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:733 +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:758 +msgid "Optional: Skip to `Finish installation`_." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:494 +msgid "Proxy" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:496 +msgid "" +"|CL| automatically attempts to detect proxy settings, as described in " +"`Autoproxy`_. If you need to manually assign proxy settings, follow this " +"instruction." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:500 +msgid "" +"From the Advanced options menu, navigate to :guilabel:`Proxy`, and select" +" :kbd:`Enter`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:503 +msgid "Navigate to the field :guilabel:`HTTPS Proxy`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:509 +msgid "Figure 19: Configure the network proxy" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:511 +msgid "" +"Enter the desired proxy address and port using conventional syntax, such " +"as: \\http://address:port." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:514 +msgid "Navigate to :guilabel:`Confirm` and select :kbd:`Enter`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:516 +msgid "" +"To revert to previous settings, navigate to :guilabel:`Cancel` and select" +" :guilabel:`Cancel`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:522 +msgid "Test Network Settings" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:524 +msgid "" +"To manually assure network connectivity before installing |CL|, select " +":guilabel:`Test Network Settings` and select :guilabel:`Enter`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:527 +msgid "A progress bar appears as shown in Figure 20." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:533 +msgid "Figure 20: Testing Networking dialogue" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:537 +msgid "" +"Any changes made to network settings are automatically tested during " +"configuration." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:543 +msgid "Bundle Selection" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:545 +msgid "On the Advanced menu, select :guilabel:`Bundle Selection`" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:547 +msgid "Navigate to the desired bundle using :kbd:`Tab` or :kbd:`Up/Down` arrows." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:549 +msgid "Select :kbd:`Spacebar` to select the checkbox for each desired bundle." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:555 +msgid "Figure 21: Bundle Selection" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:557 +msgid "" +"Optional: To start developing with |CL|, we recommend adding :file:`os-" +"clr-on-clr`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:560 +msgid "Navigate to and select :kbd:`Confirm`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:562 +msgid "You are returned to the :guilabel:`Advanced options` menu." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:567 +msgid "Manage User" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:570 +msgid "Add New User" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:572 +msgid "In Advanced Options, select :guilabel:`Manage User`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:574 +msgid "Select :guilabel:`Add New User` as shown in Figure 22." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:580 +msgid "Figure 22: Add New User" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:582 +msgid "Optional: Enter a :guilabel:`User Name`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:592 +msgid "Figure 23: User Name" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:594 +msgid "Enter a :guilabel:`Login`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:598 +msgid "" +"The User Login must be alphanumeric and can include hyphens and " +"underscores. Maximum length is 31 characters." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:600 +msgid "Enter a :guilabel:`Password`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:606 +msgid "In :guilabel:`Confirm`, enter the same password." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:608 +msgid "" +"Optional: Navigate to the :guilabel:`Administrative` checkbox and select " +":kbd:`Spacebar` to assign administrative rights to the user." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:613 +msgid "Selecting this option enables sudo privileges for the user." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:615 +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:692 +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:725 +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:756 +msgid "Select :kbd:`Confirm`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:619 +msgid "If desired, select :guilabel:`Reset` to reset the form." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:621 +msgid "In :guilabel:`Manage User`, navigate to :guilabel:`Confirm`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:623 +msgid "With :guilabel:`Confirm` highlighted, select :kbd:`Enter`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:626 +msgid "Modify / Delete User" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:628 +msgid "" +"In :guilabel:`Manage User`, navigate to the user you wish to modify until" +" highlighted, as shown in Figure 24." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:631 +msgid "Select :kbd:`Enter` to modify the user." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:637 +msgid "Figure 24: Modify User" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:639 +msgid "Modify user details as desired." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:641 +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:660 +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:754 +msgid "Navigate to :kbd:`Confirm` until highlighted." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:645 +msgid "Optional: Select :guilabel:`Reset` to rest the form." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:647 +msgid "Select :guilabel:`Confirm` to save the changes you made." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:649 +msgid "" +"Optional: In :guilabel:`Modify User`, to delete the user, navigate to the" +" :guilabel:`Delete` button and select :kbd:`Enter`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:656 +msgid "Figure 25: Delete User" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:658 +msgid "You are returned to :guilabel:`Manage User`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:662 +msgid "Select :guilabel:`Enter` to complete :guilabel:`Manage User` options." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:667 +msgid "Kernel Command Line" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:669 +msgid "" +"For advanced users, |CL| provides the ability to add or remove kernel " +"arguments. If you want to append a new argument, enter the argument here." +" This argument will be used every time you install or update a new " +"kernel." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:674 +msgid "" +"In Advanced Options, select :guilabel:`Tab` to highlight " +":guilabel:`Kernel Command Line`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:683 +msgid "Figure 26: kernel command line" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:685 +msgid "Choose from the following options." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:687 +msgid "To add arguments, enter the argument in :guilabel:`Add Extra Arguments`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:689 +msgid "To remove an argument, enter the argument in :guilabel:`Remove Arguments`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:697 +msgid "Kernel Selection" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:699 +msgid "" +"Select a kernel option. By default, the latest kernel release is " +"selected. Native kernel is shown in Figure 27." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:702 +msgid "To select a different kernel, navigate to it using :guilabel:`Tab`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:708 +msgid "Figure 27: Kernel selection" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:710 +msgid "Select :kbd:`Spacebar` to select the desired option." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:712 +msgid "Navigate to :kbd:`Confirm` and select :kbd:`Enter`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:717 +msgid "Swupd Mirror" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:719 +msgid "If you have your own custom mirror of |CL|, you can add its URL." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:721 +msgid "In Advanced Options, select :guilabel:`Swupd Mirror`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:723 +msgid "To add a local swupd mirror, enter a valid URL in :guilabel:`Mirror URL:`" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:731 +msgid "Figure 28: Swupd Mirror" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:736 +msgid "Assign Hostname" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:738 +msgid "In Advanced Options, select :guilabel:`Assign Hostname`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:740 +msgid "In :guilabel:`Hostname`, enter the hostname only (excluding the domain)." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:744 +msgid "" +"Hostname does not allow empty spaces. Hostname must start with an " +"alphanumeric character but may also contain hyphens. Maximum length of 63" +" characters." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:752 +msgid "Figure 29: Assign Hostname" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:761 +msgid "Automatic OS Updates" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:763 +msgid "" +"Automatical OS updates are enabled by default. In the rare case that you " +"need to disable automatic software updates, follow the onscreen " +"instructions, shown in Figure 30." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:767 +msgid "In Advanced Options, select :guilabel:`Automatic OS Updates`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:769 +msgid "Select the desired option." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:775 +msgid "Figure 30: Automatic OS Updates" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:777 +msgid "You are returned to the :guilabel:`Main Menu`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:780 +msgid "Save Configuration Settings" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:782 +msgid "In Advanced Options, select :guilabel:`Save Configuration Settings`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:784 +msgid "" +"A dialogue box shows the installation configuration was saved to :file" +":`clr-installer.yaml`" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:791 +msgid "Figure 31: Automatic OS Updates" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:793 +msgid "" +"Use the :file:`clr-installer.yaml` file to install |CL|, with the same " +"configuration, on multiple targets." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:797 +msgid "Finish installation" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:799 +msgid "" +"When you are satisfied with your installation configuration, navigate to " +":guilabel:`Install` and select :kbd:`Enter`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:806 +msgid "Figure 32: Select Install" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:808 +msgid "Select :guilabel:`reboot`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:812 +msgid "" +"If you do not assign an administrative user, upon rebooting, enter `root`" +" and set the root password immediately." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:815 +msgid "When the system reboots, remove any installation media present." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:818 +msgid "Default partition schema" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:820 +msgid "" +"To add partitions manually, see `Advanced configuration`_ below, and " +"create partitions per requirements in Table 1." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:823 +msgid "**Table 1. Disk Partition Setup**" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:827 +msgid "FileSystem" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:828 +msgid "Mount Point" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:829 +msgid "Minimum size" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:830 +msgid "``VFAT``" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:831 +msgid "/boot" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:832 +msgid "150M" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:833 +msgid "``swap``" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:835 +msgid "256MB" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:836 +msgid "``root``" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:837 +msgid "/" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:838 +msgid "*Size depends upon use case/desired bundles.*" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:841 +msgid "Troubleshooting" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:844 +msgid "For Configure Installation Media" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:846 +msgid "" +"If a warning message appears that no media or space is available after " +"entering :guilabel:`Configure Installation Media`:" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:849 +msgid "Verify that target media has enough free space." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:851 +msgid "Confirm the USB is properly connected to and mounted on target media." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:853 +msgid "Review the size of existing partitions on the target media:" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:855 +msgid "Linux\\* OS: :command:`lsblk -a`" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:856 +msgid "Windows\\* OS: :command:`diskpart`, then :command:`list disk`" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:857 +msgid "macOS\\* platform: :command:`diskutil list`" +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/get-started/bootable-usb/bootable-usb.po b/localization/po/locale/zh_CN/LC_MESSAGES/get-started/bootable-usb/bootable-usb.po new file mode 100644 index 00000000..d2859cff --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/get-started/bootable-usb/bootable-usb.po @@ -0,0 +1,227 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:4 +msgid "Create a bootable USB drive" +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:6 +msgid "" +"Instructions to create a |CL-ATTR| USB drive vary depending on your " +"operating system. Follow the instructions applicable to your system:" +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:9 +msgid ":ref:`bootable-usb-linux`" +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:10 +msgid ":ref:`bootable-usb-mac`" +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:11 +msgid ":ref:`bootable-usb-windows`" +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:14 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:16 +msgid "Use an **8GB** or larger USB drive." +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:17 +msgid "`Download`_ the |CL| live boot image or interactive installer image." +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:22 +msgid "Create a bootable USB drive on Linux\\*" +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:24 +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:107 +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:166 +msgid "Make sure you have have completed all `Prerequisites`_." +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:26 +msgid "" +"Before burning the image onto your USB drive, :ref:`verify and decompress" +" your image `." +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:30 +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:113 +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:172 +msgid "Burn the |CL| image onto a USB drive" +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:34 +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:117 +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:176 +msgid "|CAUTION-BACKUP-USB|" +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:36 +msgid "Open a terminal emulator and get root privilege." +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:42 +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:121 +msgid "Go to the directory with the decompressed image." +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:44 +msgid "Plug in the USB drive." +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:46 +msgid "" +"Identify the USB drive using the :command:`lsblk` command. This shows all" +" drives attached to the system, including the primary hard disk. In the " +"example output below, there are 4 drives (`/dev/sda`, `/dev/sdb`, " +"`/dev/sdc`, and `/dev/sdd`) attached, where `/dev/sda` is primary drive. " +"The remaining are three USB drives. The output also shows the mounted " +"partitions (under the `MOUNTPOINT` column) for each drive." +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:58 +msgid "Example output:" +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:81 +msgid "" +"You must unmount a USB drive before burning an image onto it. Note that " +"some Linux distros automatically mount a USB drive when it is plugged in." +" Unmount a USB drive with the :command:`umount` command followed by the " +"device identifier/partition. For example:" +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:91 +msgid "" +"Burn the image onto the USB drive. The example below burns an " +"uncompressed image onto ``:" +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:100 +msgid "|CAUTION-UNMOUNT-USB-PARTITIONS|" +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:105 +msgid "Create a bootable USB drive on macOS\\*" +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:109 +msgid "" +"Before burning the image onto your USB drive, :ref:`verify and decompress" +" your image `." +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:119 +msgid "Launch the Terminal app." +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:123 +msgid "Plug in a USB drive and get its identifier:" +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:129 +msgid "This will list available disks and their partitions, as shown in Figure 1." +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:135 +msgid "Figure 1: macOS - Get USB drive identifier" +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:137 +msgid "Unmount the USB drive identified in the previous step. For example:" +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:143 +msgid "" +"Burn the image onto the drive using the :command:`dd` command. The " +"example below burns an uncompressed image onto ``:" +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:150 +msgid "" +"To speed up the imaging process, add an ‘r’ in front of the disk " +"identifier. For example `/dev/rdisk2`." +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:153 +msgid "Press :kbd:`-T` to check imaging progress." +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:155 +msgid "Eject the USB drive." +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:164 +msgid "Create a bootable USB drive on Windows\\*" +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:168 +msgid "" +"Before burning the image onto your USB drive, :ref:`verify and decompress" +" your image `." +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:178 +msgid "" +"Download the `Rufus`_ utility to burn the image onto a USB drive. We use " +"Rufus 3.5 here. **Only use the latest version of Rufus**." +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:181 +msgid "Plug in the USB drive and open Rufus." +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:183 +msgid "Under `Boot selection`, click the :guilabel:`SELECT` button." +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:185 +msgid "Find and select the previously extracted |CL| image file." +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:187 +msgid "Click the :guilabel:`START` button. See Figure 2." +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:193 +msgid "Figure 2: Rufus utility" +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:195 +msgid "" +"When the dialogue appears, select :guilabel:`Write in ISO image mode " +"(Recommended)`. See Figure 3." +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:202 +msgid "Figure 3: ISOHybrid image detected" +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:204 +msgid "Select the Windows taskbar menu for USB and select eject." +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/get-started/compatibility-check.po b/localization/po/locale/zh_CN/LC_MESSAGES/get-started/compatibility-check.po new file mode 100644 index 00000000..ca4243f9 --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/get-started/compatibility-check.po @@ -0,0 +1,71 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/get-started/compatibility-check.rst:4 +msgid "Check processor and EFI firmware compatibility" +msgstr "" + +#: ../../../source/get-started/compatibility-check.rst:6 +msgid "" +"On a system that is currently running a Linux\\* operating system, follow" +" the instructions below to determine if your system's processor and EFI " +"firmware is capable of running |CL-ATTR|. Otherwise, :ref:`bare-metal-" +"install-desktop` and then perform the steps below." +msgstr "" + +#: ../../../source/get-started/compatibility-check.rst:13 +msgid "" +"This does not check other system components (for example: storage and " +"graphics) for compatibility with |CL|." +msgstr "" + +#: ../../../source/get-started/compatibility-check.rst:16 +msgid "Download the `clear-linux-check-config.sh`_ file." +msgstr "" + +#: ../../../source/get-started/compatibility-check.rst:18 +msgid "If a browser is not available, use:" +msgstr "" + +#: ../../../source/get-started/compatibility-check.rst:24 +msgid "Make the script executable." +msgstr "" + +#: ../../../source/get-started/compatibility-check.rst:30 +msgid "Run the script." +msgstr "" + +#: ../../../source/get-started/compatibility-check.rst:32 +msgid "" +"Check to see if the host's processor and EFI firmware is capable of " +"running |CL|." +msgstr "" + +#: ../../../source/get-started/compatibility-check.rst:39 +msgid "Check to see if the host is capable of running |CL| in a container." +msgstr "" + +#: ../../../source/get-started/compatibility-check.rst:45 +msgid "" +"The script will print a list of test results similar to the output below." +" All items should return a `SUCCESS` status. This example indicates the " +"host's processor and EFI firmware support running |CL|." +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/get-started/get-started.po b/localization/po/locale/zh_CN/LC_MESSAGES/get-started/get-started.po new file mode 100644 index 00000000..32ebe6bb --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/get-started/get-started.po @@ -0,0 +1,67 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/get-started/get-started.rst:4 +msgid "Get started" +msgstr "" + +#: ../../../source/get-started/get-started.rst:6 +msgid "" +"The Get Started section will get you up and running fast with |CL-ATTR|. " +"Use these step-by-step instructions to guide you through the installing " +"|CL| from a live desktop or to a virtual machine." +msgstr "" + +#: ../../../source/get-started/get-started.rst:11 +msgid "Pre-install" +msgstr "" + +#: ../../../source/get-started/get-started.rst:13 +msgid "There are a couple of things to take care of before you install." +msgstr "" + +#: ../../../source/get-started/get-started.rst:15 +msgid ":ref:`system-requirements`" +msgstr "" + +#: ../../../source/get-started/get-started.rst:16 +msgid ":ref:`compatibility-check`" +msgstr "" + +#: ../../../source/get-started/get-started.rst:17 +msgid ":ref:`bootable-usb`" +msgstr "" + +#: ../../../source/get-started/get-started.rst:19 +msgid "When installing |CL-ATTR| in a VM, consider which kernel to use." +msgstr "" + +#: ../../../source/get-started/get-started.rst:21 +msgid ":ref:`Compatible VM kernels `" +msgstr "" + +#: ../../../source/get-started/get-started.rst:31 +msgid "Install" +msgstr "" + +#: ../../../source/get-started/get-started.rst:42 +msgid "Install in a virtual machine" +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/get-started/virtual-machine-install/gce.po b/localization/po/locale/zh_CN/LC_MESSAGES/get-started/virtual-machine-install/gce.po new file mode 100644 index 00000000..27af9809 --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/get-started/virtual-machine-install/gce.po @@ -0,0 +1,340 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:4 +msgid "Launch |CL-ATTR| Compute Engine on Google Cloud Platform\\*" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:6 +msgid "" +"This tutorial walks you through the steps to create a virtual machine " +"instance of |CL-ATTR| on `Google Cloud Platform`_ (:abbr:`GCP (Google " +"Cloud Platform)`)." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:13 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:15 +msgid "Set up a Google account and a GCP billing account." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:17 +msgid "" +"Generate and install a user SSH key in the Linux PCs that will connect to" +" the VMs in GCP." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:22 +msgid "Process" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:24 +msgid "" +"Sign in to your Google\\* account on the `Google Cloud Console " +"`_:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:31 +msgid "Figure 1: Google sign in screen" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:33 +msgid "" +"Google Cloud Platform uses **Projects** to manage resources. Select or " +"create a new project for hosting the |CL| VM." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:38 +msgid "" +"Refer to the `Quickstart Using a Linux VM " +"`_ guide to learn" +" about the process of creating VM instances on GCP." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:42 +msgid "" +"Navigate to the latest |CL| `release folder " +"`_ to view the " +"currently released :abbr:`GCE (Google Compute Engine\\*)` image, and " +"download the :file:`clear--gce.tar.gz` image archive." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:48 +msgid "" +"You don't need to uncompress the image archive, the intact file will be " +"uploaded to the Google Cloud Storage later." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:51 +msgid "" +"Create a *Storage Bucket* for hosting the |CL| image source archive " +"downloaded in the previous step:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:54 +#: ../../../source/get-started/virtual-machine-install/gce.rst:112 +#: ../../../source/get-started/virtual-machine-install/gce.rst:157 +msgid "Click the *Navigation menu* icon on the upper left screen menu." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:56 +msgid "" +"Select the *Storage* item from the side bar on the left. You will be sent" +" to the Storage Browser tool or the Cloud Storage overview page." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:63 +msgid "Figure 2: Browse Google Cloud Storage" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:66 +msgid "" +"You may need to create a billing account and link to this project before " +"you create a bucket." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:73 +msgid "Figure 3: Cloud Storage Browser tool" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:75 +msgid "" +"Click the ``CREATE BUCKET`` button to enter the bucket creation tool. The" +" bucket name must be unique because buckets in the Cloud Storage share a " +"single global namespace." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:79 +msgid "" +"Leave the remaining options set to the defaults, and select the " +"``Create`` button at the bottom to create a *Bucket*." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:86 +msgid "Figure 4: Set bucket name" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:88 +msgid "" +"Once the bucket is created, click the ``Upload files`` button on the " +"Bucket details page to upload the |CL| GCE image archive to the named " +"bucket:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:96 +msgid "Figure 5: Cloud Storage bucket" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:102 +msgid "Figure 6: Uploading the image source archive file" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:108 +msgid "Figure 7: Importing complete" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:110 +msgid "Browse the Compute Engine Image library page:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:114 +msgid "Hover your mouse over the *Compute Engine* menu and select *Images*." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:120 +msgid "Figure 8: Image library" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:122 +msgid "" +"On the Compute Engine Image library page, click the ``[+] CREATE IMAGE`` " +"menu item to create a custom image:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:129 +msgid "Figure 9: Create image" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:131 +msgid "" +"In the VM image creation page, change the image source type to *Cloud " +"Storage file*." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:134 +msgid "Under :guilabel:`Cloud Storage file`, select :guilabel:`Browse`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:136 +msgid "" +"Locate the :file:`clear--gce.tar.gz` file, and click " +":guilabel:`Select`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:143 +msgid "Figure 10: Create image using imported object" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:145 +msgid "" +"Accept all default options, and click the ``Create`` button at the bottom" +" to import the Clear Linux GCE image to the image library." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:152 +msgid "Figure 11: Image is created" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:154 +msgid "" +"After the |CL| image is imported, you can launch a VM instance running " +"|CL|:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:159 +msgid "" +"Hover your mouse over the *Compute Engine* menu group and select the *VM " +"instances* item." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:166 +msgid "Figure 12: VM instances catalog" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:168 +msgid "" +"If no VM instance was created in this project, you will be prompted to " +"create one." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:171 +msgid "" +"Alternatively, click the ``CREATE INSTANCE`` button on the VM instances " +"page to create a VM instance." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:178 +msgid "Figure 13: VM creation" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:184 +msgid "Figure 14: VM instances list" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:186 +msgid "" +"In :guilabel:`Region`, choose a region based on the `Best practices for " +"Compute Engine regions selection`_." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:189 +msgid "Under *Boot disk*, click the ``Change`` button." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:195 +msgid "Figure 15: Use custom image" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:197 +msgid "Select the *Custom images* tab for using Clear Linux OS GCE image." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:203 +msgid "Figure 16: Select Clear Linux boot disk to create a VM instance" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:205 +msgid "" +"Scroll down to the bottom of the VM instance creation page, expand the " +"*Management, security, disks, networking, sole tenancy* group." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:212 +msgid "Figure 17: Set up SSH keys" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:215 +msgid "" +"|CL| does not allow SSH login with a root account by default. As a " +"result, you must configure the VM instance with your SSH public key, so " +"that you are able to access it remotely." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:219 +msgid "Refer to :ref:`security` for more details." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:221 +msgid "Click the *Security* tab, copy and paste your SSH public key:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:227 +msgid "Figure 18: Set SSH key for remote login" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:231 +msgid "" +"The username is assigned from characters preceding ``@`` in the email " +"address, included in the SSH key. The dot symbol \".\" is not allowed, " +"because it is an invalid character while creating user accounts in |CL|." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:236 +msgid "Click the ``Create`` button to create the |CL| VM." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:238 +msgid "The Clear Linux VM instance is created and assigned a public IP address:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:244 +msgid "Figure 19: Clear Linux VM instance is created and started" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:246 +msgid "" +"You can now SSH login to the VM using the IP address obtained in the " +"previous step, and the username associated with the SSH public key:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:253 +msgid "Figure 20: SSH login to Clear Linux VM" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:256 +msgid "Related topics" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:258 +msgid "" +"The following tutorials describe a similar process and may be useful " +"references:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:260 +msgid ":ref:`azure`" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:261 +msgid ":ref:`aws-web`" +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/get-started/virtual-machine-install/hyper-v.po b/localization/po/locale/zh_CN/LC_MESSAGES/get-started/virtual-machine-install/hyper-v.po new file mode 100644 index 00000000..e7858ea8 --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/get-started/virtual-machine-install/hyper-v.po @@ -0,0 +1,111 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/get-started/virtual-machine-install/hyper-v.rst:4 +msgid "Use Hyper-V\\*" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/hyper-v.rst:6 +msgid "" +"This section explains how to run |CL-ATTR| inside a `Windows Server " +"Virtualization`_\\* or **Hyper-V** environment." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/hyper-v.rst:9 +msgid "" +"Please ensure you have enabled `Intel® Virtualization Technology " +"`_ (Intel® VT) and " +"`Intel® Virtualization Technology for Directed I/O " +"`_ (Intel® VT-d) in your BIOS/UEFI firmware " +"configuration." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/hyper-v.rst:16 +msgid "Enable Hyper-V" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/hyper-v.rst:18 +msgid "" +"Please refer to the `Microsoft documentation`_ to enable and configure " +"*Hyper-V* on your machine." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/hyper-v.rst:22 +msgid "Create a virtual network" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/hyper-v.rst:24 +msgid "" +"Once *Hyper-V* has been enabled on your Windows system you will need to " +"create a virtual network in the **Hyper-V Manager**. Refer to the " +"`Create a Virtual Network documentation`_ to create and configure a " +"virtual network." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/hyper-v.rst:30 +msgid "Create a virtual machine" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/hyper-v.rst:32 +msgid "" +"Download and decompress the latest hyperv disk image :file:`clear-XXXXX-" +"hyperv.img.gz`, where XXXXX is the latest available version of |CL| from " +"our `downloads`_ section." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/hyper-v.rst:36 +msgid "Create a virtual machine using the **Hyper-V Manager**:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/hyper-v.rst:38 +msgid "Choose **Generation 2** when prompted to *specify VM generation*." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/hyper-v.rst:39 +msgid "" +"Choose **Use an existing virtual hard disk** and browse to find the :file" +":`clear-XXXX-hyperv.vhdx` file." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/hyper-v.rst:41 +msgid "" +"When finished, open VM settings, select Firmware Section and in Secure " +"Boot config, **uncheck** Enable Secure Boot." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/hyper-v.rst:44 +msgid "Currently, |CL| does not boot with `secure boot` enabled." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/hyper-v.rst:47 +msgid "Connect to your new VM and start it. You should see a prompt:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/hyper-v.rst:53 +msgid "Set a root user password." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/hyper-v.rst:55 +msgid "Your virtual machine running |CL| is ready!" +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/get-started/virtual-machine-install/kvm.po b/localization/po/locale/zh_CN/LC_MESSAGES/get-started/virtual-machine-install/kvm.po new file mode 100644 index 00000000..52b2130d --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/get-started/virtual-machine-install/kvm.po @@ -0,0 +1,231 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:4 +msgid "Run |CL-ATTR| as a KVM guest OS" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:6 +msgid "" +"This guide explains how to run |CL-ATTR| in a virtualized environment " +"using :abbr:`KVM (Kernel-based Virtual Machine)`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:10 +msgid "Install QEMU-KVM" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:12 +msgid "" +"Enable the `Intel® Virtualization Technology`_ (Intel® VT) and the " +"`Intel®Virtualization Technology for Directed I/O`_ (Intel® VT-d) in the " +"host machine’s BIOS." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:16 +msgid "Log in and open a terminal emulator." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:18 +msgid "Install `QEMU*-KVM` on the host machine. Below are some example distros." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:20 +msgid "On |CL|:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:26 +#: ../../../source/get-started/virtual-machine-install/kvm.rst:155 +msgid "On Ubuntu\\* 18.04 LTS Desktop:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:32 +#: ../../../source/get-started/virtual-machine-install/kvm.rst:161 +msgid "On Mint\\* 19.1 “Cinnamon” Desktop:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:38 +#: ../../../source/get-started/virtual-machine-install/kvm.rst:167 +msgid "On Fedora\\* 30 Workstation:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:45 +msgid "Download and launch the virtual machine" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:47 +msgid "" +"Download the latest pre-built |CL| KVM image file from the `image " +"`_ directory. Look for " +"``clear--kvm.img.xz``. You can also use this command:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:55 +msgid "Uncompress the downloaded image:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:61 +msgid "" +"Download the 3 OVMF files (`OVMF.fd`, `OVMF_CODE.fd`, `OVMF_VARS.fd`) " +"that provides UEFI support for virtual machines." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:72 +msgid "" +"The default OVMF files from |CL| may not work for some distro version(s)." +" You may get an `ASSERT` in the `debug.log` file when starting the VM. If" +" that is the case, use the distro-specific-OVMF files instead. For " +"example, the |CL| OVMF files work for Ubuntu 18.04 LTS, but not for " +"Ubuntu 19.04 LTS. Installing and using the OVMF files for Ubuntu 19.04 " +"LTS resolved the `ASSERT` issue." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:78 +msgid "" +"Download the `QEMU-KVM launcher`_ script from the `image " +"`_ directory. This script " +"will launch the |CL| VM and provide console interaction within the same " +"terminal emulator window." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:87 +msgid "Make the script executable:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:93 +msgid "Start the |CL| KVM virtual machine:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:99 +msgid "Log in as ``root`` user and set a new password." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:102 +msgid "SSH access into the virtual machine" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:104 +msgid "" +"To interact with the |CL| VM through SSH instead of the console it was " +"launched from, follow these steps." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:107 +msgid "Configure SSH in the |CL| VM to allow root login:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:115 +msgid "Enable and start SSH server in the |CL| VM:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:122 +#: ../../../source/get-started/virtual-machine-install/kvm.rst:211 +msgid "" +"Determine the IP address of the host on which you will launch the VM. " +"Substitute in the next step with this information." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:129 +msgid "SSH into the |CL| VM using the default port of `10022`:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:136 +msgid "Optional: Add the GNOME Display Manager (GDM)" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:138 +msgid "" +"To add :abbr:`GDM (GNOME Display Manager)` to the |CL| VM, follow these " +"steps:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:140 +msgid "Shutdown the active |CL| VM." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:146 +msgid "" +"Install the Spice viewer on the local host or remote system. Below are " +"some example distros." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:149 +msgid "On Clear Linux:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:173 +msgid "" +"Modify the :file:`start_qemu.sh` script to increase memory (`-m`), add " +"graphics driver (`-vga`), and add Spice (`-spice`, `-usb`, and `-device`)" +" support." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:194 +msgid "" +"Due to changes in the :file:`start_qemu.sh` script from the previous " +"step, using the same OVMF files will result in the VM not booting " +"properly and you end up in the the UEFI shell. The easiest way to avoid " +"this is to delete the OVMF files and restore the originals before " +"relaunching the VM." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:199 +msgid "Increase the size of the VM by 10GB to accommodate the GDM installation:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:205 +msgid "Relaunch the |CL| VM:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:218 +msgid "" +"From the local host or remote system, open a new terminal emulator window" +" and connect into the |CL| VM using the Spice viewer:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:225 +msgid "Log in as `root` user into the |CL| VM." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:227 +msgid "" +"Follow these steps to `resize the partition`_ of the virtual disk of the " +"VM." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:229 +msgid "Add GDM to the |CL| VM:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:235 +msgid "Reboot the |CL| VM to start GDM:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:241 +msgid "Go through the GDM out-of-box experience (OOBE)." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:243 +msgid "" +"The default aspect ratio of the GDM GUI for the |CL| VM is 4:3. To change" +" it, use GDM's `Devices > Displays` setting tool (located at the top-" +"right corner)." +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/get-started/virtual-machine-install/virtualbox-cl-installer.po b/localization/po/locale/zh_CN/LC_MESSAGES/get-started/virtual-machine-install/virtualbox-cl-installer.po new file mode 100644 index 00000000..ec302e7d --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/get-started/virtual-machine-install/virtualbox-cl-installer.po @@ -0,0 +1,554 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:4 +msgid "Install a |CL-ATTR| VM in VirtualBox\\*" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:6 +msgid "" +"Oracle\\* VirtualBox\\* is a type 2 hypervisor. This document explains " +"how to create a virtual machine on the `VirtualBox hypervisor`_ with |CL-" +"ATTR| as the guest operating system. These instructions support use of " +"the |CL| live-server installer to create |CL| virtual machine (VM)." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:15 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:17 +msgid "Before continuing, assure you have:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:19 +msgid "" +"Enabled virtualization, such as Intel® `Virtualization Technology`_ " +"(Intel® VT), on the host system from EFI/BIOS." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:23 +msgid "" +"Downloaded and installed |VB| **version 6.0 or greater** from the " +"`official VirtualBox website`_ per the `appropriate instructions`_ for " +"your platform." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:28 +msgid "Download and extract the |CL| installer ISO" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:30 +msgid "" +"Download the :file:`clear--live-server.iso.xz` of |CL| on the " +"`downloads page`_." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:33 +msgid "" +"Validate the integrity of the downloaded image by checking the file hash " +"and signatures. Refer :ref:`validate-signatures` for detailed steps." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:36 +msgid "Decompress the downloaded image." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:38 +msgid "" +"On Windows you can use `7zip`_ to extract the file by right-clicking the " +"file to *Extract Here* (in the same directory)" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:45 +msgid "Figure 1: 7zip extract here command" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:47 +msgid "On Linux :" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:53 +msgid "Delete the originally downloaded compressed file." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:56 +msgid "Create a new |VB| virtual machine" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:58 +msgid "" +"A new :abbr:`VM (Virtual Machine)` needs to be created in |VBM| where " +"|CL| will be installed. General instructions for creating a virtual " +"machine and details about using different settings are available on the " +"`VirtualBox manual section on Creating a VM`_." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:63 +msgid "Launch the |VBM| from your host system." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:65 +msgid "Click the *New* button to create a new VM." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:67 +msgid "Choose :guilabel:`Expert mode`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:69 +msgid "In :guilabel:`Create Virtual Machine`, enter the following settings:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:71 +msgid "**Name**: Choose name (e.g. ClearLinuxOS-VM)." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:72 +msgid "**Type**: Linux" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:73 +msgid "**Version**: **Linux 2.6 / 3.x / 4.x (64-bit)**" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:74 +msgid "**Hard disk**: `Create a virtual hard disk now`" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:75 +msgid "**Memory size default**: 2048 MB (Adjust appropriately.)" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:78 +msgid "" +"Later, if you want to change the amount of RAM allocated, power down your" +" VM. Return to :file:`Settings > System` and change :guilabel:`Base " +"Memory` to the desired size." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:85 +msgid "Figure 2: Create Virtual Machine" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:87 +msgid "Select :guilabel:`Create`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:89 +msgid "In :guilabel:`Create Virtual Hard Disk`, select:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:91 +msgid "**File location**" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:92 +msgid "**File size**: **32.00 GB**. Adjust size to your needs." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:93 +msgid "**Hard disk file type**: `VDI (VirtualBox Disk Image)`" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:94 +msgid "**Storage on physical hard disk**:`Dynamically allocated`" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:100 +msgid "Figure 3: Create Virtual Hard Disk" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:102 +msgid "Click *Create*." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:104 +msgid "A new virtual machine will be created and appear in the |VBM|." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:106 +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:222 +msgid "Click *Settings* to configure the |CL| VM." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:108 +msgid "In the left-hand menu, navigate to the :guilabel:`System` menu." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:110 +msgid "" +"In the :guilabel:`Motherboard` tab, select the `Chipset` pulldown menu, " +"and then select :guilabel:`ICH9`. See Figure 4." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:115 +msgid "" +"You can select which chipset will be presented to the virtual machine. " +"Consult the `VM VirtualBox User Manual`_ for more details." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:118 +msgid "In :guilabel:`Enabled Features`, check these boxes:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:120 +msgid "**Enable I/O APIC**" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:121 +msgid "**Enable EFI (special OSes only)**" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:127 +msgid "Figure 4: Settings > System" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:131 +msgid "" +"By default, only 1 virtual CPU is allocated to the new VM. Consider " +"increasing the number of virtual processors allocated to the virtual " +"machine under Settings > System > Processor for increased performance." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:136 +msgid "Select :guilabel:`OK`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:139 +msgid "Install |CL| on the |VB| VM" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:141 +msgid "|CL| is ready to be installed." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:144 +msgid "Mount the installation ISO" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:146 +msgid "" +"The |CL| installer ISO needs to be mounted as a virtual CD-ROM on the VM " +"before powering the VM on." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:149 +msgid "" +"From the *ClearLinux-OS* :guilabel:`Settings` at left, select " +":guilabel:`Storage`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:152 +msgid "" +"From :guilabel:`Storage Devices`, middle column, click the blue disk " +"labeled *Empty*." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:155 +msgid "" +"From the :guilabel:`Attributes` menu, click the blue CD disk next to the " +"*Optical Drive* drop down menu and click *Choose Virtual Optical Disk " +"File...*" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:163 +msgid "Figure 5: Choose Virtual Optical Disk Drive" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:165 +msgid "" +"Where there appears :guilabel:`Please choose a virtual optical disk " +"file`, select the ISO file and click *Open*." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:172 +msgid "Figure 6: Mounting an ISO" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:174 +msgid "Select :guilabel:`OK` to exit and return to the main |VBM|." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:177 +msgid "Install |CL| with live-server installer" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:179 +msgid "In the |VBM|, select virtual machine you created and click *Start*." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:185 +msgid "Figure 7: Start the installer" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:189 +msgid "" +"To release the mouse cursor from the VM console window, press the right " +":kbd:`Ctrl` key on the keyboard." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:192 +msgid "" +"When :guilabel:`Clear Linux Installer` in boot manager appears, select " +":kbd:`Enter`. Do not install the bundle `desktop-autostart`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:195 +msgid "" +"Follow the steps in :ref:`bare-metal-install-server` to install |CL| onto" +" the VM virtual disk. Note:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:198 +msgid "" +"In :guilabel:`Configure Installation Media`, navigate top VBOX HARDDISK, " +"and then select :guilabel:`Confirm`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:201 +msgid "" +"In :guilabel:`Advanced options` > :guilabel:`Manage User`, create an " +"administrative user." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:204 +msgid "Do not install the bundle `desktop-autostart`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:206 +msgid "When |CL| installation is complete, select :guilabel:`Exit`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:208 +msgid "At the prompt, enter:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:215 +msgid "Unmount the ISO" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:217 +msgid "" +"The |CL| installer ISO needs to be unmounted to allow the VM to boot from" +" the virtual hard disk." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:220 +msgid "Return to the |VBM|." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:224 +msgid "" +"From the *VM - Settings* window, navigate to the *Storage* pane from the " +"left-hand side." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:227 +msgid "" +"From the middle *Storage Devices* column, click the blue CD disk labeled " +"*clear--live-server.iso* under the *Controller: IDE* from." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:230 +msgid "" +"From the *Attributes* column at right, in *Optical Drive*, select the " +"blue CD icon beside and click *Remove Disk from Virtual Drive*." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:237 +msgid "Figure 8: Remove Disk from Virtual Drive" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:239 +msgid "Click *OK* to exit the *VM Settings* menu and return to the main |VBM|." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:243 +msgid "Install |VB| Linux Guest Additions" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:245 +msgid "" +"|CL| provides Linux Guest Additions drivers for full compatibility using " +"an install script in the **kernel-lts** (Long Term Support) bundle by " +"|CL|." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:248 +msgid "From the |VBM| select the |CL| VM, and select :guilabel:`Start`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:250 +msgid "In the VM Console, log in as the administrative user previously created." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:253 +msgid "" +"A message may appear: \"A kernel update is available: you may wish to " +"reboot the system.\"" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:256 +msgid "To update the kernel, enter:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:262 +msgid "At initial login, enter the administrative user's password and continue." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:264 +msgid "" +"Validate the installed kernel is **kernel-lts** by checking the output of" +" the :command:`uname -r` command. It should end in **.lts** or " +"**.lts2018**." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:272 +msgid "" +"If the running kernel is not **lts**: install the LTS kernel manually, " +"update the bootloader, and check again:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:282 +msgid "" +"Remove any kernel bundles that do not end in *-lts* or *kernel-install* " +"to simplify and avoid conflicts:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:290 +msgid "" +"In the VM Console top menu, click *Devices*, and select *Insert Guest " +"Additions CD image...* to mount the |VB| driver installation to the |CL| " +"VM." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:297 +msgid "Figure 9: Insert Guest Additions CD image" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:299 +msgid "" +"If a dialogue appears, \"VBx_GAs_6.0.8... Would you like to run it?\", " +"select :guilabel:`Cancel`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:302 +msgid "Instead, we provide a script to patch and install |VB| drivers on |CL|." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:304 +msgid "Open a Terminal and enter the script:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:312 +msgid "" +"Successful installation shows: \"Guest Additions installation complete\"." +" If drivers are already installed, don't re-install them." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:315 +msgid "Shut down the system. Select :guilabel:`Machine>ACPI Shutdown`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:321 +msgid "Figure 10: Powering off a VirtualBox VM" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:323 +msgid "Select :guilabel:`Settings`, :guilabel:`Display`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:325 +msgid "" +"In :guilabel:`Graphics Controller`, select :guilabel:`VBoxSVGA` to adjust" +" screen size dynamically." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:332 +msgid "Figure 11: VirtualBox hardware acceleration error" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:334 +msgid "In the |VBM|, select :guilabel:`Start`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:336 +msgid "In the VM console, login and verify the |VB| drivers are loaded:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:342 +msgid "" +"You should see drivers loaded with names beginning with **vbox**: (e.g., " +"vboxvideo, vboxguest)." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:345 +msgid "Add `desktop-autostart` for a full desktop experience." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:351 +msgid "Reboot the VM and log in with the administrative user." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:357 +msgid "The |CL| VM running on |VB| is ready to develop and explore." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:360 +msgid "Troubleshooting" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:362 +msgid "" +"**Problem:** On a Microsoft\\* Windows\\* OS, |VB| encounters an error " +"when trying to start a VM indicating *VT-X/AMD-v hardware acceleration is" +" not available on your system.*" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:370 +msgid "Figure 12: VirtualBox hardware acceleration error" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:372 +msgid "" +"**Solution:** First, double check the `Prerequisites`_ section to make " +"sure *Hardware accelerated virtualization* extensions have been enabled " +"in the host system's EFI/BIOS." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:376 +msgid "" +"*Hardware accelerated virtualization*, may get disabled for |VB| when " +"another hypervisor, such as *Hyper-V* is enabled." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:379 +msgid "" +"To disable *Hyper-V* execute this command in an **Administrator: Command " +"Prompt or Powershell**, and reboot the system:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:386 +msgid "" +"To enable Hyper-V again, execute this command in an **Administrator: " +"Command Prompt or Powershell**, and reboot the system:" +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/get-started/virtual-machine-install/vmw-player-preconf.po b/localization/po/locale/zh_CN/LC_MESSAGES/get-started/virtual-machine-install/vmw-player-preconf.po new file mode 100644 index 00000000..bfbf026f --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/get-started/virtual-machine-install/vmw-player-preconf.po @@ -0,0 +1,493 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:4 +msgid "" +"Run pre-configured |CL-ATTR| image as a VMware\\* Workstation Player " +"guest OS" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:6 +msgid "" +"`VMware Workstation 14 Player`_ is a type 2 hypervisor. It runs on top of" +" another operating system such as Windows\\* or Linux\\*. With VMware " +"ESXi, you can create, configure, manage, and run |CL-ATTR| :abbr:`VMs " +"(Virtual Machines)` on your local system." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:11 +msgid "" +"This section shows how to deploy a pre-configured |CL| VMware image on " +"VMware Workstation 14 Player." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:14 +msgid "In this tutorial, we perform the following steps:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:21 +msgid "" +"The screenshots on this document show the Windows version of the VMware " +"Workstation 14 Player. The menus and prompts are similar to those in the " +"Linux version save some minor wording differences." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:26 +msgid "Install the VMware Workstation Player hypervisor" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:28 +msgid "" +"Enable :abbr:`Intel® VT (Intel® Virtualization Technology)` and " +":abbr:`Intel® VT-d (Intel® Virtualization Technology for Directed I/O)` " +"in your system's BIOS." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:32 +msgid "" +"`VMware Workstation 14 Player`_ is available for Windows and Linux. " +"Download your preferred version." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:35 +msgid "" +"Depending on which OS you're running, install it by following one of " +"these instructions:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:38 +msgid "On supported Linux distros:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:40 +msgid "Enable a GUI desktop." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:42 +msgid "Start a terminal emulator." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:44 +msgid "" +"Start the installer by issuing the command below and following the guided" +" steps." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:51 +msgid "On Windows:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:53 +msgid "Start the installer." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:54 +msgid "Follow the setup wizard." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:56 +msgid "For additional help, see the `VMware Workstation Player guide`_." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:59 +msgid "Download the latest |CL| VMware image" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:61 +msgid "" +"Get the latest |CL| VMware image from the `image`_ repository. Look for " +":file:`clear-[version number]-vmware.vmdk.xz`. You can also use this " +"command:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:69 +msgid "" +"Visit :ref:`image-types` for additional information about all available " +"|CL| images." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:4 +msgid "Verify the integrity of the |CL| image" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:6 +msgid "" +"Before you use a downloaded |CL| image, verify its integrity. This action" +" eliminates the small chance of a corrupted image due to download issues." +" To support verification, each released |CL| image has a corresponding " +"SHA512 checksum file designated with the suffix `-SHA512SUMS`." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:11 +msgid "Download the corresponding SHA512 checksum file of your |CL| image." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:12 +msgid "Start Command Prompt." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:13 +msgid "Go to the directory with the downloaded image and checksum files." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:14 +msgid "Get the SHA512 checksum of the image with the command:" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:20 +msgid "" +"Manually compare the output with the original checksum value shown in the" +" downloaded checksum file and make sure they match." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:24 +msgid "Decompress the |CL| image" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:26 +msgid "" +"Released |CL| images are compressed with either GNU zip (*.gz*) or XZ " +"(*.xz*). The compression type depends on the target platform or " +"environment. To decompress the image, follow these steps:" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:30 +msgid "Download and install `7-Zip`_." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:31 +msgid "Go to the directory with the downloaded image and right-click it." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:32 +msgid "" +"From the pop-up menu, select :guilabel:`7-Zip` and select " +":guilabel:`Extract Here` as shown in Figure 1." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:39 +msgid "Figure 1: Windows 7-Zip extract file." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:74 +msgid "We also provide instructions for other operating systems:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:76 +msgid ":ref:`download-verify-decompress-linux`" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:77 +msgid ":ref:`download-verify-decompress-mac`" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:80 +msgid "Create and configure a new VM" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:82 +msgid "Start the `VMware Workstation Player` app." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:83 +msgid "" +"On the home screen, click :guilabel:`Create a New Virtual Machine`. See " +"figure 1." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:90 +msgid "Figure 1: VMware Workstation 14 Player - Create a new virtual machine" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:92 +msgid "" +"On the :guilabel:`Welcome to the New Virtual Machine Wizard` screen, " +"select the :guilabel:`I will install the operating system later` option. " +"See figure 2." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:100 +msgid "" +"Figure 2: VMware Workstation 14 Player - Select install operating system " +"later." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:103 +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:119 +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:130 +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:229 +msgid "Click the :guilabel:`Next` button." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:105 +msgid "" +"On the :guilabel:`Select a Guest Operating System` screen, set the " +":guilabel:`Guest operating system` setting to :guilabel:`Linux`. See " +"figure 3." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:113 +msgid "" +"Figure 3: VMware Workstation 14 Player - Select guest operating system " +"type" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:116 +msgid "" +"Set :guilabel:`Version` setting to :guilabel:`Other Linux 3.x or later " +"kernel 64-bit`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:121 +msgid "" +"On the :guilabel:`Name the Virtual Machine` screen, give your new VM a " +"name. See figure 4." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:128 +msgid "Figure 4: VMware Workstation 14 Player - Name virtual machine" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:132 +msgid "" +"On the :guilabel:`Specify Disk Capacity` screen, click the " +":guilabel:`Next` button. Keep the default disk settings unchanged. When " +"we attach the pre-configured |CL| VMware image, we will remove the " +"default virtual disk and replace it with the pre-configured one. See " +"figure 5." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:142 +msgid "Figure 5: VMware Workstation 14 Player - Set disk capacity" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:144 +msgid "" +"On the :guilabel:`Ready to Create Virtual Machine` screen, click the " +":guilabel:`Customize Hardware...` button. See figure 6." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:151 +msgid "Figure 6: VMware Workstation 14 Player - Customize hardware" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:153 +msgid "" +"Under the :guilabel:`Device` list, select :guilabel:`Processors`. See " +"figure 7." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:160 +msgid "Figure 7: VMware Workstation 14 Player - Set virtualization engine option" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:163 +msgid "" +"Under the :guilabel:`Virtualization engine` section, check " +":guilabel:`Virtualize Intel VT-x/EPT or AMD-V/RVI`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:166 +msgid "" +"To disconnect the virtual CD/DVD (IDE) since it is not needed, under the " +":guilabel:`Device` list, select :guilabel:`New CD/DVD (IDE)`. See figure " +"8." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:173 +msgid "Figure 8: VMware Workstation 14 Player - Disconnect CD/DVD (IDE)" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:175 +msgid "" +"Under the :guilabel:`Device status` section, uncheck :guilabel:`Connect " +"at power on`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:178 +msgid "Click the :guilabel:`Close` button." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:180 +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:257 +msgid "Click the :guilabel:`Finish` button." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:183 +msgid "Attach the pre-configured |CL| VMware image" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:185 +msgid "" +"Move the downloaded and decompressed pre-configured |CL| VMware image " +"file :file:`clear-[version number]-basic.vmdk` to the directory where " +"your newly-created VM resides." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:191 +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:276 +msgid "Depending on the OS, you can typically find the VMware VM files under:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:193 +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:278 +msgid "On Linux distros: :file:`/home/username/vmware`" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:194 +msgid "On Windows: :file:`C:\\Users\\username\\Documents\\Virtual Machines`" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:196 +msgid "" +"On the :guilabel:`VMware Workstation Player` home screen, select your " +"newly-created VM. See figure 9." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:203 +msgid "Figure 9: VMware Workstation 14 Player - Edit virtual machine settings" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:205 +msgid "Click :guilabel:`Edit virtual machine settings`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:207 +msgid "" +"To remove the default hard disk, under the :guilabel:`Device` list, " +"select :guilabel:`Hard Disk (SCSI)`. See figure 10." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:214 +msgid "Figure 10: VMware Workstation 14 Player - Remove hard drive" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:216 +msgid "Click the :guilabel:`Remove` button." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:218 +msgid "" +"To add a new hard disk and attach the pre-configured |CL| VMware image, " +"click the :guilabel:`Add...` button. See Figure 11." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:225 +msgid "Figure 11: VMware Workstation 14 Player - Add new hard drive" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:227 +msgid "" +"Under the :guilabel:`Hardware types` section, select :guilabel:`Hard " +"Disk`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:231 +msgid "Select your preferred :guilabel:`Virtual disk type`. See figure 12." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:237 +msgid "Figure 12: VMware Workstation 14 Player - Select virtual disk type" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:239 +msgid "Select the :guilabel:`Use an existing virtual disk` option. See figure 13." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:245 +msgid "Figure 13: VMware Workstation 14 Player - Use existing virtual disk" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:247 +msgid "" +"Click the :guilabel:`Browse` button and select the pre-configured |CL| " +"VMware image file. See figure 14." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:254 +msgid "" +"Figure 14: VMware Workstation 14 Player - Select ready-made VMware |CL| " +"image file" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:261 +msgid "" +"When asked to convert the existing virtual disk to a newer format, " +"selecting either option works." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:265 +msgid "Enable UEFI boot support" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:267 +msgid "" +"|CL| needs UEFI support to boot.To enable it, add the following line to " +"the end of your VM's :file:`.vmx` file:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:279 +msgid "" +"On Windows: :file:`C:\\\\Users\\\\username\\\\Documents\\\\Virtual " +"Machines`" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:282 +msgid "Power on the VM" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:284 +msgid "After configuring the settings above, power on your |CL| virtual machine." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:286 +msgid "" +"On the :guilabel:`VMware Workstation Player` home screen, select your VM." +" See figure 15." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:293 +msgid "Figure 15: VMware Workstation 14 Player - Power on virtual machine" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:295 +msgid "Click :guilabel:`Play virtual machine`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:298 +msgid "Related topics" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:300 +msgid "For other guides on using the VMWare Player and ESXi, see:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:302 +msgid ":ref:`vmw-player`" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:303 +msgid ":ref:`vmware-esxi-install-cl`" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:304 +msgid ":ref:`vmware-esxi-preconfigured-cl-image`" +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/get-started/virtual-machine-install/vmw-player.po b/localization/po/locale/zh_CN/LC_MESSAGES/get-started/virtual-machine-install/vmw-player.po new file mode 100644 index 00000000..5cd2bb1d --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/get-started/virtual-machine-install/vmw-player.po @@ -0,0 +1,492 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:4 +msgid "Install |CL-ATTR| as a VMware\\* Workstation Player guest OS" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:6 +msgid "" +"`VMware Workstation 14 Player`_ is a type 2 hypervisor. It runs on top of" +" another operating system such as Windows\\* or Linux\\*. With VMware " +"ESXi, you can create, configure, manage, and run |CL-ATTR| :abbr:`VMs " +"(Virtual Machines)` on your local system." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:11 +msgid "" +"This section shows how to create a new VM and install |CL| into it with " +"the VMware Workstation 14 Player hypervisor. Installing |CL| into a new " +"VM provides you flexibility when configuring the VM. You can configure " +"the VM's size, number of partitions, installed bundles, etc." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:16 +msgid "In this tutorial, we perform the following steps:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:21 +msgid "" +"If you prefer to use a pre-configured |CL| VMware image instead, see our " +":ref:`vmw-player-preconf` guide." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:24 +msgid "" +"VMware offers a type 1 hypervisor called `VMware ESXi`_ designed for the " +"cloud environment. For information on how to install |CL| as guest OS on " +"it, see :ref:`vmware-esxi-install-cl`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:30 +msgid "" +"The screenshots on this document show the Windows version of the VMware " +"Workstation 14 Player. The menus and prompts are similar to those in the " +"Linux version save some minor wording differences." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:35 +msgid "Install the VMware Workstation Player hypervisor" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:37 +msgid "" +"Enable :abbr:`Intel® VT (Intel® Virtualization Technology)` and " +":abbr:`Intel® VT-d (Intel® Virtualization Technology for Directed I/O)` " +"in your system's BIOS." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:41 +msgid "" +"`VMware Workstation 14 Player`_ is available for Windows and Linux. " +"Download your preferred version." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:44 +msgid "" +"Install VMware Workstation 14 Player following the instructions " +"appropriate for your system's OS:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:47 +msgid "On supported Linux distros:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:49 +msgid "Enable a GUI desktop." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:50 +msgid "Start a terminal emulator." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:51 +msgid "" +"Start the installer by issuing the command below and follow the guided " +"steps." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:58 +msgid "On Windows:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:60 +msgid "Start the installer." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:61 +msgid "Follow the setup wizard." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:63 +msgid "For additional help, see the `VMware Workstation Player guide`_." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:66 +msgid "Download the latest |CL| installer ISO" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:68 +msgid "" +"Get the latest |CL| installer ISO image from the `image`_ repository. " +"Look for :file:`clear-[version number]-installer.iso.xz`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:71 +msgid "" +"Visit :ref:`image-types` for additional information about all available " +"|CL| images." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:4 +msgid "Verify the integrity of the |CL| image" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:6 +msgid "" +"Before you use a downloaded |CL| image, verify its integrity. This action" +" eliminates the small chance of a corrupted image due to download issues." +" To support verification, each released |CL| image has a corresponding " +"SHA512 checksum file designated with the suffix `-SHA512SUMS`." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:11 +msgid "Download the corresponding SHA512 checksum file of your |CL| image." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:12 +msgid "Start Command Prompt." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:13 +msgid "Go to the directory with the downloaded image and checksum files." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:14 +msgid "Get the SHA512 checksum of the image with the command:" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:20 +msgid "" +"Manually compare the output with the original checksum value shown in the" +" downloaded checksum file and make sure they match." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:24 +msgid "Decompress the |CL| image" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:26 +msgid "" +"Released |CL| images are compressed with either GNU zip (*.gz*) or XZ " +"(*.xz*). The compression type depends on the target platform or " +"environment. To decompress the image, follow these steps:" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:30 +msgid "Download and install `7-Zip`_." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:31 +msgid "Go to the directory with the downloaded image and right-click it." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:32 +msgid "" +"From the pop-up menu, select :guilabel:`7-Zip` and select " +":guilabel:`Extract Here` as shown in Figure 1." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:39 +msgid "Figure 1: Windows 7-Zip extract file." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:76 +msgid "We also provide instructions for other operating systems:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:78 +msgid ":ref:`download-verify-decompress-linux`" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:79 +msgid ":ref:`download-verify-decompress-mac`" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:82 +msgid "Create and configure a new VM" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:84 +msgid "Start the `VMware Workstation Player` app." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:86 +msgid "" +"On the home screen, click :guilabel:`Create a New Virtual Machine`. See " +"Figure 1." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:93 +msgid "Figure 1: VMware Workstation 14 Player - Create a new virtual machine" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:96 +msgid "" +"On the :guilabel:`Welcome to the New Virtual Machine Wizard` screen, " +"select the :guilabel:`Installer disc image file (iso)` option. See Figure" +" 2." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:104 +msgid "Figure 2: VMware Workstation 14 Player - Select |CL| installer ISO" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:106 +msgid "" +"Click the :guilabel:`Browse` button and select the decompressed |CL| " +"installer ISO." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:109 +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:125 +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:136 +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:151 +msgid "Click the :guilabel:`Next` button." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:111 +msgid "" +"On the :guilabel:`Select a Guest Operating System`, set the " +":guilabel:`Guest operating system` setting to :guilabel:`Linux`. See " +"Figure 3." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:119 +msgid "" +"Figure 3: VMware Workstation 14 Player - Select guest operating system " +"type" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:122 +msgid "" +"Set the :guilabel:`Version` setting to :guilabel:`Other Linux 3.x or " +"later kernel 64-bit`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:127 +msgid "" +"On the :guilabel:`Name the Virtual Machine` screen, name the new VM. See " +"Figure 4." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:134 +msgid "Figure 4: VMware Workstation 14 Player - Name virtual machine" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:138 +msgid "" +"On the :guilabel:`Specify Disk Capacity` screen, set the VM's maximum " +"disk size. See Figure 5." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:145 +msgid "Figure 5: VMware Workstation 14 Player - Set disk capacity" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:148 +msgid "" +"A minimal |CL| installation can exist on 600MB of drive space. See :ref" +":`system-requirements` for more details." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:153 +msgid "" +"On the :guilabel:`Ready to Create Virtual Machine` screen, click the " +":guilabel:`Customize Hardware...` button. See Figure 6." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:160 +msgid "Figure 6: VMware Workstation 14 Player - Customize hardware" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:162 +msgid "Select :guilabel:`Memory` and set the size to 2GB. See Figure 7." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:168 +msgid "Figure 7: VMware Workstation 14 Player - Set memory size" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:171 +msgid "" +"The |CL| installer ISO needs a minimum of 2GB of RAM. After completing " +"installation, |CL| can run on as little as 128MB of RAM. Thus, you can " +"reduce the memory size if needed. See :ref:`system-requirements` for more" +" details." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:176 +msgid "" +"Under the :guilabel:`Device` list, select :guilabel:`Processors`. See " +"Figure 8." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:183 +msgid "Figure 8: VMware Workstation 14 Player - Set virtualization engine option" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:186 +msgid "" +"Under the :guilabel:`Virtualization engine` section, check " +":guilabel:`Virtualize Intel VT-x/EPT or AMD-V/RVI`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:189 +msgid "Click the :guilabel:`Close` button." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:191 +msgid "Click the :guilabel:`Finish` button." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:194 +msgid "Install |CL| into the new VM" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:196 +msgid "" +"Select the newly-created VM and click the :guilabel:`Play virtual " +"machine` button. See Figure 9." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:203 +msgid "Figure 9: VMware Workstation 14 Player - Power on virtual machine" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:205 +msgid "" +"Follow the :ref:`install-on-target-start` guide to complete the " +"installation of |CL|." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:208 +msgid "" +"After the installation completes, reboot the VM. This reboot restarts the" +" |CL| installer." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:212 +msgid "Detach the |CL| installer ISO from the VM" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:214 +msgid "" +"To enable the mouse pointer so you access VMware Workstation Player's " +"menus, press :kbd:`` + :kbd:`` on the keyboard." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:217 +msgid "" +"To disconnect the CD/DVD to stop it from booting the |CL| installer ISO " +"again, click the :guilabel:`Player` menu. See Figure 10." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:224 +msgid "Figure 10: VMware Workstation 14 Player - Edit CD/DVD settings" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:226 +msgid "Go to :menuselection:`Removable Devices-->CD/DVD (IDE)-->Settings`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:228 +msgid "" +"On the :guilabel:`Device status` section, uncheck the " +":guilabel:`Connected` and the :guilabel:`Connect at power on` settings. " +"See Figure 11." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:236 +msgid "Figure 11: VMware Workstation 14 Player - Disconnect CD/DVD" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:238 +msgid "Click the :guilabel:`OK` button." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:240 +msgid "To power off the VM, click the :guilabel:`Player` menu. See Figure 12." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:246 +msgid "Figure 12: VMware Workstation 14 Player - Power off virtual machine" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:248 +msgid "Go to :guilabel:`Power` and select :guilabel:`Shut Down Guest`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:251 +msgid "Enable UEFI boot support" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:253 +msgid "" +"|CL| needs UEFI support to boot. To enable UEFI, add the following line " +"to the end of your VM's :file:`.vmx` file:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:262 +msgid "Depending on the OS, you can typically find the VMware VM files under:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:264 +msgid "On Linux distros: :file:`/home/username/vmware`" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:265 +msgid "" +"On Windows: :file:`C:\\\\Users\\\\username\\\\Documents\\\\Virtual " +"Machines`" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:268 +msgid "Power on the VM" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:270 +msgid "After configuring the settings above, power on your |CL| virtual machine." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:272 +msgid "" +"On the :guilabel:`VMware Workstation Player` home screen, select your VM." +" See Figure 13." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:279 +msgid "Figure 13: VMware Workstation 14 Player - Power on virtual machine" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:281 +msgid "Click :guilabel:`Play virtual machine`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:284 +msgid "Related topics" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:286 +msgid "For other guides on using the VMWare Player and ESXi, see:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:288 +msgid ":ref:`vmw-player-preconf`" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:289 +msgid ":ref:`vmware-esxi-install-cl`" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:290 +msgid ":ref:`vmware-esxi-preconfigured-cl-image`" +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/get-started/virtual-machine-install/vmware-esxi-install-cl.po b/localization/po/locale/zh_CN/LC_MESSAGES/get-started/virtual-machine-install/vmware-esxi-install-cl.po new file mode 100644 index 00000000..09ff85c8 --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/get-started/virtual-machine-install/vmware-esxi-install-cl.po @@ -0,0 +1,477 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:4 +msgid "Install |CL-ATTR| as a VMware\\* ESXi guest OS" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:6 +msgid "" +"`VMware ESXi`_ is a type 1 bare-metal hypervisor which runs directly on " +"top of server hardware. With VMware ESXi, you can create, configure, " +"manage, and run |CL-ATTR| virtual machines in the cloud." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:10 +msgid "" +"This section shows you how to create a new :abbr:`VM (Virtual Machine)` " +"and manually install |CL| into it with VMware ESXi 6.5." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:13 +msgid "" +"Manually installing |CL| into a new VM provides you some additional " +"configuration flexibility during installation. For example: alternate " +"disk sizes, number of partitions, pre-installed bundles, etc." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:17 +msgid "" +"If you would prefer to use a preconfigured |CL| VMware image instead, see" +" :ref:`vmware-esxi-preconfigured-cl-image`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:22 +msgid "" +"VMware also offers a type 2 hypervisor called `VMware Workstation " +"Player`_ which is designed for the desktop environment." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:25 +msgid "See :ref:`vmw-player-preconf` or see :ref:`vmw-player`" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:27 +msgid "Visit :ref:`image-types` to learn more about all available images." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:29 +msgid "Install steps:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:36 +msgid "Download the latest |CL| installer ISO" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:38 +msgid "" +"Get the latest |CL| installer ISO image from the `image`_ repository. " +"Look for :file:`clear-[version number]-installer.iso.xz`." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:4 +msgid "Decompress the |CL| image" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:6 +msgid "" +"Released |CL| images are compressed with either GNU zip (*.gz*) or XZ " +"(*.xz*). The compression type depends on the target platform or " +"environment. To decompress the image, follow these steps:" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:10 +msgid "Start a terminal emulator." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:11 +msgid "Go to the directory with the downloaded image." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:13 +msgid "To decompress an XZ image, enter:" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:19 +msgid "To decompress a GZ image, enter:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:45 +msgid "For alternative instructions on other operating systems, see:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:47 +msgid ":ref:`download-verify-decompress-mac`" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:48 +msgid ":ref:`download-verify-decompress-windows`" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:51 +msgid "Upload the |CL| installer ISO to the VMware server" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:53 +msgid "" +"Connect to the VMware server and log into an account with sufficient " +"permission to create and manage VMs." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:55 +msgid "" +"Under the :guilabel:`Navigator` window, select :guilabel:`Storage`. See " +"Figure 1." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:57 +msgid "" +"Under the :guilabel:`Datastores` tab, click the :guilabel:`Datastore " +"browser` button." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:64 +msgid "Figure 1: VMware ESXi - Navigator > Storage" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:66 +msgid "" +"Click the :guilabel:`Create directory` button and name the directory " +"`ISOs`. See Figure 2." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:73 +msgid "Figure 2: VMware ESXi - Datastore > Create directory" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:75 +msgid "" +"Select the newly-created directory and click the :guilabel:`Upload` " +"button. See Figure 3." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:82 +msgid "Figure 3: VMware ESXi - Datastore > Upload ISO" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:84 +msgid "" +"Select the decompressed |CL| installer ISO file :file:`clear-[version " +"number]-installer.iso` and upload it." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:88 +msgid "Create and configure a new VM" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:90 +msgid "" +"In this section, you will create a new VM, configure its basic parameters" +" such as drive size, number of CPUs, memory size, and then attach the " +"|CL| installer ISO." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:93 +msgid "" +"Under the :guilabel:`Navigator` window, select :guilabel:`Virtual " +"Machines`. See Figure 4." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:95 +msgid "In the right window, click the :guilabel:`Create / Register VM` button." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:101 +msgid "Figure 4: VMware ESXi - Navigator > Virtual Machines" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:103 +msgid "On the :guilabel:`Select creation type` step:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:105 +msgid "Select the :guilabel:`Create a new virtual machine` option. See Figure 5." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:107 +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:121 +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:132 +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:185 +msgid "Click the :guilabel:`Next` button." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:113 +msgid "Figure 5: VMware ESXi - Create a new virtual machine" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:115 +msgid "On the :guilabel:`Select a name and guest OS` step:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:117 +msgid "Give the new VM a name in the :guilabel:`Name` field. See Figure 6." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:118 +msgid "" +"Set the :guilabel:`Compatability` option to :guilabel:`ESXi 6.5 virtual " +"machine`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:119 +msgid "Set the :guilabel:`Guest OS family` option to :guilabel:`Linux`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:120 +msgid "" +"Set the :guilabel:`Guest OS version` option to :guilabel:`Other 3.x or " +"later Linux (64-bit)`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:127 +msgid "Figure 6: VMware ESXi - Give a name and select guest OS type" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:129 +msgid "On the :guilabel:`Select storage` step:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:131 +msgid "Accept the default option." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:134 +msgid "On the :guilabel:`Customize settings` step:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:136 +msgid "Click the :guilabel:`Virtual Hardware` button. See Figure 7." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:137 +msgid "" +"Expand the :guilabel:`CPU` setting and enable :guilabel:`Hardware " +"virtualization` by checking :guilabel:`Expose hardware assisted " +"virtualization to the guest OS`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:144 +msgid "Figure 7: VMware ESXi - Enable hardware virtualization" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:146 +msgid "Set :guilabel:`Memory` size to 2048MB (2GB). See Figure 8." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:152 +msgid "Figure 8: VMware ESXi - Set memory size" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:156 +msgid "" +"The |CL| installer ISO needs a minimum of 2GB of RAM to work properly. " +"You can reduce the memory size after the installation completes if you " +"want, because a minimum |CL| installation can function on as little as " +"128MB of RAM. See :ref:`system-requirements` for more details." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:161 +msgid "Set :guilabel:`Hard disk 1` to the desired capacity. See Figure 9." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:167 +msgid "Figure 9: VMware ESXi - Set hard disk size" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:171 +msgid "" +"A minimum |CL| installation can exist on 600MB of drive space. See :ref" +":`system-requirements` for more details." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:174 +msgid "" +"Attach the |CL| installer ISO. For the :guilabel:`CD/DVD Drive 1` " +"setting, click the drop-down list to the right of it and select the " +":guilabel:`Datastore ISO file` option. Then select the |CL| installer " +"ISO :file:`clear-[version number]-installer.iso` that you previously " +"uploaded to the VMware server. See Figure 10." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:183 +msgid "Figure 10: VMware ESXi - Set CD/DVD to boot installer ISO" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:186 +msgid "Click the :guilabel:`Finish` button." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:189 +msgid "Install |CL| into the new VM" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:191 +msgid "Power on the VM." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:193 +msgid "" +"Under the :guilabel:`Navigator` window, select :guilabel:`Virtual " +"Machines`. See Figure 11." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:195 +msgid "In the right window, select the newly-created VM." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:196 +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:276 +msgid "Click the :guilabel:`Power on` button." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:197 +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:277 +msgid "" +"Click on the icon representing the VM to bring it into view and maximize " +"its window." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:204 +msgid "Figure 11: VMware ESXi - Navigator > Virtual Machines > Power on VM" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:206 +msgid "" +"Follow the :ref:`install-on-target-start` guide to complete the " +"installation of |CL|." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:208 +msgid "" +"After the installation is complete, follow the |CL| instruction to reboot" +" it. This will restart the installer again." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:212 +msgid "Reconfigure the VM's settings to boot the newly-installed |CL|" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:214 +msgid "" +"After |CL| has been installed using the installer ISO, it must be " +"detached so it will not run again. Also, in order to boot the newly-" +"installed |CL|, you must enable UEFI support." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:218 +msgid "Power off the VM." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:220 +msgid "" +"Click the :guilabel:`Actions` button - located on the top-right corner of" +" the VM's windows - and go to the :guilabel:`Power` setting and select " +"the :guilabel:`Power off` option. See Figure 12." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:228 +msgid "Figure 12: VMware ESXi - Actions > Power off" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:230 +msgid "Edit the VM settings." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:232 +msgid "" +"Click the :guilabel:`Actions` button again and select :guilabel:`Edit " +"settings`. See Figure 13." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:239 +msgid "Figure 13: VMware ESXi - Actions > Edit settings" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:241 +msgid "" +"Disconnect the CD/DVD to stop it from booting the |CL| installer ISO " +"again." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:243 +msgid "Click the :guilabel:`Virtual Hardware` button. See Figure 14." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:244 +msgid "" +"For the :guilabel:`CD/DVD Drive 1` setting, uncheck the " +":guilabel:`Connect` checkbox." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:251 +msgid "Figure 14: VMware ESXi - Disconnect the CD/DVD drive" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:253 +msgid "|CL| needs UEFI support in order to boot. Enable it." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:255 +msgid "Click the :guilabel:`VM Options` button. See Figure 15." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:256 +msgid "Expand the :guilabel:`Boot Options` setting." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:257 +msgid "" +"For the :guilabel:`Firmware` setting, click the drop-down list to the " +"right of it and select the :guilabel:`EFI` option." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:264 +msgid "Figure 15: VMware ESXi - Set boot firmware to EFI" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:266 +msgid "Click the :guilabel:`Save` button." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:269 +msgid "Power on the VM and boot |CL|" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:271 +msgid "After configuring the settings above, power on the VM." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:273 +msgid "" +"Under the :guilabel:`Navigator` window, select :guilabel:`Virtual " +"Machines`. See Figure 16." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:275 +msgid "In the right window, select the VM." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:284 +msgid "Figure 16: VMware ESXi - Navigator > Virtual Machines > Power on VM" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:287 +msgid "Related topics" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:289 +msgid ":ref:`vmware-esxi-preconfigured-cl-image`" +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.po b/localization/po/locale/zh_CN/LC_MESSAGES/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.po new file mode 100644 index 00000000..bf5f6658 --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.po @@ -0,0 +1,466 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:4 +msgid "Run preconfigured |CL-ATTR| image as a VMware\\* ESXi guest OS" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:6 +msgid "" +"`VMware ESXi`_ is a type 1 bare-metal hypervisor which runs directly on " +"top of server hardware. With VMware ESXi, you can create, configure, " +"manage, and run |CL-ATTR| virtual machines at scale." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:10 +msgid "" +"This section shows you how to deploy a preconfigured |CL| VMware " +":abbr:`VM (Virtual Machine)` image on a VMware ESXi 6.5 host." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:13 +msgid "" +"If you would prefer to perform a manual installation of |CL| into a new " +"VMware ESXi :abbr:`VM (Virtual Machine)` instead, see :ref:`vmware-esxi-" +"install-cl`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:19 +msgid "" +"VMware also offers a type 2 hypervisor called `VMware Workstation Player`" +" which is designed for the desktop environment." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:22 +msgid "See :ref:`vmw-player-preconf` or see :ref:`vmw-player`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:25 +msgid "Install steps:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:31 +msgid "Download the latest |CL| VMware image" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:33 +msgid "" +"Get the latest |CL| VMware prebuilt image from the `image`_ repository. " +"Look for :file:`clear-[version number]-vmware.vmdk.xz`. You can also use " +"this command:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:41 +msgid "" +"Visit :ref:`image-types` for additional information about all available " +"|CL| images." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:4 +msgid "Decompress the |CL| image" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:6 +msgid "" +"Released |CL| images are compressed with either GNU zip (*.gz*) or XZ " +"(*.xz*). The compression type depends on the target platform or " +"environment. To decompress the image, follow these steps:" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:10 +msgid "Start a terminal emulator." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:11 +msgid "Go to the directory with the downloaded image." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:13 +msgid "To decompress an XZ image, enter:" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:19 +msgid "To decompress a GZ image, enter:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:47 +msgid "For alternative instructions on other operating systems, see:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:49 +msgid ":ref:`download-verify-decompress-mac`" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:50 +msgid ":ref:`download-verify-decompress-windows`" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:53 +msgid "Upload the |CL| image to the VMware server" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:55 +msgid "" +"Once the |CL| VMware prebuilt image has been downloaded and decompressed " +"on your local system, it must be uploaded to a datastore on the VMware " +"ESXi server." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:59 +msgid "" +"The steps in this section can also be referenced from the `VMware " +"documentation on Using the Datastore File Browser`_" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:61 +msgid "" +"Connect to the VMware ESXi server and login to an account with sufficient" +" permission to create and manage VMs." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:64 +msgid "" +"Under the :guilabel:`Navigator` window on the left side, select " +":guilabel:`Storage`. See Figure 1" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:68 +msgid "" +"Under the :guilabel:`Datastores` tab, click the :guilabel:`Datastore " +"browser` button." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:75 +msgid "Figure 1: VMware ESXi - Navigator > Storage" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:77 +msgid "" +"Click the :guilabel:`Create directory` button and name the directory " +"`Clear Linux VM`. See Figure 2." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:84 +msgid "Figure 2: VMware ESXi - Datastore > Create directory" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:86 +msgid "" +"Select the newly-created directory and click the :guilabel:`Upload` " +"button. See Figure 3." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:93 +msgid "Figure 3: VMware ESXi - Datastore > Upload VMware image" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:95 +msgid "" +"Select the decompressed |CL| VMware image file :file:`clear-[version " +"number]-vmware.vmdk` and upload it." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:99 +msgid "Convert the |CL| image to an ESXi-supported format" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:101 +msgid "" +"Once the |CL| VMware prebuilt image has been uploaded to the VMware ESXi " +"datastore, it must be converted to a format for usable with VMware's ESXi" +" hypervisor." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:105 +msgid "" +"The steps in this section can also be referenced from the `VMware " +"documentation on Cloning and converting virtual machine disks with " +"vmkfstools`_" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:107 +msgid "" +"SSH into the `vSphere Management Assistant`_ appliance that is managing " +"the ESXi host or connect to the vSphere hosting using the `vSphere CLI`_." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:112 +msgid "" +"If there is no :abbr:`vMA (vSphere Management Assistant)` appliance or " +":abbr:`vCLI (vSphere CLI)` configured and available, you can temporarily " +"enable SSH directly on the ESXi host by referencing the `VMware " +"documentation on Enable the Secure Shell (SSH)`_ ." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:116 +msgid "" +"As a security best practice, remember to disable SSH access after " +"following the steps in this section." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:119 +msgid "" +"Locate the uploaded image, which is typically found in " +":file:`/vmfs/volumes/datastore1`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:122 +msgid "" +"Use the :command:`vmkfstools` command to perform the conversion, as shown" +" below:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:129 +msgid "Two files should result from this:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:131 +msgid ":file:`clear-[version number]-esxi-flat.vmdk`" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:132 +msgid ":file:`clear-[version number]-esxi.vmdk`" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:134 +msgid "" +"The :file:`clear-[version number]-esxi.vmdk` file will be used in the " +"next section when you create a new VM." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:138 +msgid "Create and configure a new VM" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:140 +msgid "" +"In this section, you will create a new VM, configure its basic parameters" +" such as number of CPUs, memory size, and then attach the converted |CL| " +"VMware image. Also, in order to boot |CL|, you must enable UEFI support." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:144 +msgid "" +"Under the :guilabel:`Navigator` window, select :guilabel:`Virtual " +"Machines`. See Figure 4." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:147 +msgid "In the right window, click the :guilabel:`Create / Register VM` button." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:153 +msgid "Figure 4: VMware ESXi - Navigator > Virtual Machines" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:155 +msgid "On the :guilabel:`Select creation type` step:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:157 +msgid "Select the :guilabel:`Create a new virtual machine` option. See Figure 5." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:160 +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:177 +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:188 +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:259 +msgid "Click the :guilabel:`Next` button." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:166 +msgid "Figure 5: VMware ESXi - Create a new virtual machine" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:168 +msgid "On the :guilabel:`Select a name and guest OS` step:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:170 +msgid "Give the new VM a name in the :guilabel:`Name` field. See Figure 6." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:172 +msgid "" +"Set the :guilabel:`Compatability` option to :guilabel:`ESXi 6.5 virtual " +"machine`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:174 +msgid "Set the :guilabel:`Guest OS family` option to :guilabel:`Linux`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:175 +msgid "" +"Set the :guilabel:`Guest OS version` option to :guilabel:`Other 3.x or " +"later Linux (64-bit)`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:183 +msgid "Figure 6: VMware ESXi - Give a name and select guest OS type" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:185 +msgid "On the :guilabel:`Select storage` step:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:187 +msgid "Accept the default option." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:190 +msgid "On the :guilabel:`Customize settings` step:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:192 +msgid "Click the :guilabel:`Virtual Hardware` button. See Figure 7." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:193 +msgid "" +"Expand the :guilabel:`CPU` setting and enable :guilabel:`Hardware " +"virtualization` by checking :guilabel:`Expose hardware assisted " +"virtualization to the guest OS`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:201 +msgid "Figure 7: VMware ESXi - Enable hardware virtualization" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:203 +msgid "" +"Remove the default :guilabel:`Hard drive 1` setting by clicking the `X` " +"icon on the right side. See Figure 8." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:210 +msgid "Figure 8: VMware ESXi - Remove hard drive" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:212 +msgid "" +"Since a preconfigured image will be used, the :guilabel:`CD/DVD Drive 1` " +"setting will not be needed. Disable it by unchecking the " +":guilabel:`Connect` checkbox. See Figure 9." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:220 +msgid "Figure 9: VMware ESXi - Disconnect the CD/DVD drive" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:222 +msgid "" +"Attach the :file:`clear-[version number]-esxi.vmdk` file that was " +"converted from the preconfigured |CL| VMware image." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:225 +msgid "" +"Click the :guilabel:`Add hard disk` button and select the " +":guilabel:`Existing hard drive` option. See Figure 10." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:232 +msgid "Figure 10: VMware ESXi - Add an existing hard drive" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:234 +msgid "" +"Select the converted :file:`clear-[version number]-esxi.vmdk` file. Do " +"not use the original unconverted :file:`clear-[version " +"number]-vmware.vmdk` file. See Figure 11." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:242 +msgid "" +"Figure 11: VMware ESXi - Select the converted :file:`clear-[version " +"number]-esxi.vmdk` file" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:245 +msgid "|CL| needs UEFI support in order to boot. Enable UEFI boot support." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:247 +msgid "Click the :guilabel:`VM Options` button. See Figure 12." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:248 +msgid "Expand the :guilabel:`Boot Options` setting." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:249 +msgid "" +"For the :guilabel:`Firmware` setting, click the drop-down list to the " +"right of it and select the :guilabel:`EFI` option." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:256 +msgid "Figure 12: VMware ESXi - Set boot firmware to EFI" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:258 +msgid "Click the :guilabel:`Save` button." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:260 +msgid "Click the :guilabel:`Finish` button." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:263 +msgid "Power on the VM and boot |CL|" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:265 +msgid "After configuring the settings above, power on the VM." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:267 +msgid "" +"Under the :guilabel:`Navigator` window, select :guilabel:`Virtual " +"Machines`. See Figure 13." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:269 +msgid "In the right window, select the newly-created VM." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:270 +msgid "Click the :guilabel:`Power on` button." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:271 +msgid "" +"Click on the icon representing the VM to bring it into view and maximize " +"its window." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:278 +msgid "Figure 13: VMware ESXi - Navigator > Virtual Machines > Power on VM" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:281 +msgid "Related topics" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:283 +msgid ":ref:`vmware-esxi-install-cl`" +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/guides/deploy-at-scale.po b/localization/po/locale/zh_CN/LC_MESSAGES/guides/deploy-at-scale.po new file mode 100644 index 00000000..b4261a83 --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/guides/deploy-at-scale.po @@ -0,0 +1,414 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/guides/deploy-at-scale.rst:4 +msgid "Deploy at Scale" +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:6 +msgid "" +"Once you are comfortable with |CL-ATTR| :ref:`concepts `, your " +"next step as a system administrator is to understand how to deploy |CL| " +"at scale in your environment." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:10 +msgid "" +"In this document the term *endpoint* refers to a system targeted for |CL|" +" installation, whether that is a datacenter system or unit deployed in " +"field." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:16 +msgid "" +"This is not a replacement or blueprint for designing your own IT " +"operating environment." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:19 +msgid "" +"Your |CL| deployment should complement the existing environment and " +"available tools. It is assumed foundational core IT dependencies of your " +"environment, such as your network, are healthy and scaled to suit the " +"deployment." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:28 +msgid "Pick a |CL| usage and update strategy" +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:30 +msgid "" +"Different business scenarios call for different deployment methodologies." +" |CL| offers the flexibility to continue consuming the upstream |CL| " +"distribution or the option to fork away from the |CL| distribution and " +"act as your own :abbr:`OSV (Operating System Vendor)`." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:35 +msgid "Below is an overview of some considerations." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:38 +msgid "Create your own Linux distribution (mix)" +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:40 +msgid "" +"This approach forks away from the |CL| upstream and has you act as your " +"own :abbr:`OSV (Operating System Vendor)` by leveraging the `mixer " +"process`_ to create customized images based on |CL|. This is a level of " +"responsibility that requires having more infrastructure and processes to " +"adopt. In return, this approach *offers you a high degree of control and " +"customization*." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:46 +msgid "" +"Development systems which are generating bundles and updates should be " +"sufficiently performant for the task and separate from the swupd update " +"webservers which are serving update content to production machines." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:50 +msgid "" +"swupd update webservers which are serving update content to production " +"machines (see `mixer process`_ for more information) should be " +"appropriately scaled." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:54 +msgid "" +"Your swupd update server is just like any other web application. |WEB-" +"SERVER-SCALE|" +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:58 +msgid "Adopt an agile methodology" +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:59 +msgid "" +"The cloud, and other scaled deployments, are all about flexibility and " +"speed. It only makes sense that any |CL| deployment strategy should " +"follow suit." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:62 +msgid "" +"Manually rebuilding your own bundles or mix for every release is not " +"sustainable at a large scale. A |CL| deployment pipeline should be agile " +"enough to validate and produce new versions with speed. Whether or not " +"those updates actually make their way to your production can be separate " +"business decision. However this *ability to frequently roll new versions*" +" of software to your endpoints is an important prerequisite." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:69 +msgid "" +"You own the validation and lifecycle of the OS and should treat it like " +"any other software development lifecycle. Below are some pointers:" +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:72 +msgid "" +"Thoroughly understand the custom software packages that you will need to " +"integrate with |CL| and maintain along with their dependencies." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:75 +msgid "" +"Setup a path to production for building |CL| based images. At minimum " +"this should include:" +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:78 +msgid "" +"A development clr-on-clr environment to test building packages and " +"bundles for |CL| systems." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:81 +msgid "A pre-production environment to deploy |CL| versions to before production" +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:84 +msgid "" +"Employ a continuous integration and continuous deployment (CI/CD) " +"philosophy in order to:" +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:87 +msgid "" +"Automatically pull custom packages as they are updated from their " +"upstream projects or vendors." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:90 +msgid "" +"Generate |CL| bundles and potentially bootable images with your " +"customizations, if any." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:93 +msgid "" +"Measure against metrics and indicators which are relevant to your " +"business (e.g. performance, power, etc) from release to release." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:96 +msgid "" +"Integrate with your organization's governance processes, such as change " +"control." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:100 +msgid "Versioning Infrastructure" +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:102 +msgid "" +"|CL| version numbers are very important as they apply to the whole " +"infrastructure stack from OS components to libraries and applications." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:106 +msgid "" +"Good record keeping is important, so you should keep a detailed registry " +"and history of previously deployed versions and their contents." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:109 +msgid "" +"With a glance at the |CL| version numbers deployed, you should be able to" +" tell if your Clear systems are patched against a particular security " +"vulnerability or incorporate a critical new feature." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:114 +msgid "Pick an image distribution strategy" +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:116 +msgid "" +"Once you have decided on a usage and update strategy, you should " +"understand *how* |CL| will be deployed to your endpoints. In a large " +"scale deployment, interactive installers should be avoided in favor of " +"automated installations or prebuilt images." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:121 +msgid "" +"There are many well-known ways to install an operating system at scale. " +"Each have their own benefits, and one may lend itself easier in your " +"environment depending on the resources available to you." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:125 +msgid "See the available :ref:`image-types`." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:127 +msgid "Below are some common ways to install |CL| to systems at scale:" +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:130 +msgid "Baremetal" +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:132 +msgid "" +"Preboot Execution Environments (PXE) or other out-of-band booting options" +" are one way to distribute |CL| to physical baremetal systems on a LAN." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:136 +msgid "" +"This option works well if your customizations are fairly small in size " +"and infrastructure can be stateless." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:139 +msgid "" +"The |CL| `downloads page`_ offers a live image that can be deployed as a " +"PXE boot server if one doesn't already exist in your environment. Also " +"see documentation on how to :ref:`bare-metal-install-server`." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:144 +msgid "Cloud Instances or Virtual Machines" +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:146 +msgid "" +"Image templates in the form of cloneable disks are an effective way to " +"distribute |CL| for virtual machine environments, whether on-premises or " +"hosted by a Cloud Solution Provider (CSP)." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:150 +msgid "" +"When used in concert with cloud VM migration features, this can be a good" +" option for allowing your applications a degree of high availability and " +"workload mobility; VMs can be restarted on a cluster of hypervisor host " +"or moved between datacenters transparently." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:155 +msgid "" +"The |CL| `downloads page`_ offers example prebuilt VM images and is " +"readily available on popular CSPs. Also see documentation on how to :ref" +":`virtual-machine-install`." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:160 +msgid "Containers" +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:162 +msgid "" +"Containerization platforms allow images to be pulled from a repository " +"and deployed repeatedly as isolated containers." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:165 +msgid "" +"Containers with a |CL| image can be a good option to blueprint and ship " +"your application, including all its dependencies, as an artifact while " +"allowing you or your customers to dynamically orchestrate and scale " +"applications." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:170 +msgid "" +"|CL| is capable of running a Docker host, has a container image which can" +" be pulled from DockerHub, or can be built as a customized container. For" +" more information visit the `containers page`_." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:175 +msgid "Considerations with stateless systems" +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:176 +msgid "" +"An important |CL| concept is statelessness and partitioning of system " +"data from user data. This concept can change the way you think about an " +"at scale deployment." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:181 +msgid "Backup strategy" +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:183 +msgid "" +"A |CL| system and its infrastructure should be considered a commodity and" +" be easily reproducible. Avoid focusing on backing up the operating " +"system itself or default values." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:187 +msgid "" +"Instead, focus on backing up what's important and unique - the " +"application and data. In other words, only focus on backing up critical " +"areas like `/home`, `/etc`, and `/var`." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:192 +msgid "Meaningful Logging & Telemetry" +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:194 +msgid "" +"Offload logging and telemetry from endpoints to external servers, so it " +"is persistent and can be accessed on another server when an issue occurs." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:197 +msgid "" +"Remote syslogging in |CL| is available through the `systemd journal-" +"remote service`_" +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:200 +msgid "" +"|CL| offers a `native telemetry solution`_ which can be a powerful tool " +"for a large deployment to quickly crowdsource issues of interest. Take " +"advantage of this feature with careful consideration of the target " +"audience and the kind of data that would be valuable, and expose events " +"appropriately." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:206 +msgid "" +"Your telemetry server is just like any other web application. |WEB-" +"SERVER-SCALE|" +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:210 +msgid "Orchestration and Configuration Management" +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:212 +msgid "" +"In cloud environments, where systems can be ephemeral, being able to " +"configure and maintain generic instances is valuable." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:215 +msgid "" +"|CL| offers an efficient cloud-init style solution, `micro-config-" +"drive`_, through the *os-cloudguest* bundles which allow you to configure" +" many Day 1 tasks such as setting hostname, creating users, or placing " +"SSH keys in an automated way at boot. For more information on automating " +"configuration during deployment of |CL| endpoints see the `documentation " +"on bulk provisioning`_ ." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:222 +msgid "" +"A configuration management tool is useful for maintaining consistent " +"system and application-level configuration. Ansible\\* is offered through" +" the *sysadmin-hostmgmt* bundle as a configuration management and " +"automation tool." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:228 +msgid "Cloud-native applications" +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:230 +msgid "" +"An Infrastructure OS can design for good behavior, but it is ultimately " +"up to applications to make agile design choices. Applications deployed on" +" |CL| should aim to be host-aware but not depend on any specific host to " +"run. References should be relative and dynamic when possible." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:235 +msgid "" +"The application architecture should incorporate an appropriate tolerance " +"for infrastructure outages. Don't just keep stateless design as a noted " +"feature. Continuously test its use; Automate its use by redeploying |CL| " +"and application on new hosts. This naturally minimizes configuration " +"drift, challenges your monitoring systems, and business continuity plans." +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/guides/guides.po b/localization/po/locale/zh_CN/LC_MESSAGES/guides/guides.po new file mode 100644 index 00000000..d3876967 --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/guides/guides.po @@ -0,0 +1,44 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/guides/guides.rst:4 +msgid "Guides" +msgstr "" + +#: ../../../source/guides/guides.rst:6 +msgid "The following guides provide step-by-step instructions on using |CL|." +msgstr "" + +#: ../../../source/guides/guides.rst:10 +msgid "As of 22 May 2019 :file:`mixin` is no longer supported." +msgstr "" + +#: ../../../source/guides/guides.rst:13 +msgid "Maintenance" +msgstr "" + +#: ../../../source/guides/guides.rst:23 +msgid "Network" +msgstr "" + +#: ../../../source/guides/guides.rst:33 +msgid "Kernel" +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/guides/kernel/kernel-development.po b/localization/po/locale/zh_CN/LC_MESSAGES/guides/kernel/kernel-development.po new file mode 100644 index 00000000..273cc512 --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/guides/kernel/kernel-development.po @@ -0,0 +1,539 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/guides/kernel/kernel-development.rst:4 +msgid "Kernel development" +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:6 +msgid "" +"This document shows how to obtain and compile a Linux* kernel source " +"using |CL-ATTR| development tooling." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:9 +msgid "" +"The `kernels available`_ in |CL| aim to be performant and practical. In " +"some cases, it may be necessary to modify the kernel to suit your " +"specific needs or test new kernel code as a developer." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:18 +msgid "" +"Source RPM files (SRPM) are also available for all |CL| kernels, and can " +"be used for development instead. Select this link to view the latest " +"`source RPM files`_." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:22 +msgid "Request changes be included with the |CL| kernel" +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:24 +msgid "" +"If the kernel modification you need is already open source and likely to " +"be useful to others, consider submitting a request to include it in the " +"|CL| kernels.If your change request is accepted, you do not need to " +"maintain your own modified kernel." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:28 +msgid "Make enhancement requests to the |CL| `distribution on GitHub`_ ." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:31 +msgid "Set up kernel development environment" +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:33 +msgid "" +"In some cases, it may be necessary to modify the kernel to suit your " +"specific needs or to test new kernel code." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:36 +msgid "You can build and install a custom kernel; however you must:" +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:38 +msgid "Disable Secure Boot" +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:39 +msgid "Maintain any updates to the kernel going forward" +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:41 +msgid "" +"To create a custom kernel, start with the |CL| development environment. " +"Then make changes to the kernel, build it, and install it." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:46 +msgid "Install the |CL| development tooling framework" +msgstr "" + +#: ../../../source/tooling/autospec.rst:3 +msgid "" +"Setup of the workspace and tooling used for building source in |CL| is " +"mostly automated for you with a setup script. It uses tools from the " +":command:`os-clr-on-clr` bundle." +msgstr "" + +#: ../../../source/tooling/autospec.rst:7 +msgid "" +"The setup script creates a workspace in the :file:`clearlinux` folder, " +"with the subfolders :file:`Makefile`, :file:`packages`, and " +":file:`projects`. The :file:`projects` folder contains the main tools " +"used for making packages in |CL| :file:`autospec` and :file:`common`." +msgstr "" + +#: ../../../source/tooling/autospec.rst:12 +msgid "Follow these steps to setup the workspace and tooling for building source:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:14 +msgid "Install the :command:`os-clr-on-clr` bundle:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:20 +msgid "Download the :file:`user-setup.sh` script:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:26 +msgid "Make :file:`user-setup.sh` executable:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:32 +msgid "Run the script as an unprivileged user:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:38 +msgid "" +"After the script completes, log out and log in again to complete the " +"setup process." +msgstr "" + +#: ../../../source/tooling/autospec.rst:41 +msgid "Set your Git user email and username for the repos on your system:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:48 +msgid "This global setting is used by |CL| tools that make use of Git." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:53 +msgid "Clone the kernel package" +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:54 +msgid "" +"Clone the existing kernel package repository from |CL| as a starting " +"point." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:56 +msgid "" +"Clone the Linux kernel package from |CL|. Using the :command:`make " +"clone_` command in the :file:`clearlinux/` directory clones " +"the package from the `clearlinux-pkgs GitHub`_." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:66 +msgid "Navigate into the cloned package directory." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:73 +msgid "" +"The \"linux\" package is the kernel that comes with |CL| in the `kernel-" +"native` bundle. Alternatively, you can use a different kernel variant as " +"the base for modification. For a list of kernel package names which you " +"can clone instead, see the `clearlinux-pkgs GitHub`_." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:80 +msgid "" +"The latest version of the |CL| kernel package is pulled as a starting " +"point. An older version can pulled by switching to different git tag by " +"using :command:`git checkout tag/`." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:84 +msgid "Change the kernel version" +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:86 +msgid "" +"|CL| tends to use the latest kernel available from `kernel.org`_, the " +"Linux upstream. The kernel version that will be built can be changed in " +"the RPM SPEC file. While most packages in Clear Linux are typically " +"packaged using :ref:`autospec-about`, the kernel is not. This means " +"control files provided by autospec are not available and changes must be " +"made manually." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:92 +#: ../../../source/guides/kernel/kernel-development.rst:285 +msgid "Open the Linux kernel package RPM SPEC file in an editor." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:98 +msgid "" +"Modify the Version, Release, and Source0 URL entries at the top of the " +"file to change the version of Linux kernel that will be compiled." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:101 +msgid "" +"A list of current and available kernel release can be found on " +"`kernel.org`_." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:120 +msgid "" +"Consider changing the Name from *linux* in the RPM spec file to easily " +"identify a modified kernel." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:122 +msgid "" +"Consider changing the ktarget from *native* in the RPM spec file to " +"easily identify a modified kernel." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:124 +msgid "Commit and save the changes to the file." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:127 +msgid "Pull a copy of the Linux kernel source code" +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:129 +msgid "Obtain a local copy of the source code to make modifications against." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:131 +msgid "" +"Run make sources to pull the kernel source code specified in the RPM SPEC" +" file. In the example, it downloads the :file:`linux-4.20.8.tar.xz` file." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:139 +msgid "" +"Extract the kernel source code archive. This will create a working copy " +"of the Linux source that you can modify." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:146 +msgid "" +"Navigate to the extracted directory. In this example, it has been " +"extracted into a :file:`linux-4.20.8` directory." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:155 +msgid "Customize the Linux kernel source" +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:157 +msgid "" +"After the kernel sources have been obtained, customizations to the kernel" +" configuration or source code can be made for inclusion with the kernel " +"build. These customizations are optional." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:162 +msgid "Modify kernel configuration" +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:164 +msgid "" +"The kernel source has many configuration options available to pick " +"support for different hardware and software features." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:166 +msgid "" +"These configuration values must be provided in the :file:`.config` file " +"at compile time. You will need to make modifications to the " +":file:`.config` file, and include it in the kernel package." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:171 +#: ../../../source/guides/kernel/kernel-development.rst:228 +msgid "" +"Make sure you have followed the steps to `Pull a copy of the Linux kernel" +" source code`_ and are in the kernel source working directory." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:176 +msgid "" +"If you have an existing :file:`.config` file from an old kernel, copy it " +"into the working directory as :file:`.config` for comparison. Otherwise, " +"use the |CL| kernel configuration file as template" +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:185 +msgid "" +"Make any desired changes to the :file:`.config` using a kernel " +"configuration tool. Below are some popular options:" +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:188 +msgid "" +":command:`$EDITOR .config` - the .config file can be directly edited for " +"simple changes with names that are already known." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:191 +msgid "" +":command:`make config` - a text-based tool that asks questions one-by-one" +" to decide configuration options." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:194 +msgid "" +":command:`make menuconfig` - a terminal user interface that provides " +"menus to decide configuration options." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:197 +msgid "" +":command:`make xconfig` - a graphical user interface that provides tree " +"views to decide configuration options." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:201 +msgid "" +"More configuration tools can be found by looking at the make help: " +":command:`make help | grep config`" +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:204 +msgid "Commit and save the changes to the :file:`.config` file." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:206 +msgid "" +"Copy the :file:`.config` file from the kernel source directory into the " +"kernel package directory as :file:`config` for inclusion in the build." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:214 +msgid "Modify kernel source code" +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:216 +msgid "" +"Changes to kernel code are applied with patch files. Patch files are " +"formatted git commits that can be applied to the main source code." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:219 +msgid "" +"You will need to obtain a copy of the source code, make modifications, " +"generate patch file(s), and add them to the RPM SPEC file for inclusion " +"during the kernel build." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:223 +msgid "" +"If you have a large number of patches or a more complex workflow, " +"consider using a patch management tool in addition to Git such as " +"`Quilt`_." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:233 +msgid "" +"Initialize the kernel source directory as a new git repo and create a " +"commit with all the existing source files to begin tracking changes." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:243 +msgid "" +"Apply patches provided by the |CL| kernel package to the kernel source in" +" the working directory." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:251 +msgid "Make any of your desired code changes to the Linux source code files." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:254 +msgid "Track and commit your changes to the local git repo." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:262 +msgid "" +"Generate a patch file based on your git commits. represents the " +"number of local commits to create patch file. See the `git-format-patch " +"Documentation`_ for detailed information on using :command:`git format-" +"patch`" +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:271 +msgid "" +"Copy the patch files from the patches directory in the linux source tree " +"to the RPM build directory." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:279 +msgid "Navigate back to the RPM build directory." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:291 +msgid "" +"Locate the section of the SPEC file that contains existing patch variable" +" definitions and append your patch file name. Ensure the patch number " +"does not collide with an existing patch. In this example, the patch file " +"is called :file:`2001-my-patch-for-driver-A.patch`" +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:314 +msgid "" +"Locate the section of the SPEC file further down that contains patch " +"application and append your patch file number used in the step above. In " +"this example, patch2001 is added." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:333 +msgid "Commit and save the changes to the RPM SPEC file." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:336 +msgid "Modify kernel boot parameters" +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:337 +msgid "" +"The kernel boot options are passed from the bootloader to the kernel with" +" command-line parameters." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:340 +msgid "" +"While temporary changes can be made to kernel parameters on a running " +"system or on a during boot, you can also modify the default parameters " +"that are persistent and distributed with a customized kernel." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:345 +msgid "Open the kernel :file:`cmdline` file in an editor." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:352 +msgid "" +"Make any desired change to the kernel parameters. For example, you can " +"remove the :command:`quiet` parameter to see more verbose output of " +"kernel log messages during the boot process." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:356 +msgid "Commit and save the changes to the :file:`cmdline` file." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:358 +msgid "" +"See the `Kernel parameters documentation`_ for a list of available " +"parameters." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:362 +msgid "Build and install the kernel" +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:363 +msgid "" +"After changes have been made to the kernel source and RPM SPEC file, the " +"kernel is ready to be compiled and packaged into an RPM." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:366 +msgid "" +"The |CL| development tooling makes use of :command:`mock` environments to" +" isolate building of packages in a sanitized workspace." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:369 +msgid "" +"Start the compilation process by issuing the :command:`make build` " +"command. This process is typically resource intensive and will take a " +"while." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:377 +msgid "" +"The `ccache plugin for mock`_ can be enabled to help speed up any future " +"rebuilds of the kernel package by caching compiler outputs and reusing " +"them." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:380 +msgid "" +"The result will be multiple :file:`.rpm` files in the :file:`rpms` " +"directory as output." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:387 +msgid "" +"The kernel RPM will be named " +":file:`linux--.x86_64.rpm`" +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:391 +msgid "" +"The kernel RPM file can be input to the :ref:`mixer` to create a custom " +"bundle and mix of |CL|." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:394 +msgid "" +"Alternatively, the kernel RPM bundle can be installed manually on a local" +" machine for testing. This approach works well for individual development" +" or testing. For a more scalable and customizable approach, consider " +"using the :ref:`mixer` to provide a custom kernel with updates." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:399 +msgid "" +"Install the kernel onto the local system by extracting the RPM with the " +":command:`rpm2cpio` command." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:407 +msgid "Update the |CL| boot manager using :command:`clr-boot-manager` and reboot." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:417 +msgid "After a reboot, verify the customized kernel is running." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:424 +msgid "Related topics" +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:426 +msgid ":ref:`kernel-modules`" +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:427 +msgid ":ref:`mixer`" +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/guides/kernel/kernel-modules-dkms.po b/localization/po/locale/zh_CN/LC_MESSAGES/guides/kernel/kernel-modules-dkms.po new file mode 100644 index 00000000..90793cba --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/guides/kernel/kernel-modules-dkms.po @@ -0,0 +1,483 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:4 +msgid "Add kernel modules with DKMS" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:6 +msgid "" +"Certain kernel modules are enabled by default in |CL-ATTR|. To use " +"additional kernel modules that are not part of the Linux source tree, you" +" may need to build out-of-tree kernel modules. Use this guide to add " +"kernel modules with :abbr:`DKMS (Dynamic Kernel Module System)` or refer " +"to :ref:`kernel-modules`." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:18 +msgid "Description" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:20 +msgid "" +"Kernel modules are additional pieces of software capable of being " +"inserted into the Linux kernel to add functionality, such as a hardware " +"driver. Kernel modules may already be part of the Linux source tree (in-" +"tree) or may come from an external source, such as directly from a vendor" +" (out-of-tree)." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:25 +msgid "" +":abbr:`DKMS (Dynamic Kernel Module System)` is a framework that " +"facilitates the building and installation of kernel modules. DKMS allows " +"|CL| to provide hooks that automatically rebuild modules against new " +"kernel versions." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:4 +msgid "Kernel module availability" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:6 +msgid "" +"|CL| comes with many upstream kernel modules available for use. Using an " +"existing module is significantly easier to maintain and retains signature" +" verification of the |CL| kernel. For more information on |CL| security " +"practices, see the :ref:`security` page." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:11 +msgid "" +"Before continuing, check if the kernel module you're looking for is " +"already available in |CL| or submit a request to add the module." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:16 +msgid "Check if the module is already available" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:19 +msgid "" +"You can search for kernel module file names, which end with the " +":file:`.ko` file extension, using the :command:`swupd search` command, as" +" shown in the following example. See :ref:`swupd-guide` for more " +"information." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:29 +msgid "Submit a request to add the module" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:31 +msgid "" +"If the kernel module you need is already open source (for example, in the" +" Linux upstream) and likely to be useful to others, consider submitting a" +" request to add or enable it in the |CL| kernel." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:35 +msgid "Make enhancement requests to the |CL| distribution `on GitHub`_." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:39 +msgid "Install DKMS" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:43 +msgid "" +"The *kernel-native-dkms* bundle provides the :command:`dkms` program and " +"Linux kernel headers, which are required for compiling kernel modules." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:46 +msgid "The *kernel-native-dkms* bundle also:" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:48 +msgid "" +"Adds a systemd update trigger (:file:`/usr/lib/systemd/system/dkms-new-" +"kernel.service`) to automatically run DKMS to rebuild modules after a " +"kernel upgrade occurs with :ref:`swupd update `." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:53 +msgid "" +"Disables kernel module signature verification by appending a kernel " +"command-line parameter (:command:`module.sig_unenforce`) from the " +":file:`/usr/share/kernel/cmdline.d/clr-ignore-mod-sig.conf` file." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:57 +msgid "" +"Adds a notification to the Message of the Day (MOTD) indicating kernel " +"module signature verification is disabled." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:62 +msgid "" +"We recommend that you always review the :command:`swupd update` output to" +" make sure kernel modules were successfully rebuilt against the new " +"kernel. This is especially important for systems where a successful boot " +"relies on a kernel module." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:68 +msgid "" +"Install the :command:`kernel-native-dkms` or :command:`kernel-lts-dkms` " +"bundle:" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:71 +msgid "" +"Determine which kernel variant is running on |CL|. Only the *native* and " +"*lts* kernels are enabled to build and load out-of-tree kernel modules " +"with DKMS." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:80 +msgid "Ensure *.native* or *.lts* is in the kernel name." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:82 +msgid "" +"Install the DKMS bundle corresponding to the installed kernel. Use " +":command:`kernel-native-dkms` for the native kernel or :command:`kernel-" +"lts-dkms` for the lts kernel." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:90 +msgid "or" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:97 +msgid "Update the |CL| bootloader and reboot." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:108 +msgid "Build, install, and load an out-of-tree module" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:110 +msgid "" +"Follow the steps in this section if you are an individual user or " +"testing, and you need an out-of-tree kernel module that is not available " +"through |CL|. For a more scalable and customizable approach, we recommend" +" using the `mixer tool`_ to provide a custom kernel and updates." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:117 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:119 +msgid "Before you begin, you must:" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:121 +msgid "" +"Disable Secure Boot in UEFI/BIOS. The loading of new out-of-tree modules " +"modifies the signatures that Secure Boot relies on for trust." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:124 +msgid "" +"Obtain a kernel module package in the form of source code and/or " +"precompiled binaries." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:130 +msgid "Obtain kernel module source" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:132 +msgid "" +"A required :file:`dkms.conf` file inside of the kernel module's source " +"code directory informs DKMS how the kernel module should be compiled." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:135 +msgid "Kernel modules may come packaged as:" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:137 +msgid "Source code without a :file:`dkms.conf` file" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:138 +msgid "Source code with a premade :file:`dkms.conf` file" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:139 +msgid "" +"Source code with a premade :file:`dkms.conf` file and precompiled module " +"binaries" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:141 +msgid "Precompiled module binaries only (without source code)" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:143 +msgid "" +"Of the package types listed above, only precompiled kernel module " +"binaries will not work, because |CL| requires kernel modules to be built " +"against the same kernel source tree before they can be loaded. If you are" +" only able to obtain source code without a :file:`dkms.conf` file, you " +"must manually create a :file:`dkms.conf` file, described later in this " +"document." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:149 +msgid "Download the kernel module's source code." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:151 +msgid "" +"Review the available download options. Some kernel modules provide " +"separate archives that are specifically enabled for DKMS support." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:154 +msgid "" +"Review the README documentation, because it often provides required " +"information to build the module with DKMS support." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:166 +msgid "Build kernel module with an existing dkms.conf" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:168 +msgid "" +"If the kernel module maintainer packaged the source archive with the " +":command:`dkms mktarball` command, the entire archive can be passed to " +"the :command:`dkms ldtarball` which completes many steps for you." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:172 +msgid "" +"The archive contains the required :file:`dkms.conf` file, and may contain" +" a :file:`dkms_source_tree` directory and a :file:`dkms_binaries_only` " +"directory." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:177 +msgid "" +"Run the :command:`dkms ldtarball` command against the kernel module " +"archive." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:184 +msgid "" +":command:`dkms ldtarball` places the kernel module source under " +":file:`/usr/src/-/`, builds it if necessary," +" and adds the module into the DKMS tree." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:189 +msgid "" +"Verify the kernel module is detected by checking the output of the " +":command:`dkms status` command." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:197 +msgid "Install the kernel module." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:206 +msgid "Build kernel module without an existing dkms.conf" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:208 +msgid "" +"If the kernel module source does not contain a :file:`dkms.conf` file or " +"the :command:`dkms ldtarball` command encounters errors, you must " +"manually create the file." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:212 +msgid "" +"Review the kernel module README documentation for guidance on what needs " +"to be in the :file:`dkms.conf` file, including special variables that may" +" be required to build successfully." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:216 +msgid "Here are some additional resources that can be used for reference:" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:218 +msgid "" +"DKMS manual page (:command:`man dkms`) shows detailed syntax in the " +"DKMS.CONF section." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:221 +msgid "" +"`Ubuntu community wiki`_ shows an example where a single package contains" +" multiple modules." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:224 +msgid "`Sample dkms.conf file`_ in the GitHub\\* repository for the DKMS project." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:228 +msgid "" +":command:`AUTOINSTALL=yes` must be set in the dkms.conf for the module to" +" be automatically recompiled with |CL| updates." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:231 +msgid "The instructions below show a generic example:" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:233 +msgid "" +"Create or modify the :file:`dkms.conf` file inside of the extracted " +"source code directory." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:249 +msgid "" +"This example identifies a kernel module named *custom_module* with " +"version *1.0*." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:252 +msgid "Copy the kernel module source code into the :file:`/usr/src/` directory." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:261 +msgid "" +"** and ** must match the entries in the " +":file:`dkms.conf` file." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:265 +msgid "Add the kernel module to the DKMS tree so that it is tracked by DKMS." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:271 +msgid "" +"Build the kernel module using DKMS. If the build encounters errors, you " +"may need to edit the :file:`dkms.conf` file." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:278 +msgid "Install the kernel module using DKMS." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:287 +msgid "Load kernel module" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:289 +msgid "" +"By default, DKMS installs modules \"in-tree\" under :file:`/lib/modules` " +"so the :command:`modprobe` command can be used to load them." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:292 +msgid "Load the installed module with the :command:`modprobe` command." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:298 +msgid "Validate the kernel module is loaded." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:306 +msgid "Examples" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:4 +msgid "Optional: Specify module options and aliases" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:6 +msgid "Use the :command:`modprobe` command to load a module and set options." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:8 +msgid "" +":command:`modprobe` may add or remove more than one module due to module " +"interdependencies. You can specify which options to use with individual " +"modules, by using configuration files under the :file:`/etc/modprobe.d` " +"directory." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:16 +msgid "" +"All files underneath the :file:`/etc/modprobe.d` directory that end with " +"the :file:`.conf` extension specify module options to use when loading. " +"You can use :file:`.conf` files to create convenient aliases for modules " +"or to override the normal loading behavior altogether for those with " +"special requirements." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:21 +msgid "Learn more about :command:`modprobe` on the modprobe.d manual page:" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:28 +msgid "Optional: Configure kernel modules to load at boot" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:30 +msgid "" +"Use the :file:`/etc/modules-load.d` configuration directory to specify " +"kernel modules to load automatically at boot." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:37 +msgid "" +"All files underneath the :file:`/etc/modules-load.d` directory that end " +"with the :file:`.conf` extension contain a list of module names of " +"aliases (one per line) to load at boot." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:41 +msgid "Learn more about module loading in the modules-load.d manual page:" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:316 +msgid "Related topics" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:318 +msgid "" +"`Dynamic Kernel Module System (DKMS) project on GitHub " +"`_" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:320 +msgid "" +"`Dell Linux Engineering Dynamic Kernel Module Support: From Theory to " +"Practice " +"`_" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:322 +msgid "" +"`Linux Journal: Exploring Dynamic Kernel Module Support " +"`_" +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/guides/kernel/kernel-modules.po b/localization/po/locale/zh_CN/LC_MESSAGES/guides/kernel/kernel-modules.po new file mode 100644 index 00000000..bb156fa1 --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/guides/kernel/kernel-modules.po @@ -0,0 +1,267 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/guides/kernel/kernel-modules.rst:4 +msgid "Add kernel modules manually" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:6 +msgid "" +"Certain kernel modules are enabled by default in |CL-ATTR|. To use " +"additional kernel modules that are not part of the Linux source tree, you" +" may need to build out-of-tree kernel modules. Use this guide to add " +"kernel modules manually, or refer to :ref:`kernel-modules-dkms`." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:17 +msgid "Description" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:19 +msgid "" +"Kernel modules are additional pieces of software capable of being " +"inserted into the Linux kernel to add functionality, such as a hardware " +"driver. Kernel modules may already be part of the Linux source tree (in-" +"tree) or may come from an external source, such as directly from a vendor" +" (out-of-tree)." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:28 +msgid "Kernel module availability" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:30 +msgid "" +"|CL| comes with many upstream kernel modules available for use. Using an " +"existing module is significantly easier to maintain and retains signature" +" verification of the |CL| kernel. For more information on |CL| security " +"practices, see the :ref:`security` page." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:35 +msgid "" +"Before continuing, check if the kernel module you're looking for is " +"already available in |CL| or submit a request to add the module." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:40 +msgid "Check if the module is already available" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:43 +msgid "" +"You can search for kernel module file names, which end with the " +":file:`.ko` file extension, using the :command:`swupd search` command, as" +" shown in the following example. See :ref:`swupd-guide` for more " +"information." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:53 +msgid "Submit a request to add the module" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:55 +msgid "" +"If the kernel module you need is already open source (for example, in the" +" Linux upstream) and likely to be useful to others, consider submitting a" +" request to add or enable it in the |CL| kernel." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:59 +msgid "Make enhancement requests to the |CL| distribution `on GitHub`_." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:65 +msgid "Build, install, and load an out-of-tree module" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:67 +msgid "" +"Follow the steps in this section if you are an individual user or " +"testing, and you need an out-of-tree kernel module that is not available " +"through |CL|. For a more scalable and customizable approach, we recommend" +" using the `mixer tool`_ to provide a custom kernel and updates." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:74 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:76 +msgid "Before you begin, you must:" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:78 +msgid "Disable Secure Boot." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:79 +msgid "Disable kernel module integrity checking." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:80 +msgid "Have a kernel module package in the form of source code." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:81 +msgid "Rebuild the module against new versions of the Linux kernel." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:85 +msgid "" +"Any time the kernel is upgraded on your Clear Linux system, you must " +"rebuild your out-of-tree modules." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:90 +msgid "Build and install kernel module" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:92 +msgid "" +"Determine which kernel variant is running on |CL|. In the example below, " +"the *native* kernel is in use." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:100 +msgid "" +"Install the kernel dev bundle corresponding to the installed kernel. The " +"kernel dev bundle contains the kernel headers, which are required for " +"compiling kernel modules. For example:" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:104 +msgid "`linux-dev` for developing against the native kernel." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:105 +msgid "`linux-lts-dev` for developing against the LTS kernel." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:111 +msgid "" +"Follow instructions from the kernel module source code to compile the " +"kernel module. For example:" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:124 +msgid "Load kernel module" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:126 +msgid "" +"Disable Secure Boot in your system's UEFI settings, if you have enabled " +"it. The loading of new out-of-tree modules modifies the signatures that " +"Secure Boot relies on for trust." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:130 +msgid "" +"Disable signature checking for the kernel by modifying the kernel boot " +"parameters and reboot the system." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:133 +msgid "" +"All kernel modules from |CL| have been signed to enforce kernel security." +" However, out-of-tree modules break this chain of trust so this mechanism" +" needs to be disabled." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:142 +msgid "" +"Update the boot manager and reboot the system to implement the changed " +"kernel parameters." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:152 +msgid "" +"If successful, the :command:`clr-boot-manager update` command does not " +"return any console output." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:155 +msgid "" +"After rebooting, manually load out-of-tree modules using the " +":command:`insmod` command." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:163 +msgid "Examples" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:168 +msgid "Optional: Specify module options and aliases" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:170 +msgid "Use the :command:`modprobe` command to load a module and set options." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:172 +msgid "" +":command:`modprobe` may add or remove more than one module due to module " +"interdependencies. You can specify which options to use with individual " +"modules, by using configuration files under the :file:`/etc/modprobe.d` " +"directory." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:180 +msgid "" +"All files underneath the :file:`/etc/modprobe.d` directory that end with " +"the :file:`.conf` extension specify module options to use when loading. " +"You can use :file:`.conf` files to create convenient aliases for modules " +"or to override the normal loading behavior altogether for those with " +"special requirements." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:185 +msgid "Learn more about :command:`modprobe` on the modprobe.d manual page:" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:192 +msgid "Optional: Configure kernel modules to load at boot" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:194 +msgid "" +"Use the :file:`/etc/modules-load.d` configuration directory to specify " +"kernel modules to load automatically at boot." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:201 +msgid "" +"All files underneath the :file:`/etc/modules-load.d` directory that end " +"with the :file:`.conf` extension contain a list of module names of " +"aliases (one per line) to load at boot." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:205 +msgid "Learn more about module loading in the modules-load.d manual page:" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:215 +msgid "Related topic" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:217 +msgid ":ref:`kernel-modules-dkms`" +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/guides/maintenance/architect-lifecycle.po b/localization/po/locale/zh_CN/LC_MESSAGES/guides/maintenance/architect-lifecycle.po new file mode 100644 index 00000000..f8397c38 --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/guides/maintenance/architect-lifecycle.po @@ -0,0 +1,137 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/guides/maintenance/architect-lifecycle.rst:4 +msgid "Architect the life-cycle of |CL-ATTR|" +msgstr "" + +#: ../../../source/guides/maintenance/architect-lifecycle.rst:6 +msgid "" +"This guide provides DevOps with a model to architect the life-cycle of a " +"|CL| derivative that integrates custom software and content using " +"distinct workflows." +msgstr "" + +#: ../../../source/guides/maintenance/architect-lifecycle.rst:10 +msgid "Maintaining a |CL| derivative requires:" +msgstr "" + +#: ../../../source/guides/maintenance/architect-lifecycle.rst:12 +msgid "Monitoring upstream |CL| for new releases" +msgstr "" + +#: ../../../source/guides/maintenance/architect-lifecycle.rst:13 +msgid "Building software packages and staging" +msgstr "" + +#: ../../../source/guides/maintenance/architect-lifecycle.rst:14 +msgid "Employing CI/CD automation for building releases" +msgstr "" + +#: ../../../source/guides/maintenance/architect-lifecycle.rst:15 +msgid "Integrating Quality Assurance for testing and validation" +msgstr "" + +#: ../../../source/guides/maintenance/architect-lifecycle.rst:17 +msgid "This guide provides the foundation of the recommended infrastructure." +msgstr "" + +#: ../../../source/guides/maintenance/architect-lifecycle.rst:24 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/guides/maintenance/architect-lifecycle.rst:26 +msgid "" +"A repository with software RPM artifacts and a CI/CD system with a |CL| " +"machine for building `mixes`" +msgstr "" + +#: ../../../source/guides/maintenance/architect-lifecycle.rst:29 +msgid "Experience using :ref:`mixer ` to create a |CL|-based distro" +msgstr "" + +#: ../../../source/guides/maintenance/architect-lifecycle.rst:31 +msgid "" +"Experience using :ref:`swupd ` for maintaining the |CL| " +"build environment" +msgstr "" + +#: ../../../source/guides/maintenance/architect-lifecycle.rst:34 +msgid "Familiarity with |CL| architecture and reuse of its content in releases" +msgstr "" + +#: ../../../source/guides/maintenance/architect-lifecycle.rst:37 +msgid "Description" +msgstr "" + +#: ../../../source/guides/maintenance/architect-lifecycle.rst:39 +msgid "" +"Coordinated infrastructure is deployed to automate the life-cycle of your" +" |CL| derivative. We divide deployment of this infrastucture in two " +"parts: *Content Workflow*; and *Release Workflow*, shown in Figure 1. " +"Distro Factory manages the *Release Workflow* while capturing the " +"requirements for maintaining a long-term release cadence." +msgstr "" + +#: ../../../source/guides/maintenance/architect-lifecycle.rst:48 +msgid "Figure 1: Architect the life-cycle" +msgstr "" + +#: ../../../source/guides/maintenance/architect-lifecycle.rst:51 +msgid "Content workflow" +msgstr "" + +#: ../../../source/guides/maintenance/architect-lifecycle.rst:53 +msgid "" +"The *Content Workflow* (Figure 1) orchestrates the processes used to " +"manage the creation of content for the distribution. This includes " +"everything from detecting a new release in a custom software repository " +"to generating RPM package files. The RPM files serve as intermediary " +"artifacts that track software dependencies and provide file-level data " +"consumed in a *Release Workflow*. The `Watcher Pipeline`_ checks |CL| " +"and a content provider, such as Koji, to determine if a new release is " +"necessary." +msgstr "" + +#: ../../../source/guides/maintenance/architect-lifecycle.rst:57 +msgid "Release workflow" +msgstr "" + +#: ../../../source/guides/maintenance/architect-lifecycle.rst:59 +msgid "" +"The *Release Workflow* (Figure 1) gathers the content of the RPMs and " +"ensures it can be consumed by :ref:`mixer `. A content web server " +"hosts the |CL| derivative, to which targets connect for updating their " +"OSes. As an integral part of this toolchain, the *Release Pipeline* " +"enables these derivatives to incorporate |CL| content into their own " +"custom content. The *Watcher Pipeline* triggers the `Release Pipeline`_ " +"to create new releases." +msgstr "" + +#: ../../../source/guides/maintenance/architect-lifecycle.rst:68 +msgid "Implementation" +msgstr "" + +#: ../../../source/guides/maintenance/architect-lifecycle.rst:70 +msgid "" +"Distro factory implements the *Release workflow*. To get started on a " +"full implementation, visit |CL| `Distro factory documentation`_." +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/guides/maintenance/assign-static-ip.po b/localization/po/locale/zh_CN/LC_MESSAGES/guides/maintenance/assign-static-ip.po new file mode 100644 index 00000000..cc551a13 --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/guides/maintenance/assign-static-ip.po @@ -0,0 +1,211 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:4 +msgid "Assign a static IP address" +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:6 +msgid "" +"By default, your |CL-ATTR| system automatically gets an IP address from " +"your network via DHCP. If you do not have a DHCP server on your network " +"or simply want to use a static IP address, follow the steps in this " +"guide." +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:15 +msgid "Identify which program is managing the interface" +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:17 +msgid "" +"New installations of |CL| use NetworkManager as the default network " +"interface manager for all network connections." +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:22 +msgid "" +"The *cloud* |CL| images continue to use systemd-networkd to manage " +"network connections." +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:25 +msgid "" +"In earlier |CL| versions, systemd-network was used to manage Ethernet " +"interfaces and NetworkManager was used for wireless interfaces." +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:29 +msgid "" +"Before defining a configuration for assigning a static IP address, you " +"should verify which program is managing the network interface." +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:32 +msgid "" +"Check the output of :command:`nmcli device` to see if NetworkManager is " +"managing the device." +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:39 +msgid "" +"If the STATE column for the device shows *connected* or *disconnected*, " +"the network configuration is being managed by NetworkManager and the " +"instructions for :ref:`using NetworkManager ` should be " +"used." +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:43 +msgid "" +"If the STATE column for the device shows *unmanaged*, check to see if the" +" device is being managed by systemd-networkd" +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:47 +msgid "" +"Check the output of :command:`networkctl list` to see if systemd-networkd" +" is managing the device." +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:54 +msgid "" +"If the SETUP column for the device shows *configured*, the network " +"configuration is being managed by systemd-networkd and the instructions " +"for :ref:`using systemd-networkd ` should be used." +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:62 +msgid "Using NetworkManager" +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:64 +msgid "" +"Network connections managed by NetworkManager are stored as files with " +"the :file:`.nmconnection` file extension in the " +":file:`/etc/NetworkManager/system-connections/` directory." +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:68 +msgid "" +"A few tools exists to aid to manipulate network connections managed by " +"NetworkManager:" +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:71 +msgid "nmcli - a command-line tool" +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:73 +msgid "" +"nmtui - a text user interface that provides a pseudo graphical menu in " +"the terminal" +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:76 +msgid "nm-connection-editor - a graphical user interface" +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:78 +msgid "" +"The method below uses the command line tool *nmcli* to modify network " +"connection." +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:82 +msgid "Identify the existing connection name:" +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:88 +msgid "The output will look like this:" +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:95 +msgid "" +"If a connection does not exist, it will need to be created with " +":command:`nmcli connection add`." +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:99 +msgid "" +"Modify the connection to use a static IP address. Replace the variables " +"in brackets with the appropriate values. *[CONNECTION_NAME]* should be " +"replaced with the NAME from the command above." +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:112 +msgid "" +"See the `nmcli developer page " +"`_ for more" +" configuration options. For advanced configurations, the " +":file:`/etc/NetworkManager/system-connections/*.nmconnection`. can be " +"edited directly." +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:118 +msgid "Restart the NetworkManager server to reload the DNS servers:" +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:125 +#: ../../../source/guides/maintenance/assign-static-ip.rst:179 +msgid "Verify your static IP address details have been set:" +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:136 +msgid "Using systemd-networkd" +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:138 +msgid "" +"Network connections managed by systemd-networkd are stored as files with " +"the :file:`.network` file extension the :file:`/etc/systemd/network/` " +"directory." +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:141 +msgid "" +"Files to manipulate network connections managed by systemd-networkd must " +"be created manually." +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:144 +msgid "" +"Create the :file:`/etc/systemd/network` directory if it doesn't exist " +"already:" +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:150 +msgid "" +"Create a :file:`.network` file and add the following content. Replace the" +" variables in brackets with the appropriate values. *[INTERFACE_NAME]* " +"should be replaced with LINK from the output of :command:`networkctl " +"list` ran previously." +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:168 +msgid "" +"See the `systemd-network man page " +"`_" +" for more configuration options." +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:172 +msgid "Restart the systemd-networkd service:" +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/guides/maintenance/bulk-provision.po b/localization/po/locale/zh_CN/LC_MESSAGES/guides/maintenance/bulk-provision.po new file mode 100644 index 00000000..99870949 --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/guides/maintenance/bulk-provision.po @@ -0,0 +1,201 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/guides/maintenance/bulk-provision.rst:4 +msgid "Bulk provision" +msgstr "" + +#: ../../../source/guides/maintenance/bulk-provision.rst:6 +msgid "" +"The |CL-ATTR| can be automatically provisioned in bulk using a " +"combination of the |CL| installer, **Ister**, and :abbr:`ICIS (Ister " +"Cloud Init Service)`. This guide covers how to perform a bulk provision " +"of |CL| using **Ister** and **ICIS**." +msgstr "" + +#: ../../../source/guides/maintenance/bulk-provision.rst:11 +msgid "" +"To configure a bulk provision, Ister configuration files and cloud-init " +"files must be defined. Hosting the configuration files in **ICIS** allows" +" **Ister** to use them during the installation. The Ister configuration " +"files allow us to customize the installation process. The cloud-init\\* " +"files allow us to customize the instance of the installation." +msgstr "" + +#: ../../../source/guides/maintenance/bulk-provision.rst:17 +msgid "" +"Figure 1 depicts the flow of information between a PXE server and a PXE " +"client that needs to be set up to perform a bulk provision." +msgstr "" + +#: ../../../source/guides/maintenance/bulk-provision.rst:23 +msgid "Figure 1: Bulk provision information flow" +msgstr "" + +#: ../../../source/guides/maintenance/bulk-provision.rst:26 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/guides/maintenance/bulk-provision.rst:28 +msgid "" +"Before performing a bulk provision, verify you have a PXE server capable " +"of performing network boots of |CL|. Please refer to our :ref:`guide on " +"how to perform an iPXE boot` using :abbr:`NAT (network " +"address translation)` for details." +msgstr "" + +#: ../../../source/guides/maintenance/bulk-provision.rst:33 +msgid "" +"Because a bulk provision relies on a reboot, ensure the following " +"preparations have been made:" +msgstr "" + +#: ../../../source/guides/maintenance/bulk-provision.rst:36 +msgid "No existing disks are bootable." +msgstr "" + +#: ../../../source/guides/maintenance/bulk-provision.rst:37 +msgid "" +"The network boot option must come immediately after the disk boot option " +"on any computer performing the installation." +msgstr "" + +#: ../../../source/guides/maintenance/bulk-provision.rst:41 +msgid "Configuration" +msgstr "" + +#: ../../../source/guides/maintenance/bulk-provision.rst:43 +msgid "" +"Install **ICIS** by following the getting started guide on the `ICIS " +"GitHub repository`_." +msgstr "" + +#: ../../../source/guides/maintenance/bulk-provision.rst:46 +msgid "" +"Create an Ister installation file and save it to the :file:`static/ister`" +" directory within the web hosting directory for **ICIS**. The " +"installation file is a JSON block and provides **Ister** with the steps " +"it needs to perform an installation. The file outlines what partitions, " +"file systems, and mount points **Ister** should set up. Lastly, the file " +"outlines which bundles to install. See our :ref:`bundles` document for " +"the list of available bundles. The following example shows the contents " +"of an Ister installation file:" +msgstr "" + +#: ../../../source/guides/maintenance/bulk-provision.rst:85 +msgid "" +"Every Ister installation file hosted on **ICIS** must contain the the " +"``IsterCloudInitSvc`` parameter as well as the ``os-cloudguest`` bundle. " +"These entries allow **Ister** to customize an instance of of an install." +msgstr "" + +#: ../../../source/guides/maintenance/bulk-provision.rst:90 +msgid "" +"Create an Ister configuration file to define the location of the Ister " +"installation file. Save it to the :file:`static/ister` directory within " +"the web hosting directory of **ICIS**. The following example shows an " +"Ister configuration file:" +msgstr "" + +#: ../../../source/guides/maintenance/bulk-provision.rst:99 +msgid "" +"Modify the iPXE boot script by adding a kernel parameter to the command " +"line for booting the network image. Add the kernel parameter " +"``isterconf`` with the location of the Ister configuration file hosted on" +" **ICIS** as the kernel parameter value. The following example shows an " +"iPXE boot script with the ``isterconf`` parameter:" +msgstr "" + +#: ../../../source/guides/maintenance/bulk-provision.rst:114 +msgid "" +"After the network image of |CL| boots, **Ister** inspects the parameters " +"used during boot in :file:`/proc/cmdline` to find the location of the " +"Ister configuration file." +msgstr "" + +#: ../../../source/guides/maintenance/bulk-provision.rst:118 +msgid "" +"Write a cloud-init document to customize the instance of the installation" +" according to your requirements. The `cloud-init Read the Docs`_ provides" +" a guide on how to write a cloud-init document. The guide covers the " +"customization options provided by cloud-init after an installation." +msgstr "" + +#: ../../../source/guides/maintenance/bulk-provision.rst:123 +msgid "" +"Save the cloud-init document to the :file:`static/roles` directory within" +" the web hosting directory for **ICIS** with the name of a role you would" +" like to create. For example, a role may be \"database\", \"web\", or " +"\"ciao\"." +msgstr "" + +#: ../../../source/guides/maintenance/bulk-provision.rst:127 +msgid "" +"After creating the roles, also known as cloud-init files, assign roles to" +" MAC addresses of PXE clients. To do so, modify the :file:`config.txt` " +"file in the ``static`` directory within the web hosting directory of " +"**ICIS**. The following example shows one such assignment:" +msgstr "" + +#: ../../../source/guides/maintenance/bulk-provision.rst:137 +msgid "" +"If MAC addresses of PXE clients are not listed within the " +":file:`config.txt` file, a default role for those MAC address may be " +"defined as follows:" +msgstr "" + +#: ../../../source/guides/maintenance/bulk-provision.rst:146 +msgid "Verify the following URLs are accessible on your local network:" +msgstr "" + +#: ../../../source/guides/maintenance/bulk-provision.rst:148 +msgid "``http://192.168.1.1:60000/icis/static/ister/ister.conf``" +msgstr "" + +#: ../../../source/guides/maintenance/bulk-provision.rst:149 +msgid "``http://192.168.1.1:60000/icis/static/ister/ister.json``" +msgstr "" + +#: ../../../source/guides/maintenance/bulk-provision.rst:150 +msgid "``http://192.168.1.1:60000/icis/get_config/``" +msgstr "" + +#: ../../../source/guides/maintenance/bulk-provision.rst:151 +msgid "``http://192.168.1.1:60000/icis/get_role/``" +msgstr "" + +#: ../../../source/guides/maintenance/bulk-provision.rst:152 +msgid "``http://192.168.1.1:60000/ipxe/ipxe_boot_script.txt``" +msgstr "" + +#: ../../../source/guides/maintenance/bulk-provision.rst:154 +msgid "Power on the PXE client and watch it boot and install |CL|." +msgstr "" + +#: ../../../source/guides/maintenance/bulk-provision.rst:156 +msgid "Power-cycle the PXE client and watch it customize the |CL| installation." +msgstr "" + +#: ../../../source/guides/maintenance/bulk-provision.rst:158 +msgid "" +"**Congratulations!** You have successfully performed a bulk provision of " +"|CL|." +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/guides/maintenance/cpu-performance.po b/localization/po/locale/zh_CN/LC_MESSAGES/guides/maintenance/cpu-performance.po new file mode 100644 index 00000000..36d8e81a --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/guides/maintenance/cpu-performance.po @@ -0,0 +1,257 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/guides/maintenance/cpu-performance.rst:4 +msgid "CPU Power and Performance" +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:6 +msgid "" +"Modern x86 :abbr:`CPUs (central processing units)` employ a number of " +"features and technologies to balance performance, energy, and thermal " +"efficiencies." +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:9 +msgid "" +"By default, |CL| prioritizes maximum CPU performance with the philosophy " +"that the faster the program finishes execution, the faster the CPU can " +"return to a low energy idle state. It is important to understand and " +"evaluate all of these technologies when troubleshooting or considering " +"changing the defaults." +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:18 +msgid "CPU power saving mechanisms" +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:20 +msgid "" +"C-states and P-states are both CPU power saving mechanisms that are " +"entered under different operating conditions. The tradeoff is a slightly " +"longer time to exit these states when the CPU is needed once again." +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:27 +msgid "C-states (idle states)" +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:29 +msgid "" +"C-states are hardware sleep states that are entered when it is determined" +" that the CPU is idle and not executing instructions." +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:32 +msgid "" +"C-states aim to reduce power utilization by increasingly reducing clock " +"frequency, voltages, and features in each state." +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:35 +msgid "" +"Although C-states can typically be limited or disabled in a system's UEFI" +" or BIOS configuration, these settings are overridden when the " +"`intel_idle driver`_ is in use." +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:39 +msgid "To view the current cpuidle driver run this command in a terminal:" +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:45 +msgid "" +"For troubleshooting, C-states can be limited with a kernel command line " +"boot parameter by adding :command:`processor.max_cstate=N " +"intel_idle.max_cstate=N` or completely disabled with " +":command:`idle=poll`." +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:51 +msgid "" +":command:`processor.max_cstate=0` is changed to " +":command:`processor.max_cstate=1` by the kernel to be a valid value." +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:53 +msgid "" +":command:`intel_idle.max_cstate=0` disables the Intel Idle driver, not " +"set it to C-state 0." +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:59 +msgid "P-states (performance states)" +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:61 +msgid "" +"P-states, also known as *SpeedStep* on Intel processors or *Cool'n'Quiet*" +" on AMD processors, are states entered while the CPU is active and " +"executing instructions." +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:65 +msgid "" +"P-states aim to reduce power utilization by adjusting CPU clock frequency" +" and voltages based on CPU demand." +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:68 +msgid "" +"P-states can typically be limited or disabled in a system's firmware " +"(UEFI/BIOS)." +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:71 +msgid "Turbo boost" +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:73 +msgid "" +"`Turbo Boost technology`_, found on some modern Intel CPUs, allows " +"core(s) on a processor to temporarily operate at a higher than rated CPU " +"clock frequency to accommodate demanding workloads if the CPU is under " +"defined power and thermal thresholds." +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:78 +msgid "" +"Turbo boost is an extension of P-states. As such, changing or limiting " +"C-states or P-states impact the ability of a process to enter Turbo " +"boost." +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:81 +msgid "" +"Turbo boost can be disabled in a system's UEFI or BIOS. Turbo boost can " +"also be disabled within |CL| with the command:" +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:89 +msgid "Linux CPU clock frequency scaling" +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:91 +msgid "" +"The CPUFreq subsystem in Linux allows the OS to control :ref:`C-states ` and :ref:`P-states ` via CPU drivers " +"and governors that provide algorithms that define how and when to enter " +"these states." +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:97 +msgid "Scaling driver" +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:99 +msgid "" +"Linux uses the `Intel P-state driver`_, *intel_pstate*, for modern Intel " +"processors from the Sandy Bridge generation or newer. Other processors " +"may default to the *acpi-cpufreq* driver which reads values from the " +"systems UEFI or BIOS." +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:104 +msgid "" +"To view the current CPU frequency scaling driver run this command in a " +"terminal:" +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:111 +msgid "Scaling governor" +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:113 +msgid "" +"|CL| sets the CPU governor to *performance* which calls for the CPU to " +"operate at maximum clock frequency. In other words, P-state P0. While " +"this may sound wasteful at first, it is important to remember that power " +"utilization does not increase significantly simply because of a locked " +"clock frequency without a workload." +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:119 +msgid "" +"To view the current CPU frequency scaling governor run this command in a " +"terminal:" +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:125 +msgid "To change the CPU frequency scaling governor:" +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:127 +msgid "Disable |CL| enforcement of certain power and performance settings:" +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:133 +msgid "" +"Change the governor. In the example below, the governor is set to " +"*performance*:" +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:140 +msgid "" +"The list of all governors can be found in the `Linux kernel documentation" +" on CPUFreq Governors`_." +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:145 +msgid "" +"The intel_pstate driver only supports *performance* and *powersave* " +"governors." +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:148 +msgid "Thermal management" +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:150 +msgid "" +"`thermald`_ is a Linux thermal management daemon used to prevent the " +"overheating of platforms. When temperature thresholds are exceeded, " +"thermald forces a C-state by inserting CPU sleep cycles and adjusts " +"available cooling methods. This can be especially desirable for laptops." +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:155 +msgid "" +"By default, thermald is disabled in |CL| and starts automatically if " +"battery power is detected. thermald can be manually enabled using the " +"systemd service by running the command:" +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:164 +msgid "For more information, see the thermald man page:" +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:170 +msgid "" +"`ThermalMonitor`_ is a GUI application that can visually graph and log " +"temperatures from thermald. To use ThermalMonitor, add the desktop-apps-" +"extras bundle and add your user account to the power group:" +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:182 +msgid "" +"After adding a new group you must log out and log back in for the new " +"group to take affect." +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/guides/maintenance/developer-workstation.po b/localization/po/locale/zh_CN/LC_MESSAGES/guides/maintenance/developer-workstation.po new file mode 100644 index 00000000..53651eda --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/guides/maintenance/developer-workstation.po @@ -0,0 +1,196 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/guides/maintenance/developer-workstation.rst:4 +msgid "Developer Workstation" +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:6 +msgid "" +"*Developer Workstation* helps you find the :ref:`bundles-about` you need " +"to start your |CL-ATTR| development project." +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:9 +msgid "" +"Before continuing, we recommend that you learn how to use :ref:`swupd " +"`. Visit our :ref:`swupd-about` page to understand how |CL| " +"simplifies software versioning compared to other Linux\\* distributions." +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:15 +msgid "Workstation Setup" +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:17 +msgid "" +"This guide helps you understand the minimum bundles required to get " +"started. After installing them, you can add more bundles relevant to your" +" use case. To run any process required for |CL| development, you can add " +"the large bundle :ref:`*os-clr-on-clr* `. However, " +"given how many packages this bundle contains, you may want instead to " +"deploy a leaner OS with only those bundles relevant to your project. " +"Developer Workstation responds to this need." +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:25 +msgid "" +"Use Table 1, *Developer Profiles*, to identify the *minimum required " +"bundles* to get started developing based on your role or project. While " +"your role may not neatly fit in one of these categories, consider using " +"Table 1 as a starting point." +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:29 +msgid "**Table 1. Developer Profiles**" +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:33 +msgid "|CL| Bundle" +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:34 +msgid "*Internet of Things (IoT)*" +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:35 +msgid "*System Administrator*" +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:36 +msgid "*Client/Cloud/Web Developer*" +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:38 +msgid "`editors`" +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:39 +#: ../../../source/guides/maintenance/developer-workstation.rst:40 +#: ../../../source/guides/maintenance/developer-workstation.rst:41 +#: ../../../source/guides/maintenance/developer-workstation.rst:44 +#: ../../../source/guides/maintenance/developer-workstation.rst:45 +#: ../../../source/guides/maintenance/developer-workstation.rst:46 +#: ../../../source/guides/maintenance/developer-workstation.rst:49 +#: ../../../source/guides/maintenance/developer-workstation.rst:50 +#: ../../../source/guides/maintenance/developer-workstation.rst:51 +#: ../../../source/guides/maintenance/developer-workstation.rst:55 +#: ../../../source/guides/maintenance/developer-workstation.rst:56 +#: ../../../source/guides/maintenance/developer-workstation.rst:60 +#: ../../../source/guides/maintenance/developer-workstation.rst:61 +#: ../../../source/guides/maintenance/developer-workstation.rst:65 +#: ../../../source/guides/maintenance/developer-workstation.rst:66 +#: ../../../source/guides/maintenance/developer-workstation.rst:69 +#: ../../../source/guides/maintenance/developer-workstation.rst:70 +#: ../../../source/guides/maintenance/developer-workstation.rst:71 +#: ../../../source/guides/maintenance/developer-workstation.rst:76 +msgid "✓" +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:43 +msgid "`network-basic`" +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:48 +msgid "`openssh-server`" +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:53 +msgid "`webserver-basic`" +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:58 +msgid "`application-server`" +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:63 +msgid "`database-basic`" +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:68 +msgid "`desktop-autostart`" +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:73 +msgid "`dev-utils`" +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:79 +msgid "`swupd` search" +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:81 +msgid "" +"We recommend learning about :ref:`swupd `, to learn the " +"commands to search for and add bundles relevant to your project." +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:84 +msgid "" +"The guide provides an :ref:`example `" +" that shows you how to:" +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:87 +msgid "Use `swupd` to search for bundles" +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:88 +msgid "Use `swupd` to add bundles" +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:91 +msgid "Core Concepts" +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:93 +msgid "" +"We recommend that you understand these core concepts in |CL| *before* " +"developing your project." +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:96 +msgid ":ref:`Bundles `" +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:97 +msgid ":ref:`Software update `" +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:98 +msgid ":ref:`Mixer `" +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:99 +msgid ":ref:`Autospec `" +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:102 +msgid "Other resources for developers" +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:104 +msgid "`Developer Tooling Framework`_ for |CL|" +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:105 +msgid "`Bundle definition files`_" +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/guides/maintenance/download-verify-decompress-linux.po b/localization/po/locale/zh_CN/LC_MESSAGES/guides/maintenance/download-verify-decompress-linux.po new file mode 100644 index 00000000..06347c58 --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/guides/maintenance/download-verify-decompress-linux.po @@ -0,0 +1,284 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:4 +msgid "Download, verify, and decompress a |CL-ATTR| image on Linux" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:6 +msgid "" +"This guide describes the types of |CL| images available, where to " +"download them, how to verify the integrity of an image, and how to " +"decompress it." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:9 +msgid "Instructions for other operating systems are available:" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:11 +msgid ":ref:`download-verify-decompress-mac`" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:12 +msgid ":ref:`download-verify-decompress-windows`" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:15 +msgid "Image types" +msgstr "" + +#: ../../../source/reference/image-types.rst:3 +msgid "" +"|CL-ATTR| offers many types of `images`_ for different platforms and " +"environments." +msgstr "" + +#: ../../../source/reference/image-types.rst:7 +msgid "The naming convention of a |CL| image filename is:" +msgstr "" + +#: ../../../source/reference/image-types.rst:13 +msgid "The *[version number]* field specifies the version number." +msgstr "" + +#: ../../../source/reference/image-types.rst:15 +msgid "" +"The *[image type]* field specifies the type of image and its " +"corresponding file format." +msgstr "" + +#: ../../../source/reference/image-types.rst:18 +msgid "" +"The *[compression type]* field specifies the compression type. Two types " +"of compressions are used: GNU\\* zip (*.gz*) and XZ (*.xz*)." +msgstr "" + +#: ../../../source/reference/image-types.rst:23 +msgid "" +"Table 1 lists the currently available images that are platform " +"independent. Table 2 lists the currently available images that are " +"platform specific." +msgstr "" + +#: ../../../source/reference/image-types.rst:26 +msgid "Table 1: Types of platform-independent |CL| images" +msgstr "" + +#: ../../../source/reference/image-types.rst:30 +#: ../../../source/reference/image-types.rst:43 +msgid "Image Type" +msgstr "" + +#: ../../../source/reference/image-types.rst:31 +#: ../../../source/reference/image-types.rst:44 +msgid "Description" +msgstr "" + +#: ../../../source/reference/image-types.rst:33 +msgid "live-desktop.img or live-desktop.iso" +msgstr "" + +#: ../../../source/reference/image-types.rst:34 +msgid "Image for booting to GNOME\\* desktop to preview or install the OS." +msgstr "" + +#: ../../../source/reference/image-types.rst:36 +msgid "live-server.img or live-server.iso" +msgstr "" + +#: ../../../source/reference/image-types.rst:37 +msgid "Image for booting to server command prompt to preview or install the OS." +msgstr "" + +#: ../../../source/reference/image-types.rst:39 +msgid "Table 2: Types of platform-specific |CL| images" +msgstr "" + +#: ../../../source/reference/image-types.rst:46 +msgid "aws.img" +msgstr "" + +#: ../../../source/reference/image-types.rst:47 +msgid "Image suitable for use with Amazon\\* AWS\\*." +msgstr "" + +#: ../../../source/reference/image-types.rst:49 +msgid "azure.vhd" +msgstr "" + +#: ../../../source/reference/image-types.rst:50 +msgid "Virtual Hard Disk for use on Microsoft\\* Azure\\* cloud platform." +msgstr "" + +#: ../../../source/reference/image-types.rst:52 +msgid "azure-docker.vhd" +msgstr "" + +#: ../../../source/reference/image-types.rst:53 +msgid "" +"Virtual Hard Disk for use on Microsoft Azure cloud platform with " +"Docker\\* pre-installed." +msgstr "" + +#: ../../../source/reference/image-types.rst:55 +msgid "azure-machine-learning.vhd" +msgstr "" + +#: ../../../source/reference/image-types.rst:56 +msgid "" +"Virtual Hard Disk for use on Microsoft Azure cloud platform with the " +"`machine-learning-basic` bundle installed." +msgstr "" + +#: ../../../source/reference/image-types.rst:58 +msgid "cloudguest.img" +msgstr "" + +#: ../../../source/reference/image-types.rst:59 +msgid "" +"Image with generic cloud guest virtual machine (VM) requirements " +"installed." +msgstr "" + +#: ../../../source/reference/image-types.rst:61 +msgid "gce.tar" +msgstr "" + +#: ../../../source/reference/image-types.rst:62 +msgid "Image with the Google Compute Engine (GCE) specific kernel." +msgstr "" + +#: ../../../source/reference/image-types.rst:64 +msgid "hyperv.vhdx" +msgstr "" + +#: ../../../source/reference/image-types.rst:65 +msgid "" +"Virtual Hard Disk for use with Microsoft Hyper-V\\* hypervisor. Includes " +"`optimized kernel`_ for Hyper-V." +msgstr "" + +#: ../../../source/reference/image-types.rst:67 +msgid "kvm.img" +msgstr "" + +#: ../../../source/reference/image-types.rst:68 +msgid "" +"Image for booting in a simple VM with start_qemu.sh. Includes `optimized " +"kernel`_ for KVM." +msgstr "" + +#: ../../../source/reference/image-types.rst:71 +msgid "kvm-legacy.img" +msgstr "" + +#: ../../../source/reference/image-types.rst:72 +msgid "" +"Image for booting in a simple VM using legacy BIOS, if using " +"start_qemu.sh make sure to remove -bios parameter." +msgstr "" + +#: ../../../source/reference/image-types.rst:74 +msgid "pxe.tar" +msgstr "" + +#: ../../../source/reference/image-types.rst:75 +msgid "Image suitable for use with PXE server." +msgstr "" + +#: ../../../source/reference/image-types.rst:77 +msgid "vmware.vmdk" +msgstr "" + +#: ../../../source/reference/image-types.rst:78 +msgid "" +"Virtual Machine Disk for VMware\\* platforms inclduing Player, " +"Workstation, and ESXi." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:23 +msgid "Verify the integrity of the |CL| image" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:25 +msgid "" +"Before you use a downloaded |CL| image, verify its integrity. This action" +" eliminates the small chance of a corrupted image due to download issues." +" To support verification, each released |CL| image has a corresponding " +"SHA512 checksum file designated with the suffix `-SHA512SUMS`." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:30 +msgid "Download the corresponding SHA512 checksum file of your |CL| image." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:31 +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:57 +msgid "Start a terminal emulator." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:32 +msgid "Go to the directory with the downloaded image and checksum files." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:33 +msgid "" +"Verify the integrity of the image and compare it to its original checksum" +" with the command:" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:40 +msgid "" +"If the checksum of the downloaded image is different than the original " +"checksum, a warning is displayed with a message indicating the computed " +"checksum does **not** match. Otherwise, the name of the image is printed " +"on the screen followed by `OK`." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:45 +msgid "" +"For a more in-depth discussion of image verification including checking " +"the certificate see :ref:`image-content-validation`." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:51 +msgid "Decompress the |CL| image" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:53 +msgid "" +"Released |CL| images are compressed with either GNU zip (*.gz*) or XZ " +"(*.xz*). The compression type depends on the target platform or " +"environment. To decompress the image, follow these steps:" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:58 +msgid "Go to the directory with the downloaded image." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:60 +msgid "To decompress an XZ image, enter:" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:66 +msgid "To decompress a GZ image, enter:" +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/guides/maintenance/download-verify-decompress-mac.po b/localization/po/locale/zh_CN/LC_MESSAGES/guides/maintenance/download-verify-decompress-mac.po new file mode 100644 index 00000000..e71acf29 --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/guides/maintenance/download-verify-decompress-mac.po @@ -0,0 +1,275 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/guides/maintenance/download-verify-decompress-mac.rst:4 +msgid "Download, verify, and decompress a |CL-ATTR| image on macOS\\*" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-mac.rst:6 +msgid "" +"This guide describes the types of |CL| images available, where to " +"download them, how to verify the integrity of an image, and how to " +"decompress it." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-mac.rst:9 +msgid "Instructions for other operating systems are available:" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-mac.rst:11 +msgid ":ref:`download-verify-decompress-linux`" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-mac.rst:12 +msgid ":ref:`download-verify-decompress-windows`" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-mac.rst:15 +msgid "Image types" +msgstr "" + +#: ../../../source/reference/image-types.rst:3 +msgid "" +"|CL-ATTR| offers many types of `images`_ for different platforms and " +"environments." +msgstr "" + +#: ../../../source/reference/image-types.rst:7 +msgid "The naming convention of a |CL| image filename is:" +msgstr "" + +#: ../../../source/reference/image-types.rst:13 +msgid "The *[version number]* field specifies the version number." +msgstr "" + +#: ../../../source/reference/image-types.rst:15 +msgid "" +"The *[image type]* field specifies the type of image and its " +"corresponding file format." +msgstr "" + +#: ../../../source/reference/image-types.rst:18 +msgid "" +"The *[compression type]* field specifies the compression type. Two types " +"of compressions are used: GNU\\* zip (*.gz*) and XZ (*.xz*)." +msgstr "" + +#: ../../../source/reference/image-types.rst:23 +msgid "" +"Table 1 lists the currently available images that are platform " +"independent. Table 2 lists the currently available images that are " +"platform specific." +msgstr "" + +#: ../../../source/reference/image-types.rst:26 +msgid "Table 1: Types of platform-independent |CL| images" +msgstr "" + +#: ../../../source/reference/image-types.rst:30 +#: ../../../source/reference/image-types.rst:43 +msgid "Image Type" +msgstr "" + +#: ../../../source/reference/image-types.rst:31 +#: ../../../source/reference/image-types.rst:44 +msgid "Description" +msgstr "" + +#: ../../../source/reference/image-types.rst:33 +msgid "live-desktop.img or live-desktop.iso" +msgstr "" + +#: ../../../source/reference/image-types.rst:34 +msgid "Image for booting to GNOME\\* desktop to preview or install the OS." +msgstr "" + +#: ../../../source/reference/image-types.rst:36 +msgid "live-server.img or live-server.iso" +msgstr "" + +#: ../../../source/reference/image-types.rst:37 +msgid "Image for booting to server command prompt to preview or install the OS." +msgstr "" + +#: ../../../source/reference/image-types.rst:39 +msgid "Table 2: Types of platform-specific |CL| images" +msgstr "" + +#: ../../../source/reference/image-types.rst:46 +msgid "aws.img" +msgstr "" + +#: ../../../source/reference/image-types.rst:47 +msgid "Image suitable for use with Amazon\\* AWS\\*." +msgstr "" + +#: ../../../source/reference/image-types.rst:49 +msgid "azure.vhd" +msgstr "" + +#: ../../../source/reference/image-types.rst:50 +msgid "Virtual Hard Disk for use on Microsoft\\* Azure\\* cloud platform." +msgstr "" + +#: ../../../source/reference/image-types.rst:52 +msgid "azure-docker.vhd" +msgstr "" + +#: ../../../source/reference/image-types.rst:53 +msgid "" +"Virtual Hard Disk for use on Microsoft Azure cloud platform with " +"Docker\\* pre-installed." +msgstr "" + +#: ../../../source/reference/image-types.rst:55 +msgid "azure-machine-learning.vhd" +msgstr "" + +#: ../../../source/reference/image-types.rst:56 +msgid "" +"Virtual Hard Disk for use on Microsoft Azure cloud platform with the " +"`machine-learning-basic` bundle installed." +msgstr "" + +#: ../../../source/reference/image-types.rst:58 +msgid "cloudguest.img" +msgstr "" + +#: ../../../source/reference/image-types.rst:59 +msgid "" +"Image with generic cloud guest virtual machine (VM) requirements " +"installed." +msgstr "" + +#: ../../../source/reference/image-types.rst:61 +msgid "gce.tar" +msgstr "" + +#: ../../../source/reference/image-types.rst:62 +msgid "Image with the Google Compute Engine (GCE) specific kernel." +msgstr "" + +#: ../../../source/reference/image-types.rst:64 +msgid "hyperv.vhdx" +msgstr "" + +#: ../../../source/reference/image-types.rst:65 +msgid "" +"Virtual Hard Disk for use with Microsoft Hyper-V\\* hypervisor. Includes " +"`optimized kernel`_ for Hyper-V." +msgstr "" + +#: ../../../source/reference/image-types.rst:67 +msgid "kvm.img" +msgstr "" + +#: ../../../source/reference/image-types.rst:68 +msgid "" +"Image for booting in a simple VM with start_qemu.sh. Includes `optimized " +"kernel`_ for KVM." +msgstr "" + +#: ../../../source/reference/image-types.rst:71 +msgid "kvm-legacy.img" +msgstr "" + +#: ../../../source/reference/image-types.rst:72 +msgid "" +"Image for booting in a simple VM using legacy BIOS, if using " +"start_qemu.sh make sure to remove -bios parameter." +msgstr "" + +#: ../../../source/reference/image-types.rst:74 +msgid "pxe.tar" +msgstr "" + +#: ../../../source/reference/image-types.rst:75 +msgid "Image suitable for use with PXE server." +msgstr "" + +#: ../../../source/reference/image-types.rst:77 +msgid "vmware.vmdk" +msgstr "" + +#: ../../../source/reference/image-types.rst:78 +msgid "" +"Virtual Machine Disk for VMware\\* platforms inclduing Player, " +"Workstation, and ESXi." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-mac.rst:23 +msgid "Verify the integrity of the |CL| image" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-mac.rst:25 +msgid "" +"Before you use a downloaded |CL| image, verify its integrity. This action" +" eliminates the small chance of a corrupted image due to download issues." +" To support verification, each released |CL| image has a corresponding " +"SHA512 checksum file designated with the suffix `-SHA512SUMS`." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-mac.rst:30 +msgid "Download the corresponding SHA512 checksum file of your |CL| image." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-mac.rst:31 +#: ../../../source/guides/maintenance/download-verify-decompress-mac.rst:51 +msgid "Start the Terminal app." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-mac.rst:32 +msgid "Go to the directory with the downloaded image and checksum files." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-mac.rst:33 +msgid "" +"Verify the integrity of the image and compare it to its original checksum" +" with the command:" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-mac.rst:40 +msgid "" +"If the checksum of the downloaded image is different than the original " +"checksum, the differences will be displayed. Otherwise, an empty output " +"indicates a match and your downloaded image is good." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-mac.rst:45 +msgid "Decompress the |CL| image" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-mac.rst:47 +msgid "" +"We compress all released |CL| images by default with either GNU zip " +"(`.gz`) or xz (`.xz`). The compression type we use depends on the target " +"platform or environment. To decompress the image, follow these steps:" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-mac.rst:52 +msgid "Go to the directory with the downloaded image." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-mac.rst:53 +msgid "" +"Use the :command:`gunzip` command to decompress either compression type. " +"For example:" +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/guides/maintenance/download-verify-decompress-windows.po b/localization/po/locale/zh_CN/LC_MESSAGES/guides/maintenance/download-verify-decompress-windows.po new file mode 100644 index 00000000..5cba54ac --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/guides/maintenance/download-verify-decompress-windows.po @@ -0,0 +1,279 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:4 +msgid "Download, verify, and decompress a |CL-ATTR| image on Windows\\*" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:6 +msgid "" +"This guide describes the types of |CL-ATTR| images available, where to " +"download them, how to verify the integrity of an image, and how to " +"decompress it." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:9 +msgid "Instructions for other operating systems are available:" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:11 +msgid ":ref:`download-verify-decompress-linux`" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:12 +msgid ":ref:`download-verify-decompress-mac`" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:15 +msgid "Image types" +msgstr "" + +#: ../../../source/reference/image-types.rst:3 +msgid "" +"|CL-ATTR| offers many types of `images`_ for different platforms and " +"environments." +msgstr "" + +#: ../../../source/reference/image-types.rst:7 +msgid "The naming convention of a |CL| image filename is:" +msgstr "" + +#: ../../../source/reference/image-types.rst:13 +msgid "The *[version number]* field specifies the version number." +msgstr "" + +#: ../../../source/reference/image-types.rst:15 +msgid "" +"The *[image type]* field specifies the type of image and its " +"corresponding file format." +msgstr "" + +#: ../../../source/reference/image-types.rst:18 +msgid "" +"The *[compression type]* field specifies the compression type. Two types " +"of compressions are used: GNU\\* zip (*.gz*) and XZ (*.xz*)." +msgstr "" + +#: ../../../source/reference/image-types.rst:23 +msgid "" +"Table 1 lists the currently available images that are platform " +"independent. Table 2 lists the currently available images that are " +"platform specific." +msgstr "" + +#: ../../../source/reference/image-types.rst:26 +msgid "Table 1: Types of platform-independent |CL| images" +msgstr "" + +#: ../../../source/reference/image-types.rst:30 +#: ../../../source/reference/image-types.rst:43 +msgid "Image Type" +msgstr "" + +#: ../../../source/reference/image-types.rst:31 +#: ../../../source/reference/image-types.rst:44 +msgid "Description" +msgstr "" + +#: ../../../source/reference/image-types.rst:33 +msgid "live-desktop.img or live-desktop.iso" +msgstr "" + +#: ../../../source/reference/image-types.rst:34 +msgid "Image for booting to GNOME\\* desktop to preview or install the OS." +msgstr "" + +#: ../../../source/reference/image-types.rst:36 +msgid "live-server.img or live-server.iso" +msgstr "" + +#: ../../../source/reference/image-types.rst:37 +msgid "Image for booting to server command prompt to preview or install the OS." +msgstr "" + +#: ../../../source/reference/image-types.rst:39 +msgid "Table 2: Types of platform-specific |CL| images" +msgstr "" + +#: ../../../source/reference/image-types.rst:46 +msgid "aws.img" +msgstr "" + +#: ../../../source/reference/image-types.rst:47 +msgid "Image suitable for use with Amazon\\* AWS\\*." +msgstr "" + +#: ../../../source/reference/image-types.rst:49 +msgid "azure.vhd" +msgstr "" + +#: ../../../source/reference/image-types.rst:50 +msgid "Virtual Hard Disk for use on Microsoft\\* Azure\\* cloud platform." +msgstr "" + +#: ../../../source/reference/image-types.rst:52 +msgid "azure-docker.vhd" +msgstr "" + +#: ../../../source/reference/image-types.rst:53 +msgid "" +"Virtual Hard Disk for use on Microsoft Azure cloud platform with " +"Docker\\* pre-installed." +msgstr "" + +#: ../../../source/reference/image-types.rst:55 +msgid "azure-machine-learning.vhd" +msgstr "" + +#: ../../../source/reference/image-types.rst:56 +msgid "" +"Virtual Hard Disk for use on Microsoft Azure cloud platform with the " +"`machine-learning-basic` bundle installed." +msgstr "" + +#: ../../../source/reference/image-types.rst:58 +msgid "cloudguest.img" +msgstr "" + +#: ../../../source/reference/image-types.rst:59 +msgid "" +"Image with generic cloud guest virtual machine (VM) requirements " +"installed." +msgstr "" + +#: ../../../source/reference/image-types.rst:61 +msgid "gce.tar" +msgstr "" + +#: ../../../source/reference/image-types.rst:62 +msgid "Image with the Google Compute Engine (GCE) specific kernel." +msgstr "" + +#: ../../../source/reference/image-types.rst:64 +msgid "hyperv.vhdx" +msgstr "" + +#: ../../../source/reference/image-types.rst:65 +msgid "" +"Virtual Hard Disk for use with Microsoft Hyper-V\\* hypervisor. Includes " +"`optimized kernel`_ for Hyper-V." +msgstr "" + +#: ../../../source/reference/image-types.rst:67 +msgid "kvm.img" +msgstr "" + +#: ../../../source/reference/image-types.rst:68 +msgid "" +"Image for booting in a simple VM with start_qemu.sh. Includes `optimized " +"kernel`_ for KVM." +msgstr "" + +#: ../../../source/reference/image-types.rst:71 +msgid "kvm-legacy.img" +msgstr "" + +#: ../../../source/reference/image-types.rst:72 +msgid "" +"Image for booting in a simple VM using legacy BIOS, if using " +"start_qemu.sh make sure to remove -bios parameter." +msgstr "" + +#: ../../../source/reference/image-types.rst:74 +msgid "pxe.tar" +msgstr "" + +#: ../../../source/reference/image-types.rst:75 +msgid "Image suitable for use with PXE server." +msgstr "" + +#: ../../../source/reference/image-types.rst:77 +msgid "vmware.vmdk" +msgstr "" + +#: ../../../source/reference/image-types.rst:78 +msgid "" +"Virtual Machine Disk for VMware\\* platforms inclduing Player, " +"Workstation, and ESXi." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:23 +msgid "Verify the integrity of the |CL| image" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:25 +msgid "" +"Before you use a downloaded |CL| image, verify its integrity. This action" +" eliminates the small chance of a corrupted image due to download issues." +" To support verification, each released |CL| image has a corresponding " +"SHA512 checksum file designated with the suffix `-SHA512SUMS`." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:30 +msgid "Download the corresponding SHA512 checksum file of your |CL| image." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:31 +msgid "Start Command Prompt." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:32 +msgid "Go to the directory with the downloaded image and checksum files." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:33 +msgid "Get the SHA512 checksum of the image with the command:" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:39 +msgid "" +"Manually compare the output with the original checksum value shown in the" +" downloaded checksum file and make sure they match." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:43 +msgid "Decompress the |CL| image" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:45 +msgid "" +"Released |CL| images are compressed with either GNU zip (*.gz*) or XZ " +"(*.xz*). The compression type depends on the target platform or " +"environment. To decompress the image, follow these steps:" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:49 +msgid "Download and install `7-Zip`_." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:50 +msgid "Go to the directory with the downloaded image and right-click it." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:51 +msgid "" +"From the pop-up menu, select :guilabel:`7-Zip` and select " +":guilabel:`Extract Here` as shown in Figure 1." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:58 +msgid "Figure 1: Windows 7-Zip extract file." +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/guides/maintenance/enable-user-space.po b/localization/po/locale/zh_CN/LC_MESSAGES/guides/maintenance/enable-user-space.po new file mode 100644 index 00000000..67358180 --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/guides/maintenance/enable-user-space.po @@ -0,0 +1,155 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/guides/maintenance/enable-user-space.rst:4 +msgid "Create and enable a new user space" +msgstr "" + +#: ../../../source/guides/maintenance/enable-user-space.rst:6 +msgid "" +"This section provides steps to complete the following basic setup tasks " +"for a newly installed |CL-ATTR| system:" +msgstr "" + +#: ../../../source/guides/maintenance/enable-user-space.rst:14 +msgid "Create a new user" +msgstr "" + +#: ../../../source/guides/maintenance/enable-user-space.rst:16 +msgid "" +"To create a new user and set a password for that user, enter the " +"following commands as a `root` user:" +msgstr "" + +#: ../../../source/guides/maintenance/enable-user-space.rst:24 +msgid "" +"Replace the with the name of the user account you want to create" +" including the password for that user. The :command:`passwd` command " +"prompts you to enter a new password. Retype the new password for the new " +"user account just created." +msgstr "" + +#: ../../../source/guides/maintenance/enable-user-space.rst:30 +msgid "Add the new user to the `wheel` group" +msgstr "" + +#: ../../../source/guides/maintenance/enable-user-space.rst:32 +msgid "" +"Before logging off as root and logging into your new user account, enable" +" the :command:`sudo` command for your new ``." +msgstr "" + +#: ../../../source/guides/maintenance/enable-user-space.rst:35 +msgid "" +"To be able to execute all applications with root privileges, add the " +"`` to the `wheel group`_." +msgstr "" + +#: ../../../source/guides/maintenance/enable-user-space.rst:38 +msgid "Add `` to the `wheel` group:" +msgstr "" + +#: ../../../source/guides/maintenance/enable-user-space.rst:44 +msgid "Log out of root and into the new ``." +msgstr "" + +#: ../../../source/guides/maintenance/enable-user-space.rst:46 +msgid "To log off as root, enter :command:`exit`." +msgstr "" + +#: ../../../source/guides/maintenance/enable-user-space.rst:48 +msgid "Enter the new `` and the password created earlier." +msgstr "" + +#: ../../../source/guides/maintenance/enable-user-space.rst:50 +msgid "You will now be in the home directory of ``." +msgstr "" + +#: ../../../source/guides/maintenance/enable-user-space.rst:53 +msgid "Install and update the OS software to its current version" +msgstr "" + +#: ../../../source/guides/maintenance/enable-user-space.rst:55 +msgid "" +"The |CL| software utility :ref:`swupd ` allows you to " +"perform system updates while reaping the benefits of upstream " +"development." +msgstr "" + +#: ../../../source/guides/maintenance/enable-user-space.rst:57 +msgid "To update your newly installed OS, run:" +msgstr "" + +#: ../../../source/guides/maintenance/enable-user-space.rst:64 +msgid "Add a bundle" +msgstr "" + +#: ../../../source/guides/maintenance/enable-user-space.rst:66 +msgid "" +"Software applications are installed as bundles using the command " +":command:`swupd bundle-add`. Experienced Linux* users might compare " +"`swupd` to running :command:`apt-get` or :command:`yum install` for " +"package management. Yet |CL| manages packages at the level of bundles, " +"which are integrated stacks of packages." +msgstr "" + +#: ../../../source/guides/maintenance/enable-user-space.rst:72 +msgid "" +"For example, the `sysadmin-basic` bundle installs the majority of " +"applications useful to a system administrator. To install it, enter:" +msgstr "" + +#: ../../../source/guides/maintenance/enable-user-space.rst:78 +msgid "" +"View a full list of bundles and packages installed with the `sysadmin-" +"basic`_ bundle. You can also view `all bundles`_ for |CL|, active or " +"deprecated." +msgstr "" + +#: ../../../source/guides/maintenance/enable-user-space.rst:80 +msgid "" +"Expand your knowledge of :command:`swupd` and check out our developer " +"resources:" +msgstr "" + +#: ../../../source/guides/maintenance/enable-user-space.rst:82 +msgid ":ref:`swupd-guide`" +msgstr "" + +#: ../../../source/guides/maintenance/enable-user-space.rst:83 +msgid ":ref:`developer-workstation`" +msgstr "" + +#: ../../../source/guides/maintenance/enable-user-space.rst:86 +msgid "Next steps" +msgstr "" + +#: ../../../source/guides/maintenance/enable-user-space.rst:88 +msgid "Check out our guides and tutorials." +msgstr "" + +#: ../../../source/guides/maintenance/enable-user-space.rst:90 +msgid ":ref:`guides`" +msgstr "" + +#: ../../../source/guides/maintenance/enable-user-space.rst:91 +msgid ":ref:`tutorials`" +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/guides/maintenance/fix-broken-install.po b/localization/po/locale/zh_CN/LC_MESSAGES/guides/maintenance/fix-broken-install.po new file mode 100644 index 00000000..a1b92778 --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/guides/maintenance/fix-broken-install.po @@ -0,0 +1,159 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/guides/maintenance/fix-broken-install.rst:4 +msgid "Fix a broken installation of |CL-ATTR|" +msgstr "" + +#: ../../../source/guides/maintenance/fix-broken-install.rst:6 +msgid "" +"This guide explains how to fix a broken installation of |CL| using a live" +" desktop image on a USB. It's assumed you already installed |CL| on a " +"target system, but your operating system does not boot or function " +"properly." +msgstr "" + +#: ../../../source/guides/maintenance/fix-broken-install.rst:10 +msgid "" +"This process can only verify and fix files that :ref:`swupd`" +" owns in :file:`/usr`. Files outside of this path, such as /home/, /etc, " +"/var, etc., cannot be repaired by this process." +msgstr "" + +#: ../../../source/guides/maintenance/fix-broken-install.rst:15 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/guides/maintenance/fix-broken-install.rst:17 +msgid "" +":ref:`Download and install the live desktop image on a USB `" +msgstr "" + +#: ../../../source/guides/maintenance/fix-broken-install.rst:20 +msgid "Boot a live desktop image to fix target system" +msgstr "" + +#: ../../../source/guides/maintenance/fix-broken-install.rst:22 +msgid "Boot the |CL| live desktop image." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:4 +msgid "Install from live image" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:6 +msgid "" +"After you download and burn the live desktop image on a USB drive, follow" +" these steps." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:9 +msgid "Insert the USB drive into an available USB slot." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:11 +msgid "Power on the system." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:13 +msgid "" +"Open the system BIOS setup menu by pressing the :kbd:`F2` key. Your BIOS " +"setup menu entry point may vary." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:16 +msgid "" +"In the setup menu, enable the UEFI boot and set the USB drive as the " +"first option in the device boot order." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:19 +msgid "Save these settings, e.g. :kbd:`F10`, and exit." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:21 +msgid "Reboot the target system." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:23 +msgid "Select :guilabel:`Clear Linux OS` in the boot menu, shown in Figure 1." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:29 +msgid "Figure 1: Clear Linux OS in boot menu" +msgstr "" + +#: ../../../source/guides/maintenance/fix-broken-install.rst:29 +msgid "Mount root partition, verify, and fix" +msgstr "" + +#: ../../../source/guides/maintenance/fix-broken-install.rst:31 +msgid "Open a Terminal window." +msgstr "" + +#: ../../../source/guides/maintenance/fix-broken-install.rst:33 +msgid "Assure the system is connected to the network." +msgstr "" + +#: ../../../source/guides/maintenance/fix-broken-install.rst:35 +msgid "Mount the system’s root partition." +msgstr "" + +#: ../../../source/guides/maintenance/fix-broken-install.rst:37 +msgid "To find the root partition, run:" +msgstr "" + +#: ../../../source/guides/maintenance/fix-broken-install.rst:43 +msgid "We'll use `/dev/sda3/` as the root partition example." +msgstr "" + +#: ../../../source/guides/maintenance/fix-broken-install.rst:45 +msgid "Next, mount the partition to the `/mnt` folder." +msgstr "" + +#: ../../../source/guides/maintenance/fix-broken-install.rst:51 +msgid "" +"Verify that you mounted the correct root partition by checking for some " +"files commonly found on |CL| systems." +msgstr "" + +#: ../../../source/guides/maintenance/fix-broken-install.rst:59 +msgid "Next, run swupd to fix any issues on the target system." +msgstr "" + +#: ../../../source/guides/maintenance/fix-broken-install.rst:65 +msgid ":ref:`Learn more about how swupd works `." +msgstr "" + +#: ../../../source/guides/maintenance/fix-broken-install.rst:67 +msgid "After the process is complete, unmount the root partition:" +msgstr "" + +#: ../../../source/guides/maintenance/fix-broken-install.rst:73 +msgid "" +"Reboot the system, remove the live desktop USB drive, and boot into the " +"repaired system." +msgstr "" + +#: ../../../source/guides/maintenance/fix-broken-install.rst:80 +msgid "**Congratulations!** You successfully restored |CL|." +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/guides/maintenance/hostname.po b/localization/po/locale/zh_CN/LC_MESSAGES/guides/maintenance/hostname.po new file mode 100644 index 00000000..d77e1889 --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/guides/maintenance/hostname.po @@ -0,0 +1,110 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/guides/maintenance/hostname.rst:4 +msgid "Modify hostname on |CL-ATTR|" +msgstr "" + +#: ../../../source/guides/maintenance/hostname.rst:6 +msgid "" +"This guide describes how to modify and view the hostname of your |CL-" +"ATTR| system." +msgstr "" + +#: ../../../source/guides/maintenance/hostname.rst:9 +msgid "" +"By default, |CL| installations have a machine generated name, which is a " +"long string of letters and numbers. The generated name is fine for " +"computers but is not human-friendly. Administrators and users will often " +"want to rename their machines with a name that is easier to remember, " +"type, and search for. Renaming a machine also makes it easier to " +"identify, by including meaningful data in the name. The following " +"examples show human-friendly machine names:" +msgstr "" + +#: ../../../source/guides/maintenance/hostname.rst:17 +msgid "*regression-test*" +msgstr "" + +#: ../../../source/guides/maintenance/hostname.rst:18 +msgid "*sally-test-box1*" +msgstr "" + +#: ../../../source/guides/maintenance/hostname.rst:19 +msgid "*az-bldg2-lab*" +msgstr "" + +#: ../../../source/guides/maintenance/hostname.rst:22 +msgid "Set your hostname" +msgstr "" + +#: ../../../source/guides/maintenance/hostname.rst:24 +msgid "" +"|CL| uses the :command:`hostnamectl` command to display and modify the " +"machine name. :command:`hostnamectl` is part of the **os-core** bundle, " +"which provides a basic Linux\\* user space and utilities." +msgstr "" + +#: ../../../source/guides/maintenance/hostname.rst:28 +msgid "" +"This example sets the hostname to *telemetry-test-2-h15*, to identify a " +"|CL| telemetry test machine on the second floor at grid location H15. " +"Make sure to reboot after setting a new hostname." +msgstr "" + +#: ../../../source/guides/maintenance/hostname.rst:39 +msgid "" +"There are three types of hostname: *static*, *transient*, and *pretty*. " +"The most common is the static hostname. Static hostnames must be between " +"two and 63 characters long, must start and end with a letter or number, " +"and may contain letters (case-insensitive), numbers, dashes, or dots." +msgstr "" + +#: ../../../source/guides/maintenance/hostname.rst:44 +msgid "" +"If the static hostname exists, it is used to generate the transient " +"hostname, which is maintained by the kernel. The transient hostname can " +"be changed by DHCP or mDNS at runtime." +msgstr "" + +#: ../../../source/guides/maintenance/hostname.rst:48 +msgid "" +"The pretty hostname is a free-form UTF8 name used for presentation to the" +" user." +msgstr "" + +#: ../../../source/guides/maintenance/hostname.rst:51 +msgid "View your hostname" +msgstr "" + +#: ../../../source/guides/maintenance/hostname.rst:53 +msgid "View your current hostname using the following command:" +msgstr "" + +#: ../../../source/guides/maintenance/hostname.rst:59 +msgid "You should see output similar to:" +msgstr "" + +#: ../../../source/guides/maintenance/hostname.rst:74 +msgid "" +"**Congratulations!** You successfully modified the hostname of your |CL| " +"system." +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/guides/maintenance/increase-virtual-disk-size.po b/localization/po/locale/zh_CN/LC_MESSAGES/guides/maintenance/increase-virtual-disk-size.po new file mode 100644 index 00000000..a0524b8d --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/guides/maintenance/increase-virtual-disk-size.po @@ -0,0 +1,245 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:4 +msgid "Increase virtual disk size of a |CL-ATTR| image" +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:6 +msgid "" +"|CL-ATTR| prebuilt images come in different sizes, ranging from 300 MB to" +" 20 GB. This guide describes how to increase the size of your prebuilt " +"|CL| image if you need more capacity." +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:10 +msgid "This guide will cover:" +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:13 +msgid "Determine the partition order and sizes of the prebuilt image" +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:15 +msgid "" +"There are two methods to find the order and sizes of partitions virtual " +"disk of your prebuilt |CL| image." +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:18 +msgid "" +"In both examples, the prebuilt Hyper-V image has a disk size of 8.5 GB " +"with / dev/sda3 being the partition for the root filesystem (/)" +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:22 +msgid "Checking :command:`lsblk` on the VM" +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:24 +msgid "" +"The first method is to boot up your :abbr:`VM (Virtual Machine)` and " +"execute the :command:`lsblk` command as shown below:" +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:31 +msgid "An example output of the :command:`lsblk` command:" +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:41 +msgid "An example of this can also be seen in Figure 1." +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:44 +msgid "Checking :file:`config.json` used to build the image" +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:46 +msgid "" +"The second method to determine partition to check the :file:`config.json`" +" file used to create prebuilt image, located in the `releases`_ " +"repository. For example, to find the size of the Hyper-V\\* image version" +" number 20450, follow these steps:" +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:51 +msgid "Go to the `releases`_ repository." +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:52 +msgid "Drill down into the `20450 > clear > config > image` directory." +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:53 +msgid "Open the :file:`hyperv-config.json` file." +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:54 +msgid "Locate the `PartitionLayout` key." +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:56 +msgid "" +"The example shows 512 MB for the EFI partition, 32 MB for the swap " +"partition, and 8 GB for the root partition." +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:76 +msgid "Increase virtual disk size" +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:77 +msgid "" +"Once you have determined the disk and partition to be increased, you are " +"ready to perform the actual increase of the disk, partition, and " +"filesystem." +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:81 +msgid "Power off VM and increase virtual disk size:" +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:83 +msgid "" +"To increase the virtual disk size for a prebuilt image, perform the steps" +" below:" +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:86 +msgid "Shut down your VM if it is running." +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:87 +msgid "" +"Use the process defined by your hypervisor or cloud provider to increase " +"the virtual disk size of your |CL| VM." +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:90 +msgid "Power up the VM." +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:94 +msgid "Resize the partition of the virtual disk:" +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:96 +msgid "Log in to an account with root privileges." +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:97 +msgid "Open a terminal emulator." +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:98 +msgid "" +"Add the |CL| `storage-utils` bundle to install the :command:`parted` and " +":command:`resize2fs` tools." +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:105 +msgid "Launch the `parted` tool." +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:111 +msgid "In the `parted` tool, perform these steps:" +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:113 +msgid "Press :command:`p` to print the partitions table." +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:114 +msgid "If the warning message below is displayed, enter :command:`Fix`." +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:124 +msgid "" +"Enter :command:`resizepart [partition number]` where *[partition number]*" +" is the partition number of the partition to modify." +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:126 +msgid "Enter :command:`yes` when prompted." +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:127 +msgid "Enter the new `End` size." +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:131 +msgid "" +"If you want a partition to take up the remaining disk space, then enter " +"the total size of the disk. When you print the partitions table with the " +":command:`p` command, the total disk size is shown after the `Disk` " +"label." +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:136 +msgid "An example of this can be seen in Figure 1." +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:138 +msgid "" +"Enter :command:`q` to exit `parted` when you are finished resizing the " +"image." +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:141 +msgid "" +"Figure 1 depicts the described steps to resize the partition of the " +"virtual disk from 8.5GB to 20GB." +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:147 +msgid "Figure 1: Increase root partition size." +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:150 +msgid "Resize the filesytem" +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:152 +msgid "" +"Enter :command:`sudo resize2fs -p /dev/[modified partition name]` where " +"*[modified partition name]* is the partition that was changed in " +"`parted`." +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:155 +msgid "Run the :command:`df -h` to verify that the filesystem size has increased." +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:158 +msgid "" +"Figure 2 depicts the described steps to resize the partition of the " +"virtual disk from 8.5GB to 20GB." +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:164 +msgid "Figure 2: Increase root filesystem size after partition has been expanded." +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:166 +msgid "" +"Congratulations! You have resized the disk, partition, and filesystem. At" +" this point, the increase in disk capacity is usable." +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/guides/maintenance/time.po b/localization/po/locale/zh_CN/LC_MESSAGES/guides/maintenance/time.po new file mode 100644 index 00000000..97f1cc63 --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/guides/maintenance/time.po @@ -0,0 +1,78 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/guides/maintenance/time.rst:4 +msgid "Set the time" +msgstr "" + +#: ../../../source/guides/maintenance/time.rst:6 +msgid "|CL-ATTR| uses the `systemd-timesyncd.service` daemon to synchronize time." +msgstr "" + +#: ../../../source/guides/maintenance/time.rst:8 +msgid "" +"This guide describes how to reset the time in your |CL| system when the " +"default :abbr:`NTP (Network Time Protocol)` servers cannot be reached." +msgstr "" + +#: ../../../source/guides/maintenance/time.rst:11 +msgid "Install the `sysadmin-basic` bundle." +msgstr "" + +#: ../../../source/guides/maintenance/time.rst:17 +msgid "Set your time zone. This example uses Los Angeles." +msgstr "" + +#: ../../../source/guides/maintenance/time.rst:25 +msgid "" +"To see a list of time zones, use the command: :command:`timedatectl list-" +"timezones | grep `" +msgstr "" + +#: ../../../source/guides/maintenance/time.rst:28 +msgid "Create a :file:`/etc/systemd/` directory." +msgstr "" + +#: ../../../source/guides/maintenance/time.rst:34 +msgid "" +"Create a new file named :file:`/etc/systemd/timesyncd.conf` and enter the" +" following text." +msgstr "" + +#: ../../../source/guides/maintenance/time.rst:43 +msgid "Enable the `systemd-timesyncd` service." +msgstr "" + +#: ../../../source/guides/maintenance/time.rst:51 +msgid "" +"To check the service status, use the :command:`timedatectl status` " +"command." +msgstr "" + +#: ../../../source/guides/maintenance/time.rst:53 +msgid "" +"To restart the `timesyncd` daemon, enter :command:`systemctl restart " +"systemd-timesyncd` into your terminal emulator." +msgstr "" + +#: ../../../source/guides/maintenance/time.rst:56 +msgid "**Congratulations!** You successfully set up the time in your |CL| system." +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/guides/maintenance/validate-signatures.po b/localization/po/locale/zh_CN/LC_MESSAGES/guides/maintenance/validate-signatures.po new file mode 100644 index 00000000..34a8c6aa --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/guides/maintenance/validate-signatures.po @@ -0,0 +1,142 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/guides/maintenance/validate-signatures.rst:4 +msgid "Validate signatures" +msgstr "" + +#: ../../../source/guides/maintenance/validate-signatures.rst:6 +msgid "" +"|CL-ATTR| offers a way to validate the content of an image or an update. " +"All validation of content works by creating and signing a hash. A valid " +"signature creates a chain of trust. A broken chain of trust, seen as an " +"invalid signature, means the content is not valid." +msgstr "" + +#: ../../../source/guides/maintenance/validate-signatures.rst:11 +msgid "" +"This guide covers how to validate the contents of an image, which is a " +"manual process and is the same process ``swupd`` performs internally to " +"validate an update." +msgstr "" + +#: ../../../source/guides/maintenance/validate-signatures.rst:18 +msgid "Image content validation" +msgstr "" + +#: ../../../source/guides/maintenance/validate-signatures.rst:20 +msgid "" +"For the outlined steps, the installer image of the latest release of |CL|" +" is used for illustrative purposes. You may use any image of |CL| you " +"choose." +msgstr "" + +#: ../../../source/guides/maintenance/validate-signatures.rst:23 +msgid "" +"Download the image, the signature of the SHA512 sum of the image, and the" +" |CL| certificate used for signing the SHA512 sum." +msgstr "" + +#: ../../../source/guides/maintenance/validate-signatures.rst:35 +msgid "Generate the SHA256 sum of the |CL| certificate." +msgstr "" + +#: ../../../source/guides/maintenance/validate-signatures.rst:41 +msgid "" +"Ensure the generated SHA256 sum of the |CL| certificate matches the " +"following SHA256 sum to verify the integrity of the certificate." +msgstr "" + +#: ../../../source/guides/maintenance/validate-signatures.rst:48 +msgid "Generate the SHA512 sum of the image and save it to a file." +msgstr "" + +#: ../../../source/guides/maintenance/validate-signatures.rst:54 +msgid "" +"Ensure the signature of the SHA512 sum of the image was created using the" +" |CL| certificate. This validates the image is trusted and it has not " +"been modified." +msgstr "" + +#: ../../../source/guides/maintenance/validate-signatures.rst:64 +#: ../../../source/guides/maintenance/validate-signatures.rst:115 +msgid "" +"The `-purpose any` option is required when using OpenSSL 1.1. If using " +"an earlier version of OpenSSL, omit this option to perform signature " +"validation. The `openssl version` command may be used to determine the " +"version of OpenSSL in use." +msgstr "" + +#: ../../../source/guides/maintenance/validate-signatures.rst:69 +msgid "" +"The output should contain ``Verification successful``. If the output " +"contains ``bad_signature`` anywhere, then the image is not trustworthy." +msgstr "" + +#: ../../../source/guides/maintenance/validate-signatures.rst:73 +msgid "Update content validation" +msgstr "" + +#: ../../../source/guides/maintenance/validate-signatures.rst:75 +msgid "" +"``swupd`` validates all update content automatically before applying the " +"update content. The process ``swupd`` follows internally is illustrated " +"here with manual steps using the latest |CL| release. There is no need to" +" perform these steps manually when performing a ``swupd update``." +msgstr "" + +#: ../../../source/guides/maintenance/validate-signatures.rst:80 +msgid "" +"Download the :abbr:`MoM (top-level manifest)`, the signature of the MoM, " +"and the Swupd certificate used for signing the signature of the MoM." +msgstr "" + +#: ../../../source/guides/maintenance/validate-signatures.rst:92 +msgid "Generate the SHA256 sum of the Swupd certificate." +msgstr "" + +#: ../../../source/guides/maintenance/validate-signatures.rst:98 +msgid "" +"Ensure the generated SHA256 sum of the Swupd certificate matches " +"following SHA256 sum to verify the integrity of the certificate." +msgstr "" + +#: ../../../source/guides/maintenance/validate-signatures.rst:105 +msgid "" +"Ensure the signature of the MoM was created using the Swupd certificate. " +"This signature validates the update content is trustworthy and has not " +"been modified." +msgstr "" + +#: ../../../source/guides/maintenance/validate-signatures.rst:122 +msgid "" +"The SHA512 sum of the MoM is not generated and then signed. Instead, the " +"MoM is signed directly because it is small in size compared to an image " +"of |CL|." +msgstr "" + +#: ../../../source/guides/maintenance/validate-signatures.rst:126 +msgid "" +"The output should contain ``Verification successful``. If the output " +"contains ``bad_signature`` anywhere, then the MoM cannot be trusted. " +"Because the MoM contains a list of hashes for bundle manifests, if the " +"MoM cannot be trusted, then the bundle content cannot be trusted." +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/guides/network/custom-clear-container.po b/localization/po/locale/zh_CN/LC_MESSAGES/guides/network/custom-clear-container.po new file mode 100644 index 00000000..4d2c8ee8 --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/guides/network/custom-clear-container.po @@ -0,0 +1,177 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/guides/network/custom-clear-container.rst:4 +msgid "Build a custom |CL-ATTR| based Docker container image" +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:6 +msgid "" +"The official base |CL-ATTR| container image is published on Docker\\* Hub" +" and is updated on a regular basis. This guide contains the steps to " +"build a custom container image." +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:11 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:13 +msgid "" +"You must perform these steps on a |CL| system because the :abbr:`swupd " +"(software updater)` is used to manage bundles in the container." +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:16 +msgid "" +"You must install the :file:`containers-basic` bundle on the |CL| system " +"or Docker will not work." +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:18 +msgid "You have a basic understanding of Docker." +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:21 +msgid "Build the base container image" +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:23 +msgid "Log in and get root privileges." +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:29 +msgid "Verify Docker is installed and running." +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:35 +msgid "If Docker is installed and running, the output is similar to this example:" +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:78 +msgid "If Docker is not installed, enter the commands:" +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:85 +msgid "Use `os-install` to download and install the bundles." +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:92 +msgid "The `swupd` example uses the following flags:" +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:94 +msgid ":command:`os-install` tells `swupd` to download and install." +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:95 +msgid ":command:`-V / --version` specifies the version of the |CL| bundles." +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:96 +msgid ":command:`--url` specifies the URL of the bundles repository." +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:97 +msgid "" +":command:`--statedir` specifies the state directory where downloaded " +"bundles and any state information are stored." +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:99 +msgid "" +":command:`--no-boot-update` tells `swupd` to skip updating boot files " +"because boot files are not required for a container." +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:102 +msgid "" +"For more information on `swupd` flags, enter the :command:`swupd os-" +"install -h` command." +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:104 +#: ../../../source/guides/network/custom-clear-container.rst:167 +#: ../../../source/guides/network/custom-clear-container.rst:194 +#: ../../../source/guides/network/custom-clear-container.rst:228 +#: ../../../source/guides/network/custom-clear-container.rst:290 +msgid "Example output:" +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:141 +msgid "The `WARNING` message is expected and can be ignored." +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:143 +msgid "Create a tarball and compress it." +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:150 +msgid "Create the Dockerfile to build the image." +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:161 +msgid "Build the |CL| container image." +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:188 +msgid "List the newly created |CL| container image." +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:201 +msgid "Launch the built |CL| container." +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:208 +msgid "Manage bundles in a container" +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:210 +msgid "" +"You can add and remove bundles from a |CL| container using the " +":command:`RUN swupd` command in the Dockerfile." +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:214 +msgid "Add a bundle" +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:216 +msgid "" +"This example Dockerfile adds the :file:`pxe-server` bundle to an existing" +" |CL| Docker image:" +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:272 +msgid "" +"The `WARNING` message can be ignored because systemd does not run inside " +"a container." +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:276 +msgid "Remove a bundle" +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:278 +msgid "" +"This example Dockerfile removes the :file:`pxe-server` bundle from an " +"existing |CL| Docker image:" +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/guides/network/dpdk.po b/localization/po/locale/zh_CN/LC_MESSAGES/guides/network/dpdk.po new file mode 100644 index 00000000..f753e039 --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/guides/network/dpdk.po @@ -0,0 +1,377 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/guides/network/dpdk.rst:4 +msgid "Use DPDK to send packets between platforms" +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:6 +msgid "" +"This document describes how to send packets between two platforms in the " +"simple configuration shown in :ref:`Figure 1 `. The example uses the " +":abbr:`Data Plane Development Kit (DPDK)`, which is a set of libraries, " +"drivers, sample applications, and tools for fast packet processing." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:17 +msgid "Figure 1: Environment for l3fwd DPDK application" +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:19 +msgid "This example uses the following DPDK components:" +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:21 +msgid "pktgen: Traffic generator. See `pktgen documentation`_ for details." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:22 +msgid "" +"l3fwd: Layer 3 forwarding example application. See `l3fwd documentation`_" +" for details." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:26 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:28 +msgid "Two platforms using |CL-ATTR| release `13330`_ or higher." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:29 +msgid "Both images must include the :file:`kernel-native bundle`." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:30 +msgid "Install the :file:`network-basic-dev` bundle with the command:" +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:36 +msgid "" +"Each platform must have at least one :abbr:`NIC (Network Interface " +"Card)`. Check the `DPDK project`_ for the list of supported `dpdk.org " +"NICs`_." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:39 +msgid "Two network cables." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:42 +msgid "Install dpdk and build l3fwd example (Platform B)" +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:44 +msgid "Change to the :file:`l3fwd` example directory." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:50 +msgid "Assign :envvar:`RTE_SDK` variable to the makefiles path." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:56 +msgid "" +"Assign :envvar:`RTE_TARGET` variable to the location of the gcc\\* config" +" file." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:63 +msgid "" +"Build the `l3fwd` application and add the configuration header to the " +":makevar:`CFLAGS` variable." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:72 +msgid "Build pktgen (Platform A)" +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:74 +msgid "Download the `pktgen tar package`_ v3.1.2 or newer." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:76 +msgid "Decompress packages and move to uncompressed source directory." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:78 +msgid "Assign :envvar:`RTE_SDK` variable to the path where makefiles are located." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:84 +msgid "Assign :envvar:`RTE_TARGET` to the location of the gcc config file." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:90 +msgid "" +"Build the `pktgen` project and set the " +":makevar:`CONFIG_RTE_BUILD_SHARED_LIB` variable to \"n\"." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:98 +msgid "Bind NICs to DPDK kernel drivers (Platforms A and B)" +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:100 +msgid "" +"The `l3fwd` application uses two NICs. The DPDK includes tools for " +"binding NICs to DPDK modules to run DPDK applications." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:103 +msgid "Load the DPDK I/O kernel module." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:109 +msgid "" +"Check the NIC status to determine which network cards are not busy. When " +"another application is using them, the status shows `Active`, and those " +"NICs cannot be bound." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:117 +msgid "" +"Bind two available NICs. The general syntax for binding is: :command" +":`dpdk-devbind --bind=vfio-pci `. A working example is " +"shown below:" +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:125 +msgid "" +"Check the NIC status to verify that the NICs are bound correctly. If " +"successful, `drv` displays the value `igb_uio`, which confirms that the " +"NICs are using the DPDK modules." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:131 +msgid "Set hugepages (Platforms A and B)" +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:133 +msgid "" +"|CL| supports `hugepages` for the large memory pool allocation used for " +"packet buffers." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:136 +msgid "Set the number of hugepages." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:142 +msgid "Allocate pages on NUMA machines." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:149 +msgid "Make memory available for DPDK." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:155 +msgid "" +"For more information, refer to the `DPDK guide`_ System Requirements " +"section." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:160 +msgid "Set up the physical environment (Platforms A and B)" +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:162 +msgid "" +"Connect the NICs on Platform A to the NICs on Platform B using the " +"network cables as shown in :ref:`Figure 2`." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:169 +msgid "Figure 2: Physical network environment" +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:173 +msgid "Run l3fwd application (Platform B)" +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:175 +msgid "" +"The `l3fwd` application is one of the DPDK examples available when you " +"install the :file:`dpdk-dev` bundle. `l3fwd` forwards packets from one " +"NIC to another. For details, refer to the `l3fwd documentation`_." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:179 +msgid "Open the l3fwd example directory." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:185 +msgid "**This step is very important.**" +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:187 +msgid "DPDK needs poll mode drivers to operate." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:188 +msgid "Poll mode drivers are shared objects in :file:`/usr/lib64`." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:189 +msgid "See the full list of supported NICs at `dpdk.org NICs`_." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:190 +msgid "" +"You must know which kernel module each NIC is using and choose a poll " +"mode driver that corresponds to your NICs." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:193 +msgid "" +"NIC binding and `pktgen` configuration depends upon network use cases and" +" available system resources. Use the :command:`-d` flag to set the poll " +"mode driver." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:197 +msgid "" +"The following example assumes that the NICs use the `e1000` network " +"driver and the `e1000` poll mode driver. The :file:`librte_pmd_e1000.so` " +"is located in :file:`/usr/lib64` in |CL|." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:205 +msgid "" +"The `l3fwd` application shows port initialization details at startup. " +"After port 0 initialization completes, `l3fwd` shows a MAC address and " +"information for port 1." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:209 +msgid "Save the MAC address for configuring the `pktgen` project." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:212 +msgid "Run pktgen application (Platform A)" +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:214 +msgid "`pktgen` is a network traffic generator included in the DPDK." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:216 +msgid "" +"`pktgen` configuration depends upon the network setup and the available " +"system resources. The following example shows a basic configuration." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:224 +msgid "Enable active colorful output (optional)." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:230 +msgid "" +"Use the MAC addresses shown by the `l3fwd` application during " +"initialization. The command to set the MAC addresses in `pktgen` has the " +"format:" +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:237 +#: ../../../source/guides/network/dpdk.rst:296 +#: ../../../source/guides/network/dpdk.rst:314 +msgid "Here is a working example:" +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:244 +msgid "Send packets." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:250 +msgid "For more details, see the `pktgen documentation`_." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:253 +msgid "Appendix A: Use pass-through for virtual machines" +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:255 +msgid "" +"This section explains how to set up a virtual environment where virtual " +"machines control the NICs on the host." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:258 +msgid "Create a new directory and move to it." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:260 +msgid "" +"Download or create a :file:`start_qemu.sh` script for running a kvm " +"virtual machine:" +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:267 +msgid "Download a bare-metal image of |CL| and rename it as :file:`clear.img`." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:269 +msgid "Look for an Ethernet\\* device entry that contains vendor and device ID:" +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:275 +msgid "An example output:" +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:281 +msgid "" +"where `03:00.0` is the device entry and `8086:1521` is the `vendor:device" +" ID`. Record this information, because you need it to unbind the NICs " +"from a host." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:286 +msgid "" +"Unbind the NICs from the host to do pass-through with virtual machines. " +"|CL| supports this action. The commands take the format:" +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:305 +msgid "" +"Assign the unbound NICs to the KVM virtual machine (guest). Modify the " +":file:`start_qemu.sh` script in `qemu-system-x86_64` arguments, and add " +"the lines with the host's NICs information in the format:" +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:321 +msgid "" +"Add more NUMA machines to the virtual machine by adding lines to the " +"Makefile boot target in the format:" +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:328 +msgid "" +"Here is a working example for a virtual machine with 4096 memory and four" +" CPUs:" +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:336 +msgid "Each NUMA machine must use the same quantity of memory." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:338 +msgid "Run the :file:`start_qemu.sh` script." +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/guides/network/ipxe-install.po b/localization/po/locale/zh_CN/LC_MESSAGES/guides/network/ipxe-install.po new file mode 100644 index 00000000..4f061776 --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/guides/network/ipxe-install.po @@ -0,0 +1,314 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/guides/network/ipxe-install.rst:4 +msgid "Install |CL-ATTR| over the network with iPXE" +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:6 +msgid "" +"This guide describes how to install |CL-ATTR| using :abbr:`PXE (Pre-boot " +"Execution Environment)`." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:9 +msgid "" +"PXE is an industry standard that describes client-server interaction with" +" network-boot software and uses the DHCP and TFTP protocols. This guide " +"shows one method of using the PXE environment to install |CL|." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:13 +msgid "" +"The PXE extension called `iPXE`_ adds support for additional protocols " +"such as HTTP, :abbr:`iSCSI (Internet Small Computer Systems Interface)`, " +":abbr:`AoE (ATA over Ethernet\\*)`, and :abbr:`FCoE (Fiber Channel over " +"Ethernet\\*)`. iPXE enables network booting on computers with no built-in" +" PXE support." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:18 +msgid "" +"To install |CL| through iPXE, you must create a PXE client. Figure 1 " +"depicts the flow of information between a PXE server and a PXE client." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:24 +msgid "Figure 1: PXE information flow." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:28 +msgid "" +"The |CL| image that boots through the PXE process automatically erases " +"all data and partitions on the PXE client system and creates 3 new " +"partitions to install onto." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:33 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:35 +msgid "Before booting with iPXE, make the following preparations." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:37 +msgid "" +"Connect the PXE server and PXE clients to a switch on a private network, " +"as shown in Figure 2." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:43 +msgid "Figure 2: Network topology." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:45 +msgid "" +"Your PXE client must have a boot order where the network boot option is " +"prioritized before the disk boot option." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:48 +msgid "Your PXE server must have:" +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:50 +msgid "Ethernet/LAN boot option." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:51 +msgid "At least two network adapters." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:52 +msgid "Connection to a public network." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:53 +msgid "Secure boot option disabled." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:57 +msgid "" +"You must disable the secure boot option in the BIOS because the UEFI " +"binaries used to boot |CL| are not signed." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:62 +msgid "Configuration" +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:64 +msgid "" +"To set up |CL| using iPXE automatically, use the :file:`configure-" +"ipxe.sh` script included with :abbr:`ICIS (Ister Cloud Init Service)`. " +"For additional instructions on the script, refer to the guide on the " +"`ICIS GitHub repository`_." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:68 +msgid "To set up |CL| manually, perform the steps below." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:70 +msgid "Define the variables used for iPXE boot configuration." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:86 +msgid "Log in and get root privilege." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:92 +msgid "" +"Add the `pxe-server` bundle to your |CL| system. The bundle contains all " +"files needed to run a PXE server." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:99 +msgid "" +"Download the latest network-bootable release of |CL| and extract the " +"files." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:113 +msgid "" +"Ensure that the initial ramdisk file is named :file:`initrd` and the " +"kernel file is named :file:`linux`, which is a symbolic link to the " +"actual kernel file." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:117 +msgid "" +"Create an iPXE boot script with the following contents. During an iPXE " +"boot, the iPXE boot script directs the PXE client to download the files " +"to boot and install |CL|. Use the names previously given to the initial " +"ramdisk and kernel files." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:133 +msgid "" +"The `pxe-server` bundle contains a lightweight web-server known as " +"`nginx`. Create a configuration file for `nginx` to serve |CL| to PXE " +"clients with the following contents:" +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:155 +msgid "" +"Create a separate `nginx` configuration file to serve network-bootable " +"images on a non-standard port number. This action saves existing `nginx` " +"configurations." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:159 +msgid "Start `nginx` and enable the startup on boot option." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:166 +msgid "" +"The `pxe-server` bundle contains a lightweight DNS server which conflicts" +" with the DNS stub listener provided in `systemd-resolved`. Disable the " +"DNS stub listener and temporarily stop `systemd-resolved`." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:180 +msgid "" +"Assign a static IP address to the network adapter for the private network" +" and restart `systemd-networkd` with the following commands:" +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:196 +msgid "" +"Configure :abbr:`NAT (Network Address Translation)` to route traffic from" +" the private network to the public network. This action makes the PXE " +"server act as a router. To make these changes persistent during reboots, " +"save the changes to the firewall with the following commands:" +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:212 +msgid "" +"The firewall masks packets to make them appear as coming from the PXE " +"server and hides PXE clients from the public network." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:215 +msgid "" +"Configure the kernel to forward network packets to different interfaces. " +"Otherwise, NAT will not work." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:224 +msgid "" +"The `pxe-server` bundle contains iPXE firmware images that allow " +"computers without an iPXE implementation to perform an iPXE boot. Create " +"a TFTP hosting directory and populate the directory with the iPXE " +"firmware images with the following commands:" +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:234 +msgid "" +"The `pxe-server` bundle contains a lightweight TFTP, DNS, and DHCP server" +" known as `dnsmasq`. Create a configuration file for `dnsmasq` to listen " +"on a dedicated IP address for those functions. PXE clients on the private" +" network will use this IP address." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:245 +msgid "" +"Add the options to serve iPXE firmware images to PXE clients over TFTP to" +" the `dnsmasq` configuration file." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:255 +msgid "" +"Add the options to host a DHCP server for PXE clients to the `dnsmasq` " +"configuration file." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:277 +msgid "The configuration provides the following important functions:" +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:279 +msgid "" +"Directs PXE clients without an iPXE implementation to the TFTP server to " +"acquire architecture-specific iPXE firmware images that allow them to " +"perform an iPXE boot." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:282 +msgid "" +"Activates only on the network adapter that has an IP address on the " +"defined subnet." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:284 +msgid "Directs PXE clients to the DNS server." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:285 +msgid "Directs PXE clients to the PXE server for routing via NAT." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:286 +msgid "" +"Divides the private network into two pools of IP addresses. One pool is " +"for network boot and one pool is used after boot. Each pool has their own" +" lease times." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:290 +msgid "" +"Create a file for `dnsmasq` to record the IP addresses it provides to PXE" +" clients." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:298 +msgid "Start `dnsmasq` and enable startup on boot." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:305 +msgid "Start `systemd-resolved`." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:313 +msgid "" +"`systemd-resolved` dynamically updates the list of DNS servers for the " +"private network if you use the `dnsmasq` DNS server. The setup creates a " +"pass-through DNS server that relies on the DNS servers listed in " +":file:`/etc/resolv.conf`." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:318 +msgid "Power on the PXE client and watch the client boot and install |CL|." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:320 +msgid "" +"After booting, |CL| automatically partitions the hard drive, installs " +"itself, updates to the latest version, and reboots." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:324 +msgid "" +"**Congratulations!** You have successfully installed and configured a PXE" +" server that enables PXE clients to boot and install |CL| over the " +"network." +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/guides/network/network-bonding.po b/localization/po/locale/zh_CN/LC_MESSAGES/guides/network/network-bonding.po new file mode 100644 index 00000000..da56f49f --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/guides/network/network-bonding.po @@ -0,0 +1,153 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/guides/network/network-bonding.rst:4 +msgid "Combine multiple interfaces with network bonding" +msgstr "" + +#: ../../../source/guides/network/network-bonding.rst:6 +msgid "" +"Network bonding combines multiple network interfaces into a single " +"logical interface to provide redundancy and bandwidth aggregation." +msgstr "" + +#: ../../../source/guides/network/network-bonding.rst:9 +msgid "" +"|CL-ATTR| includes Linux bonding_ and team_ drivers. This guide describes" +" how to configure systemd to use the `bonding` driver." +msgstr "" + +#: ../../../source/guides/network/network-bonding.rst:12 +msgid "The example demonstrates how to:" +msgstr "" + +#: ../../../source/guides/network/network-bonding.rst:14 +msgid "Bond all four ports of a quad-port NIC in `802.3ad` mode." +msgstr "" + +#: ../../../source/guides/network/network-bonding.rst:16 +msgid "Enable jumbo frames to optimize large data transfers on the local network." +msgstr "" + +#: ../../../source/guides/network/network-bonding.rst:18 +msgid "" +"Your NICs and network switch must support `802.3ad` mode and jumbo " +"frames. The example explains how to configure your NICs for both " +"features. Your switch may require additional configuration. See your " +"switch documentation for details." +msgstr "" + +#: ../../../source/guides/network/network-bonding.rst:24 +msgid "You must run all commands in this guide as root." +msgstr "" + +#: ../../../source/guides/network/network-bonding.rst:26 +msgid "Log in and get root privileges." +msgstr "" + +#: ../../../source/guides/network/network-bonding.rst:32 +msgid "Create the :file:`/etc/systemd/network` directory." +msgstr "" + +#: ../../../source/guides/network/network-bonding.rst:38 +msgid "" +"The :file:`/etc/systemd/network` directory contains configuration files " +"and network settings for the virtual device and its underlying physical " +"interfaces." +msgstr "" + +#: ../../../source/guides/network/network-bonding.rst:42 +msgid "" +"Configure systemd to create a virtual network device called `bond1`. Use " +"a text editor to create a file named :file:`30-bond1.netdev`." +msgstr "" + +#: ../../../source/guides/network/network-bonding.rst:57 +msgid "" +"Refer to the systemd.netdev_ manpage for :file:`30-bond1.netdev` file " +"syntax. This example is based on Example 9 on the manpage. Modify the " +"example for your configuration." +msgstr "" + +#: ../../../source/guides/network/network-bonding.rst:61 +msgid "" +"Configure the slave interfaces. Create a text file named " +":file:`30-bond1-enp1s0.network`. Assign the slave interfaces to the " +"virtual `bond1` device and use the syntax shown in systemd.network_." +msgstr "" + +#: ../../../source/guides/network/network-bonding.rst:76 +msgid "" +"The example bonds all four ports of a quad-port NIC as a slave of " +"`bond1`. The example uses a wildcard match because the NIC names are in " +"the range `enp1s0f0-enp1s0f3`. If your NIC names are not wildcard-" +"compatible, create a separate :file:`.network` file for each NIC." +msgstr "" + +#: ../../../source/guides/network/network-bonding.rst:81 +msgid "" +"For best results, do not assign addresses or DHCP support to the " +"individual NICs." +msgstr "" + +#: ../../../source/guides/network/network-bonding.rst:84 +msgid "" +"The `MTUBytes` setting enables jumbo frames of up to 9000 bytes. Your " +"switch may require additional configuration to support this setting." +msgstr "" + +#: ../../../source/guides/network/network-bonding.rst:87 +msgid "Configure the bonded interface in a file named :file:`30-bond1.network`." +msgstr "" + +#: ../../../source/guides/network/network-bonding.rst:101 +msgid "`bond1` is a virtual interface with no physical link status." +msgstr "" + +#: ../../../source/guides/network/network-bonding.rst:103 +msgid "" +"`BindCarrier` indicates that the `bond1` link status is determined by the" +" status of the listed slave devices." +msgstr "" + +#: ../../../source/guides/network/network-bonding.rst:106 +msgid "" +"`Address` contains an IP address that you assign to the logical " +"interface. DHCP bonded interfaces are complex and outside the scope of " +"this example." +msgstr "" + +#: ../../../source/guides/network/network-bonding.rst:109 +msgid "" +"`MTUBytes` must be set to 9000 on all slave interfaces and on the bonded " +"interface for successful jumbo frames operation. If `MTUBytes` is not the" +" same on all interfaces, then the lowest value is used." +msgstr "" + +#: ../../../source/guides/network/network-bonding.rst:113 +msgid "Apply the new network configuration with the command:" +msgstr "" + +#: ../../../source/guides/network/network-bonding.rst:119 +msgid "" +"The `MTUBytes` settings do not take effect until you reboot or manually " +"apply the settings with a utility such as `ifconfig`." +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/guides/network/vnc.po b/localization/po/locale/zh_CN/LC_MESSAGES/guides/network/vnc.po new file mode 100644 index 00000000..98178f87 --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/guides/network/vnc.po @@ -0,0 +1,943 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/guides/network/vnc.rst:4 +msgid "Remote-desktop to a |CL-ATTR| host using VNC" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:6 +msgid "" +":abbr:`VNC (Virtual Network Computing)` is a client-server GUI-based tool" +" that allows you to connect via remote-desktop to your |CL-ATTR| host." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:9 +msgid "This guide shows you how to:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:11 +msgid "Install the VNC server and misc. components on your |CL| host." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:12 +msgid "Configure a VNC-server-start method on your |CL| host." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:13 +msgid "Install a VNC viewer app and an SSH client on your client system." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:14 +msgid "Establish a VNC connection to your |CL| host." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:15 +msgid "Terminate a VNC connection to your |CL| host." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:16 +msgid "Encrypt VNC traffic through an SSH tunnel." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:19 +msgid "Install the VNC server and misc. components on your host" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:21 +msgid "To configure VNC to work on your |CL| host, install these bundles:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:23 +msgid "" +"`desktop-autostart`: Installs :abbr:`GDM (Gnome Desktop Manager)`, sets " +"it to start automatically on boot, and installs TigerVNC Viewer." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:25 +msgid "`vnc-server`: Installs the TigerVNC server." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:27 +msgid "Follow these steps:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:29 +msgid "Log into your |CL| host and get root privileges." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:35 +msgid "Install the |CL| bundles." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:41 +msgid "Reboot your |CL| host." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:44 +msgid "Configure a VNC-server-start method on your host" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:46 +msgid "" +"There are three methods you can use to configure and start the VNC server" +" on your |CL| host:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:49 +msgid "Table 1: VNC-server-start Configuration Methods" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:53 +msgid "Attribute" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:54 +msgid "`Method 1`: Manually start a VNC session" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:55 +msgid "`Method 2`: Automatically start a VNC session via a systemd service script" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:56 +msgid "`Method 3`: Create multi-user logins with authentication through GDM" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:57 +msgid "Description" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:58 +msgid "" +"This is the traditional method where you SSH into the |CL| host, manually" +" start a VNC session to get a display ID, and connect to it by supplying " +"the display ID." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:61 +msgid "" +"The system administrator sets up a systemd service script for you with a " +"pre-assigned display ID. You make a VNC connection and supply your pre-" +"assigned display ID." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:64 +msgid "" +"The system adminstrator configures GDM to accept connection requests. " +"When you make a VNC connection to the |CL| host, you see the GDM login " +"screen and authenticate as if you are local." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:67 +msgid "Who configures VNC settings?" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:68 +#: ../../../source/guides/network/vnc.rst:72 +#: ../../../source/guides/network/vnc.rst:76 +#: ../../../source/guides/network/vnc.rst:77 +msgid "You" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:69 +#: ../../../source/guides/network/vnc.rst:70 +msgid "System adminstrator" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:71 +msgid "Who starts VNC session?" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:73 +#: ../../../source/guides/network/vnc.rst:74 +msgid "Set to start automatically on boot by system administrator" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:75 +msgid "Who ends VNC sesssion?" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:78 +msgid "System administrator can disable VNC service altogether" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:79 +msgid "Requires VNC password to authenticate?" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:80 +#: ../../../source/guides/network/vnc.rst:81 +msgid "Yes" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:82 +msgid "No. Use |CL| account username and password through GDM" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:85 +msgid "" +"Although all three methods can coexist on the same |CL| host, we " +"recommend you pick a method that suits your needs." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:88 +msgid "" +"For simplicity, the rest of this guide refers to these methods as `Method" +" 1`, `Method 2`, and `Method 3`." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:92 +msgid "Method 1: Manually start a VNC session" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:94 +msgid "" +"You (and each user) must perform these steps to initialize your VNC " +"settings." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:96 +msgid "Log in." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:97 +#: ../../../source/guides/network/vnc.rst:557 +msgid "Open a terminal emulator." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:98 +msgid "" +"Start VNC with the :command:`vncserver` command. Since this is your " +"first time starting VNC, it adds default configuration files and asks you" +" to set a VNC password." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:106 +#: ../../../source/guides/network/vnc.rst:431 +msgid "Example output:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:126 +msgid "" +"Upon completion, you can find the default configuration files and the " +"password file hidden in the `.vnc` directory in your home directory." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:129 +msgid "" +"Also, a VNC session starts and shows a unique display ID, which is the " +"number following the hostname and the colon `:`. In the above example, " +"the display ID is 2. In a later step, you will supply the display ID to " +"your VNC viewer app for connection." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:133 +msgid "" +"Kill the active VNC session for the time being with the " +":command:`vncserver -kill :[display ID]` command. Substitute [display " +"ID] with your active VNC session display ID. For example:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:143 +msgid "" +"If you do not recall the active session display ID, use the " +":command:`vncserver -list` command to find it." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:146 +msgid "Optional configurations:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:148 +msgid "" +"To customize settings such as screen size, security type, etc., modify " +"the :file:`$HOME/.vnc/config` file." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:150 +msgid "" +"To customize the applications to run at startup, modify the " +":file:`$HOME/.vnc/xstartup` file." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:154 +msgid "Method 2: Automatically start a VNC session via a systemd service script" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:156 +msgid "" +"To configure VNC for this method, you must have root privileges. You " +"will set up a systemd service file for all intended VNC users with their " +"own preassigned unique display ID." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:160 +#: ../../../source/guides/network/vnc.rst:244 +msgid "Log in and get root privileges." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:166 +msgid "" +"Make sure the user accounts already exist. Use the following command to " +"list all users." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:174 +#: ../../../source/guides/network/vnc.rst:250 +msgid "Create the path :file:`/etc/systemd/system`." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:180 +msgid "" +"Create a systemd service script file :file:`vncserver@:[X].service`, " +"where [X] is the display ID, for each user in :file:`/etc/systemd/system`" +" Each user must be assigned a unique display ID. Be sure the correct " +"username is entered in the `User` field. The example below shows user " +"`vnc-user-b` who is assigned the display ID `5`." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:208 +msgid "" +"Have each user log into their account and set a VNC password with the " +":command:`vncpasswd` command before proceeding to the next step." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:211 +msgid "" +"Start the VNC service script and set it to start automatically on boot " +"for each user. Replace the [X] with the display ID." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:220 +msgid "After starting the services, verify they are running." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:226 +msgid "" +"The example below shows 2 VNC sessions that were successfully started for" +" users `vnc-user-b` with display ID 5 and `vnc-user-c` with display ID 6." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:238 +msgid "Method 3: Multi-user logins with authentication through GDM" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:240 +msgid "" +"For this method, VNC is configured as a systemd service that listens on " +"port 5900 and GDM is configured to accept access requests from VNC. When " +"you make a VNC connection to your |CL| host, you are presented with the " +"GDM login screen and you authenticate as if you are local. You must have" +" root privileges to perform this configuration." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:256 +msgid "Create a systemd socket file :file:`xvnc.socket` and add the following:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:274 +msgid "Create a systemd service file :file:`xvnc@.service` and add the following:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:291 +msgid "Create the path :file:`/etc/gdm`." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:298 +msgid "Create a GDM :file:`custom.conf` file and add the following:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:310 +msgid "Start the VNC socket script and set it to start automatically on boot." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:318 +msgid "After starting the socket, verify it is running." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:324 +msgid "The example below shows the xvnc.socket is running." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:333 +msgid "See the `vncserver` Man page for additional information." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:336 +msgid "Install a VNC viewer app and an SSH client on your client system" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:338 +msgid "" +"You need a VNC viewer app on your client system to connect to your |CL| " +"host. An SSH client is only needed if you chose to use `Method 1` or you " +"plan to encrypt your VNC traffic, which is discussed later in this guide." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:342 +msgid "Perform the steps below to add these apps to your client system." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:345 +msgid "Install a VNC viewer app" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:347 +msgid "On |CL|:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:353 +msgid "On Ubuntu, Mint:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:359 +msgid "On Fedora:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:365 +#: ../../../source/guides/network/vnc.rst:407 +msgid "On Windows:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:367 +msgid "Install `RealVNC for Windows`_" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:369 +msgid "On macOS:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:371 +msgid "Install `RealVNC for macOS`_" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:374 +msgid "Install an SSH client" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:376 +msgid "" +"On most Linux distros (|CL|, Ubuntu, Mint, Fedora, etc.) and macOS, SSH " +"is built-in so you don't need to install it." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:378 +msgid "On Windows, you can install `Putty`_." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:381 +msgid "Establish a VNC connection to your host" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:383 +msgid "" +"Depending on the VNC-server-configuration method chosen, use the " +"appropriate VNC connection:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:385 +msgid "" +"If you chose `Method 1`, you must take a few extra steps by using SSH to " +"connect to your |CL| host and then manually launching VNC." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:388 +msgid "" +"If you chose `Method 2`, get your preassigned VNC display ID from your " +"system administrator first and then proceed to the :ref:`connect-to-vnc-" +"session` section below." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:392 +msgid "" +"If you chose `Method 3`, proceed to the :ref:`connect-to-vnc-session` " +"below." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:397 +msgid "SSH into your host and launch VNC" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:399 +msgid "SSH into your |CL| host" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:401 +msgid "On Linux distros and macOS:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:409 +#: ../../../source/guides/network/vnc.rst:724 +msgid "Launch Putty." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:410 +#: ../../../source/guides/network/vnc.rst:727 +msgid "" +"Under the :guilabel:`Category` section, select :guilabel:`Session`. See " +"Figure 1." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:412 +#: ../../../source/guides/network/vnc.rst:729 +msgid "" +"Enter the IP address of your |CL| host in the :guilabel:`Host Name (or IP" +" address)` field." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:414 +#: ../../../source/guides/network/vnc.rst:731 +msgid "Set the :guilabel:`Connection type` option to :guilabel:`SSH`." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:415 +#: ../../../source/guides/network/vnc.rst:753 +msgid "Click the :guilabel:`Open` button." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:421 +msgid "Figure 1: Putty - configure SSH session settings" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:423 +msgid "Log in with your |CL| username and password. Do not use your VNC password." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:425 +msgid "Start a VNC session." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:442 +msgid "" +"Take note of the generated display ID because you will input it into the " +"VNC viewer app to establish the connection. The above example shows the " +"display ID is 3." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:448 +msgid "" +"VNC automatically picks a unique display ID unless you specify one. To " +"specify a display ID, enter a unique number that is not already in use " +"after the colon. For example:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:456 +msgid "" +"You can now end the SSH connection by logging out. This does not " +"terminate your active VNC session." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:462 +msgid "Connect to your VNC session" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:464 +msgid "" +"For `Method 1` and `Method 2`, you must connect to a specific active " +"session or display ID using one of two options:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:467 +msgid "" +"Use a fully-qualified VNC port number, which consists of the default VNC " +"server port (5900) plus the display ID" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:469 +msgid "Use the display ID" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:471 +msgid "" +"For example, if the display ID is 3, it can be specified as `5903` or " +"just as `3`. For `Method 3`, VNC does not expect a display ID. Use " +"`5900`. For simplicity, the instructions below use the fully-qualified " +"VNC port number." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:475 +#: ../../../source/guides/network/vnc.rst:762 +msgid "**On Linux distros:**" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:477 +msgid "Open a terminal emulator and enter:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:483 +#: ../../../source/guides/network/vnc.rst:512 +msgid "Enter your credentials." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:485 +#: ../../../source/guides/network/vnc.rst:514 +msgid "" +"For `Method 1` and `Method 2`, enter your VNC password. No username is " +"required." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:487 +#: ../../../source/guides/network/vnc.rst:516 +msgid "For `Method 3`, enter your |CL| account username and password through GDM." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:492 +#: ../../../source/guides/network/vnc.rst:521 +msgid "" +"With `Method 3`, you cannot remotely log into your |CL| host through VNC " +"if you are logged in locally and vice versa." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:495 +msgid "**On Windows and macOS using `RealVNC` app:**" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:497 +msgid "Start the RealVNC viewer app. See Figure 2." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:498 +msgid "" +"Enter the IP address of the |CL| host and the fully-qualified VNC port " +"number." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:501 +msgid "" +"The following screenshot shows connecting to |CL| host 192.168.25.54 with" +" a fully-qualified VNC port number 5902." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:508 +msgid "Figure 2: RealVNC Viewer" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:510 +msgid "Press the :kbd:`Enter` key." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:525 +msgid "`Optional: Configure RealVNC Image Quality`" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:527 +msgid "" +"To increase the RealVNC viewer image quality, manually change the " +"`ColorLevel` value. Follow these steps:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:529 +msgid "" +"Right-click a connection node and select :guilabel:`Properties...`. See " +"Figure 3." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:536 +msgid "Figure 3: RealVNC Viewer - change connection node properties" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:538 +msgid "Select the :guilabel:`Expert` tab. See Figure 4." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:540 +msgid "" +"Select the :guilabel:`ColorLevel` setting and change it to your preferred" +" setting." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:547 +msgid "Figure 4: RealVNC Viewer - change :guilabel:`ColorLevel`" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:550 +msgid "Terminate a VNC connection to your host" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:552 +msgid "" +"For `Method 1` and `Method 2`, once started, a VNC session remains active" +" on your |CL| host even if you close your VNC viewer app. If you want to " +"truly terminate an active VNC session, follow these steps:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:556 +msgid "SSH into your |CL| host." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:558 +msgid "" +"Find the active VNC session display ID with the command " +":command:`vncserver -list`." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:565 +msgid "" +"Terminate it with the :command:`vncserver -kill` command followed by a " +"colon and the display ID." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:572 +msgid "" +"For `Method 3`, only the system administrator can stop and disable the " +"VNC service by using these commands:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:582 +msgid "Encrypt VNC traffic through an SSH tunnel" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:584 +msgid "" +"By default, VNC traffic is not encrypted. Figure 6 shows an example " +"warning from RealVNC Viewer." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:591 +msgid "Figure 6: RealVNC Viewer - Connection not encrypted warning" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:593 +msgid "" +"To add security, VNC traffic can be routed through an SSH tunnel. This is" +" accomplished by following these steps:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:595 +msgid "" +"Configure the VNC server to only accept connection from localhost by " +"adding the `-localhost` option." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:597 +msgid "" +"Set up an SSH tunnel between your client system and your |CL| host. Your " +"client system will forward traffic from the localhost (the client) " +"destined for a specified fully-qualified VNC port number (on the client) " +"to your |CL| host with the same port number." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:601 +msgid "" +"The VNC viewer app on your client system will now connect to localhost, " +"instead of the IP address of your |CL| host." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:605 +msgid "Configure VNC to only accept connection from localhost" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:607 +msgid "For `Method 1`:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:609 +msgid "" +"Edit the :file:`config` file located in :file:`$HOME/.vnc` and uncomment " +"the `# localhost` line. It should look like this:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:625 +msgid "If an active session exists, kill it, and then restart it." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:627 +msgid "For `Method 2`:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:629 +msgid "" +"Edit the systemd service script :file:`vncserver@:[X].service` located in" +" :file:`/etc/systemd/system` and add `-localhost` to the `ExecStart` " +"line. The example below uses vncserver@:5.service:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:651 +msgid "Restart the service script:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:658 +msgid "For `Method 3`:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:660 +msgid "No change is needed to the :file:`xvnc@service` script." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:662 +msgid "" +"After you have restarted your VNC session, you can verify that it only " +"accepts connections from localhost by using the :command:`netstat` " +"command like this:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:672 +msgid "Add the |CL| `network-basic` bundle to get the :command:`netstat` command." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:675 +msgid "" +"Figure 7 shows two VNC sessions (5901 and 5905) accepting connections " +"from any host as specified by the `0.0.0.0`'s. This is before the " +"`-localhost` option was used." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:682 +msgid "Figure 7: VNC sessions (5901 and 5905) accepting connections from any host" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:684 +msgid "" +"Figure 8 shows two VNC sessions (5901 and 5905) only accepting " +"connections from localhost as specified by `127.0.0.1`'s. This is after " +"the `-localhost` option was used." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:690 +msgid "" +"Figure 8: VNC sessions (5901 and 5905) only accepting connections from " +"localhost" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:693 +msgid "Set up an SSH tunnel from your client system to your |CL| host" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:695 +msgid "**On Linux distros and macOS:**" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:697 +#: ../../../source/guides/network/vnc.rst:764 +msgid "Open terminal emulator and enter:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:704 +#: ../../../source/guides/network/vnc.rst:754 +msgid "Enter your |CL| account password (not your VNC password)." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:708 +msgid "" +"`-L` specifies that [client port number] on the localhost (on the client " +"side) is forwarded to [fully-qualified VNC port number] (on the server " +"side)." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:711 +msgid "" +"Replace `[client port number]` with an available client port number (for " +"example: 1234). For simplicity, you can make the `[client port number]` " +"the same as the `[fully-qualified VNC port number]`." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:714 +msgid "" +"Replace `[fully-qualified VNC port number]` with 5900 (default VNC port) " +"plus the display ID. For example, if the display ID is 2, the fully-" +"qualified VNC port number is is 5902." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:717 +msgid "`-N` tells SSH to only forward ports and not execute a remote command." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:719 +msgid "`-f` tells SSH to go into the background before command execution." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:720 +msgid "`-l` specifies the username to log in as." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:722 +msgid "**On Windows:**" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:725 +msgid "Specify the |CL| VNC host to connect to." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:733 +msgid "Configure the SSH tunnel. See Figure 9 for an example." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:735 +msgid "" +"Under the :guilabel:`Category` section, go to :guilabel:`Connection` > " +":guilabel:`SSH` > :guilabel:`Tunnels`." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:738 +msgid "" +"In the :guilabel:`Source port` field, enter an available client port " +"number (for example: 1234). For simplicity, you can make the `Source " +"port` the same as the fully-qualified VNC port number." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:742 +msgid "" +"In the :guilabel:`Destination` field, enter `localhost:` plus the fully-" +"qualified VNC port number." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:745 +msgid "Click the :guilabel:`Add` button." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:751 +msgid "Figure 9: Putty - configure SSH tunnel" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:757 +msgid "Connect to a VNC session through an SSH tunnel" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:759 +msgid "" +"After you have set up an SSH tunnel, follow these instructions to connect" +" to your VNC session." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:770 +msgid "**On Windows and macOS using `RealVNC`:**" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:772 +msgid "Start the RealVNC viewer app." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:773 +msgid "" +"Enter `localhost` and the fully-qualified VNC port number. See Figure 10" +" for an example." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:780 +msgid "Figure 10: RealVNC viewer app connecting to `localhost:1234`" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:784 +msgid "" +"RealVNC will still warn that the connection is not encrypted even though " +"its traffic is going through the SSH tunnel. You can ignore this " +"warning." +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/guides/telemetrics/telem-guide.po b/localization/po/locale/zh_CN/LC_MESSAGES/guides/telemetrics/telem-guide.po new file mode 100644 index 00000000..81f8994a --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/guides/telemetrics/telem-guide.po @@ -0,0 +1,942 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/guides/telemetrics/telem-guide.rst:4 +msgid "Telemetrics" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:6 +msgid "" +"Telemetrics in |CL-ATTR| is a client and server solution used to collect " +"data from running |CL| systems to help quickly identify and fix bugs in " +"the OS. Both client and server are customizable, and an API is available" +" on the client side for instrumenting your code for debug and analysis." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:10 +msgid "" +"Telemetry in |CL| is **opt-in**. The telemetry client is **not** active " +"and sends **no** data until you explicitly enable it." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:14 +msgid "" +"The telemetry functionality adheres to `Intel privacy policies`_ " +"regarding the collection and use of :abbr:`PII (Personally Identifiable " +"Information)` and is open source. Specifically, no intentionally " +"identifiable information about the user or system owner is collected." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:23 +msgid "Description" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:25 +msgid "" +"Telemetry, one of the key features of |CL|, enables developers to observe" +" and proactively address issues in the OS before end users are impacted." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:27 +msgid "Telemetrics is a combination word made from:" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:29 +msgid "Telemetry, which is sensing and reporting data." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:30 +msgid "" +"Analytics, which is using visualization and statistical inferencing to " +"make sense of the reported data." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:32 +msgid "" +"|CL| telemetry reports system-level debug/crash information using " +"specialized probes. The probes monitor system tasks such as swupd, kernel" +" oops, machine error checks, and the BIOS error report table for " +"unhandled hardware failures. Telemetry enables real-time issue reporting " +"to allow system developers to quickly focus on an issue and monitor " +"corrective actions." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:34 +msgid "" +"|CL| telemetry is fully customizable and can be used during software " +"development for debugging purposes. You can use the libtelemetry library" +" in your code to create custom telemetry records. You can also use the " +"telem-record-gen utility in script files for light touch record creation " +"where instrumenting code files doesn't make sense." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:36 +msgid "" +"The |CL| telemetrics solution is an **opt-in** choice on the client side." +" By default, the telemetry client is disabled until you choose to enable" +" it. Enabling the client is covered in this guide." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:39 +msgid "Architecture" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:41 +msgid "" +"|CL| telemetry has two fundamental components, which are shown in figure " +"1:" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:43 +msgid "" +"Client: generates and delivers records to the backend server via the " +"network" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:45 +msgid "" +"Backend: receives records sent from the client and displays the " +"cumulative content through a specialized web interface." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:50 +msgid "Figure 1: :guilabel:`|CL| Telemetry Architecture`" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:52 +msgid "" +"The telemetry client provides the front end of the telemetrics solution " +"and includes the following components:" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:54 +msgid "" +"telemprobd, a daemon that receives and prepares telemetry records from " +"probes and spools them to disk." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:55 +msgid "" +"telempostd, a daemon that manages spooled telemetry records and delivers " +"these records according to configurable settings." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:56 +msgid "probes, that collect specific types of data from the operating system." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:57 +msgid "libtelemetry, the API that telemetrics probes use to create records." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:59 +msgid "" +"The telemetry backend provides the server-side component of the " +"telemetrics solution and consists of:" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:61 +msgid "Nginx web server." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:62 +msgid "" +"Two Flask apps: * Collector, an ingestion web app for records received " +"from client probes. * TelemetryUI, a web app that exposes different views" +" to visualize the telemetry data." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:65 +msgid "PostgreSQL as the underlying database server." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:69 +msgid "" +"The default telemetry backend server is hosted by the Intel |CL| " +"development team and is not viewable outside the Intel firewall. To " +"collect your own records, you must set up your own telemetry backend " +"server." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:74 +msgid "How To Use" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:76 +msgid "" +"From a workflow perspective, the |CL| telemetrics system is " +"straightforward. On the client side, the main decisions after " +"installation and enabling telemetry concern what to do with the record " +"data generated by the probes. You can send the data to the default or a " +"custom backend server, keep the data local to the system, or both. The " +"backend server has a more complex setup, but once it's running, it is " +"simple to use and configure." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:78 +msgid "" +"This section walks through some of the possible scenarios for configuring" +" the |CL| telemetrics system, and suggests which make sense according to " +"your needs." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:81 +msgid "Scenarios" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:82 +msgid "Enable telemetry" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:84 +msgid "" +"Before probes can generate records, the telemetry client daemons must be " +"enabled. You can configure the client before enabling by creating a " +"custom :file:`telemetrics.conf` file that you place in the " +":file:`/etc/telemetrics` directory. If you choose to use the default " +"settings, records will be sent to the telemetrics backend server managed " +"by the |CL| development team at Intel." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:86 +msgid "Save record data locally" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:88 +msgid "" +"You can configure the telemetry client to save records locally. This is " +"convenient when you want instant feedback during a development cycle, or " +"to track system issues if you believe there is a machine specific " +"problem. The client can be set to not send records at all, or to both " +"keep the records locally and send to the backend server." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:90 +msgid "Set up a server to collect data" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:92 +msgid "" +"Whether you are managing a network of |CL| systems or you don't want to " +"send records to the default telemetry server, you can set up a backend " +"server to collect your records. The backend server can be installed on " +"any Linux system and will give you the same dashboard as the default " +"server." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:95 +#: ../../../source/guides/telemetrics/telem-guide.rst:362 +msgid "Instrument your code with the libtelemetry API" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:97 +msgid "" +"The ``telemetrics`` bundle includes the libtelemetry C library, which " +"exposes an API used by the telemprobd and telempostd daemons. You can use" +" these in your applications as well. The API documentation is found in " +"the :file:`telemetry.h` file in `Telemetrics client`_ repository." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:101 +msgid "Examples" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:108 +msgid "Enable or Disable Telemetry" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:110 +msgid "Enabling during installation" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:112 +msgid "" +"During the initial installation of |CL|, you are requested to join the " +"stability enhancement program and allow |CL| to collect anonymous reports" +" to improve system stability. If you choose not to join this program, " +"then the telemetry software bundle is not added to your system. Choosing " +"to join will automatically enable telemetry on your system after " +"installation is commplete." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:114 +msgid "Enabling after install" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:116 +msgid "To start telemetry on your system, run the following command:" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:122 +msgid "" +"This enables and starts the :command:`telemprobd` and " +":command:`telempostd` daemons. Your system will begin to send telemetry " +"data to the server defined in the file " +":file:`/etc/telemetrics/telemetrics.conf`. If this file does not exist, " +"the :command:`telemprobd` and :command:`telempostd` daemons will use the " +"file :file:`/usr/share/defaults/telemetrics/telemetrics.conf`." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:124 +msgid "Disabling after install" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:126 +msgid "To disable both of the telemetry daemons, run the following command:" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:132 +msgid "Opt in to telemetry" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:134 +msgid "" +"To opt-in to the telemetry services, simply enter the opt-in command and " +"start the service:" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:140 +msgid "" +"This removes the :file:`/etc/telemetrics/opt-out` file, if it exists, and" +" starts the telemetry services." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:144 +msgid "" +"To opt-in but not immediately start telemetry services, you will need to " +"run the command :command:`sudo telemctl stop` after the :command:`opt-in`" +" command is entered. Once you are ready to start the service, enter the " +"command :command:`sudo telemctl start`." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:146 +msgid "Opt out of telemetry" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:148 +msgid "" +"To stop sending telemetrics data from your system, opt out of the " +"telemetry service:" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:154 +msgid "" +"This creates the file :file:`/etc/telemetrics/opt-out` and stops the " +"telemetry services." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:158 +msgid "Saving Data Locally" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:160 +msgid "" +"This example requires |CL| to be installed, and telemetry to be enabled " +"on the system." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:162 +msgid "" +"To change how records are managed, we will be copying the default " +":file:`/usr/share/defaults/telemetrics/telemetrics.conf` file to " +":file:`/etc/telemetrics/telemetrics.conf` and editing it. The changes in" +" the :file:`/etc/telemetrics/telemetrics.conf` file will override the " +"defaults in the :file:`/usr/share/defaults/telemetrics/telemetrics.conf` " +"file. You may need ``root`` permissions to create and edit files in " +":file:`/etc`. For each example, and for any time you make changes to the " +"configuration file, you will need to restart the client daemons to pick " +"up the changes:" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:169 +msgid "" +"The :command:`telemctl journal` command gives you access to features and " +"options of the telemetry journal to assist with system analytics and " +"debug. :command:`telemctl journal` has a number of options to help filter" +" records. Use :command:`-h` or :command:`--help` to view usage options." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:172 +msgid "Keep local copy and send records to backend server" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:174 +msgid "" +"To keep a local copy of the telemetry record and also send it on to the " +"backend server, we will need to change the " +":guilabel:`record_retention_enabled` configuration key value to " +":guilabel:`true`." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:177 +msgid "Keep all records -- don't send to backend server" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:179 +msgid "" +"To keep records on the system without sending them to a backend server, " +"set the :guilabel:`record_server_delivery_enabled` key value to " +":guilabel:`false`. Note that you will also need to ensure the " +":guilabel:`record_retention_enabled` configuration key value is set to " +":guilabel:`true` or the system will not keep local copies." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:181 +msgid "Keep and send records to custom server" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:183 +msgid "" +"This assumes you have set up a custom server according to the next " +"example." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:185 +msgid "" +"The server is identified by the :guilabel:`server` setting, and by " +"default records will be sent to the |CL| server " +":guilabel:`server=https://clr.telemetry.intel.com/v2/collector`. To " +"change this, you can use an IP address or fully qualified domain name." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:190 +msgid "Set up a backend server to collect telemetry records" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:192 +msgid "" +"For this example, start with a clean installation of |CL| on a new system" +" using the :ref:`bare-metal-install-server` getting started guide and:" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:195 +msgid "" +"Join the :guilabel:`Stability Enhancement Program` to install and enable " +"the telemetrics components." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:197 +msgid "Select the manual installation method with the following settings:" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:199 +msgid "Set the hostname to :guilabel:`clr-telem-server`," +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:200 +msgid "" +"Create an administrative user named :guilabel:`clear` and add this user " +"to sudoers" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:203 +msgid "" +"Log in with your administrative user, from your :file:`$HOME` directory, " +"run :command:`git` to clone the :guilabel:`telemetrics-backend` " +"repository into the :file:`$HOME/telemetrics-backend` directory:" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:211 +msgid "" +"You may need to set up the :envvar:`https_proxy` environment variable if " +"you have issues reaching github.com." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:213 +msgid "" +"Change your current working directory to :file:`telemetrics-" +"backend/scripts`." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:214 +msgid "" +"We will install the telemetrics backend with the :file:`deploy.sh` script" +" file. We will set the following options and leave the remainder as " +"default:" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:216 +msgid "*-a install* to perform an install" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:217 +msgid "*-d clr* to install to a |CL| distro" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:218 +msgid "*-H localhost* to set the domain to localhost" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:221 +msgid "" +"The :file:`deploy.sh` shell script has minimal error checking and makes " +"several changes to your system. Be sure that the options you define on " +"the cmdline are correct before proceeding." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:224 +msgid "" +"Run the shell script from the :file:`$HOME/telemetrics-backend/scripts` " +"directory:" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:232 +msgid "" +"The script will start and list all the defined options and prompt you for" +" the :guilabel:`PostgreSQL` database password" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:245 +msgid "" +"For the :guilabel:`DB password:`, press the :kbd:`Enter` key to accept " +"the default password `postgres`." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:249 +msgid "" +"The :file:`deploy.sh` script uses :command:`sudo` to run commands and you" +" may be prompted to enter your user password at any time while the script" +" is executing. If this occurs, enter your user password to execute the " +":command:`sudo` command." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:252 +msgid "" +"Once all the server components have been installed you are prompted to " +"enter the :guilabel:`PostgreSQL` database password to change it as " +"illustrated below:" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:261 +msgid "" +"Enter `postgres` for the current value of the password and then enter a " +"new password, retype it to verify the new password and the " +":guilabel:`PostgreSQL` database password will be updated." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:263 +msgid "" +"Once the installation is complete you can use your web browser to view " +"the new server by opening the browser on the system and typing in " +"``localhost`` in the address bar. You should see a web page similar to " +"the one shown in figure 1:" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:268 +msgid "Figure 1: :guilabel:`Telemetry UI`" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:273 +msgid "Create records with telem-record-gen" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:275 +msgid "" +"The telemetrics bundle provides a record generator tool called ``telem-" +"record-gen``. This tool can be used to create records from shell scripts " +"or the command line when writing a probe in C is not desirable. Records " +"are sent to the backend server, and can also be echoed to stdout." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:277 +msgid "There are three ways to supply the payload to the record." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:279 +msgid "On the command line, use the :command:`-p ` option:" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:305 +msgid "" +"Specify a file that contains the payload with the option :command:`-P " +"path/to/file`." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:331 +msgid "" +"If the :command:`-p` or :command:`-P` options are absent, the tool reads " +"from stdin so you can use it in a :file:`heredoc` in scripts." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:365 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:366 +msgid "" +"Confirm that the telemetrics header file is located on the system at " +":file:`usr/include/telemetry.h` The `latest version`_ of the file can " +"also be found on github for reference, but installing the `telemetry` " +"bundle will install the header file that matches your |CL| version." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:368 +msgid "Includes and variables" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:370 +msgid "" +"You will need to include the following headers in your code to use the " +"API:" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:381 +msgid "" +"Use the following code to create the variables we need to hold the data " +"for the record we will be creating:" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:396 +msgid "Severity:" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst +msgid "Type: uint32_t" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst +msgid "" +"Value: Severity field value. Accepted values are in the range 1-4, with " +"1 being the lowest severity, and 4 being the highest severity. Values " +"provided outside of this range are clamped to 1 or 4. [low, med, high, " +"crit]" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:400 +msgid "Payload_version:" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst +msgid "" +"Value: Payload format version. The only supported value right now is 1, " +"which indicates that the payload is a freely-formatted (unstructured) " +"string. Values greater than 1 are reserved for future use." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:404 +msgid "Classification:" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst +msgid "Type: char array" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst +msgid "" +"Value: It should have the form, DOMAIN/PROBENAME/REST: DOMAIN is the " +"reverse domain to use as a namespace for the probe (e.g. org.clearlinux);" +" PROBENAME is the name of the probe; and REST is an arbitrary value that " +"the probe should use to classify the record. The maximum length for the " +"classification string is 122 bytes. Each sub-category may be no longer " +"than 40 bytes long. Two / delimiters are required." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:408 +msgid "Tm_handle:" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst +msgid "Type: Telem_ref struct pointer" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst +msgid "" +"Value: Struct pointer declared by the caller, The struct is initialized " +"if the function returns success." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:414 +msgid "Payload:" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst +msgid "Type: char pointer" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst +msgid "Value: The payload to set" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:416 +msgid "For this example, we'll set the payload to “hello” by using ``asprintf()``" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:426 +msgid "" +"The functions ``asprintf()`` and ``vasprintf()`` are analogs of " +"``sprintf(3)`` and ``vsprintf(3)``, except that they allocate a string" +" large enough to hold the output including the terminating null byte " +"('\\0'), and return a pointer to it via the first argument. This pointer" +" should be passed to ``free(3)`` to release the allocated storage when it" +" is no longer needed." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:428 +msgid "Create the new telemetry record" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:430 +msgid "" +"The function ``tm_create_record()`` initializes a telemetry record and " +"sets the severity and classification of that record, as well as the " +"payload version number. The memory needed to store the telemetry record " +"is allocated and should be freed with ``tm_free_record()`` when no longer" +" needed." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:440 +msgid "Set the payload field of a telemetrics record" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:442 +msgid "" +"The function ``tm_set_payload()`` attaches the provided telemetry record " +"data to the telemetry record. The current maximum payload size is 8192b." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:453 +msgid "" +"The ``free()`` function frees the memory space pointed to by ptr, which " +"must have been returned by a previous call to ``malloc()``, ``calloc()``," +" or ``realloc()``. Otherwise, or if ``free(ptr)`` has already been " +"called before, undefined behavior occurs. If ptr is NULL, no operation " +"is performed." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:455 +msgid "Send a record to the telemetrics daemon" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:457 +msgid "" +"The function ``tm_send_record()`` delivers the record to the local " +"``telemprobd(1)`` service. Since the telemetry record was allocated by " +"the program it should be freed with ``tm_free_record()`` when it is no " +"longer needed." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:476 +msgid "Full sample application with compiling flags" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:478 +msgid "Create a new file test.c add the following code." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:533 +msgid "Compile with the gcc compiler, using this command:" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:540 +msgid "Test to ensure the program is working:" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:549 +msgid "" +"A full example of the `heartbeat probe`_ in C is documented in the source" +" code." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:552 +msgid "Reference" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:559 +msgid "The Telemetry API" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:561 +msgid "" +"Installing the ``telemetrics`` bundle includes the libtelemetry C " +"library, which exposes an API used by the telemprobd and telempostd " +"daemons. You can use these in your applications as well. The API " +"documentation is found in the :file:`telemetry.h` file in `Telemetrics " +"client`_ repository." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:564 +msgid "Client Configuration" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:566 +msgid "" +"The telemetry client will look for the configuration file located at " +":file:`/etc/telemetrics/telemetrics.conf` and use it if it exists. If the" +" file does not exist, the client will use the default configuration " +"located at :file:`/usr/share/defaults telemetrics/telemetrics.conf`. To " +"modify or customize the configuration, copy the file from " +":file:`/usr/share/defaults/telemetrics` to :file:`/etc/telemetrics` and " +"edit it." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:569 +msgid "Configuration Options" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:570 +msgid "The client uses the following configuration options from the config file:" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:572 +msgid "" +"**server**: This specifies the web server to which telempostd sends the " +"telemetry records." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:573 +msgid "" +"**socket_path**: This specifies the path of the unix domain socket that " +"the telemprobd listens on for connections from the probes." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:574 +msgid "" +"**spool_dir**: This configuration option is related to spooling. If the " +"daemon is not able to send the telemetry records to the backend server " +"due to reasons such as the network availability, then it stores the " +"records in a spool directory. This option specifies that path of the " +"spool directory. This directory should be owned by the same user as the " +"daemon." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:575 +msgid "" +"**record_expiry**: This is the time in minutes after which the records in" +" the spool directory are deleted by the daemon." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:576 +msgid "" +"**spool_process_time**: This specifies the time interval in seconds that " +"the daemon waits for before checking the spool directory for records. The" +" daemon picks up the records in the order of modification date and tries " +"to send the record to the server. It sends a maximum of 10 records at a " +"time. If it was able to send a record successfully, it deletes the record" +" from the spool. If the daemon finds a record older than the " +"\"record_expiry\" time, then it deletes that record. The daemon looks at " +"a maximum of 20 records in a single spool run loop." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:577 +msgid "" +"**rate_limit_enabled**: This determines whether rate-limiting is enabled " +"or disabled. When enabled, there is a threshold on both records sent " +"within a window of time, and record bytes sent within a window a time." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:578 +msgid "" +"**record_burst_limit**: This is the maximum amount of records allowed to " +"be passed by the daemon within the record_window_length of time. If set " +"to -1, the rate-limiting for record bursts is disabled." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:579 +msgid "" +"**record_window_length**: The time in minutes (0-59) that establishes the" +" window length for the record_burst_limit. EX: if " +"record_burst_window=1000 and record_window_length=15, then no more than " +"1000 records can be passed within any given fifteen minute window." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:580 +msgid "" +"**byte_burst_limit**: This is the maximum amount of bytes that can be " +"passed by the daemon within the byte_window_length of time. If set to -1," +" the rate-limiting for byte bursts is disabled." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:582 +msgid "" +"**byte_window_length**: This is the time, in minutes (0-59), that " +"establishes the window length for the byte_burst_limit." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:583 +msgid "" +"**rate_limit_strategy**: This is the strategy chosen once the rate-" +"limiting threshold has been reached. Currently the options are 'drop' or " +"'spool', with spool being the default. If spool is chosen, records will " +"be spooled and sent at a later time." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:584 +msgid "" +"**record_retention_enabled**: When this key is enabled (true) the daemon " +"saves a copy of the payload on disk from all valid records. To avoid the " +"excessive use of disk space only the latest 100 records are kept. The " +"default value for this configuration key is false." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:585 +msgid "" +"**record_server_delivery_enabled**: This key controls the delivery of " +"records to server; when enabled (default value), the record will be " +"posted to the address in the configuration file. If this configuration " +"key is disabled (false), records will not be spooled or posted to " +"backend. This configuration key can be used in combination with " +"record_retention_enabled to keep copies of telemetry records locally " +"only." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:589 +msgid "" +"Configuration options may change as the telemetry client evolves. Please " +"use the comments in the file itself as the most accurate reference for " +"configuration." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:595 +msgid "Client Run-time Options" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:596 +msgid "" +"The |CL| telemetry client provides an admin tool called " +":guilabel:`telemctl` for managing the telemetry services and probes. The " +"tool is located in :file:`/usr/bin`. Running it with no argument results " +"in the following:" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:615 +msgid "start/stop/restart" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:617 +msgid "" +"The commands to start, stop and restart the telemetry services manage all" +" required services and probes on the system. There is no need to " +"separately start/stop/restart the two client daemons **telemprobd** and " +"**telempostd**. The **restart** command option will call **telemctl " +"stop** followed by **telemctl start** ." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:620 +msgid "is-active" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:622 +msgid "" +"The `is-active` option reports whether the two client daemons are active." +" This is useful to verify that the **opt-in** and **opt-out** options " +"have taken effect, or to ensure that telemetry is functioning on the " +"system. Note that both daemons are verified." +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/index.po b/localization/po/locale/zh_CN/LC_MESSAGES/index.po new file mode 100644 index 00000000..4b1259a9 --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/index.po @@ -0,0 +1,94 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/index.rst:4 +msgid "|CL-PRJ|" +msgstr "" + +#: ../../../source/index.rst:6 +msgid "" +"Welcome to the |CL-ATTR| documentation pages, the source for |CL| " +"documentation." +msgstr "" + +#: ../../../source/index.rst:12 +msgid "Our documentation is divided into the following sections:" +msgstr "" + +#: ../../../source/index.rst:15 +msgid ":ref:`get-started`" +msgstr "" + +#: ../../../source/includes/get-started.txt:1 +msgid "" +"If you are new to |CL|, get started fast with tutorials for installing " +"|CL| on bare metal, in a virtual environment, or as a live image on a USB" +" stick." +msgstr "" + +#: ../../../source/index.rst:19 +msgid ":ref:`tooling`" +msgstr "" + +#: ../../../source/index.rst:18 +msgid "" +"Clear Linux is a little different from other distros. Here are some " +"important tools and concept for managing your install." +msgstr "" + +#: ../../../source/index.rst:24 +msgid ":ref:`guides`" +msgstr "" + +#: ../../../source/index.rst:22 +msgid "" +"Guides show how to complete common tasks that help you leverage |CL| " +"native features effectively. From basic system configuration to advanced " +"management of a cloud installation, there is a guide for you." +msgstr "" + +#: ../../../source/index.rst:28 +msgid ":ref:`tutorials`" +msgstr "" + +#: ../../../source/index.rst:27 +msgid "" +"|CL| tutorials provide step-by-step instructions on how |CL| features can" +" be used and extended, frequently with third-party tools." +msgstr "" + +#: ../../../source/index.rst:32 +msgid ":ref:`reference`" +msgstr "" + +#: ../../../source/index.rst:31 +msgid "" +"Find the detailed information you need to enable your configuration or " +"task in our |CL| reference section." +msgstr "" + +#: ../../../source/index.rst:35 +msgid ":ref:`faq`" +msgstr "" + +#: ../../../source/index.rst:35 +msgid "Refer to our FAQ section to read commonly asked questions and answers." +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/reference/bundle-commands.po b/localization/po/locale/zh_CN/LC_MESSAGES/reference/bundle-commands.po new file mode 100644 index 00000000..39504628 --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/reference/bundle-commands.po @@ -0,0 +1,58 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/reference/bundle-commands.rst:4 +msgid "Useful bundle commands" +msgstr "" + +#: ../../../source/reference/bundle-commands.rst:6 +msgid "To see a list of currently installed bundles, enter:" +msgstr "" + +#: ../../../source/reference/bundle-commands.rst:12 +msgid "To see the list of all available bundles, enter:" +msgstr "" + +#: ../../../source/reference/bundle-commands.rst:18 +msgid "" +"Alternatively, you can view our :ref:`available bundles ` " +"webpage." +msgstr "" + +#: ../../../source/reference/bundle-commands.rst:21 +msgid "To search for bundles and their contents, enter:" +msgstr "" + +#: ../../../source/reference/bundle-commands.rst:27 +msgid "To add a bundle, enter:" +msgstr "" + +#: ../../../source/reference/bundle-commands.rst:34 +msgid "Additional information" +msgstr "" + +#: ../../../source/reference/bundle-commands.rst:36 +msgid "For additional :command:`swupd` commands, enter:" +msgstr "" + +#: ../../../source/reference/bundle-commands.rst:42 +msgid "To reference the :command:`swupd` man page, enter:" +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/reference/bundles/bundles.po b/localization/po/locale/zh_CN/LC_MESSAGES/reference/bundles/bundles.po new file mode 100644 index 00000000..d841b6f6 --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/reference/bundles/bundles.po @@ -0,0 +1,41 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/reference/bundles/bundles.rst:4 +msgid "Available bundles" +msgstr "" + +#: ../../../source/reference/bundles/bundles.rst:6 +msgid "" +"This document provides a current list of available bundles. View the " +"`clr-bundles repo`_ on GitHub\\*, or select the bundle :file:`Name` for " +"more details." +msgstr "" + +#: ../../../source/reference/bundles/bundles.rst:9 +msgid "" +"To learn more about how |CL-ATTR| uses bundles for software deployment, " +"visit :ref:`bundles-about`." +msgstr "" + +#: ../../../source/reference/bundles/bundles.rst:13 +msgid "Bundle list" +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/reference/bundles/openssh-server.po b/localization/po/locale/zh_CN/LC_MESSAGES/reference/bundles/openssh-server.po new file mode 100644 index 00000000..a463fe2b --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/reference/bundles/openssh-server.po @@ -0,0 +1,181 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/reference/bundles/openssh-server.rst:4 +msgid "openssh-server" +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:6 +msgid "" +"The **openssh-server** bundle provides the OpenSSH\\* package needed to " +"enable an SSH service in |CL-ATTR|. Remote users require an SSH service " +"to be able to use an encrypted login shell." +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:10 +msgid "" +"|CL| enables the `sshd.socket` unit, which will listen on port 22 by " +"default and start the OpenSSH service as required. The first time OpenSSH" +" starts, it generates the server SSH keys needed for the service." +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:15 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:17 +msgid "Assure the bundle :file:`openssh-server` is installed." +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:19 +msgid "To check it it's on your host, enter:" +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:25 +msgid "To add it, enter:" +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:32 +msgid "Change default port" +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:34 +msgid "" +"Perform the following steps to change the default listening port for the " +"OpenSSH service:" +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:37 +msgid "Open the sshd.socket file:" +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:43 +msgid "" +"Add the `[Socket]` section and `ListenStream` option to the sshd.socket " +"file as shown below. The first `ListenStream` entry removes the |CL| " +"default listen port value. The second `ListenStream` entry sets the new " +"default listen port value. In this example, we set the new default port " +"to 4200:" +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:56 +msgid "" +"Make sure to include a new line after the last line of text in the " +"sshd.socket file." +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:58 +msgid "Verify your changes:" +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:64 +msgid "You should see the following output:" +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:72 +msgid "Reload the systemd daemon configurations:" +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:78 +msgid "Restart the sshd.socket unit:" +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:84 +msgid "Confirm the the sshd.socket unit is listening on your new port:" +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:92 +msgid "Output should show :guilabel:`Active:` as `active(listening)`." +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:95 +msgid "Enable SFTP" +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:97 +msgid "" +"|CL| *disables* the :abbr:`SFTP (SSH File Transfer Protocol)` subsystem " +"by default due to security considerations. To enable the SFTP subsystem, " +"perform the following configuration of the :abbr:`SSHD (SSH Daemon)` " +"service file:" +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:101 +msgid "Create a systemd drop-in directory for the SSHD service:" +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:107 +msgid "" +"Create the following file: " +":file:`/etc/systemd/system/sshd@.service.d/sftp.conf`" +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:110 +msgid "Add the OPTIONS environment variable to the sftp.conf file." +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:117 +msgid "Reload systemd configuration:" +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:123 +msgid "Congratulations! The SFTP subsystem is enabled." +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:126 +msgid "Enable root login" +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:128 +msgid "To enable root login via SSH, perform the following steps:" +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:130 +#: ../../../source/reference/bundles/openssh-server.rst:153 +msgid "Create a *ssh* directory in :file:`/etc`, if it does not already exist." +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:136 +#: ../../../source/reference/bundles/openssh-server.rst:159 +msgid "" +"Create the following file, if it does not already exist: " +":file:`/etc/ssh/sshd_config`" +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:139 +msgid "Set the configuration variable in /etc/ssh/sshd_config" +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:146 +msgid "Enable X11-forwarding" +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:148 +msgid "" +"X11 forwarding allows you to securely run graphical applications (i.e., X" +" clients) over the ssh conection. This will alow for remote gui apps " +"without the need for full VNC/remotedesktop. To enable X11-forwarding via" +" SSH, perform the following steps:" +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:162 +msgid "Set the configuration variables." +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/reference/collaboration/collaboration.po b/localization/po/locale/zh_CN/LC_MESSAGES/reference/collaboration/collaboration.po new file mode 100644 index 00000000..f119ffd3 --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/reference/collaboration/collaboration.po @@ -0,0 +1,161 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/reference/collaboration/collaboration.rst:4 +msgid "Documentation guidelines" +msgstr "" + +#: ../../../source/reference/collaboration/collaboration.rst:6 +msgid "" +"See a missing topic in the documentation? Find an existing document that " +"could be improved? Help us out by contributing! If you haven't " +"contributed before, take a moment to review our `Contribution " +"guidelines`_." +msgstr "" + +#: ../../../source/reference/collaboration/collaboration.rst:10 +msgid "" +"Do you have questions about the documentation that were not answered by " +"these guidelines? Send your question to the `mailing list`_." +msgstr "" + +#: ../../../source/reference/collaboration/collaboration.rst:14 +msgid "Contribution guidelines" +msgstr "" + +#: ../../../source/reference/collaboration/collaboration.rst:16 +msgid "" +"The |CL| documentation is hosted in GitHub and is written using " +"reStructuredText. Use our guidelines and best practices to write " +"consistent, readable documentation." +msgstr "" + +#: ../../../source/reference/collaboration/collaboration.rst:27 +msgid "How to contribute" +msgstr "" + +#: ../../../source/reference/collaboration/collaboration.rst:29 +msgid "There are multiple ways to contribute and help improve our documentation:" +msgstr "" + +#: ../../../source/reference/collaboration/collaboration.rst:31 +msgid "" +"**Make a suggestion**: Have a documentation suggestion but no time to " +"write it yourself? Send your suggestion to the `mailing list`_." +msgstr "" + +#: ../../../source/reference/collaboration/collaboration.rst:33 +msgid "" +"**Log an issue**: If you find a problem in our documentation (such as " +"typos or out-of-date information), log an issue in the `documentation " +"repository`_." +msgstr "" + +#: ../../../source/reference/collaboration/collaboration.rst:35 +msgid "" +"**Contribute directly via GitHub**: Whether you've found a typo, have " +"better instructions or examples, or have a new page to add, submit your " +"improvement or addition as a pull request on the `documentation " +"repository`_." +msgstr "" + +#: ../../../source/reference/collaboration/collaboration.rst:38 +msgid "" +"**Test documentation**: Step through our instructional guides and " +"tutorials to verify the instructions. Log or correct any out-of-date " +"information." +msgstr "" + +#: ../../../source/reference/collaboration/collaboration.rst:41 +msgid "All contributions must follow our `code of conduct`_." +msgstr "" + +#: ../../../source/reference/collaboration/collaboration.rst:44 +msgid "Contribute via GitHub" +msgstr "" + +#: ../../../source/reference/collaboration/collaboration.rst:46 +msgid "" +"Our documentation is hosted in GitHub and we follow the standard `GitHub " +"flow`_:" +msgstr "" + +#: ../../../source/reference/collaboration/collaboration.rst:48 +msgid "Clone the `documentation repository`_." +msgstr "" + +#: ../../../source/reference/collaboration/collaboration.rst:50 +msgid "Create your own fork of the repository." +msgstr "" + +#: ../../../source/reference/collaboration/collaboration.rst:52 +msgid "Create a branch for your contribution." +msgstr "" + +#: ../../../source/reference/collaboration/collaboration.rst:54 +msgid "Add your commits." +msgstr "" + +#: ../../../source/reference/collaboration/collaboration.rst:56 +msgid "Open a pull request." +msgstr "" + +#: ../../../source/reference/collaboration/collaboration.rst:58 +msgid "Discuss, review, and update your contributions." +msgstr "" + +#: ../../../source/reference/collaboration/collaboration.rst:60 +msgid "" +"Once the maintainer approves, your contribution is merged and published " +"as part of the documentation." +msgstr "" + +#: ../../../source/reference/collaboration/collaboration.rst:66 +msgid "References" +msgstr "" + +#: ../../../source/reference/collaboration/collaboration.rst:68 +msgid "" +"We use the following references to guide the grammar, style, and " +"formatting of our documentation:" +msgstr "" + +#: ../../../source/reference/collaboration/collaboration.rst:71 +msgid "`Microsoft Writing Style Guide`_" +msgstr "" + +#: ../../../source/reference/collaboration/collaboration.rst:72 +msgid "`Merriam-Webster Dictionary`_" +msgstr "" + +#: ../../../source/reference/collaboration/collaboration.rst:73 +msgid "" +"The Chicago Manual of Style (15th edition), The University of Chicago " +"Press" +msgstr "" + +#: ../../../source/reference/collaboration/collaboration.rst:74 +msgid "Microsoft Press Computer Dictionary, Microsoft Press" +msgstr "" + +#: ../../../source/reference/collaboration/collaboration.rst:75 +msgid "Read Me First!, Oracle Technical Publications" +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/reference/collaboration/structure-formatting.po b/localization/po/locale/zh_CN/LC_MESSAGES/reference/collaboration/structure-formatting.po new file mode 100644 index 00000000..a42a80e0 --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/reference/collaboration/structure-formatting.po @@ -0,0 +1,890 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/reference/collaboration/structure-formatting.rst:4 +msgid "Structure and formatting" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:6 +msgid "" +"Content should be organized to support scanning. Consistent organization," +" formatting, and writing style helps readers quickly find what they need " +"and to understand the content more effectively. This document describes " +"our organization and formatting guidelines." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:11 +msgid "" +"Refer to :ref:`writing-guide` to learn how we keep our documents clear " +"and concise." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:18 +msgid "Markup" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:20 +msgid "" +"Our documentation is written in the reStructuredText markup language, " +"using Sphinx roles and directives. We use Sphinx to generate the final " +"documentation. You can read more about reStructuredText and Sphinx on " +"their respective websites:" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:25 +msgid "`Sphinx documentation`_" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:26 +msgid "`reStructuredText Primer`_" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:28 +msgid "" +"You can view the content directly in the .rst markup files, or generate " +"the HTML content by installing and building the documentation locally. To" +" run the documentation locally, follow the instructions found in the " +"`documentation repository`_ README." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:34 +msgid "New pages" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:36 +msgid "" +"There are a few additional steps to consider when adding a new page to " +"the documentation. First, identify where your new page should be located " +"within the existing `Documentation organization`_. Second, make sure the " +"new page is picked up in the Sphinx build and easily linkable from other " +"content." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:41 +msgid "" +"Each page must be included in a `Sphinx toctree`_ in order to be included" +" in the documentation content tree. Typically, pages are added to the " +"section landing page toctree." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:45 +msgid "For example, the :ref:`collaboration` page toctree looks like:" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:55 +msgid "" +"Additionally, each page must include a uniquely named reST label directly" +" before the page title, to enable the `Sphinx ref role`_ for linking to a" +" page." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:58 +msgid "" +"For example, this page \"Structure and formating\" has the label ``.. " +"_structure-formatting``:" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:68 +msgid "" +"This page can then be referenced from other pages in the documentation " +"using the `:ref:` role:" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:76 +msgid "Documentation organization" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:78 +msgid "The documentation is organized into five general sections:" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:80 +msgid "" +"**Concepts**: Introduction and overview of |CL| specific concepts or " +"features." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:82 +msgid "**Get started**: Information about getting started with |CL|." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:83 +msgid "**Guides**: Detailed information and instruction on using |CL| features." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:84 +msgid "" +"**Tutorials**: Step-by-step instruction for using |CL| in specific use " +"cases." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:85 +msgid "**Reference**: Supplementary and reference information for |CL|." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:88 +msgid "Page structure" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:90 +msgid "Each page in the documentation should follow the basic format of:" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:92 +msgid "Overview: 1-2 sentences describing what this page shows and why it matters" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:93 +msgid "" +"Prerequisites: Describe any pre-work necessary to the content (if " +"appropriate)" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:94 +msgid "Content" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:95 +msgid "Next steps: List links to next steps (if appropriate)" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:96 +msgid "Related topics: List links to related content (if appropriate)" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:99 +msgid "Headings" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:101 +msgid "" +"Use headings to section and organize your content for better readability " +"and clarity." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:104 +msgid "All files must have a top level heading, which is the title for the page." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:105 +msgid "" +"Up to three additional levels of headings are allowed under the title " +"heading." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:106 +msgid "" +"Each heading should be followed by at least one paragraph of content. " +"Avoid two or more consecutive headings." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:109 +msgid "" +"Refer to the :ref:`writing-guide` for tips on using headings to create " +":ref:`scannable content `." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:112 +msgid "To mark up headings in the .rst file:" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:114 +msgid "Use hash-tags to underline the file's main title:" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:121 +msgid "Use asterisks to underline the file's first level headings:" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:128 +msgid "Use equal signs to underline the file's second level of headings:" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:135 +msgid "Use dashes to underline the file's third level of headings:" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:143 +msgid "In-page navigation" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:145 +msgid "" +"If a page has three or more sections, provide quick links to each " +"section. Place the quick links after the overview section." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:148 +msgid "Use the standard `reST contents directive`_ with depth: 1 for quick links." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:151 +msgid "Inline text formatting" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:153 +msgid "" +"We use the `Microsoft Writing Style Guide`_ as our starting point for " +"text formatting. We apply the formatting using reST and Sphinx markup." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:156 +msgid "Use our quick reference for the most commonly used inline text elements:" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:159 +msgid "**Element**" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:159 +msgid "**Convention**" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:159 +msgid "**reST/Sphinx**" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:161 +msgid "Acronyms" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:161 +msgid "" +"Define acronym when first used. After first use and definition, use the " +"acronym only." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:161 +msgid "Use the ``:abbr:`` role, in the following format:" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:164 +msgid "``:abbr:`Acronym (Def)```" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:166 +msgid "Bundle names" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:166 +#: ../../../source/reference/collaboration/structure-formatting.rst:174 +#: ../../../source/reference/collaboration/structure-formatting.rst:176 +msgid "Bold" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:166 +#: ../../../source/reference/collaboration/structure-formatting.rst:174 +#: ../../../source/reference/collaboration/structure-formatting.rst:176 +msgid "Use the ``:command:`` role." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:168 +msgid "Callouts" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:168 +msgid "Use ``.. note::``" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:170 +msgid "Code/command examples" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:170 +msgid "" +"Monospace, visually distinct from rest of text. Use an indented call-out " +"box." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:170 +msgid "Use ``.. code-block::`` with the correct language setting." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:174 +msgid "Commands" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:176 +msgid "Command flags" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:178 +msgid "Console output" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:178 +msgid "" +"Monospace, visual distinction from rest of text. Use an indented call-out" +" box." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:178 +msgid "Use ``.. code-block::`` with console as the language setting." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:182 +msgid "Emphasis" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:182 +msgid "Italic" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:182 +msgid "``*strong*``" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:184 +msgid "Environment variables" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:184 +msgid "Use the case format of the environment variable." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:184 +msgid "Use ``:envvar:``" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:187 +msgid "Example commands with optional or replaceable parts" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:187 +msgid "Use angle brackets for swapping in the specific name, e.g. ." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:191 +msgid "Use square brackets for optional parts, e.g. [--build]." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:195 +msgid "Example URLs (not linked)" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:195 +msgid "Plain text" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:197 +msgid "File extensions" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:197 +msgid "Lowercase" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:199 +msgid "File names, directories, paths" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:199 +msgid "Title style capitalization" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:199 +msgid "Use the ``:file:`` role." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:201 +msgid "GUI labels" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:201 +msgid "Use ``:guilabel:``" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:203 +msgid "Inline comments" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:203 +msgid "Use ``..``" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:205 +msgid "Keystrokes" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:205 +msgid "Use ``:kbd:``" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:207 +msgid "Local navigation" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:207 +msgid "``.. contents:: :local:`` with a depth of 1" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:210 +msgid "Menu selection" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:210 +msgid "Use ``:menuselection:``" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:212 +msgid "New terms" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:212 +msgid "Italic for first use, normal for all subsequent uses." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:215 +msgid "If it is used outside of the source of definition, link the term." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:212 +msgid "``*term*``" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:218 +msgid "Product name" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:218 +msgid "Follow correct trademark and attribution guidelines." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:221 +msgid "Tool names" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:221 +msgid "Correctly capitalized, no quotes, bold, or italics as the basic rule." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:224 +msgid "" +"If the tool name is the command, like most Linux tools, treat it like a " +"command." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:228 +msgid "" +"If the tool name is lowercase and used at the start of a sentence, use " +"bold." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:234 +msgid "White space and line length" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:236 +msgid "" +"Limit line length to 78 characters. The GitHub web interface forces this " +"limitation for readability." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:239 +msgid "Remove trailing whitespace from your documents." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:242 +msgid "Code blocks and examples" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:244 +msgid "" +"When providing example code or commands use the `Sphinx code-block " +"directive`_. Select the appropriate syntax highlighting for the example " +"command or code." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:247 +msgid "For example, if showing console output, use console highlighting:" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:253 +msgid "Sphinx provides other ways of `marking up example code`_ if needed." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:256 +msgid "Lists and instructions" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:258 +msgid "" +"Use a numbered list when the order or priority of the items is important," +" such as step-by-step instructions." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:261 +msgid "Use a bulleted list when the order of the items is not important." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:263 +msgid "" +"For both list types, keep all items in the list parallel. See " +":ref:`parallelism`." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:266 +msgid "Use standard `reST list markup`_." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:269 +msgid "Numbered lists" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:271 +msgid "" +"Numbered lists are most frequently used for procedures. Use numbered " +"lists to show sequence for the items. Follow our guidelines for numbered " +"lists:" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:274 +msgid "Make sure the list is sequential and not just a collection of items." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:275 +msgid "" +"Introduce a numbered list with a sentence. End the setup text with a " +"colon. Example: \"To configure the unit, perform the following steps:\"" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:277 +#: ../../../source/reference/collaboration/structure-formatting.rst:299 +msgid "Each item in the list should be parallel." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:278 +msgid "" +"Treat numbered list items as full sentences with correct ending " +"punctuation." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:280 +msgid "" +"You may interrupt numbered lists with other content, if relevant, e.g. " +"explanatory text, commands, or code." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:282 +msgid "Second-level steps are acceptable; avoid third-level steps." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:283 +msgid "" +"Avoid single-step procedures; the minimum number of steps in a procedure " +"is two." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:285 +msgid "" +"Do not create numbered lists that emulate flowcharts. The reader should " +"be able to execute the list of steps from first to last without branching" +" or looping." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:288 +msgid "" +"Avoid over-using numbered lists, except in procedural documents such as " +"tutorials and step-by-step guides." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:292 +msgid "Bulleted lists" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:294 +msgid "" +"Use bulleted lists to reduce wordiness and paragraph density, especially " +"when a sequence is not required. Here are some guidelines for bulleted " +"lists:" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:297 +msgid "" +"Introduce a bulleted list with a sentence. End the setup text with a " +"colon. Example: \"To repair the unit, you will need the following " +"items:\"" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:300 +msgid "Avoid interrupting bulleted lists with other paragraph styles." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:301 +msgid "Second-level bullets are acceptable; avoid third-level bullets." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:303 +msgid "" +"Use the correct ending punctuation for sentence style bullet lists. For " +"example:" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:305 +msgid "**Use this:**" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:315 +msgid "**Not this:**" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:327 +msgid "Instructions" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:329 +msgid "" +"When presenting instructions, such as in a tutorial, present them in a " +"numbered list according to these guidelines:" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:332 +msgid "Each step (list item) should describe one action." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:334 +msgid "" +"If the same steps are repeated, refer to the earlier steps rather than " +"repeating them." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:337 +msgid "" +"When a step includes a command or code block as an example, put the " +"command or code block after the step that includes them." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:340 +msgid "" +"Use supporting images where appropriate. If the series of steps is " +"supported by one figure, refer to the figure in the introductory text." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:343 +msgid "For example: \"See Figure 15 and do the following:\"" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:345 +msgid "" +"When a series of steps is supported by two or more figures, refer to the " +"specific figure in the relevant step and show the figure immediately " +"after the reference. **Do not write**: \"See figures 15 through 22 and do" +" the following:\"" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:351 +msgid "Notices" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:353 +msgid "" +"We use four special types of notices: notes, cautions, warnings, and " +"dangers. Here are some specific rules and tips regarding use of these " +"notices:" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:356 +msgid "" +"Do not use a notice directly after a heading. Notices must follow a " +"variant of body text." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:358 +msgid "Do not include more than one notice in a single notice block." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:359 +msgid "Avoid back-to-back notices." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:360 +msgid "" +"If back-to-back notices are not avoidable, make sure each distinct notice" +" in the notice block is clearly defined." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:363 +msgid "Use the standard `reST admonition directive`_." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:366 +msgid "Notes, cautions, and warnings" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:368 +msgid "" +"Use notes sparingly. Avoid having more than one note per section. If you " +"exceed this number consistently, consider rewriting the notes as main " +"body text." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:371 +msgid "" +"Use cautions and warnings to alert readers of potential problems or " +"pitfalls. Use conditional phrases in cautions and warnings, such as \"If " +"you do X, then Y will occur.\"" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:375 +msgid "These are examples of typical notices and the conditions for their usage:" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:378 +msgid "" +"Notes are extra bits of information that supplement the main content. " +"Notes should be relatively short." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:382 +msgid "" +"Cautions are low-level hazard messages that alert the user of possible " +"equipment, product, and software damage, including loss of data." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:386 +msgid "Warnings are mid-level hazards that are likely to cause product damage." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:389 +msgid "Links" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:391 +msgid "Use the standard `reST markup for links`_." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:393 +msgid "" +"To add a cross-reference to another documentation page, use the `:ref:` " +"role:" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:399 +msgid "" +"To add an external link, we use named references that refer to a defined " +"link/label at the bottom of the page." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:402 +msgid "" +"For example, an external link is defined at the bottom of the page like " +"this:" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:408 +msgid "The defined link is then used in the content like this:" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:415 +msgid "Images" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:417 +msgid "" +"Use images or figures to convey information that may be difficult to " +"explain using words alone. Well-planned graphics reduce the amount of " +"text required to explain a topic or example." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:421 +msgid "" +"Follow these guidelines when using graphics in support of your " +"documentation:" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:423 +msgid "" +"Keep it simple. Use images that serve a specific purpose in your " +"document, and contain only the information the reader needs." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:426 +msgid "" +"Avoid graphics that will need frequent updating. Don't include " +"information in a graphic that might change with each release, such as " +"product versions." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:429 +msgid "" +"Use either PNG or JPEG bitmap files for screenshots and SVG files for " +"vector graphics." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:432 +msgid "" +"Place the image immediately after the text it helps clarify, or as close " +"as possible." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:435 +msgid "" +"Use the `Sphinx figure directive`_ to insert images and figures into the " +"document. Include both alt text, a figure name, and caption." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:438 +msgid "For example:" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:447 +msgid "" +"Include at least one direct reference to an image from the main text, " +"using the figure number. For example:" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:450 +msgid "**Use this:** ::" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:454 +msgid "**Not this:** ::" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:458 +msgid "Images should follow these naming and location conventions:" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:460 +msgid "" +"Save the image files in a :file:`figures` folder at the same level as the" +" file that will reference the image." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:462 +msgid "Name image files according to the following rules:" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:464 +msgid "Use only lower case letters." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:465 +msgid "Separate multiple words in filenames using dashes." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:466 +msgid "" +"Name images using the filename of the file they appear on and add a " +"number to indicate their place in the file. For example, the third figure" +" added to the :file:`welcome.rst` file must be named " +":file:`welcome-3.png`." +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/reference/collaboration/writing-guide.po b/localization/po/locale/zh_CN/LC_MESSAGES/reference/collaboration/writing-guide.po new file mode 100644 index 00000000..17fd1198 --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/reference/collaboration/writing-guide.po @@ -0,0 +1,689 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/reference/collaboration/writing-guide.rst:4 +msgid "Writing guide" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:6 +msgid "" +"We want our documentation to be easy to read and understand. This " +"document describes guidelines for writing documentation that is clear, " +"concise, confident, and courteous." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:10 +msgid "" +"Refer to :ref:`structure-formatting` for details on organizing content " +"and how we use reStructuredText and Sphinx." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:17 +msgid "Use simple English" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:19 +msgid "" +"Write using simple English: Be brief and communicate only the information" +" that is needed. Be friendly and informative. Emphasize clarity and avoid" +" unecessary complicated or technical terms. Make the content accessible " +"to non-native speakers." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:25 +msgid "Be brief" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:27 +msgid "" +"Use short sentences and paragraphs. Stick to the principle of one main " +"idea per sentence, plus one additional point if needed. Each paragraph " +"should address one main idea. Remember the basic structure of a " +"paragraph: Introduction, body, and conclusion." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:33 +msgid "Be friendly" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:35 +msgid "" +"We write for our peers and want to be familiar. Take a personal tone as " +"if you were speaking directly to the reader. Use \"you\" to address the " +"reader and \"we\" to refer to our view. Be professional, respectful, and " +"cooperative." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:39 +msgid "" +"Assume your audience has the same level of technical understanding and " +"expertise as you did when you first started collaborating. Do not talk " +"down to our readers, but also do not assume they know everything about " +"the subject. Offer brief explanations or summaries of common knowledge if" +" a significant portion of readers might benefit." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:46 +msgid "Use simple words" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:48 +msgid "" +"Use simple words to increase reader comprehension and reduce ambiguity. " +"Follow our tips for making good word choices:" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:51 +msgid "" +"**Avoid jargon**: Write for your audience, using everyday language where " +"possible, and technical terms where appropriate. Avoid clichés, idioms, " +"and metaphors." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:54 +msgid "" +"**Be consistent**: Use one term for each concept or action and use it " +"consistently." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:56 +msgid "" +"**Avoid \"fancy\" words and phrases**: If there is a simpler word or " +"phrase, use it." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:59 +#: ../../../source/reference/collaboration/writing-guide.rst:151 +#: ../../../source/reference/collaboration/writing-guide.rst:202 +#: ../../../source/reference/collaboration/writing-guide.rst:213 +#: ../../../source/reference/collaboration/writing-guide.rst:258 +#: ../../../source/reference/collaboration/writing-guide.rst:368 +msgid "For example:" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:62 +msgid "Use this" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:62 +msgid "Not this" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:64 +msgid "start, begin" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:64 +msgid "commence" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:65 +msgid "so" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:65 +msgid "consequently" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:66 +msgid "more than" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:66 +msgid "in excess of" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:67 +msgid "if" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:67 +msgid "in the event of" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:68 +msgid "before" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:68 +msgid "prior to" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:69 +msgid "if you want" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:69 +msgid "should one wish" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:70 +msgid "use" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:70 +msgid "utilize" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:71 +msgid "example" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:71 +msgid "instance" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:75 +msgid "Avoid overuse of product name" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:77 +msgid "" +"Use product names only when necessary. Typically, you can rewrite " +"sentences to remove the product name with no change in meaning, which " +"keeps the content concise and scannable." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:81 +msgid "Avoid using the product name in page titles and headings." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:86 +msgid "Make content scannable" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:88 +msgid "" +"Organize your content to make it scannable for the reader, which helps " +"them find what they need quickly, and to understand the information more " +"efficiently." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:91 +msgid "" +"**Put the most important content first.** Make sure your introduction " +"clearly communicates what the reader can find on the page. Present the " +"point of the document first, and organize supporting information towards " +"the end of the page." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:95 +msgid "" +"**Write scannable headings.** Expect readers of documentation to skim and" +" scan the content, and to leave if they dont find what they need quickly." +" Good headings add organization to your content and help the reader to " +"find and understand content more effectively. Follow our guidelines for " +"writing effective `Headings`_." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:100 +msgid "" +"**Write great link text.** Great link text tells the reader what they can" +" expect when they click on a link. It also helps make the page more " +"scannable. Follow our guidelines for writing `Link text`_." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:105 +msgid "Headings" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:107 +msgid "Use these guidelines to write effective headings:" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:109 +msgid "" +"**Be concise and descriptive.** Use only the words necessary to describe " +"the section." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:111 +msgid "" +"**Use sentence case.** Capitalize only the first word and proper nouns in" +" a heading." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:113 +msgid "" +"**Avoid punctuation.** Unless your heading is a question, don't use " +"sentence punctuation in headings." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:115 +msgid "" +"**Use parallel structure.** Headings at the same level should use the " +"same grammatical pattern. This provides structure to the document and " +"helps users find information more easily. See :ref:`parallelism`." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:118 +msgid "" +"**Use strong verbs.** Strong, active verbs get to the point. Avoid -ing " +"verbs, such as *Running*, *Testing*, etc." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:121 +msgid "For example, two headings at the same level:" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:123 +#: ../../../source/reference/collaboration/writing-guide.rst:153 +#: ../../../source/reference/collaboration/writing-guide.rst:173 +#: ../../../source/reference/collaboration/writing-guide.rst:189 +#: ../../../source/reference/collaboration/writing-guide.rst:215 +#: ../../../source/reference/collaboration/writing-guide.rst:225 +#: ../../../source/reference/collaboration/writing-guide.rst:239 +#: ../../../source/reference/collaboration/writing-guide.rst:260 +#: ../../../source/reference/collaboration/writing-guide.rst:270 +#: ../../../source/reference/collaboration/writing-guide.rst:285 +#: ../../../source/reference/collaboration/writing-guide.rst:401 +msgid "**Use this:** ::" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:129 +#: ../../../source/reference/collaboration/writing-guide.rst:157 +#: ../../../source/reference/collaboration/writing-guide.rst:177 +#: ../../../source/reference/collaboration/writing-guide.rst:193 +#: ../../../source/reference/collaboration/writing-guide.rst:219 +#: ../../../source/reference/collaboration/writing-guide.rst:229 +#: ../../../source/reference/collaboration/writing-guide.rst:243 +#: ../../../source/reference/collaboration/writing-guide.rst:264 +#: ../../../source/reference/collaboration/writing-guide.rst:274 +#: ../../../source/reference/collaboration/writing-guide.rst:289 +#: ../../../source/reference/collaboration/writing-guide.rst:405 +msgid "**Not this:** ::" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:136 +msgid "Link text" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:138 +msgid "All links in content should follow these guidelines:" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:140 +msgid "" +"**Write descriptive link text**: Link text should describe where the link" +" goes, without having to read the surrounding text." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:142 +msgid "" +"**Keep link text concise**: Use only the words needed to accurately " +"describe the destination." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:144 +msgid "" +"**Use unique link text**: Each link on a page should be unique. If users " +"see the same link text twice on a page, they'll assume it goes to the " +"same place." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:146 +msgid "" +"**Start link text with keywords**: Frontload the link text with the most " +"important words to help users scan the text." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:148 +msgid "" +"**Avoid generic text**: Don't use generic, uninformative link text such " +"as \"click here\" or \"read more\"." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:162 +msgid "Use strong verbs" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:164 +msgid "" +"Passive verbs make writing stuffy and formal. Use strong verbs to get to " +"the point and avoid unnecessary words and phrases." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:168 +msgid "Use imperatives" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:170 +msgid "" +"Commands, also called imperatives, are the fastest and most direct way of" +" giving someone instructions. For example:" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:182 +msgid "Use present tense" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:184 +msgid "" +"Use simple present tense instead of future tense for most text. Search " +"for the words \"will\" or \"shall\" to find future tense instances. " +"Future tense is acceptable for conditional statements, such as in a " +"caution or a warning. For example:" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:198 +msgid "Avoid nominalizations" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:200 +msgid "Avoid nominalizations, which are nouns formed from verbs." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:205 +msgid "Verb" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:205 +msgid "Nominalization" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:207 +msgid "complete" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:207 +msgid "completion" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:208 +msgid "provide" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:208 +msgid "provision" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:209 +msgid "fail" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:209 +msgid "failure" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:210 +msgid "install" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:210 +msgid "installation" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:223 +#: ../../../source/reference/collaboration/writing-guide.rst:268 +msgid "Or:" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:234 +msgid "Avoid words ending in -ing" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:236 +msgid "" +"Avoid using words ending in -ing unless they are part of a technical " +"name. For example:" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:248 +msgid "Use the active voice" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:250 +msgid "" +"Use active voice whenever possible to show who or what is performing an " +"action." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:253 +msgid "" +"Active voice follows standard English word order: SUBJECT–VERB–OBJECT " +"(where the OBJECT is optional)." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:255 +msgid "" +"Passive voice reverses the order and weakens the verb: OBJECT–be VERB–by " +"SUBJECT (where the OBJECT is optional)." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:279 +msgid "Avoid long noun phrases" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:281 +msgid "" +"Noun phrases (a noun and other words that describe or modify it) can be " +"difficult to understand. Try to limit the number of modifiers in a noun " +"phrase to two. For example:" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:296 +msgid "Parallelism" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:298 +msgid "" +"Parallelism refers to the practice of using similar patterns of grammar, " +"and sometimes length, to coordinate words, phrases, and clauses." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:301 +msgid "" +"Use parallel construction in lists. The table below shows some unparallel" +" structures and how they can be made parallel with a little rewording." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:305 +msgid "Parallel (do)" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:305 +msgid "Unparallel (don't)" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:307 +msgid "Mount the panel." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:308 +msgid "Install the battery." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:309 +msgid "Wire the keypad." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:308 +msgid "Battery installation." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:309 +msgid "Wiring the keypad." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:311 +msgid "" +"I like practicing my accordion, reading sci-fi, and eating peanut butter " +"and pickle sandwiches." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:311 +msgid "" +"I like practicing my accordion, reading sci-fi, and to eat peanut butter " +"and pickle sandwiches." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:316 +msgid "For breakfast he likes coffee and bacon." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:316 +msgid "For breakfast he likes coffee and to fry bacon." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:319 +msgid "Apples or bananas are a good snack." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:319 +msgid "Apples or a banana are a good snack." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:324 +msgid "Grammar and punctuation" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:326 +msgid "" +"This section covers common grammatical topics relevant to our " +"documentation. For detailed explanations of correct grammar and " +"punctuation, use one of our :ref:`preferred references `." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:331 +msgid "Capitalization" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:333 +msgid "" +"The capitalization style for all documentation is sentence case. Words " +"should only be capitalized when they are proper nouns or refer to " +"trademarked product names." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:338 +msgid "" +"Do not capitalize a word to indicate it is more important than other " +"words. Never change the case of variable, function or file names - always" +" keep the original case." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:343 +msgid "Menu capitalization" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:345 +msgid "" +"When referring to software menu items by name, use the same " +"capitalization as seen in the actual menu." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:348 +msgid "A few other tips when referring to menu items:" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:350 +msgid "" +"Reference the specific menu item using \"Select :menuselection:`File --> " +"New`.\"" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:352 +msgid "" +"Put the option to be selected last. \"Select :menuselection:`View --> " +"Side Bar --> Hide Side Bar`\"" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:355 +msgid "" +"Do not include more than 3 navigation steps in a menu selection. If more " +"than three steps are needed, divide the steps using ``:guilabel:`` or " +"``:menuselection:``." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:359 +msgid "" +"For example: \"Go to :guilabel:`File` and select :menuselection:`Print " +"--> Print Preview --> Set Up`.\"" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:363 +msgid "Software version capitalization" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:365 +msgid "" +"When listing software or hardware version numbers, the word “version” or " +"letter \"v\" are lowercase. The v is closed with the number (no period)." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:370 +msgid "Widget Pro version 5.0" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:371 +msgid "Widget Master v2.1.12" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:374 +msgid "Contractions" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:376 +msgid "" +"Avoid using contractions, such as it's, they're, and you're, because they" +" may be unclear to non-native English-speaking audiences." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:380 +msgid "Quotation marks" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:382 +msgid "Follow these guidelines for quotation marks:" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:384 +msgid "Restrict use of quotation marks to terms as terms." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:385 +msgid "Do not use quotation marks for emphasis; use *italics* for emphasis." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:386 +msgid "Avoid using single-quote marks." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:389 +msgid "Commas and colons" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:391 +msgid "" +"This section addresses common use of commas, semicolons, and colons in " +"our documentation. Refer to one of our :ref:`preferred references " +"` for further details." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:396 +msgid "Use the serial comma" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:398 +msgid "" +"When writing a series of items, use the serial comma before the final " +"*and* and *or* to avoid confusion and ambiguity. For example:" +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/reference/compatible-hardware.po b/localization/po/locale/zh_CN/LC_MESSAGES/reference/compatible-hardware.po new file mode 100644 index 00000000..9ece0daf --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/reference/compatible-hardware.po @@ -0,0 +1,262 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/reference/compatible-hardware.rst:4 +msgid "Compatible Hardware" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:6 +msgid "" +"This document describes hardware that has been tested and confirmed as " +"compatible with |CL-ATTR|. This list is not comprehensive and will " +"continue to grow." +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:10 +msgid "**Table 1. Compatible Hardware**" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:14 +msgid "Processor SKU" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:15 +msgid "Platform" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:17 +#: ../../../source/reference/compatible-hardware.rst:98 +#: ../../../source/reference/compatible-hardware.rst:110 +msgid "Intel® Core™ i5-6260U" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:20 +msgid "Intel® Core™ i5-6560U" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:21 +msgid "Dell XPS\\* 13 9350" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:23 +#: ../../../source/reference/compatible-hardware.rst:92 +msgid "Intel® Celeron® J3455" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:24 +msgid "NUC6CAYS" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:26 +#: ../../../source/reference/compatible-hardware.rst:65 +msgid "Intel® Core™ i5-4250U" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:29 +#: ../../../source/reference/compatible-hardware.rst:101 +#: ../../../source/reference/compatible-hardware.rst:107 +msgid "Intel® Core™ i7-5557U" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:32 +msgid "Intel® Core™ i9-7900X" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:33 +msgid "Gigabyte\\* X299" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:35 +msgid "Intel® Core™ i3-4130" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:36 +msgid "Lenovo Thinkserver\\* TS140" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:38 +msgid "Intel® Core™ i7-7567U" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:39 +msgid "NUC7i7BNH" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:41 +msgid "Intel® Core™ i7-8809G" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:42 +msgid "NUC8i7HVK" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:44 +msgid "Intel® Core™ i5-7260U" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:45 +msgid "NUC7i5BNH" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:47 +msgid "Intel® Core™ i7-8650U" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:48 +msgid "NUC7i7DNKE" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:50 +msgid "Intel® Core™ i5-7300U" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:51 +msgid "NUC7i5DNHE" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:53 +msgid "Intel® Xeon® Gold 6138" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:56 +msgid "Intel® Xeon® E5-2699A v4" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:57 +msgid "Dell PowerEdge\\* R630" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:59 +msgid "Intel® Xeon® E5-2620 v3" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:62 +msgid "Intel® Core™ i5-6600" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:63 +msgid "Gigabyte\\* Z170X-UD5" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:66 +msgid "D54250WYK" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:68 +msgid "Intel® Xeon® E5-2699 v3" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:69 +msgid "S2600WT2" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:71 +msgid "Intel® Atom™ J3455" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:72 +#: ../../../source/reference/compatible-hardware.rst:93 +msgid "NUC6CAYB" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:74 +msgid "Intel® Xeon® Bronze 3104" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:75 +msgid "0W23H8" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:77 +msgid "Intel® Atom™ C2750" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:78 +msgid "SuperMicro\\* A1SAi" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:80 +msgid "Intel® Atom™ E3825" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:81 +msgid "CircuitCo MinnowBoard MAX\\*" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:83 +msgid "Intel® Core™ i7-8700" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:84 +msgid "Gigabyte\\* H370 WIFI" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:86 +msgid "Intel® Core™ i7-3667U" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:87 +msgid "Lenovo ThinkPad\\* X1 Carbon laptop" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:89 +msgid "Intel® Core™ i5-4210U" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:90 +msgid "Dell XPS\\* 13 laptop" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:95 +msgid "Intel® Core™ i7-4790" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:96 +msgid "Gigabyte\\* desktop" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:99 +msgid "NUC6I6SYH" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:102 +msgid "NUC5I7RYH" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:104 +msgid "Intel® Core™ i7-4700MQ" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:105 +msgid "Lenovo ThinkPad\\* T540p" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:108 +msgid "NUC5I7RYB" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:111 +msgid "NUC6I5SYH" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:113 +msgid "\\* Other names and brands may be claimed as the property of others." +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/reference/how-to-clear-overview.po b/localization/po/locale/zh_CN/LC_MESSAGES/reference/how-to-clear-overview.po new file mode 100644 index 00000000..585bc000 --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/reference/how-to-clear-overview.po @@ -0,0 +1,94 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/reference/how-to-clear-overview.rst:4 +msgid "How to Clear training overview" +msgstr "" + +#: ../../../source/reference/how-to-clear-overview.rst:6 +msgid "" +"The existing Linux\\* ecosystem can be challenging to users because of " +"long intervals between :abbr:`OS (operating system)` updates, which leads" +" to large update downloads. Users can also be frustrated when managing " +"complicated component dependencies. |CL-ATTR| solves these problems by:" +msgstr "" + +#: ../../../source/reference/how-to-clear-overview.rst:11 +msgid "Allowing you to update frequently, even multiple times per day" +msgstr "" + +#: ../../../source/reference/how-to-clear-overview.rst:12 +msgid "Preventing you from combining incompatible components" +msgstr "" + +#: ../../../source/reference/how-to-clear-overview.rst:14 +msgid "" +"The |CL| team delivers technology advances with the |CL| OS and its " +"tooling, concepts, and content. The team has created training materials " +"as a GitHub\\* project to get you up and running quickly." +msgstr "" + +#: ../../../source/reference/how-to-clear-overview.rst:18 +msgid "" +"The training provides complete details on the methods used to create " +"updates and how to deploy the updates to targets. The following items " +"provide an overview of these |CL| mechanisms:" +msgstr "" + +#: ../../../source/reference/how-to-clear-overview.rst:22 +msgid "" +"Update server: an https-enabled web server where the content files are " +"served as static content. |CL| periodically queries the data on the " +"update server and determines whether updates are available. The update " +"content files provide the data and metadata to perform the required " +"actions." +msgstr "" + +#: ../../../source/reference/how-to-clear-overview.rst:27 +msgid "" +"Software delivery mechanism: :abbr:`swupd (software updater)` queries " +"metadata from the update server and calculates what to do and which " +"content to use." +msgstr "" + +#: ../../../source/reference/how-to-clear-overview.rst:31 +msgid "" +"Tools: `mixer-tools` software suite generates the update server content " +"using |CL| official software update content, local bundle definitions, " +"and local RPM files." +msgstr "" + +#: ../../../source/reference/how-to-clear-overview.rst:34 +msgid "" +"The training helps you create a customized OS that is based on |CL|. The " +"training content is self-contained and hosted on GitHub. You need a clean" +" |CL| installation and a functional network connection to complete the " +"training. For convenience, the project includes the training files you " +"need for the exercises." +msgstr "" + +#: ../../../source/reference/how-to-clear-overview.rst:40 +msgid "" +"We appreciate your feedback and comments, especially in the form of Pull " +"Requests. Please visit the `how-to-clear project`_ page to access the " +"training materials, open a ticket, or clone/branch the training and help " +"us improve |CL|." +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/reference/image-types.po b/localization/po/locale/zh_CN/LC_MESSAGES/reference/image-types.po new file mode 100644 index 00000000..a0eba58e --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/reference/image-types.po @@ -0,0 +1,193 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/reference/image-types.rst:4 +msgid "|CL-ATTR| image types" +msgstr "" + +#: ../../../source/reference/image-types.rst:8 +msgid "" +"|CL-ATTR| offers many types of `images`_ for different platforms and " +"environments." +msgstr "" + +#: ../../../source/reference/image-types.rst:12 +msgid "The naming convention of a |CL| image filename is:" +msgstr "" + +#: ../../../source/reference/image-types.rst:18 +msgid "The *[version number]* field specifies the version number." +msgstr "" + +#: ../../../source/reference/image-types.rst:20 +msgid "" +"The *[image type]* field specifies the type of image and its " +"corresponding file format." +msgstr "" + +#: ../../../source/reference/image-types.rst:23 +msgid "" +"The *[compression type]* field specifies the compression type. Two types " +"of compressions are used: GNU\\* zip (*.gz*) and XZ (*.xz*)." +msgstr "" + +#: ../../../source/reference/image-types.rst:28 +msgid "" +"Table 1 lists the currently available images that are platform " +"independent. Table 2 lists the currently available images that are " +"platform specific." +msgstr "" + +#: ../../../source/reference/image-types.rst:31 +msgid "Table 1: Types of platform-independent |CL| images" +msgstr "" + +#: ../../../source/reference/image-types.rst:35 +#: ../../../source/reference/image-types.rst:48 +msgid "Image Type" +msgstr "" + +#: ../../../source/reference/image-types.rst:36 +#: ../../../source/reference/image-types.rst:49 +msgid "Description" +msgstr "" + +#: ../../../source/reference/image-types.rst:38 +msgid "live-desktop.img or live-desktop.iso" +msgstr "" + +#: ../../../source/reference/image-types.rst:39 +msgid "Image for booting to GNOME\\* desktop to preview or install the OS." +msgstr "" + +#: ../../../source/reference/image-types.rst:41 +msgid "live-server.img or live-server.iso" +msgstr "" + +#: ../../../source/reference/image-types.rst:42 +msgid "Image for booting to server command prompt to preview or install the OS." +msgstr "" + +#: ../../../source/reference/image-types.rst:44 +msgid "Table 2: Types of platform-specific |CL| images" +msgstr "" + +#: ../../../source/reference/image-types.rst:51 +msgid "aws.img" +msgstr "" + +#: ../../../source/reference/image-types.rst:52 +msgid "Image suitable for use with Amazon\\* AWS\\*." +msgstr "" + +#: ../../../source/reference/image-types.rst:54 +msgid "azure.vhd" +msgstr "" + +#: ../../../source/reference/image-types.rst:55 +msgid "Virtual Hard Disk for use on Microsoft\\* Azure\\* cloud platform." +msgstr "" + +#: ../../../source/reference/image-types.rst:57 +msgid "azure-docker.vhd" +msgstr "" + +#: ../../../source/reference/image-types.rst:58 +msgid "" +"Virtual Hard Disk for use on Microsoft Azure cloud platform with " +"Docker\\* pre-installed." +msgstr "" + +#: ../../../source/reference/image-types.rst:60 +msgid "azure-machine-learning.vhd" +msgstr "" + +#: ../../../source/reference/image-types.rst:61 +msgid "" +"Virtual Hard Disk for use on Microsoft Azure cloud platform with the " +"`machine-learning-basic` bundle installed." +msgstr "" + +#: ../../../source/reference/image-types.rst:63 +msgid "cloudguest.img" +msgstr "" + +#: ../../../source/reference/image-types.rst:64 +msgid "" +"Image with generic cloud guest virtual machine (VM) requirements " +"installed." +msgstr "" + +#: ../../../source/reference/image-types.rst:66 +msgid "gce.tar" +msgstr "" + +#: ../../../source/reference/image-types.rst:67 +msgid "Image with the Google Compute Engine (GCE) specific kernel." +msgstr "" + +#: ../../../source/reference/image-types.rst:69 +msgid "hyperv.vhdx" +msgstr "" + +#: ../../../source/reference/image-types.rst:70 +msgid "" +"Virtual Hard Disk for use with Microsoft Hyper-V\\* hypervisor. Includes " +"`optimized kernel`_ for Hyper-V." +msgstr "" + +#: ../../../source/reference/image-types.rst:72 +msgid "kvm.img" +msgstr "" + +#: ../../../source/reference/image-types.rst:73 +msgid "" +"Image for booting in a simple VM with start_qemu.sh. Includes `optimized " +"kernel`_ for KVM." +msgstr "" + +#: ../../../source/reference/image-types.rst:76 +msgid "kvm-legacy.img" +msgstr "" + +#: ../../../source/reference/image-types.rst:77 +msgid "" +"Image for booting in a simple VM using legacy BIOS, if using " +"start_qemu.sh make sure to remove -bios parameter." +msgstr "" + +#: ../../../source/reference/image-types.rst:79 +msgid "pxe.tar" +msgstr "" + +#: ../../../source/reference/image-types.rst:80 +msgid "Image suitable for use with PXE server." +msgstr "" + +#: ../../../source/reference/image-types.rst:82 +msgid "vmware.vmdk" +msgstr "" + +#: ../../../source/reference/image-types.rst:83 +msgid "" +"Virtual Machine Disk for VMware\\* platforms inclduing Player, " +"Workstation, and ESXi." +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/reference/reference.po b/localization/po/locale/zh_CN/LC_MESSAGES/reference/reference.po new file mode 100644 index 00000000..5be6c057 --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/reference/reference.po @@ -0,0 +1,34 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/reference/reference.rst:4 +msgid "Reference" +msgstr "" + +#: ../../../source/reference/reference.rst:6 +msgid "" +"This section provides additional information on the |CL| project and " +"features." +msgstr "" + +#: ../../../source/reference/reference.rst:24 +msgid "Clear Linux concepts" +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/reference/system-requirements.po b/localization/po/locale/zh_CN/LC_MESSAGES/reference/system-requirements.po new file mode 100644 index 00000000..d88cfd46 --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/reference/system-requirements.po @@ -0,0 +1,124 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/reference/system-requirements.rst:4 +msgid "Recommended minimum system requirements" +msgstr "" + +#: ../../../source/reference/system-requirements.rst:6 +msgid "" +"|CL-ATTR| can run on very minimal hardware. For example, it can run on a " +"system with a single core CPU, 128MB of memory, and 600MB of disk space." +msgstr "" + +#: ../../../source/reference/system-requirements.rst:9 +msgid "" +"Different use cases and applications will require different " +"configurations. For general |CL| use, in addition to a supported " +"processor, the recommended minimum requirements include:" +msgstr "" + +#: ../../../source/reference/system-requirements.rst:13 +msgid "Processors:" +msgstr "" + +#: ../../../source/reference/system-requirements.rst:15 +msgid "" +"|CL-ATTR| can run on any Intel® 64bit processors which support UEFI\\* " +"and SSE\\* v4.1 streaming SIMD\\* instructions." +msgstr "" + +#: ../../../source/reference/system-requirements.rst:18 +msgid "The following processor families have been verified to run |CL|:" +msgstr "" + +#: ../../../source/reference/system-requirements.rst:20 +msgid "2nd Generation, or later, Intel® Core™ processor family." +msgstr "" + +#: ../../../source/reference/system-requirements.rst:21 +msgid "Intel® Xeon® Processor E3" +msgstr "" + +#: ../../../source/reference/system-requirements.rst:22 +msgid "Intel® Xeon® Processor E5" +msgstr "" + +#: ../../../source/reference/system-requirements.rst:23 +msgid "Intel® Xeon® Processor E7" +msgstr "" + +#: ../../../source/reference/system-requirements.rst:24 +msgid "" +"Intel® Atom™ processor C2000 product family for servers -- Q3 2013 " +"version or later." +msgstr "" + +#: ../../../source/reference/system-requirements.rst:26 +msgid "Intel® Atom™ processor E3800 series -- Q4 2013 version or later." +msgstr "" + +#: ../../../source/reference/system-requirements.rst:28 +msgid "" +"To help determine if a processor is supported, you can run a " +":ref:`compatibility check` or go to " +"http://ark.intel.com and check for these features:" +msgstr "" + +#: ../../../source/reference/system-requirements.rst:32 +msgid "Instruction Set = 64-bit" +msgstr "" + +#: ../../../source/reference/system-requirements.rst:33 +msgid "Instruction Set Extensions = SSSE3" +msgstr "" + +#: ../../../source/reference/system-requirements.rst:34 +msgid "Instruction Set Extensions = SSE 4.1" +msgstr "" + +#: ../../../source/reference/system-requirements.rst:35 +msgid "Instruction Set Extensions = SSE 4.2" +msgstr "" + +#: ../../../source/reference/system-requirements.rst:36 +msgid "Instruction Set Extensions = AES" +msgstr "" + +#: ../../../source/reference/system-requirements.rst:37 +msgid "Instruction Set Extensions = PCLMUL" +msgstr "" + +#: ../../../source/reference/system-requirements.rst:39 +msgid "Memory: 4GB RAM" +msgstr "" + +#: ../../../source/reference/system-requirements.rst:41 +msgid "Hard Disk: 20GB HDD" +msgstr "" + +#: ../../../source/reference/system-requirements.rst:43 +msgid "Network: Active Internet connection" +msgstr "" + +#: ../../../source/reference/system-requirements.rst:45 +msgid "Graphics: Intel HD Graphics (required if running a GUI desktop)" +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/tooling/autoproxy.po b/localization/po/locale/zh_CN/LC_MESSAGES/tooling/autoproxy.po new file mode 100644 index 00000000..fd2cc48d --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/tooling/autoproxy.po @@ -0,0 +1,162 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/tooling/autoproxy.rst:4 +msgid "Autoproxy" +msgstr "" + +#: ../../../source/tooling/autoproxy.rst:6 +msgid "" +"Autoproxy is provided to enable |CL-ATTR| to work smoothly behind a " +"corporate proxy." +msgstr "" + +#: ../../../source/tooling/autoproxy.rst:14 +msgid "Description" +msgstr "" + +#: ../../../source/tooling/autoproxy.rst:16 +msgid "" +"Autoproxy tries to detect a Proxy Auto-Config (PAC) script and use it to " +"automatically resolve the proxy needed for a given connection. With " +"Autoproxy, you can use |CL| inside any proxy environment without having " +"to manually configure the proxies." +msgstr "" + +#: ../../../source/tooling/autoproxy.rst:21 +msgid "" +"Corporate and private networks can be very complex, needing to restrict " +"and control network connections for security reasons. The typical side " +"effects are limited or blocked connectivity, and require manual " +"configuration of proxies to perform the most mundane tasks, such as " +"cloning a repo or checking for updates. With |CL|, all of the work is " +"done behind the scenes to effortlessly use your network and have " +"connections “just work”." +msgstr "" + +#: ../../../source/tooling/autoproxy.rst:28 +msgid "" +"This feature removes severe complications with network connectivity due " +"to proxy issues. You can automate tasks, such as unit testing, without " +"worrying about the proxy not being set, and you can remove unset proxies " +"from the equation when dealing with network unavailability across " +"systems." +msgstr "" + +#: ../../../source/tooling/autoproxy.rst:34 +msgid "How it works" +msgstr "" + +#: ../../../source/tooling/autoproxy.rst:36 +msgid "" +"We designed Autoproxy around tools provided by most Linux\\* " +"distributions with a few minor additions and modifications. We leveraged " +"the DHCP and network information obtained from systemd and created a PAC-" +"discovery daemon. The daemon uses the information to resolve a URL for a " +"PAC file. The daemon then passes the URL into PACrunner\\*. PACrunner " +"downloads the PAC file and uses the newly implemented Duktape\\* engine " +"to parse it." +msgstr "" + +#: ../../../source/tooling/autoproxy.rst:47 +msgid "Figure 1: Autoproxy Flow" +msgstr "" + +#: ../../../source/tooling/autoproxy.rst:49 +msgid "" +"From that point on, any cURL\\* or network requests query PACrunner for " +"the correct proxy to use. We modified the cURL library to communicate " +"with PACrunner over DBus. However, cURL will ignore PACrunner and run " +"normally if no PAC file is loaded or if you manually set any proxies. " +"Thus, your environment settings are respected and no time is wasted " +"trying to resolve a proxy. All these steps happen in the background with " +"no user interaction." +msgstr "" + +#: ../../../source/tooling/autoproxy.rst:57 +msgid "Troubleshooting" +msgstr "" + +#: ../../../source/tooling/autoproxy.rst:59 +msgid "" +"Autoproxy allows |CL| to operate seamlessly behind a proxy because " +":ref:`swupd ` and other |CL| tools are implemented on top of" +" libcurl. Tools that do not use libcurl, like git, must be configured " +"independently." +msgstr "" + +#: ../../../source/tooling/autoproxy.rst:64 +msgid "" +"If you are familiar with PAC files and WPAD, you can use " +":command:`pacdiscovery` and :command:`FindProxyForURL` to troubleshoot " +"problems with autproxy." +msgstr "" + +#: ../../../source/tooling/autoproxy.rst:70 +msgid "Learn more about WPAD, PAC files, and PAC functions at `findproxyforurl`_." +msgstr "" + +#: ../../../source/tooling/autoproxy.rst:74 +msgid "Run :command:`pacdiscovery` with no arguments to indicate" +msgstr "" + +#: ../../../source/tooling/autoproxy.rst:76 +msgid "if there is a problem resolving the :command:`WPAD` host name resolution:" +msgstr "" + +#: ../../../source/tooling/autoproxy.rst:87 +msgid "or if the :command:`pacrunner` service is disabled (masked)." +msgstr "" + +#: ../../../source/tooling/autoproxy.rst:98 +msgid "Unmask the :command:`pacrunner` service by running:" +msgstr "" + +#: ../../../source/tooling/autoproxy.rst:104 +msgid "" +":command:`FindProxyForURL` with :command:`busctl` can also indicate if " +"the :command:`pacrunner.service` is masked." +msgstr "" + +#: ../../../source/tooling/autoproxy.rst:117 +msgid "" +":command:`FindProxyForURL` returns the URL and port of the proxy server " +"when an external URL and host are provided as arguments." +msgstr "" + +#: ../../../source/tooling/autoproxy.rst:129 +msgid "" +"If a proxy server is not avialable, or if :command:`pacrunner` is running" +" without a PAC file, :command:`FindProxyForURL` will return \"DIRECT\"." +msgstr "" + +#: ../../../source/tooling/autoproxy.rst:141 +msgid "" +"Once :command:`pacdiscovery` is able to look up :command:`WPAD`, restart " +"the :command:`pacrunner` service:" +msgstr "" + +#: ../../../source/tooling/autoproxy.rst:151 +msgid "" +"A \"domain\" or \"search\" entry in :file:`/etc/resolv.conf` is required " +"for short name lookups to resolve. The :file:`resolv.conf` man page has " +"additional details." +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/tooling/autospec.po b/localization/po/locale/zh_CN/LC_MESSAGES/tooling/autospec.po new file mode 100644 index 00000000..32cae1ef --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/tooling/autospec.po @@ -0,0 +1,578 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/tooling/autospec.rst:4 +msgid "autospec" +msgstr "" + +#: ../../../source/tooling/autospec.rst:6 +msgid "" +"**autospec** is a tool used to assist with the automated creation and " +"maintenance of RPM packaging in |CL-ATTR|. Where a standard :abbr:`RPM " +"(RPM Package Manager)` build process using :command:`rpmbuild` requires a" +" tarball and :file:`.spec` file to start, autospec requires only a " +"tarball and package name to start." +msgstr "" + +#: ../../../source/tooling/autospec.rst:16 +msgid "Description" +msgstr "" + +#: ../../../source/tooling/autospec.rst:18 +msgid "" +"The autospec tool attempts to infer the requirements of the :file:`.spec`" +" file by analyzing the source code and :file:`Makefile` information. It " +"continuously runs updated builds based on new information discovered from" +" build failures until it has a complete and valid :file:`.spec` file. If " +"needed, you can influence the behavior of autospec and customize the " +"build by providing optional `control files`_ to the autospec tool." +msgstr "" + +#: ../../../source/tooling/autospec.rst:25 +msgid "" +"autospec uses **mock** as a sandbox to run the builds. Visit the `mock " +"wiki`_ for additional information on using mock." +msgstr "" + +#: ../../../source/tooling/autospec.rst:28 +msgid "" +"For a general understanding of how an RPM works, visit the `rpm website`_" +" or the `RPM Packaging Guide`_ ." +msgstr "" + +#: ../../../source/tooling/autospec.rst:32 +msgid "How it works" +msgstr "" + +#: ../../../source/tooling/autospec.rst:34 +msgid "Learn the autospec tool set up and process." +msgstr "" + +#: ../../../source/tooling/autospec.rst:41 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/tooling/autospec.rst:43 +msgid "" +"The setup for building source in |CL| must be completed before using the " +"autospec tool." +msgstr "" + +#: ../../../source/tooling/autospec.rst:46 +msgid "" +"Refer to `Setup environment to build source`_ for instructions on " +"completing the setup." +msgstr "" + +#: ../../../source/tooling/autospec.rst:50 +msgid "Create an RPM" +msgstr "" + +#: ../../../source/tooling/autospec.rst:52 +msgid "The basic autospec process is described in the following steps:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:54 +msgid "" +"The :command:`make autospec` command generates a :file:`.spec` file based" +" on the analysis of code and existing control files." +msgstr "" + +#: ../../../source/tooling/autospec.rst:57 +msgid "" +"Any control files should be located in the same directory as the " +"resulting :file:`.spec` file." +msgstr "" + +#: ../../../source/tooling/autospec.rst:60 +msgid "View the `autospec README`_ for more information on `control files`_." +msgstr "" + +#: ../../../source/tooling/autospec.rst:62 +msgid "autospec creates a build root with mock config." +msgstr "" + +#: ../../../source/tooling/autospec.rst:64 +msgid "autospec attempts to build an RPM from the generated :file:`.spec`." +msgstr "" + +#: ../../../source/tooling/autospec.rst:66 +msgid "autospec detects any missed declarations in the :file:`.spec`." +msgstr "" + +#: ../../../source/tooling/autospec.rst:68 +msgid "" +"If build errors occur, autospec scans the build log to try to detect the " +"root cause." +msgstr "" + +#: ../../../source/tooling/autospec.rst:71 +msgid "" +"If autospec detects the root cause and knows how to continue, it restarts" +" the build automatically at step 1 with updated build instructions." +msgstr "" + +#: ../../../source/tooling/autospec.rst:74 +msgid "" +"Otherwise, autospec stops the build for user inspection to resolve the " +"errors. Respond to the build process output by fixing source code issues " +"and/or editing control files to resolve issues, which may include " +"dependencies or exclusions. See `autospec README`_ for more information " +"on control files." +msgstr "" + +#: ../../../source/tooling/autospec.rst:80 +msgid "The user resumes the process at step 1 after errors are resolved." +msgstr "" + +#: ../../../source/tooling/autospec.rst:82 +msgid "" +"If a binary dependency doesn't exist in |CL|, you must build it before " +"running autospec again." +msgstr "" + +#: ../../../source/tooling/autospec.rst:85 +msgid "" +"Following these steps, autospec continues to rebuild the package, based " +"on new information discovered from build failures, until it has a valid " +":file:`.spec`. If no build errors occur, RPM packages are successfully " +"built." +msgstr "" + +#: ../../../source/tooling/autospec.rst:90 +msgid "Examples" +msgstr "" + +#: ../../../source/tooling/autospec.rst:92 +msgid "Complete `Setup environment to build source`_ before using these examples." +msgstr "" + +#: ../../../source/tooling/autospec.rst:99 +msgid "Example 1: Build RPM with an existing spec file" +msgstr "" + +#: ../../../source/tooling/autospec.rst:101 +msgid "" +"This example shows how to build a RPM from a pre-packaged upstream " +"package with an existing spec file. The example uses the ``dmidecode`` " +"package." +msgstr "" + +#: ../../../source/tooling/autospec.rst:104 +#: ../../../source/tooling/autospec.rst:160 +msgid "Navigate to the autospec workspace and clone the ``dmidecode`` package:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:113 +msgid "You can clone all package repos at once using the following command:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:119 +#: ../../../source/tooling/autospec.rst:216 +msgid "The optional NUM is the number of threads to use." +msgstr "" + +#: ../../../source/tooling/autospec.rst:121 +msgid "" +"For a list of available packages, view the " +":file:`~/clearlinux/projects/common/packages` file." +msgstr "" + +#: ../../../source/tooling/autospec.rst:124 +msgid "Navigate to the local copy of the ``dmidecode`` package and build it:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:131 +msgid "" +"The resulting RPMs are in :file:`./rpms`. Build logs and additional RPMs " +"are in :file:`./results`." +msgstr "" + +#: ../../../source/tooling/autospec.rst:135 +msgid "Example 2: Build a new RPM" +msgstr "" + +#: ../../../source/tooling/autospec.rst:137 +msgid "" +"This example shows how to build a new RPM with no spec file. The example " +"will create a simple helloclear RPM." +msgstr "" + +#: ../../../source/tooling/autospec.rst:140 +msgid "" +"Navigate to the autospec workspace and build the helloclear RPM. The " +":file:`Makefile` provides a :command:`make autospecnew` that can " +"automatically generate an RPM package using the autospec tool. You must " +"pass the URL to the source tarball and the NAME of the RPM you wish to " +"create:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:150 +msgid "" +"The resulting RPMs are in :file:`./packages/helloclear/rpms`. Build logs " +"and additional RPMs are in :file:`./packages/helloclear/results`." +msgstr "" + +#: ../../../source/tooling/autospec.rst:154 +msgid "Example 3: Generate a new spec file with a pre-defined package" +msgstr "" + +#: ../../../source/tooling/autospec.rst:156 +msgid "" +"This example shows how to modify an existing package to create a custom " +"RPM. In this example you will make a simple change to the ``dmidecode`` " +"package and rebuild the package." +msgstr "" + +#: ../../../source/tooling/autospec.rst:167 +msgid "Navigate into the *dmidecode* directory:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:173 +msgid "Open the :file:`excludes` file with an editor and add these lines:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:186 +msgid "" +"These files aren't needed by dmidecode, so we can remove them without any" +" issues." +msgstr "" + +#: ../../../source/tooling/autospec.rst:189 +msgid "" +"In the :file:`dmidecode` directory, build the modified ``dmidecode`` " +"package:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:195 +msgid "The resulting RPMs are in :file:`./rpms`. Logs are in :file:`./results`." +msgstr "" + +#: ../../../source/tooling/autospec.rst:198 +msgid "Example 4: Provide control files to autospec" +msgstr "" + +#: ../../../source/tooling/autospec.rst:200 +msgid "" +"This example shows how to modify control files to correct build failures " +"that autospec is unable to resolve. In this example, you will add a " +"missing license and dependencies so autospec can complete a successful " +"build." +msgstr "" + +#: ../../../source/tooling/autospec.rst:204 +msgid "Navigate to the autospec workspace:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:210 +msgid "If you have not already, clone all upstream package repos:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:220 +msgid "" +"In a later step of this example, we will search the cloned package repos " +"for a missing dependency." +msgstr "" + +#: ../../../source/tooling/autospec.rst:223 +msgid "Build the opae-sdk RPM:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:229 +msgid "This results in an error for a missing license file:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:235 +msgid "Navigate to the package with build failures:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:241 +msgid "" +"Add one or more valid license identifiers from the `SPDX License List " +"`_. In the example below, two different " +"licenses are appropriate based on the opae-sdk project licensing:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:250 +msgid "Run autospec again:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:256 +msgid "This results in a generic error:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:262 +msgid "Open the build log to view the error details:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:268 +msgid "" +"The build log contains details for the specific failures. In this " +"instance, there are missing dependencies:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:281 +msgid "" +"Search the spec files of upstream |CL| packages to see if the json-c " +"library is available. In this case, it does exist and we'll add the " +"json-c 'dev' package into the buildreq_add:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:292 +msgid "" +"This search step works only if the user cloned all of the upstream " +"package repos. In this example, upstream package repos were cloned in a " +"previous step." +msgstr "" + +#: ../../../source/tooling/autospec.rst:296 +msgid "" +"Search the spec files of upstream |CL| packages to see if the libuuid " +"library is available. In this case, it exists in the util-linux package, " +"so we'll add util-linux-dev package into the buildreq_add:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:305 +msgid "" +"Run autospec again and find the successfully-generated RPMs in the " +":file:`rpms` directory:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:314 +msgid "" +"If you need a dependency that does not exist in the |CL| repo, you must " +"first build it manually (see `Example 2: Build a new RPM`_), then add the" +" repo so that autospec knows the package exists. For example:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:324 +msgid "" +"You only need to add the dependency to the :file:`buildreq_add` control " +"file if autospec is not able to automatically find the correct dependency" +" on its own." +msgstr "" + +#: ../../../source/tooling/autospec.rst:329 +msgid "Test packaged software" +msgstr "" + +#: ../../../source/tooling/autospec.rst:331 +msgid "" +"After software has been packaged with autospec, the resulting RPMs can be" +" tested for functionality before being integrated and deployed into a " +"|CL| image with the :ref:`Mixer tool `." +msgstr "" + +#: ../../../source/tooling/autospec.rst:335 +msgid "" +"The |CL| development tooling offers two ways to quickly test autospec " +"generated RPMs." +msgstr "" + +#: ../../../source/tooling/autospec.rst:339 +msgid "" +"The methods outlined below should only be used for temporary testing on " +"development systems." +msgstr "" + +#: ../../../source/tooling/autospec.rst:344 +msgid "Test in a |CL| virtual machine" +msgstr "" + +#: ../../../source/tooling/autospec.rst:346 +msgid "" +"The |CL| development tooling includes a method to install RPMs into a " +"|CL| virtual machine running on the KVM hypervisor. Using a :abbr:`VM " +"(Virtual Machine)` allows testing in a completely isolated environment." +msgstr "" + +#: ../../../source/tooling/autospec.rst:350 +msgid "To test an autospec-created package inside a VM:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:352 +msgid "" +"Download the |CL| KVM image into the :file:`~/clearlinux` directory as " +":file:`clear.img`. The location and name :file:`clear.img.xz` is " +"important for the tooling to work:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:361 +msgid "Extract the downloaded |CL| KVM image:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:367 +msgid "" +"Copy the QEMU start script and virtual firmware needed for KVM into the " +":file:`~/clearlinux` directory:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:375 +msgid "" +"Run :command:`make install` from the package's autospec directory. The " +":command:`make install` command mounts the downloaded |CL| KVM image and " +"installs the autospec-created RPM into it:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:384 +msgid "" +"The code that makes this possible can be viewed by searching for the " +"*install:* target in the `Makefile.common file on GitHub`_." +msgstr "" + +#: ../../../source/tooling/autospec.rst:387 +msgid "Return to the :file:`~/clearlinux` directory and start the |CL| VM:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:394 +msgid "" +"A new |CL| VM will launch in the console. Log into the VM as *root* and " +"set a new pasword for the VM." +msgstr "" + +#: ../../../source/tooling/autospec.rst:397 +msgid "" +"Check that the software is installed in the |CL| VM as expected and " +"perform any relevant tests." +msgstr "" + +#: ../../../source/tooling/autospec.rst:400 +msgid "" +"After testing has been completed, the |CL| VM can be powered off and " +"deleted:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:410 +msgid "Test directly on a development machine" +msgstr "" + +#: ../../../source/tooling/autospec.rst:412 +msgid "" +"The |CL| development tooling also includes a method to extract autospec-" +"created RPMs locally onto a |CL| development system for testing. " +"Extracting an RPM directly onto a system offers quicker testing; however" +" conflicts may occur and responsibility to remove the software after " +"testing is up to the developer." +msgstr "" + +#: ../../../source/tooling/autospec.rst:418 +msgid "" +"To test an autospec created package directly on the |CL| development " +"system:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:420 +msgid "" +"Run :command:`make install-local` from the package's autospec directory. " +"The :command:`make install-local` command extracts the RPM directly onto " +"the filesystem of the running |CL| system:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:429 +msgid "" +"The code that makes this possible can be viewed by searching for the " +"*install-local:* target in the `Makefile.common file on GitHub`_." +msgstr "" + +#: ../../../source/tooling/autospec.rst:432 +msgid "" +"Check that the software is installed as expected and perform any relevant" +" tests." +msgstr "" + +#: ../../../source/tooling/autospec.rst:435 +msgid "" +"After testing has been completed, the software and any related files must" +" be identified and deleted. The :command:`swupd repair --picky` command " +"can help restore the state of the :file:`/usr` directory (see :ref:`swupd" +" `) however any other files must be cleaned up manually." +msgstr "" + +#: ../../../source/tooling/autospec.rst:443 +msgid "References" +msgstr "" + +#: ../../../source/tooling/autospec.rst:445 +msgid "" +"Reference the `autospec README`_ for details regarding `autospec` " +"commands and options." +msgstr "" + +#: ../../../source/tooling/autospec.rst:448 +msgid "Setup environment to build source" +msgstr "" + +#: ../../../source/tooling/autospec.rst:452 +msgid "" +"Setup of the workspace and tooling used for building source in |CL| is " +"mostly automated for you with a setup script. It uses tools from the " +":command:`os-clr-on-clr` bundle." +msgstr "" + +#: ../../../source/tooling/autospec.rst:456 +msgid "" +"The setup script creates a workspace in the :file:`clearlinux` folder, " +"with the subfolders :file:`Makefile`, :file:`packages`, and " +":file:`projects`. The :file:`projects` folder contains the main tools " +"used for making packages in |CL| :file:`autospec` and :file:`common`." +msgstr "" + +#: ../../../source/tooling/autospec.rst:461 +msgid "Follow these steps to setup the workspace and tooling for building source:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:463 +msgid "Install the :command:`os-clr-on-clr` bundle:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:469 +msgid "Download the :file:`user-setup.sh` script:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:475 +msgid "Make :file:`user-setup.sh` executable:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:481 +msgid "Run the script as an unprivileged user:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:487 +msgid "" +"After the script completes, log out and log in again to complete the " +"setup process." +msgstr "" + +#: ../../../source/tooling/autospec.rst:490 +msgid "Set your Git user email and username for the repos on your system:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:497 +msgid "This global setting is used by |CL| tools that make use of Git." +msgstr "" + +#: ../../../source/tooling/autospec.rst:502 +msgid "Related topics" +msgstr "" + +#: ../../../source/tooling/autospec.rst:504 +msgid ":ref:`Mixer tool `" +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/tooling/compatible-kernels.po b/localization/po/locale/zh_CN/LC_MESSAGES/tooling/compatible-kernels.po new file mode 100644 index 00000000..efc53802 --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/tooling/compatible-kernels.po @@ -0,0 +1,135 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/tooling/compatible-kernels.rst:4 +msgid "Kernels" +msgstr "" + +#: ../../../source/tooling/compatible-kernels.rst:6 +msgid "" +"The |CL-ATTR| provides the following Linux kernels with a respective " +"bundle. This document describes the specific use cases these `bundles`_ " +"serve and provides links to their source code." +msgstr "" + +#: ../../../source/tooling/compatible-kernels.rst:11 +msgid "Bare metal only" +msgstr "" + +#: ../../../source/tooling/compatible-kernels.rst:17 +msgid "Kernel native" +msgstr "" + +#: ../../../source/tooling/compatible-kernels.rst:14 +msgid "" +"The *kernel-native* bundle focuses on the bare metal platforms. It is " +"optimized for fast booting and performs best on the Intel® architectures " +"described on the :ref:`supported hardware list`. The" +" optimization patches are found in our `Linux`_ GitHub\\* repo." +msgstr "" + +#: ../../../source/tooling/compatible-kernels.rst:24 +msgid "Kernel Container" +msgstr "" + +#: ../../../source/tooling/compatible-kernels.rst:20 +msgid "" +"The *kernel-container* bundle contains the kernel used by the Intel® " +"Clear Containers project. This kernel is optimized for fast booting and " +"performs best on |CC| running on the Intel® architectures described on " +"the :ref:`supported hardware list`. The optimization" +" patches are found in our `Linux-Container`_ GitHub repo." +msgstr "" + +#: ../../../source/tooling/compatible-kernels.rst:29 +msgid "Also compatible with VMs" +msgstr "" + +#: ../../../source/tooling/compatible-kernels.rst:39 +msgid "Kernel LTS" +msgstr "" + +#: ../../../source/tooling/compatible-kernels.rst:32 +msgid "" +"The *kernel-lts* bundle focuses on the bare metal platforms but uses the " +"latest :abbr:`LTS (Long Term Support)` Linux kernel. It is optimized for " +"fast booting and performs best on the Intel® architectures described on " +"the :ref:`supported hardware list`. Additionally, " +"this kernel includes the VirtualBox\\* kernel modules, see our " +":ref:`instructions on using Virtualbox` for more" +" information. The optimization patches are found in our `Linux-LTS`_ " +"GitHub repo." +msgstr "" + +#: ../../../source/tooling/compatible-kernels.rst:42 +msgid "VM only" +msgstr "" + +#: ../../../source/tooling/compatible-kernels.rst:54 +msgid "Kernel KVM" +msgstr "" + +#: ../../../source/tooling/compatible-kernels.rst:45 +msgid "" +"The *kernel-kvm* bundle focuses on the Linux :abbr:`KVM (Kernel-based " +"Virtual Machine)`. It is optimized for fast booting and performs best on " +"Virtual Machines running on the Intel® architectures described on the " +":ref:`supported hardware list`. Use this kernel when" +" running |CL| as the guest OS on top of *qemu/kvm*. Use this kernel with " +"**cloud orchestrators** using *qemu/kvm* internally as their " +"**hypervisor** . This kernel can be used as a standalone |CL| VM, see our" +" :ref:`instructions on using KVM` for more information. The " +"optimization patches are found in our `Linux-KVM`_ GitHub repo." +msgstr "" + +#: ../../../source/tooling/compatible-kernels.rst:65 +msgid "Kernel Hyper-V\\*" +msgstr "" + +#: ../../../source/tooling/compatible-kernels.rst:57 +msgid "" +"The *kernel-hyperv* bundle focuses on running Linux on Microsoft\\* " +"Hyper-V. It is optimized for fast booting and performs best on Virtual " +"Machines running on the Intel® architectures described on the " +":ref:`supported hardware list`. Use this kernel when" +" running |CL| as the guest OS of **Cloud Instances** in projects such as " +"Microsoft `Azure`_\\*. This kernel can be used in a standalone |CL| VM, " +"see our :ref:`instructions on using Hyper-V` for more " +"information. The optimization patches are found in our `Linux-HyperV`_ " +"GitHub repo." +msgstr "" + +#: ../../../source/tooling/compatible-kernels.rst:78 +msgid "Kernel Hyper-V LTS" +msgstr "" + +#: ../../../source/tooling/compatible-kernels.rst:68 +msgid "" +"The *kernel-hyperv-lts* bundle focuses on running Linux on Microsoft " +"Hyper-V but uses the latest :abbr:`LTS (Long Term Support)` Linux kernel." +" It is optimized for fast booting and performs best on Virtual Machines " +"running on the Intel® architectures described on the :ref:`supported " +"hardware list`. Use this kernel when running |CL| as" +" the guest OS of **Cloud Instances** in projects such as Microsoft " +"`Azure`_. This kernel can be used in a standalone |CL| VM, see our " +":ref:`instructions on using Hyper-V` for more information. The " +"optimization patches are found in our `Linux-HyperV-LTS`_ GitHub repo." +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/tooling/debug.po b/localization/po/locale/zh_CN/LC_MESSAGES/tooling/debug.po new file mode 100644 index 00000000..0e215cf5 --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/tooling/debug.po @@ -0,0 +1,131 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/tooling/debug.rst:4 +msgid "Debug System" +msgstr "" + +#: ../../../source/tooling/debug.rst:6 +msgid "" +"|CL-ATTR| introduces a novel approach to system software debugging using " +"*clr-debug-info*. On the client side, the |CL| debug system obtains any " +"necessary debug information on-the-fly over a network during a debugging " +"session. On the server side, the system curates and compresses debug " +"information into small pieces for efficient downloading." +msgstr "" + +#: ../../../source/tooling/debug.rst:12 +msgid "" +"For developers, this avoids the interruption during debugging that " +"usually happens when debug information is missing. This can be especially" +" useful on systems where storage is limited." +msgstr "" + +#: ../../../source/tooling/debug.rst:22 +msgid "Background" +msgstr "" + +#: ../../../source/tooling/debug.rst:24 +msgid "" +"Software that is compiled and packaged for general usage in an operating " +"system typically only contains components that are used to execute the " +"program, such as binaries and libraries. Extra developer data, such as " +"the actual source code and symbol information, are separated and excluded" +" for efficiency." +msgstr "" + +#: ../../../source/tooling/debug.rst:30 +msgid "" +"The debug information helps relate binary code to human readable source " +"code lines and variables. Most of the time, this auxiliary information is" +" not needed; however without it, debugging a program results in limited " +"visibility." +msgstr "" + +#: ../../../source/tooling/debug.rst:37 +msgid "Usage" +msgstr "" + +#: ../../../source/tooling/debug.rst:39 +msgid "" +"The clr-debug-info system is integrated into |CL| and seamlessly engages " +"once installed." +msgstr "" + +#: ../../../source/tooling/debug.rst:42 +msgid "Install the *dev-utils* bundle." +msgstr "" + +#: ../../../source/tooling/debug.rst:50 +msgid "" +"The *telemetrics* and *performance-tools* bundles also include clr-debug-" +"info." +msgstr "" + +#: ../../../source/tooling/debug.rst:54 +msgid "" +"Start a debugging session against a program using a debugger, such as " +"GDB. For example, to debug *gnome-control-center* execute the following " +"command:" +msgstr "" + +#: ../../../source/tooling/debug.rst:62 +msgid "" +"As you step through the program and debug information is needed, the " +"clr_debug_daemon obtains it in the background." +msgstr "" + +#: ../../../source/tooling/debug.rst:67 +msgid "Implementation" +msgstr "" + +#: ../../../source/tooling/debug.rst:69 +msgid "" +"The implementation of the |CL| debug system is open source and available " +"on GitHub at: https://github.com/clearlinux/clr-debug-info/" +msgstr "" + +#: ../../../source/tooling/debug.rst:76 +msgid "Figure 1: The communication flow of the |CL| debug system" +msgstr "" + +#: ../../../source/tooling/debug.rst:78 +msgid "" +"The |CL| debug system implements a :abbr:`FUSE (filesystem in userspace)`" +" filesystem mounted at :file:`/usr/lib/debug` and :file:`/usr/src/debug`." +" The FUSE filesystem starts automatically. You can verify its status by " +"executing :command:`systemctl status clr_debug_fuse.service`." +msgstr "" + +#: ../../../source/tooling/debug.rst:83 +msgid "" +"The *clr_debug_daemon* is responsible for fetching the appropriate " +"package debug content from the server and making it available for any " +"debugging programs that need it. It is socket activated whenever a " +"request to the local FUSE filesystem occurs. You can verify its status " +"with :command:`systemctl status clr_debug_daemon.service`." +msgstr "" + +#: ../../../source/tooling/debug.rst:90 +msgid "" +"|CL| hosts debuginfo content packaged for consumption by |CL| debug " +"clients at https://download.clearlinux.org/debuginfo/" +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/tooling/ister.po b/localization/po/locale/zh_CN/LC_MESSAGES/tooling/ister.po new file mode 100644 index 00000000..9c49a7cb --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/tooling/ister.po @@ -0,0 +1,166 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/tooling/ister.rst:4 +msgid "ister.py image builder" +msgstr "" + +#: ../../../source/tooling/ister.rst:6 +msgid "" +"The `ister.py tool`_ is a template-based installer used by |CL-ATTR| to " +"produce images for each release. The same ister tool is available for use" +" in |CL| to create custom images based on an upstream image." +msgstr "" + +#: ../../../source/tooling/ister.rst:15 +msgid "Description" +msgstr "" + +#: ../../../source/tooling/ister.rst:17 +msgid "" +"|CL| is a rolling release and produces an average of 10 releases per week" +" using the ister tool. With each release we produce multiple :ref:`image " +"types for different environments ` and use cases such as " +"installers, Hyper-V, KVM, or VMWare." +msgstr "" + +#: ../../../source/tooling/ister.rst:22 +msgid "" +"Each image has a JSON configuration file that is used by ister to " +"generate the image. These JSON configuration files describe the image " +"type, partitions, version, and bundles that will be preinstalled by " +"default with the image. For each image type we produce, the corresponding" +" JSON configuration file for the image also is published." +msgstr "" + +#: ../../../source/tooling/ister.rst:28 +msgid "" +"The :ref:`mixer` tool also uses ister to build images for your " +"custom mix. Like upstream images, a JSON configuration file is defined " +"for the image, which ister uses to generate the image. Refer to the " +":ref:`mixer` guide for instructions on using ister to build an " +"image for a custom mix." +msgstr "" + +#: ../../../source/tooling/ister.rst:34 +msgid "Examples" +msgstr "" + +#: ../../../source/tooling/ister.rst:37 +msgid "Recreate an upstream image" +msgstr "" + +#: ../../../source/tooling/ister.rst:39 +msgid "" +"The published configuration files for upstream images may be used to " +"recreate an image. Here are some examples:" +msgstr "" + +#: ../../../source/tooling/ister.rst:42 +msgid "" +"Use an older version of |CL| and the image is no longer available (only " +"after March 2017)." +msgstr "" + +#: ../../../source/tooling/ister.rst:44 +msgid "Customize the partitions of an image." +msgstr "" + +#: ../../../source/tooling/ister.rst:45 +msgid "Customize the bundles preinstalled in an image." +msgstr "" + +#: ../../../source/tooling/ister.rst:46 +msgid "Run your own post installation script." +msgstr "" + +#: ../../../source/tooling/ister.rst:49 +msgid "" +"Follow these steps to recreate an upstream image based on the image's " +"JSON configuration file:" +msgstr "" + +#: ../../../source/tooling/ister.rst:52 +msgid "" +"Install the :command:`os-installer` bundle. Refer to `Install a bundle`_ " +"for more details." +msgstr "" + +#: ../../../source/tooling/ister.rst:55 +msgid "Download the `ister.py tool`_ and grant it sudo privileges." +msgstr "" + +#: ../../../source/tooling/ister.rst:57 +msgid "Download the JSON configuration file for the desired image:" +msgstr "" + +#: ../../../source/tooling/ister.rst:59 +msgid "`Configuration files for the current release`_" +msgstr "" + +#: ../../../source/tooling/ister.rst:60 +msgid "`Previous releases`_ (only after March 2017)" +msgstr "" + +#: ../../../source/tooling/ister.rst:62 +msgid "" +"For a previous release, navigate to `Previous releases`_, select the " +"version you want, and find the JSON configuration file under " +":file:`/clear/config/image`. For example: " +"``https://cdn.download.clearlinux.org/releases/15700/clear/config/image/``" +msgstr "" + +#: ../../../source/tooling/ister.rst:67 +msgid "Download the “PostNonChroot” script (if applicable)." +msgstr "" + +#: ../../../source/tooling/ister.rst:69 +msgid "" +"The JSON configuration file for the image may have an accompanying " +"“PostNonChroot” script that is executed at the end of the image creation " +"process. If it does, download the script and make it executable." +msgstr "" + +#: ../../../source/tooling/ister.rst:73 +msgid "Edit the JSON configuration file as needed." +msgstr "" + +#: ../../../source/tooling/ister.rst:75 +msgid "" +"If your configuration file has an accompanying \"PostNonChroot\" script, " +"change the default path of the script to match your path." +msgstr "" + +#: ../../../source/tooling/ister.rst:78 +msgid "Generate the new image with the following command:" +msgstr "" + +#: ../../../source/tooling/ister.rst:85 +msgid "Related topics" +msgstr "" + +#: ../../../source/tooling/ister.rst:87 +msgid ":ref:`mixer`" +msgstr "" + +#: ../../../source/tooling/ister.rst:88 +msgid ":ref:`bulk-provision`" +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/tooling/mixer.po b/localization/po/locale/zh_CN/LC_MESSAGES/tooling/mixer.po new file mode 100644 index 00000000..5ccd43cc --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/tooling/mixer.po @@ -0,0 +1,1074 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/tooling/mixer.rst:4 +msgid "mixer" +msgstr "" + +#: ../../../source/tooling/mixer.rst:6 +msgid "" +"**mixer** is the tool used by the |CL-ATTR| team to generate official " +"update content and releases. The update content generated by mixer is " +"then consumed by swupd on a downstream client. The same mixer tool is " +"available as part of |CL| to create your own customized update content " +"and releases." +msgstr "" + +#: ../../../source/tooling/mixer.rst:16 +msgid "Description" +msgstr "" + +#: ../../../source/tooling/mixer.rst:18 +msgid "mixer uses the following sources as inputs to generate update content:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:20 +msgid "Upstream |CL| bundles with their corresponding RPM packages" +msgstr "" + +#: ../../../source/tooling/mixer.rst:21 +msgid "Locally-defined bundles with their corresponding local RPM packages" +msgstr "" + +#: ../../../source/tooling/mixer.rst:22 +msgid "Locally-defined bundles with upstream RPM packages" +msgstr "" + +#: ../../../source/tooling/mixer.rst:24 +msgid "" +"Using the mixer tool, you select which set of content from these sources " +"will be part of your update. You can select content from each of these " +"sources to make a unique combination of functionality for your custom " +"update content, known as a **mix**." +msgstr "" + +#: ../../../source/tooling/mixer.rst:29 +msgid "" +"The update content that mixer generates consists of various pieces of OS " +"content, update metadata, as well as a complete image. The OS content " +"includes all files in an update, as well as zero- and delta-packs for " +"improved update performance. The update metadata, stored as manifests, " +"describes all of the bundle information for the update. Update content " +"produced by mixer is then published to a web server and consumed by " +"clients via swupd. Refer to :ref:`swupd ` for additional " +"information regarding updates and update content." +msgstr "" + +#: ../../../source/tooling/mixer.rst:39 +msgid "How it works" +msgstr "" + +#: ../../../source/tooling/mixer.rst:41 +msgid "Learn the mixer tool set up and workflow." +msgstr "" + +#: ../../../source/tooling/mixer.rst:48 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/tooling/mixer.rst:50 +msgid ":command:`mixer` bundle" +msgstr "" + +#: ../../../source/tooling/mixer.rst:52 +msgid "" +"Add the mixer tool with the :command:`mixer` bundle. Refer to `Install a " +"bundle`_ for more details." +msgstr "" + +#: ../../../source/tooling/mixer.rst:55 +msgid "Docker\\* container" +msgstr "" + +#: ../../../source/tooling/mixer.rst:57 +msgid "" +"mixer by default runs all build commands in a Docker container to ensure " +"the correct tool versions are used. This also allows custom mixes to " +"automatically perform downstream format bumps when the upstream releases " +"a format bump. See `Format version`_ for additional information regarding" +" format bumps." +msgstr "" + +#: ../../../source/tooling/mixer.rst:63 +msgid "Refer to `Configure and enable Docker`_ for instruction." +msgstr "" + +#: ../../../source/tooling/mixer.rst:65 +msgid "Docker proxy (optional)" +msgstr "" + +#: ../../../source/tooling/mixer.rst:67 +msgid "" +"If you use a proxy server, you must set your proxy environment variables " +"and create a proxy configuration file for the Docker daemon and " +"container." +msgstr "" + +#: ../../../source/tooling/mixer.rst:70 +msgid "" +"Consult your IT department for the correct values if you are behind a " +"corporate proxy." +msgstr "" + +#: ../../../source/tooling/mixer.rst:73 +msgid "Refer to `Configure Docker proxy info`_ for instruction." +msgstr "" + +#: ../../../source/tooling/mixer.rst:75 +msgid "Location to host the update content and images" +msgstr "" + +#: ../../../source/tooling/mixer.rst:77 +msgid "" +"In order for swupd to make use of your mix, the update content for your " +"mix must be hosted on a web server. Your mix will be configured with an " +"update location URL, which swupd will use to pull down updates." +msgstr "" + +#: ../../../source/tooling/mixer.rst:81 +msgid "" +"Refer to `Set up a nginx web server for mixer`_ for an simple example of " +"setting up an update location." +msgstr "" + +#: ../../../source/tooling/mixer.rst:85 +msgid "Mix setup" +msgstr "" + +#: ../../../source/tooling/mixer.rst:87 +msgid "" +"Follow these steps to create and initialize the mixer workspace. Complete" +" the setup before you create a mix." +msgstr "" + +#: ../../../source/tooling/mixer.rst:90 +msgid "Create workspace." +msgstr "" + +#: ../../../source/tooling/mixer.rst:92 +msgid "" +"The mixer tool uses a simple workspace to contain all input and output in" +" a basic directory structure. The workspace is simply an empty folder " +"from which you execute the mixer commands. Each mix uses its own separate" +" workspace." +msgstr "" + +#: ../../../source/tooling/mixer.rst:97 +msgid "Initialize the workspace and mix." +msgstr "" + +#: ../../../source/tooling/mixer.rst:99 +msgid "" +"Before you create a mix, you must explicitly initialize the mixer " +"workspace. During initialization, the mixer workspace is configured and " +"the base for your mix is defined. By default, your mix is based on the " +"latest upstream version and starts with the minimum set of bundles. Your " +"first custom mix version number starts at 10. Alternatively, you can " +"select other versions or bundle sets from which to start." +msgstr "" + +#: ../../../source/tooling/mixer.rst:106 +msgid "" +"Initialization creates the directory structure within the workspace and " +"adds the :file:`builder.conf` file, which is used to configure the mixer " +"tool." +msgstr "" + +#: ../../../source/tooling/mixer.rst:109 +msgid "" +"View the `mixer.init man page`_ for more information on mixer " +"initialization." +msgstr "" + +#: ../../../source/tooling/mixer.rst:112 +msgid "View the list of `suitable versions`_ from which to mix." +msgstr "" + +#: ../../../source/tooling/mixer.rst:114 +msgid "Edit builder.conf." +msgstr "" + +#: ../../../source/tooling/mixer.rst:116 +msgid "" +":file:`builder.conf` tells the mixer tool how to configure the mix. For " +"example, it allows you to configure where mixer output is located and " +"where swupd update content will be located." +msgstr "" + +#: ../../../source/tooling/mixer.rst:120 +msgid "" +"At minimum, set the URL of your update server so your custom OS knows " +"where to get update content." +msgstr "" + +#: ../../../source/tooling/mixer.rst:123 +msgid "Refer to the `builder.conf`_ section for more information." +msgstr "" + +#: ../../../source/tooling/mixer.rst:126 +msgid "Create a mix" +msgstr "" + +#: ../../../source/tooling/mixer.rst:128 +msgid "A mix is created with the following steps:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:130 +msgid "Add custom RPMs and set up local repo (optional)." +msgstr "" + +#: ../../../source/tooling/mixer.rst:132 +msgid "" +"If you are adding custom RPMs to your mix, you must add the RPMs to your " +"mix workspace and set up a corresponding local repository." +msgstr "" + +#: ../../../source/tooling/mixer.rst:135 +msgid "" +"Go to the :ref:`autospec` guide to learn to build RPMs from " +"scratch. If the RPMs are not built on |CL|, make sure your configuration " +"and toolchain builds them correctly for |CL|. Otherwise there is no " +"guarantee they will be compatible." +msgstr "" + +#: ../../../source/tooling/mixer.rst:140 +msgid "" +"Refer to the :ref:`autospec` guide for more information on using autospec" +" to build RPMs." +msgstr "" + +#: ../../../source/tooling/mixer.rst:143 +msgid "Update and build bundles." +msgstr "" + +#: ../../../source/tooling/mixer.rst:145 +msgid "" +"Add, edit, or remove bundles that will be part of your content and build " +"them. mixer automatically updates the :file:`mixbundles` file when you " +"update the bundles in your mix." +msgstr "" + +#: ../../../source/tooling/mixer.rst:149 +msgid "" +"View the `mixer.bundle man page`_ for more information on configuring " +"bundles in a mix." +msgstr "" + +#: ../../../source/tooling/mixer.rst:152 +msgid "View the `mixer.build man page`_ for more information on building bundles." +msgstr "" + +#: ../../../source/tooling/mixer.rst:154 +msgid "" +"View the `Bundles`_ section for more information on how mixer manages " +"bundles." +msgstr "" + +#: ../../../source/tooling/mixer.rst:157 +msgid "Create the update content." +msgstr "" + +#: ../../../source/tooling/mixer.rst:159 +msgid "" +"mixer creates update content with this step. Zero-packs are created " +"automatically, and delta-packs can be optionally created at the same time" +" (for all builds after version 0)." +msgstr "" + +#: ../../../source/tooling/mixer.rst:163 +msgid "" +"A zero-pack is the full set of content needed to go from mix version 0 " +"(nothing) to the mix version for which you just built content." +msgstr "" + +#: ../../../source/tooling/mixer.rst:166 +msgid "" +"A delta-pack provides the content *delta* between a `PAST_VERSION` to a " +"`MIX_VERSION` that allows the transition from one mix version to another." +msgstr "" + +#: ../../../source/tooling/mixer.rst:169 +msgid "View :ref:`swupd-guide` for more information on update content." +msgstr "" + +#: ../../../source/tooling/mixer.rst:171 +msgid "Create image." +msgstr "" + +#: ../../../source/tooling/mixer.rst:173 +msgid "" +"mixer creates a bootable image from your updated content using the " +":ref:`ister` tool. In this step you can specify which bundles you want " +"*preinstalled* in the image. Users can later install other bundles " +"available in your mix." +msgstr "" + +#: ../../../source/tooling/mixer.rst:178 +msgid "Make update available." +msgstr "" + +#: ../../../source/tooling/mixer.rst:180 +msgid "Deploy update content and images to your update server." +msgstr "" + +#: ../../../source/tooling/mixer.rst:182 +msgid "" +"View the `Example 3: Deploy updates to target`_ for a simple deployment " +"scenario." +msgstr "" + +#: ../../../source/tooling/mixer.rst:186 +msgid "Maintain or modify mix" +msgstr "" + +#: ../../../source/tooling/mixer.rst:188 +msgid "" +"Update or modify your content to a new version by following the steps to " +"create a mix. Increment the mix version number for the next mix." +msgstr "" + +#: ../../../source/tooling/mixer.rst:192 +msgid "Examples" +msgstr "" + +#: ../../../source/tooling/mixer.rst:194 +msgid "" +"The following examples are designed to work together and in order. The " +"examples use:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:197 +msgid "A stock installation of |CL|." +msgstr "" + +#: ../../../source/tooling/mixer.rst:198 +msgid "A web server that comes with |CL| to host the content updates." +msgstr "" + +#: ../../../source/tooling/mixer.rst:199 +msgid "" +"A simple VM that updates against the locally produced content created in " +"Example 2." +msgstr "" + +#: ../../../source/tooling/mixer.rst:202 +msgid "Complete all `Prerequisites`_ before using these examples." +msgstr "" + +#: ../../../source/tooling/mixer.rst:205 +msgid "Example 1: Mix set up" +msgstr "" + +#: ../../../source/tooling/mixer.rst:207 +msgid "" +"This example shows the basic steps for the first-time setup of mixer for " +"a new mix." +msgstr "" + +#: ../../../source/tooling/mixer.rst:210 +msgid "Create an empty directory to use as a workspace for mixer:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:216 +msgid "" +"In your mixer workspace, generate an initial mix based on the latest " +"upstream |CL| version, with minimum bundles. In the initialization " +"output, be aware that your initial mix version is set to 10 and that the " +"minimum bundles have been added." +msgstr "" + +#: ../../../source/tooling/mixer.rst:226 +msgid "" +"Edit :file:`builder.conf` to set the value of CONTENTURL and VERSIONURL " +"to the IP address of the nginx\\* server you set up in the prerequisite " +"`Set up a nginx web server for mixer`_. For example:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:238 +msgid "Example 2: Create a simple mix" +msgstr "" + +#: ../../../source/tooling/mixer.rst:240 +msgid "" +"This example shows how to create a simple custom mix using upstream " +"content. We'll create an image for a QEMU virtual machine that we can use" +" later to test our mix." +msgstr "" + +#: ../../../source/tooling/mixer.rst:244 +msgid "" +"We can use the default bundles that were added during initialization, but" +" these include the :command:`native-kernel` bundle that is intended to be" +" used on a bare metal system instead of a VM. So we will modify the " +"default bundle set to get a smaller kernel image, which will also be " +"faster to load." +msgstr "" + +#: ../../../source/tooling/mixer.rst:249 +msgid "Update bundles in mix:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:256 +msgid "Build bundles:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:262 +msgid "" +"Look in ~/mixer/update/image//full for the full chroot after" +" the :command:`build` command completes." +msgstr "" + +#: ../../../source/tooling/mixer.rst:265 +msgid "" +"Build update content. Browse to your \\http://localhost site and you'll " +"see the web page is now up, but with no update content. Build the update " +"content:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:272 +msgid "" +"Refresh your \\http://localhost site and now you can see the update " +"content for mix version 10." +msgstr "" + +#: ../../../source/tooling/mixer.rst:275 ../../../source/tooling/mixer.rst:339 +msgid "" +"Look in ~/mixer/update/www/ to see the update content in " +"your workspace." +msgstr "" + +#: ../../../source/tooling/mixer.rst:278 +msgid "" +"Configure image. Edit the ister configuration file for your image to " +"include all of the bundles you want preinstalled in the image. If this is" +" the first time creating an image, first get a copy of the :file" +":`release-image-config.json` template file:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:287 +msgid "" +"For this example, edit :file:`release-image-config.json` so that the root" +" partition size is \"5G\" and replace the \"kernel-native\" bundle with " +"\"kernel-kvm\"." +msgstr "" + +#: ../../../source/tooling/mixer.rst:307 +msgid "Build the image." +msgstr "" + +#: ../../../source/tooling/mixer.rst:313 +msgid "" +"The output from this step will be :file:`release.img`, which is a live " +"image." +msgstr "" + +#: ../../../source/tooling/mixer.rst:315 +msgid "" +"Make the next mix. Create a new version of your mix, for the live image " +"to update to. Increment your mix version by 10:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:322 +msgid "Repeat steps 1-3 to add the upstream :command:`curl` bundle to the mix:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:330 +msgid "Build optional delta-packs, which helps reduce client update time:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:336 +msgid "" +"Refresh your \\http://localhost site to see the update content for mix " +"version 20." +msgstr "" + +#: ../../../source/tooling/mixer.rst:343 +msgid "Example 3: Deploy updates to target" +msgstr "" + +#: ../../../source/tooling/mixer.rst:345 +msgid "" +"The image created in Example 2 is directly bootable in QEMU. In this " +"example, we'll boot the image from Example 2 to verify it, and update the" +" image from mix version 10 (from which the image was built), to mix " +"version 20." +msgstr "" + +#: ../../../source/tooling/mixer.rst:349 +msgid "Set up the QEMU environment." +msgstr "" + +#: ../../../source/tooling/mixer.rst:351 +msgid "Install the :command:`kvm-host` bundle to your |CL|:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:357 +msgid "" +"Get the virtual EFI firmware, download the image launch script, and make " +"it executable:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:366 +msgid "Start your VM image (created in Example 2):" +msgstr "" + +#: ../../../source/tooling/mixer.rst:372 +msgid "Log in as root and set a password" +msgstr "" + +#: ../../../source/tooling/mixer.rst:374 +msgid "Try out your mix." +msgstr "" + +#: ../../../source/tooling/mixer.rst:376 +msgid "Take a look at the default bundles installed in your mix:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:386 +msgid "" +"You cannot see the curl bundle that you added in Example 2 because your " +"mix is still on version 10." +msgstr "" + +#: ../../../source/tooling/mixer.rst:389 +msgid "" +"Check for updates. You should see that version 20 is available. Use swupd" +" to update your mix:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:398 +msgid "" +"Now your mix should be at version 20 and curl is now available. Try using" +" curl. This will fail because curl is not yet installed:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:406 +msgid "" +"Add the new bundle from your update server to your VM. Retry curl. It " +"works!" +msgstr "" + +#: ../../../source/tooling/mixer.rst:413 +msgid "Shutdown your VM:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:424 +msgid "References" +msgstr "" + +#: ../../../source/tooling/mixer.rst:426 +msgid "" +"Reference the `mixer man page`_ for details regarding mixer commands and " +"options." +msgstr "" + +#: ../../../source/tooling/mixer.rst:435 +msgid "builder.conf" +msgstr "" + +#: ../../../source/tooling/mixer.rst:437 +msgid "" +"mixer initialization creates a :file:`builder.conf` that stores the basic" +" configuration for the mixer tool. The items of primary interest are " +"CONTENTURL and VERSIONURL, which will be used by systems updating against" +" your custom content." +msgstr "" + +#: ../../../source/tooling/mixer.rst:470 +msgid "" +"Additional explanation of variables in :file:`builder.conf` is provided " +"in Table 1." +msgstr "" + +#: ../../../source/tooling/mixer.rst:474 +msgid "**Variable**" +msgstr "" + +#: ../../../source/tooling/mixer.rst:474 +msgid "**Explanation**" +msgstr "" + +#: ../../../source/tooling/mixer.rst:476 +msgid "`CERT`" +msgstr "" + +#: ../../../source/tooling/mixer.rst:476 +msgid "" +"Sets the path where mixer stores the certificate file used to sign " +"content for verification. mixer automatically generates the certificate " +"if you do not provide the path to an existing one, and signs the " +":file:`Manifest.MoM` file to provide security for the updated content you" +" create." +msgstr "" + +#: ../../../source/tooling/mixer.rst:483 +msgid "" +"chroot-builder uses the certificate file to sign the root " +":file:`Manifest.MoM` file to provide security for content verification." +msgstr "" + +#: ../../../source/tooling/mixer.rst:487 +msgid "" +"swupd uses this certificate to verify the :file:`Manifest.MoM` file's " +"signature." +msgstr "" + +#: ../../../source/tooling/mixer.rst:490 +msgid "" +"For now, we strongly recommend that you do not modify this variable, as " +"swupd expects a certificate with a very specific configuration to sign " +"and verify properly." +msgstr "" + +#: ../../../source/tooling/mixer.rst:495 +msgid "`CONTENTURL` and `VERSIONURL`" +msgstr "" + +#: ../../../source/tooling/mixer.rst:495 +msgid "" +"Set these variables to the IP address of the web server hosting the " +"update content." +msgstr "" + +#: ../../../source/tooling/mixer.rst:498 +msgid "" +"VERSIONURL is the IP address where the swupd client looks to determine if" +" a new version is available." +msgstr "" + +#: ../../../source/tooling/mixer.rst:501 +msgid "CONTENTURL is the location from which swupd pulls content updates." +msgstr "" + +#: ../../../source/tooling/mixer.rst:504 +msgid "" +"If the web server is on the same machine as the SERVER_STATE_DIR " +"directory, you can create a symlink to the directory in your web server's" +" document root to easily host the content." +msgstr "" + +#: ../../../source/tooling/mixer.rst:509 +msgid "These URLs are embedded in the images created by mixer." +msgstr "" + +#: ../../../source/tooling/mixer.rst:511 +msgid "`DOCKER_IMAGE_PATH`" +msgstr "" + +#: ../../../source/tooling/mixer.rst:511 +msgid "" +"Sets the base name of the docker image that mixer pulls down to run " +"builds in the proper container." +msgstr "" + +#: ../../../source/tooling/mixer.rst:514 +msgid "`LOCAL_BUNDLE_DIR`" +msgstr "" + +#: ../../../source/tooling/mixer.rst:514 +msgid "" +"Sets the path where mixer stores the local bundle definition files. The " +"bundle definition files include any new, original bundles you create, " +"along with any edited versions of upstream bundles." +msgstr "" + +#: ../../../source/tooling/mixer.rst:519 +msgid "`SERVER_STATE_DIR`" +msgstr "" + +#: ../../../source/tooling/mixer.rst:519 +msgid "" +"Sets the path to which mixer outputs content. By default, mixer " +"automatically sets the path." +msgstr "" + +#: ../../../source/tooling/mixer.rst:522 +msgid "`VERSIONS_PATH`" +msgstr "" + +#: ../../../source/tooling/mixer.rst:522 +msgid "" +"Sets the path for the mix version and upstream version's two state files:" +" :file:`mixversion` and :file:`upstreamversion`. mixer creates both files" +" for you when you set up the workspace." +msgstr "" + +#: ../../../source/tooling/mixer.rst:527 +msgid "`YUM_CONF`" +msgstr "" + +#: ../../../source/tooling/mixer.rst:527 +msgid "" +"Sets the path where mixer automatically generates the :file:`.yum-" +"mix.conf` file." +msgstr "" + +#: ../../../source/tooling/mixer.rst:530 +msgid "" +"The yum configuration file points the chroot-builder to where the RPMs " +"are stored." +msgstr "" + +#: ../../../source/tooling/mixer.rst:533 +msgid "**Table 1**: *Variables in builder.conf*" +msgstr "" + +#: ../../../source/tooling/mixer.rst:537 +msgid "Format version" +msgstr "" + +#: ../../../source/tooling/mixer.rst:539 +msgid "" +"Compatible versions of an OS are tracked with an OS *compatibility " +"epoch*. Versions of an OS within an epoch are fully compatible and can " +"update to any other version within that epoch. The compatibility epoch is" +" set as the `Format` variable in the :file:`mixer.state` file. Variables " +"in the :file:`mixer.state` are used by mixer between executions and " +"should not be manually changed." +msgstr "" + +#: ../../../source/tooling/mixer.rst:545 +msgid "" +"If `Format` increments to a new epoch (a \"format bump\"), the OS has " +"changed in such a way that updating from build M in format X to build N " +"in format Y will not work. Generally, this scenario occurs when the " +"software updater or the software has a change such that it is no longer " +"compatible with the previous update scheme, or when a package is removed " +"from the update stream and the update must ensure the files associated " +"with that package are removed from the system." +msgstr "" + +#: ../../../source/tooling/mixer.rst:552 +msgid "" +"Using a format increment, we make sure pre- and co-requisite changes flow" +" out with proper ordering. The updated client will only update to the " +"latest release in its respective format version, unless overridden by " +"command line flags. In this way, we can guarantee that all clients update" +" to the final version in their given format." +msgstr "" + +#: ../../../source/tooling/mixer.rst:558 +msgid "" +"The given format *must* contain all the changes needed to understand the " +"content built in the next format. Only after reaching the final release " +"in the old format can a client continue to update to releases in the new " +"format." +msgstr "" + +#: ../../../source/tooling/mixer.rst:562 +msgid "" +"The format version is incremented only when a compatibility breakage is " +"introduced. Normal updates, such as updating a software package, do not " +"require a format increment." +msgstr "" + +#: ../../../source/tooling/mixer.rst:569 +msgid "Bundles" +msgstr "" + +#: ../../../source/tooling/mixer.rst:571 +msgid "" +"mixer stores information about the bundles included in a mix in a flat " +"file called :file:`mixbundles`, which is located in the path set by the " +"VERSIONS_PATH variable in :file:`builder.conf`. :file:`mixbundles` is " +"automatically created when the mix is initiated. mixer will refresh the " +"file each time you change the bundles in the mix." +msgstr "" + +#: ../../../source/tooling/mixer.rst:577 +msgid "" +"Bundles can include other bundles. Nested bundles can themselves include " +"other bundles. If you see an unexpected bundle in your mix, it is likely " +"a nested bundle in one of the bundles you explicitly added." +msgstr "" + +#: ../../../source/tooling/mixer.rst:581 +msgid "" +"A bundle will fill into one of two categories: upstream or local. " +"Upstream bundles are those provided by |CL|. Local bundles are either " +"modified upstream bundles or new local bundles." +msgstr "" + +#: ../../../source/tooling/mixer.rst:586 +msgid "Upstream bundles" +msgstr "" + +#: ../../../source/tooling/mixer.rst:588 +msgid "" +"mixer automatically downloads and caches upstream bundle definition " +"files. These definition files are stored in the upstream-bundles " +"directory in the workspace. Do not modify the files in this directory. " +"This directory is simply a mirror for mixer to use. mixer will " +"automatically delete the contents of this directory before repopulating " +"it on-the-fly if a new version must be downloaded." +msgstr "" + +#: ../../../source/tooling/mixer.rst:594 +msgid "" +"The mixer tool automatically caches the bundles for the |CL| version " +"configured in the :file:`upstreamversion` file. mixer also cleans up old " +"versions once they are no longer needed." +msgstr "" + +#: ../../../source/tooling/mixer.rst:599 +msgid "Local bundles" +msgstr "" + +#: ../../../source/tooling/mixer.rst:601 +msgid "" +"Local bundles are bundles that you create, or are edited versions of " +"upstream bundles. Local bundle definition files are stored in the local-" +"bundles directory in the workspace. The LOCAL_BUNDLE_DIR variable sets " +"the path of this directory in the :file:`builder.conf` file." +msgstr "" + +#: ../../../source/tooling/mixer.rst:606 +msgid "" +"*mixer always checks for local bundles first and the upstream bundles " +"second.* So bundles in the local-bundles directory will always take " +"precedence over any upstream bundles that have the same name. This " +"precedence enables you to copy upstream bundles locally, and edit into a " +"local variation." +msgstr "" + +#: ../../../source/tooling/mixer.rst:612 +msgid "Bundle configuration" +msgstr "" + +#: ../../../source/tooling/mixer.rst:614 +msgid "" +"mixer provides commands to configure the bundles for a mix, such as to " +"add a bundle to a mix, to create a new bundle for a mix, or to remove a " +"bundle from a mix. View the `mixer.bundle man page`_ for a full list of " +"commands and more information on configuring bundles in a mix." +msgstr "" + +#: ../../../source/tooling/mixer.rst:619 +msgid "" +"Editing an existing local bundle is as simple as opening the bundle " +"definition file in your favorite editor, making the desired edits, and " +"saving your changes." +msgstr "" + +#: ../../../source/tooling/mixer.rst:624 +msgid "" +"Removing bundles from a mix: By default, removing a bundle will only " +"remove the bundle from the mix. The local bundle definition file will " +"still remain. To completely remove a bundle, including its local bundle " +"definition file, use the :command:`--local` flag." +msgstr "" + +#: ../../../source/tooling/mixer.rst:629 +msgid "" +"If you remove the bundle definition file for a local, edited version of " +"an upstream bundle in a mix, the mix reverts to reference the original " +"upstream version of the bundle." +msgstr "" + +#: ../../../source/tooling/mixer.rst:636 +msgid "Configure and enable Docker" +msgstr "" + +#: ../../../source/tooling/mixer.rst:638 +msgid "" +"Use these steps to enable Docker for the mixer tool. Make sure to " +"`Configure Docker proxy info`_ first if needed." +msgstr "" + +#: ../../../source/tooling/mixer.rst:641 +msgid "Start the Docker daemon:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:649 +msgid "Add user to the docker group" +msgstr "" + +#: ../../../source/tooling/mixer.rst:656 +msgid "Pull Docker container manually (optional)" +msgstr "" + +#: ../../../source/tooling/mixer.rst:658 +msgid "" +"By default, mixer automatically pulls a Docker container for mixing if " +"one does not already exist. If you need to troubleshoot the mixer " +"container, it may be useful to manually pull a mixer Docker container." +msgstr "" + +#: ../../../source/tooling/mixer.rst:662 +msgid "" +"Versions of the mixer Docker container are available under the tags for " +"the `clearlinux/mixer repo " +"`_ on Docker Hub. Each " +"version of the mixer Docker container is named after the associated |CL| " +"upstream format version. Refer to `Format version`_ for additional " +"information on upstream format versions." +msgstr "" + +#: ../../../source/tooling/mixer.rst:668 +msgid "Use the following steps to manually pull a mixer Docker container:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:670 +msgid "" +"Find the version of the container you need by viewing the tags for the " +"`clearlinux/mixer repo " +"`_ on Docker Hub." +msgstr "" + +#: ../../../source/tooling/mixer.rst:674 +msgid "Pull the latest container version:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:680 +msgid "View local docker images:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:689 +msgid "Configure Docker proxy info" +msgstr "" + +#: ../../../source/tooling/mixer.rst:691 +msgid "If needed, use these steps to configure the Docker proxy information." +msgstr "" + +#: ../../../source/tooling/mixer.rst:693 +msgid "Create the Docker daemon proxy config directory:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:699 +msgid "" +"Create :file:`/etc/systemd/system/docker.service.d/http-proxy.conf` and " +"add the following using your own proxy values:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:708 +msgid "Reload the Docker daemon:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:714 +msgid "" +"Configure the Docker container proxies, to pass proxy settings to " +"containers:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:717 +msgid "Create a directory for your container config:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:723 +msgid "" +"Create the config file :file:`~/.docker/config.json` and add the " +"following entries, using your own proxy values:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:739 +msgid "Set ownership and permission on the docker config directory:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:746 +msgid "" +"Configure proxies to allow mixer to access upstream content from behind a" +" firewall." +msgstr "" + +#: ../../../source/tooling/mixer.rst:749 +msgid "" +"Open your :file:`$HOME/.bashrc` file and add proxy and port values for " +"the following:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:760 +msgid "Log out and log back in for the proxies to take effect." +msgstr "" + +#: ../../../source/tooling/mixer.rst:765 +msgid "Set up a nginx web server for mixer" +msgstr "" + +#: ../../../source/tooling/mixer.rst:767 +msgid "" +"A web server is needed to host your update content. In this example, we " +"use the nginx web server, which comes with |CL|." +msgstr "" + +#: ../../../source/tooling/mixer.rst:770 +msgid "Set up a nginx web server for mixer with the following steps:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:772 +msgid "Install the :command:`nginx` bundle:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:778 +msgid "Make the directory where mixer updates will reside:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:784 +msgid "" +"Create a symbolic link between your workspace updates and the updates on " +"the local nginx web server. In this example, `$HOME/mixer` is the " +"workspace for the mix." +msgstr "" + +#: ../../../source/tooling/mixer.rst:792 +msgid "Set up ``nginx`` configuration:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:798 +msgid "Copy the default example configuration file:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:804 +msgid "" +"Configure the mixer update server. Create and add the following server " +"configuration content to :file:`/etc/nginx/conf.d/mixer.conf` (sudo " +"required):" +msgstr "" + +#: ../../../source/tooling/mixer.rst:817 +msgid "Restart the daemon, enable nginx on boot, and start the service." +msgstr "" + +#: ../../../source/tooling/mixer.rst:827 +msgid "" +"Verify the web server is running at \\http://localhost. At this point you" +" should no longer see a \"404 Not Found\" message." +msgstr "" + +#: ../../../source/tooling/mixer.rst:831 +msgid "Related topics" +msgstr "" + +#: ../../../source/tooling/mixer.rst:833 +msgid ":ref:`About mixer `" +msgstr "" + +#: ../../../source/tooling/mixer.rst:834 +msgid ":ref:`autospec-about`" +msgstr "" + +#: ../../../source/tooling/mixer.rst:835 +msgid ":ref:`bundles-about`" +msgstr "" + +#: ../../../source/tooling/mixer.rst:836 +msgid ":ref:`swupd-about`" +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/tooling/swupd-guide.po b/localization/po/locale/zh_CN/LC_MESSAGES/tooling/swupd-guide.po new file mode 100644 index 00000000..c84af060 --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/tooling/swupd-guide.po @@ -0,0 +1,446 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/tooling/swupd-guide.rst:4 +msgid "swupd" +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:6 +msgid "" +":command:`swupd` links a |CL-ATTR| installation with upstream updates and" +" software." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:14 +msgid "Description" +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:16 +msgid ":command:`swupd` has two main functions:" +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:18 +msgid "" +"Manage software and replace APT or YUM, by installing bundles rather than" +" packages." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:20 +msgid "Check for system updates and install them." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:22 +msgid "" +":command:`swupd` manages overlapping dependencies behind the scenes, " +"ensuring that all software is compatible across the system. It can be " +"used to verify the OS, clean cached files, and fix issues." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:26 +msgid "" +":ref:`Bundles ` contain everything needed to deliver a software " +"capability. They are the smallest granularity component that is managed " +"by |CL|. A bundle comes with all of its dependencies rather than " +"downloading a cascade of package dependencies when installing a piece of " +"software." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:33 +msgid "Versioning" +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:35 +msgid "" +"Using package managers to monitor software version compatibility or " +"compare multiple systems on many Linux distributions can be cumbersome." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:38 +msgid "" +"With |CL| :command:`swupd`, versioning happens at the individual file " +"level. This means |CL| generates an entirely new OS version with any set " +"of software changes to the system, including software downgrades or " +"removals. This rolling release versioning model is similar to " +":command:`git` internal version tracking, where any of the individual " +"file commits are tracked and move the pointer forward when changed." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:45 +msgid "" +"A number that represents the **current** release of the OS describes the " +"versions of all the software on the OS. Each build is composed of a " +"specific set of bundles made from a particular version of packages. On a " +"daily basis, this matters to system administrators who need to determine " +"which of their systems do not have the latest security fixes, or which " +"combinations of software have been tested. Every release of the same " +"number is guaranteed to contain the same versions of software, so there's" +" no ambiguity between two systems running the same version of |CL|." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:55 +msgid "Updating" +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:57 +msgid "" +"|CL| enforces regular updating of the OS by default and automatically " +"checks for updates against a version server. The content server provides " +"the file and metadata content for all versions and can be the same as the" +" version server. The content url server provides metadata in the form of " +"*manifests*, which list and describe file contents, symlinks, and " +"directories. Additionally, the actual content is provided to clients in " +"the form of archive files." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:65 +msgid "" +"Software updates with |CL| are also efficient. Unlike package-based " +"distributions, :command:`swupd` only updates files that have changed, " +"rather than entire packages. For example, it is quite common for an OS " +"security patch to be as small as 15 KB. Using binary deltas, |CL| is able" +" to apply only what is needed." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:71 +msgid "" +"For details on how to generate update content for |CL|, see the " +":ref:`mixer ` tool." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:75 +msgid "How it works" +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:78 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:80 +msgid "The device is on a well-connected network." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:81 +msgid "" +"The device is able to connect to an update server. The default server is:" +" http://update.clearlinux.org" +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:85 +msgid "Updates" +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:87 +msgid "" +"|CL| updates are automatic by default, but can be set to occur only on " +"demand. :command:`swupd` makes sure that regular updates are simple and " +"secure. It can also check the validity of currently installed files and " +"software, and can correct any problems." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:93 +msgid "Manifests" +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:95 +msgid "" +"The |CL| software update content consists of data and metadata. The data " +"is the files that end up in the OS. The metadata contains relevant " +"information to properly provision the data to the OS file system, as well" +" as update the system and add or remove additional content to the OS." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:100 +msgid "" +"The manifests are mostly long lists of hashes that describe content. Each" +" bundle gets its own manifest file. There is a master manifest file that " +"describes all manifests to tie it all together." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:105 +msgid "Fullfiles, packs, and delta packs" +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:107 +msgid "" +"To speed up updates and optimize content delivery, update data " +"provisioned to a system is obtained by one of the following methods:" +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:110 +msgid "" +"*Fullfiles* are always generated for every file in every release. This " +"allows any |CL| to obtain the exact copy of the content for each version " +"directly. This is used if the OS verification needs to replace a single " +"file, for instance." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:115 +msgid "" +"*Packs* are available for some releases. They combine many files to speed" +" up the creation of installation media and large updates." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:118 +msgid "" +"*Delta packs* are an optimized version of packs that only contain updates" +" (binary diffs). They cannot be used without having the original file " +"content." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:122 +msgid "Bundle search" +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:124 +msgid "" +":command:`swupd` searches download manifest data for bundles that match " +"the term. Enter only one term, or hyphenated term, per search. Use the " +"command :command:`man swupd` to learn more." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:128 +msgid "" +"Only the base bundle is returned. Bundles can contain other bundles via " +"includes. For more details, see `Bundle Definition Files`_ and its " +"subdirectory bundles." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:132 +msgid "" +"Bundles that are already installed are marked **(installed)** in search " +"results." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:135 +msgid "Optionally, you can review our `bundles`_ on GitHub\\*." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:138 +msgid "Examples" +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:141 +msgid "Example 1: Disable and enable automatic updates" +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:143 +msgid "" +"|CL| updates are automatic by default, but can be set to occur only on " +"demand." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:146 +msgid "Verify your current auto-update setting." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:156 +msgid "Disable automatic updates." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:170 +msgid "Check manually for updates." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:176 +msgid "Install an update after identifying one that you need." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:182 +msgid "Re-enable automatic installs." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:191 +msgid "Example 2: Find and install Kata Containers\\*" +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:193 +msgid "" +"Kata Containers is a popular container implementation. Unlike other " +"container implementations, each Kata Container has its own kernel " +"instance and runs on its own :abbr:`VM (Virtual Machine)` for improved " +"security." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:198 +msgid "" +"|CL| makes it very easy to install, since you only need to add `one " +"bundle`_ to use `Kata Containers`_: `containers-virt`, despite a number " +"of dependencies. Also, check out our tutorial: :ref:`kata`." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:202 +msgid "Find the correct bundle." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:204 +msgid "" +"To return all possible matches for the search string, enter " +":command:`swupd search`, followed by 'kata':" +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:211 +msgid "The output should be similar to:" +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:229 +msgid "" +"If your search does not produce results with a specific term, shorten the" +" search term. For example, use *kube* instead of *kubernetes*." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:232 +msgid "Add the bundle." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:240 +msgid "To add multiple bundles, add a space followed by the bundle name." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:242 +msgid "The output of a successful installation should be similar to:" +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:261 +msgid "Example 3: Verify and correct system file mismatch" +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:263 +msgid "" +":command:`swupd` can determine whether system directories and files have " +"been added to, overwritten, removed, or modified (e.g., permissions)." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:270 +msgid "" +"All directories that are watched by :command:`swupd` are verified " +"according to the manifest data. Hash mismatches are flagged as follows:" +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:287 +msgid "" +"In this case, Python\\* packages that were installed on top of the " +"default install were flagged as mismatched. :command:`swupd` can be " +"directed to ignore or fix issues based on command line options." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:291 +msgid "" +":command:`swupd` can correct any issues it detects. Additional directives" +" can be added including a white list of directories to be ignored." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:294 +msgid "" +"The following command repairs issues, removes unknown items, and ignores " +"files or directories matching :file:`/usr/lib/python`:" +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:302 +msgid "Quick reference" +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:305 +msgid "swupd info" +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:305 +msgid "Returns the currently installed version and update servers." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:309 +msgid "swupd update " +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:308 +msgid "" +"Updates to a specific version or updates to latest version if no " +"arguments are used." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:312 +msgid "swupd bundle-list [--all]" +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:312 +msgid "Lists installed bundles." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:315 +msgid "swupd bundle-add [-b] " +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:315 +msgid "Finds a bundle that contains your search term." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:318 +msgid "swupd bundle-add " +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:318 +msgid "Adds a bundle." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:321 +msgid "swupd bundle-remove " +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:321 +msgid "Removes a bundle." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:324 +msgid "swupd --help" +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:324 +msgid "Lists additional :command:`swupd` commands." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:327 +msgid "man swupd" +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:327 +msgid "Opens the :command:`swupd` man page." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:329 +msgid "" +"Refer to :command:`swupd` `source documentation`_ on GitHub for more " +"details." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:332 +msgid "Related topics" +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:334 +msgid ":ref:`autospec`" +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:335 +msgid ":ref:`mixer`" +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:336 +msgid ":ref:`bundles`" +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/tooling/tooling.po b/localization/po/locale/zh_CN/LC_MESSAGES/tooling/tooling.po new file mode 100644 index 00000000..2b2d25ed --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/tooling/tooling.po @@ -0,0 +1,30 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/tooling/tooling.rst:4 +msgid "Tooling" +msgstr "" + +#: ../../../source/tooling/tooling.rst:6 +msgid "" +"Clear Linux is a little different from other distros. Here are some " +"important tools and concepts for managing your install." +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/aws-web/aws-web.po b/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/aws-web/aws-web.po new file mode 100644 index 00000000..641f6e81 --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/aws-web/aws-web.po @@ -0,0 +1,379 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/tutorials/aws-web/aws-web.rst:4 +msgid "Create and launch |CL-ATTR| from Amazon Web Services" +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:6 +msgid "" +"This tutorial walks you through creating and launching a |CL| :abbr:`AMI " +"(Amazon Machine Image)` instance from the :abbr:`AWS (Amazon Web " +"Services)` console and complete the following tasks:" +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:10 +msgid "Locate and select the |CL| OS Basic AMI in the AWS Marketplace." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:11 +msgid "" +"Create a new public and private key pair to allow you to connect to your " +"|CL| instance securely." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:13 +msgid "Launch the new |CL| instance and connect to it." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:14 +msgid "Update your instance of |CL| using the :command:`swupd` command." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:15 +msgid "Stop the |CL| instance." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:18 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:20 +msgid "This tutorial assumes the following statements are true:" +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:22 +msgid "" +"You are using a linux-based system to access AWS and can run " +":command:`SSH` to access the remote |CL| AWS image." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:24 +msgid "" +"Your browser puts downloaded files in the :file:`$HOME/Downloads` " +"directory." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:26 +msgid "" +"You have already set up an AWS user account and logged into the AWS " +"console." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:30 +msgid "" +"This tutorial uses a |CL| AMI t2.micro instance that is eligible for the " +"AWS free tier. To learn more about AWS and setting up an account, visit " +"the AWS website at http://aws.amazon.com." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:35 +msgid "Locate, select, and launch the |CL| Basic AMI" +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:37 +msgid "" +"Start from your main AWS services console menu in your browser and select" +" the :guilabel:`EC2` text as shown in figure 1:" +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:44 +msgid "Figure 1: :guilabel:`AWS Console`" +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:46 +msgid "This selection brings up your :guilabel:`EC2 Dashboard` menu." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:48 +msgid "" +"To create a new |CL| instance from the :guilabel:`EC2 Dashboard` menu, " +"select the :guilabel:`Launch Instance` button as shown in figure 2:" +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:55 +msgid "Figure 2: :guilabel:`EC2 Dashboard`" +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:57 +msgid "" +"This selection takes you to the :guilabel:`Step 1: Choose an Amazon " +"Machine Image (AMI)` menu." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:60 +msgid "" +"To find the :guilabel:`Clear Linux OS Basic` AMI in the :guilabel:`Step " +"1: Choose an Amazon Machine Image (AMI)` menu, do the following:" +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:64 +msgid "" +"In the lefthand navigation window, select the :guilabel:`AWS Marketplace`" +" menu item to bring up the search bar to :guilabel:`Search AWS " +"Marketplace Products`." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:68 +msgid "" +"In the search bar, type \"clear linux os\" and hit the :kbd:`Enter` key " +"to search for and locate the :guilabel:`Clear Linux OS Basic` AMI." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:71 +msgid "" +"Select the :guilabel:`Clear Linux OS Basic` AMI by clicking on the " +":guilabel:`Select` button as shown in figure 3:" +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:78 +msgid "Figure 3: :guilabel:`Step 1: Choose AMI`" +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:80 +msgid "" +"A pop-up dialog box appears showing you more information about the " +":guilabel:`Clear Linux OS Basic` AMI along with the pricing details for " +"running |CL| on different platform configurations as shown in figure 4. " +"Select the :guilabel:`Continue` button." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:89 +msgid "Figure 4: :guilabel:`Clear Linux OS Basic`" +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:91 +msgid "The :guilabel:`Choose Instance Type` menu appears as shown in figure 5." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:97 +msgid "Figure 5: :guilabel:`Choose an Instance Type`" +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:99 +msgid "" +"Select the :guilabel:`t2.micro` type by clicking the box on the left side" +" of the instance and then select the :guilabel:`Review and Launch` button" +" to move to the :guilabel:`Step 7: Review the Instance Launch` menu." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:105 +msgid "" +"You can configure the instance details, add additional storage, add tags," +" and configure the security group before selecting the :guilabel:`Review " +"and Launch` button if you want to further customize this |CL| instance." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:110 +msgid "" +"The :guilabel:`Step 7: Review the Instance Launch` menu, shown in figure " +"6, allows you to :guilabel:`Cancel` the process, return to the " +":guilabel:`Previous` screen to change the configuration or " +":guilabel:`Launch` the instance defined." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:119 +msgid "Figure 6: :guilabel:`Step 7: Review the Instance Launch`" +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:121 +msgid "" +"Select the :guilabel:`Launch` button. A dialog box appears, as shown in " +"figure 7, asking you to :guilabel:`Select an existing key pair or create " +"a new pair`." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:129 +msgid "Figure 7: :guilabel:`Select an existing key pair or create a new pair`" +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:131 +msgid "Select the :guilabel:`Create a new key pair` option." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:133 +msgid "For the :guilabel:`Key pair name` field, enter `AWSClearTestKey`." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:135 +msgid "" +"Select the :guilabel:`Download Key Pair` button to download the " +":file:`AWSClearTestKey.pem` to your browser's defined :file:`Downloads` " +"directory." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:139 +msgid "" +"When the file finishes downloading, select the :guilabel:`Launch " +"Instances` button to proceed to the :guilabel:`Launch Status` menu shown " +"in figure 8." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:147 +msgid "Figure 8: :guilabel:`Launch Status`" +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:149 +msgid "" +"Once the :guilabel:`Launch Status` page changes to what is shown in " +"figure 9, select the :guilabel:`View Instances` button to view your " +":guilabel:`Instances` dashboard." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:157 +msgid "Figure 9: :guilabel:`View Instance`" +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:160 +msgid "Connect to your Clear Linux OS Basic instance" +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:162 +msgid "" +"Your :guilabel:`Instances` Dashboard is shown in figure 10 with the new " +"|CL| OS basic instance already selected and in the running state. If " +"there are other instances available, they are also listed but not " +"selected." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:170 +msgid "Figure 10: :guilabel:`Instance Dashboard`" +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:172 +msgid "" +"To connect to your running instance, click the :guilabel:`Connect` button" +" located at the top of your dashboard. AWS brings up the pop-up dialog " +"box shown in figure 11 describing how to connect to your running " +"instance." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:182 +msgid "Figure 11: :guilabel:`Connect to Your Instance`" +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:184 +msgid "" +"Open a terminal on your system. You should be in your :file:`$HOME` " +"directory." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:187 +msgid "" +"Copy the previously downloaded keyfile from the :file:`Downloads` " +"directory to the current directory." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:194 +msgid "" +"Change the attributes of the :file:`AWSClearTestKey.pem` using the " +":command:`chmod` command as instructed in the dialog box shown in figure " +"11." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:202 +msgid "" +"Copy the text highlighted in the :guilabel:`Example:` section that is " +"shown in :ref:`figure 11`. Paste the copied text into " +"your terminal, change the text before the `@` sign to the username " +"`clear`, and press the :kbd:`Enter` key to execute the command." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:211 +msgid "" +"A message appears on the terminal stating the authenticity of the host " +"can't be established and prompts you with the message:" +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:220 +msgid "" +"Type `yes` and hit the :kbd:`Enter` key. Another warning is printed to " +"the terminal and you are now at the command prompt of your new |CL| " +"instance." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:229 +msgid "Update the |CL| instance" +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:231 +msgid "" +"Run the :command:`sudo swupd update` command to update the operating " +"system as shown in figure 12:" +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:238 +msgid "Figure 12: :guilabel:`sudo swupd update`" +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:240 +msgid "In this example we updated from version 18940 to 19100." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:243 +msgid "Stop the |CL| instance" +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:245 +msgid "" +"When you are finished using your AWS |CL| instance you need to stop it " +"using the :guilabel:`Instances` dashboard to stop accruing charges. " +"Complete the following steps from the :guilabel:`Instances` dashboard to " +"stop your AWS |CL| instance from running." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:250 +msgid "Select the :guilabel:`Actions` button to bring up a pull-down menu." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:252 +msgid "Select the :guilabel:`Instance State` menu item to expand the options." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:254 +msgid "Select :guilabel:`Stop` menu item to shut down the running instance." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:256 +msgid "Figure 13 illustrates these steps." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:262 +msgid "Figure 13: :guilabel:`Stop Instance`" +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:264 +msgid "" +"A pop-up dialog box appears warning you that any ephemeral storage of " +"your instance will be lost. Select the :guilabel:`Yes, Stop` button to " +"stop your |CL| instance." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:272 +msgid "Figure 14: :guilabel:`Stop Instances`" +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:274 +msgid "" +"Congratulations! You are up and running with |CL| on AWS. To see what you" +" can do with your |CL| instance, visit our :ref:`tutorials ` " +"section for examples on using your |CL| system." +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/azure.po b/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/azure.po new file mode 100644 index 00000000..d8f2eac5 --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/azure.po @@ -0,0 +1,445 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/tutorials/azure.rst:4 +msgid "Run |CL-ATTR| using Microsoft Azure CLI 2.0" +msgstr "" + +#: ../../../source/tutorials/azure.rst:6 +msgid "" +"|CL-ATTR| is available for you to use in the Microsoft* Azure* " +"marketplace and is offered with three different images, also known as a " +":abbr:`SKU (Stock Keeping Unit)`." +msgstr "" + +#: ../../../source/tutorials/azure.rst:10 +msgid "" +"|CL| Basic - This SKU consists of a bare-bones system which can be used " +"as a starting point for those wanting to explore and build out a system " +"with additional software bundles of their choosing." +msgstr "" + +#: ../../../source/tutorials/azure.rst:14 +msgid "" +"|CL| Containers - This SKU comes with the containers-basic software " +"bundle already installed." +msgstr "" + +#: ../../../source/tutorials/azure.rst:17 +msgid "" +"|CL| Machine-learning - This SKU comes pre-loaded with popular open " +"source tools for developing machine learning applications." +msgstr "" + +#: ../../../source/tutorials/azure.rst:20 +msgid "" +"You can access these images directly from your MS Azure dashboard through" +" the `Azure portal`_ or by using the MS Azure :abbr:`CLI (Command Line " +"Interface)` 2.0. If you do not already have an account set up with MS " +"Azure, you can sign up for a `MS Azure free account`_ to access the |CL| " +":abbr:`VM(Virtual Machine)` images." +msgstr "" + +#: ../../../source/tutorials/azure.rst:26 +msgid "" +"The Azure CLI offers the ability to create and manage resources in MS " +"Azure from the command line. In this tutorial you learn to:" +msgstr "" + +#: ../../../source/tutorials/azure.rst:29 +msgid "Install the latest MS Azure CLI on your |CL| machine." +msgstr "" + +#: ../../../source/tutorials/azure.rst:31 +msgid "Log into MS Azure using the CLI 2.0 interface." +msgstr "" + +#: ../../../source/tutorials/azure.rst:33 +msgid "Create a MS Azure resource group." +msgstr "" + +#: ../../../source/tutorials/azure.rst:35 +msgid "Locate the |CL| images." +msgstr "" + +#: ../../../source/tutorials/azure.rst:37 +msgid "Create and log into the |CL| virtual machine." +msgstr "" + +#: ../../../source/tutorials/azure.rst:39 +msgid "Stop and deallocate the |CL| VM and resources." +msgstr "" + +#: ../../../source/tutorials/azure.rst:41 +msgid "" +"To use the MS Azure CLI 2.0 on your |CL| system, your system must have " +"the following packages installed:" +msgstr "" + +#: ../../../source/tutorials/azure.rst:44 +msgid "Python 2.7 or later" +msgstr "" + +#: ../../../source/tutorials/azure.rst:46 +msgid "libffi" +msgstr "" + +#: ../../../source/tutorials/azure.rst:48 +msgid "OpenSSL 1.0.2" +msgstr "" + +#: ../../../source/tutorials/azure.rst:50 +msgid "" +"You can check to see what versions you have installed on your system by " +"running the individual commands as follows:" +msgstr "" + +#: ../../../source/tutorials/azure.rst:78 +msgid "" +"If you do not have these packages installed on your |CL| system, install " +"the sysadmin-basic software bundle using the :command:`swupd` command:" +msgstr "" + +#: ../../../source/tutorials/azure.rst:87 +msgid "" +"These instructions are for installing the MS Azure CLI 2.0 tools on a " +"|CL| system. If you are installing the CLI on another platform, follow " +"the instructions in the `MS Azure Install Azure CLI tutorial`_ for your " +"specific operating system." +msgstr "" + +#: ../../../source/tutorials/azure.rst:93 +msgid "Install MS Azure CLI 2.0 on |CL|" +msgstr "" + +#: ../../../source/tutorials/azure.rst:95 +msgid "" +"To install the MS Azure CLI 2.0 on |CL|, use the :command:`curl` command " +"as follows:" +msgstr "" + +#: ../../../source/tutorials/azure.rst:102 +msgid "" +"If you get an error message from :command:`curl` related to the -L " +"parameter or an error message is generated that includes the text " +"\"Object Moved\", use the full URL instead of the aka.ms redirect " +"address:" +msgstr "" + +#: ../../../source/tutorials/azure.rst:110 +msgid "" +"The installation script begins and prompts you several times during " +"execution for information." +msgstr "" + +#: ../../../source/tutorials/azure.rst:115 +msgid "" +"The console output from the script displays your username instead of the " +"**[user]** variable shown on this tutorial." +msgstr "" + +#: ../../../source/tutorials/azure.rst:122 +msgid "" +"Press the :kbd:`Enter` key to accept the default or you can chose another" +" directory to install the MS Azure CLI 2.0 tools into." +msgstr "" + +#: ../../../source/tutorials/azure.rst:129 +msgid "" +"Press the :kbd:`Enter` key to accept the default or you can chose another" +" directory to install the :command:`az` executable in." +msgstr "" + +#: ../../../source/tutorials/azure.rst:132 +msgid "" +"The installation downloads and builds all required tools and when " +"complete prompts you with:" +msgstr "" + +#: ../../../source/tutorials/azure.rst:139 +msgid "Type :kbd:`Y` and press the :kbd:`Enter` key to allow this modification." +msgstr "" + +#: ../../../source/tutorials/azure.rst:145 +msgid "" +"Press the :kbd:`Enter` key to accept the default or enter the pathname to" +" your :file:`.bashrc` file. The installation completes with the final " +"output shown below:" +msgstr "" + +#: ../../../source/tutorials/azure.rst:160 +msgid "" +"The installation program finishes and you must restart your shell for the" +" changes to take effect. When the installation is successful, run the " +"following command to restart your shell." +msgstr "" + +#: ../../../source/tutorials/azure.rst:168 +msgid "" +"With the MS Azure CLI 2.0 executable successfully built and installed, " +"run the :command:`az` command." +msgstr "" + +#: ../../../source/tutorials/azure.rst:175 +msgid "The output from the :command:`az` command is shown below:" +msgstr "" + +#: ../../../source/tutorials/azure.rst:254 +msgid "Log into your Microsoft Azure account" +msgstr "" + +#: ../../../source/tutorials/azure.rst:256 +msgid "" +"With the :command:`az` command properly installed and functional, login " +"to your MS Azure account using the :command:`az login` command shown " +"below:" +msgstr "" + +#: ../../../source/tutorials/azure.rst:263 +msgid "The output from this command is:" +msgstr "" + +#: ../../../source/tutorials/azure.rst:269 +msgid "" +"Open your browser and enter the page `https://aka.ms/devicelogin` as " +"shown in figure 1:" +msgstr "" + +#: ../../../source/tutorials/azure.rst:276 +msgid "Figure 1: :guilabel:`Microsoft Device Login`" +msgstr "" + +#: ../../../source/tutorials/azure.rst:278 +msgid "" +"Enter the code `BQ9MG442B` to authenticate your device as shown in figure" +" 2. The code `BQ9MG442B` is a random authentication code generated for " +"each session login and will be different each time you log into MS Azure " +"using the :command:`az login` command." +msgstr "" + +#: ../../../source/tutorials/azure.rst:287 +msgid "Figure 2: :guilabel:`Microsoft Device Login - Azure CLI`" +msgstr "" + +#: ../../../source/tutorials/azure.rst:289 +msgid "" +"Once you enter the authentication code, the website changes to a screen " +"to enter your existing Microsoft Azure credentials." +msgstr "" + +#: ../../../source/tutorials/azure.rst:292 +msgid "" +"Log in with your existing MS Azure account credentials. Once complete, " +"the browser screen changes again as shown in figure 3. The screen shows " +"you have signed into the Microsoft Cross-platform Command Line Interface " +"application on your device and you can close the window." +msgstr "" + +#: ../../../source/tutorials/azure.rst:301 +msgid "Figure 3: :guilabel:`Microsoft Azure Cross-platform CLI`" +msgstr "" + +#: ../../../source/tutorials/azure.rst:303 +msgid "" +"The MS Azure CLI 2.0 interface is now active using your existing MS Azure" +" account credentials." +msgstr "" + +#: ../../../source/tutorials/azure.rst:307 +msgid "Create a MS Azure resource group" +msgstr "" + +#: ../../../source/tutorials/azure.rst:309 +msgid "" +"To learn more about MS Azure resource groups, visit the `Azure Resource " +"Manager overview`_ for an overview and detailed description of resources " +"within MS Azure." +msgstr "" + +#: ../../../source/tutorials/azure.rst:313 +msgid "" +"To create our new resource group, run the :command:`az group create ...` " +"command shown below to create a resource group named `ClearResourceGroup`" +" using the `-n` parameter and locate it in the `westus` region using the " +"`-l` parameter." +msgstr "" + +#: ../../../source/tutorials/azure.rst:322 +msgid "" +"When the command has completed, the output from this command is similar " +"to the following:" +msgstr "" + +#: ../../../source/tutorials/azure.rst:339 +msgid "Create and log into the |CL| virtual machine" +msgstr "" + +#: ../../../source/tutorials/azure.rst:341 +msgid "For this tutorial, we are using the |CL| Basic SKU for our VM." +msgstr "" + +#: ../../../source/tutorials/azure.rst:343 +msgid "" +"To locate the available |CL| Basic VM SKU images in the MS Azure " +"marketplace, run the :command:`az vm image ...` command:" +msgstr "" + +#: ../../../source/tutorials/azure.rst:350 +msgid "" +"This command may take some time to finish. The output lists all available" +" |CL| Basic images available in the Microsoft Azure marketplace as shown " +"below:" +msgstr "" + +#: ../../../source/tutorials/azure.rst:370 +msgid "" +"The output list shows current offerings. New versions are added to the MS" +" Azure marketplace all the time. To reference the latest version of an " +"image, you can use the version label `latest` when specifying an image." +msgstr "" + +#: ../../../source/tutorials/azure.rst:374 +msgid "" +"The information shown in the `Urn` column lists the " +"`Publisher:Offer:Sku:Version` for each image available and this is the " +"information we want to create the |CL| Basic VM. Since we are creating a " +"|CL| Basic VM, highlight the `clear-linux-project:clear-linux-os:basic:` " +"string and copy it to your clipboard. Use the label `latest` instead of " +"referencing a specific version." +msgstr "" + +#: ../../../source/tutorials/azure.rst:381 +msgid "" +"Create the new |CL| Basic VM. Run the :command:`az vm create ...` command" +" using the URN `:clear-linux-project:clear-linux-os:basic:latest` that we" +" copied to the clipboard on the previous step." +msgstr "" + +#: ../../../source/tutorials/azure.rst:391 +msgid "" +"If you have already defined your public/private SSH key pair and they are" +" stored in your :file:`$HOME/.ssh` directory, you do not need to include " +"the *--generate-ssh-keys* option." +msgstr "" + +#: ../../../source/tutorials/azure.rst:395 +msgid "" +"Your output from this command will look similar to this output, where " +"[user] is your user name:" +msgstr "" + +#: ../../../source/tutorials/azure.rst:416 +msgid "Take note of the public IP address from the output." +msgstr "" + +#: ../../../source/tutorials/azure.rst:418 +msgid "" +"Login into the new |CL| Basic VM, run the :command:`ssh` command with the" +" public IP address obtained from the previous step as shown:" +msgstr "" + +#: ../../../source/tutorials/azure.rst:425 +msgid "" +"You may see the following message about the authenticity of the host. If " +"this appears, type `yes` to proceed connecting to your new |CL| VM." +msgstr "" + +#: ../../../source/tutorials/azure.rst:437 +msgid "" +"You are now logged into your new |CL| VM as [user], where [user] is your " +"user name. To check which software bundles are included with this VM " +"image, run the :command:`sudo swupd bundle-list` command inside the VM:" +msgstr "" + +#: ../../../source/tutorials/azure.rst:445 +msgid "The output shown should be similar to:" +msgstr "" + +#: ../../../source/tutorials/azure.rst:467 +msgid "" +"When you are finished using your new |CL| VM, type :command:`exit` to " +"close the :command:`SSH` terminal and logout." +msgstr "" + +#: ../../../source/tutorials/azure.rst:471 +msgid "Stop and deallocate the |CL| VM and resources" +msgstr "" + +#: ../../../source/tutorials/azure.rst:473 +msgid "" +"When you finish using your new |CL| instance, you must stop the VM and " +"deallocate the resources in your resource group. If you only stop a VM, " +"the OS image shuts down but the resources associated with it in your " +"resource group remain allocated and incurring charges. For instance, if " +"you stop and then later start the VM using the :command:`az vm start...` " +"without deallocating the resources, the IP address is retained and you " +"can access the VM using that same IP address. To release the resources " +"associated with the VM and stop incurring charges for them, you must " +"deallocate the resources as well." +msgstr "" + +#: ../../../source/tutorials/azure.rst:482 +msgid "" +"At the command prompt, enter the :command:`az vm stop...` command as " +"follows:" +msgstr "" + +#: ../../../source/tutorials/azure.rst:489 +msgid "This will stop the VM and then output text similar to:" +msgstr "" + +#: ../../../source/tutorials/azure.rst:501 +msgid "" +"Once the VM stops, deallocate the VM resources to stop incurring charges " +"for the |CL| instance. Enter the following command:" +msgstr "" + +#: ../../../source/tutorials/azure.rst:508 +msgid "**Congratulations!**" +msgstr "" + +#: ../../../source/tutorials/azure.rst:510 +msgid "" +"You are up and running with |CL| on MS Azure using the Azure CLI 2.0 " +"command line tools." +msgstr "" + +#: ../../../source/tutorials/azure.rst:514 +msgid "Next steps" +msgstr "" + +#: ../../../source/tutorials/azure.rst:516 +msgid "" +"To see use cases you can fulfill with your |CL| instance, visit our " +":ref:`tutorials ` section." +msgstr "" + +#: ../../../source/tutorials/azure.rst:519 +msgid "" +"For additional information visit the |CL| `Azure Partner Mini Case " +"Study`_ and the `Azure Partner Datasheet`_." +msgstr "" + +#: ../../../source/tutorials/azure.rst:522 +msgid "" +"To learn more about the MS Azure CLI 2.0 tool and options that are " +"available, visit the `MS Azure documentation and tutorials`_ website." +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/dars.po b/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/dars.po new file mode 100644 index 00000000..15be62ab --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/dars.po @@ -0,0 +1,128 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/tutorials/dars.rst:4 +msgid "Data Analytics Reference Stack" +msgstr "" + +#: ../../../source/tutorials/dars.rst:6 +msgid "" +"This tutorial shows you how to use the Data Analytics Reference Stack " +"(DARS), and to optionally build your own images with the baseline " +"Dockerfiles provided in the `DARS repository`_. Our assumption is that " +"|CL-ATTR| is the host. However, any system that supports Docker\\* " +"containers can be used to follow these steps." +msgstr "" + +#: ../../../source/tutorials/dars.rst:17 +msgid "The Data Analytics Reference Stack release" +msgstr "" + +#: ../../../source/tutorials/dars.rst:19 +msgid "" +"The Data Analytics Reference Stack (DARS) provides developers and " +"enterprises a straightforward, highly optimized software stack for " +"storing and processing large amounts of data. More detail is available " +"on the `DARS architecture and performance benchmarks`_." +msgstr "" + +#: ../../../source/tutorials/dars.rst:21 +msgid "" +"The Data Analytics Reference Stack provides two pre-built Docker images, " +"available on `Docker Hub`_:" +msgstr "" + +#: ../../../source/tutorials/dars.rst:23 +msgid "A |CL|-derived `DARS with OpenBlas`_ stack optimized for `OpenBLAS`_" +msgstr "" + +#: ../../../source/tutorials/dars.rst:24 +msgid "A |CL|-derived `DARS with MKL`_ stack optimized for `MKL`_" +msgstr "" + +#: ../../../source/tutorials/dars.rst:26 +msgid "" +"We recommend you view the latest component versions for each image in the" +" :file:`README` found in the `DARS repository`_. Because |CL| is a " +"rolling distribution, the package version numbers in the |CL|-based " +"containers may not be the latest released by |CL|." +msgstr "" + +#: ../../../source/tutorials/dars.rst:34 +msgid "Using the Docker Images" +msgstr "" + +#: ../../../source/tutorials/dars.rst:36 +msgid "" +"To immediately start using the latest stable DARS images, pull directly " +"from `Docker Hub`_. For this tutorial we'll use the `Dars with MKL`_ " +"version of the stack." +msgstr "" + +#: ../../../source/tutorials/dars.rst:39 +msgid "Once you have downloaded the image, you can run it with" +msgstr "" + +#: ../../../source/tutorials/dars.rst:45 +msgid "" +"This will launch the image and drop you into a bash shell inside the " +"container. You will see output similar to the following:" +msgstr "" + +#: ../../../source/tutorials/dars.rst:66 +msgid "" +"The :command:`--ulimit nofile` parameter is currently required in order " +"to increase the number of open files opened at certain point by the spark" +" engine." +msgstr "" + +#: ../../../source/tutorials/dars.rst:71 +msgid "Building DARS Images" +msgstr "" + +#: ../../../source/tutorials/dars.rst:73 +msgid "" +"If you choose to build your own DARS container images, you can customize " +"them as needed. Use the provided Dockerfile as a baseline. To construct " +"images with |CL|, start with a |CL| development platform that has the " +":command:`containers-basic-dev` bundle installed. Learn more about " +"bundles and installing them by using :ref:`swupd-guide`." +msgstr "" + +#: ../../../source/tutorials/dars.rst:79 +msgid "First, clone the `DARS repository`_ from GitHub." +msgstr "" + +#: ../../../source/tutorials/dars.rst:85 +msgid "" +"Then, inside the DARS directory, run :command:`make` to build OpenBLAS " +"and MKL images, and run :command:`make baseline` to build the baseline " +"CentOS image. Depending on the system, it may take a while to finish " +"building. Once completed, check the resulting images with " +":command:`Docker`" +msgstr "" + +#: ../../../source/tutorials/dars.rst:94 +msgid "" +"You can use any of the resulting images to launch fully functional " +"containers. If you need to customize the containers, you can edit the " +"provided :file:`Dockerfile`." +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/dlrs/dlrs.po b/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/dlrs/dlrs.po new file mode 100644 index 00000000..58cf6b8e --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/dlrs/dlrs.po @@ -0,0 +1,618 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/tutorials/dlrs/dlrs.rst:4 +msgid "Deep Learning Reference Stack" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:6 +msgid "" +"This tutorial describes how to run benchmarking workloads for " +"TensorFlow\\*, PyTorch\\*, and Kubeflow in |CL-ATTR| using the Deep " +"Learning Reference Stack." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:14 +msgid "Overview" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:16 +msgid "" +"We created the Deep Learning Reference Stack to help AI developers " +"deliver the best experience on Intel® Architecture. This stack reduces " +"complexity common with deep learning software components, provides " +"flexibility for customized solutions, and enables you to quickly " +"prototype and deploy Deep Learning workloads. Use this tutorial to run " +"benchmarking workloads on your solution." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:22 +msgid "The Deep Learning Reference Stack is available in the following versions:" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:24 +msgid "" +"`Intel MKL-DNN-VNNI`_, which is optimized using Intel® Math Kernel " +"Library for Deep Neural Networks (Intel® MKL-DNN) primitives and " +"introduces support for Intel® AVX-512 Vector Neural Network Instructions " +"(VNNI)." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:27 +msgid "" +"`Intel MKL-DNN`_, which includes the TensorFlow framework optimized using" +" Intel® Math Kernel Library for Deep Neural Networks (Intel® MKL-DNN) " +"primitives." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:30 +msgid "`Eigen`_, which includes `TensorFlow`_ optimized for Intel® architecture." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:31 +msgid "`PyTorch with OpenBLAS`_, which includes PyTorch with OpenBlas." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:32 +msgid "" +"`PyTorch with Intel MKL-DNN`_, which includes PyTorch optimized using " +"Intel® Math Kernel Library (Intel® MKL) and Intel MKL-DNN." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:37 +msgid "" +"To take advantage of the Intel® AVX-512 and VNNI functionality with the " +"Deep Learning Reference Stack, you must use the following hardware:" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:40 +msgid "Intel® AVX-512 images require an Intel® Xeon® Scalable Platform" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:41 +msgid "VNNI requires a 2nd generation Intel® Xeon® Scalable Platform" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:44 +msgid "Stack features" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:46 +msgid "Deep Learning Reference Stack `V3.0 release announcement`_." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:47 +msgid "" +"Deep Learning Reference Stack v2.0 including current `PyTorch benchmark " +"results`_." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:49 +msgid "" +"Deep Learning Reference Stack v1.0 including current `TensorFlow " +"benchmark results`_." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:51 +msgid "" +"`Release notes on Github\\*`_ for the latest release of Deep Learning " +"Reference Stack." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:56 +msgid "" +"The Deep Learning Reference Stack is a collective work, and each piece of" +" software within the work has its own license. Please see the `terms of " +"use`_ for more details about licensing and usage of the Deep Learning " +"Reference Stack." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:61 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:63 +msgid ":ref:`Install ` |CL| on your host system" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:64 +msgid ":command:`containers-basic` bundle" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:65 +msgid ":command:`cloud-native-basic` bundle" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:67 +msgid "" +"In |CL|, :command:`containers-basic` includes Docker\\*, which is " +"required for TensorFlow and PyTorch benchmarking. Use the " +":command:`swupd` utility to check if :command:`containers-basic` and " +":command:`cloud-native-basic` are present:" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:76 +msgid "" +"To install the :command:`containers-basic` or :command:`cloud-native-" +"basic` bundles, enter:" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:83 +msgid "" +"Docker is not started upon installation of the :command:`containers-" +"basic` bundle. To start Docker, enter:" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:90 +msgid "" +"To ensure that Kubernetes is correctly installed and configured, follow " +"the instructions in :ref:`kubernetes`." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:94 +msgid "Version compatibility" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:96 +msgid "We validated these steps against the following software package versions:" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:98 +msgid "|CL| 26240 (Minimum supported version)" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:99 +msgid "Docker 18.06.1" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:100 +msgid "Kubernetes 1.11.3" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:101 +msgid "Go 1.11.12" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:106 +msgid "" +"The Deep Learning Reference Stack was developed to provide the best user " +"experience when executed on a |CL| host. However, as the stack runs in a" +" container environment, you should be able to complete the following " +"sections of this tutorial on other Linux* distributions, provided they " +"comply with the Docker*, Kubernetes* and Go* package versions listed " +"above. Look for your distribution documentation on how to update packages" +" and manage Docker services." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:109 +msgid "TensorFlow single and multi-node benchmarks" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:111 +msgid "" +"This section describes running the `TensorFlow benchmarks`_ in single " +"node. For multi-node testing, replicate these steps for each node. These " +"steps provide a template to run other benchmarks, provided that they can " +"invoke TensorFlow." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:118 +msgid "" +"Performance test results for the Deep Learning Reference Stack and for " +"this tutorial were obtained using `runc` as the runtime." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:122 +msgid "" +"Download either the `Eigen`_ or the `Intel MKL-DNN`_ Docker image from " +"`Docker Hub`_." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:125 +#: ../../../source/tutorials/dlrs/dlrs.rst:167 +msgid "Run the image with Docker:" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:134 +#: ../../../source/tutorials/dlrs/dlrs.rst:175 +msgid "" +"Launching the Docker image with the :command:`-i` argument starts " +"interactive mode within the container. Enter the following commands in " +"the running container." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:138 +msgid "Clone the benchmark repository in the container:" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:144 +#: ../../../source/tutorials/dlrs/dlrs.rst:185 +msgid "Execute the benchmark script:" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:152 +msgid "" +"You can replace the model with one of your choice supported by the " +"TensorFlow benchmarks." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:155 +msgid "" +"If you are using an FP32 based model, it can be converted to an int8 " +"model using `Intel® quantization tools`_." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:159 +msgid "PyTorch single and multi-node benchmarks" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:161 +msgid "" +"This section describes running the `PyTorch benchmarks`_ for Caffe2 in " +"single node." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:164 +msgid "" +"Download either the `PyTorch with OpenBLAS`_ or the `PyTorch with Intel " +"MKL-DNN`_ Docker image from `Docker Hub`_." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:179 +msgid "Clone the benchmark repository:" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:195 +msgid "Kubeflow multi-node benchmarks" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:197 +msgid "" +"The benchmark workload runs in a Kubernetes cluster. The tutorial uses " +"`Kubeflow`_ for the Machine Learning workload deployment on three nodes." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:202 +msgid "" +"If you choose the Intel® MKL-DNN or Intel® MKL-DNN-VNNI image, your " +"platform must support the Intel® AVX-512 instruction set. Otherwise, an " +"*illegal instruction* error may appear, and you won’t be able to complete" +" this tutorial." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:206 +msgid "Kubernetes setup" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:208 +msgid "" +"Follow the instructions in the :ref:`kubernetes` tutorial to get set up " +"on |CL|. The Kubernetes community also has `instructions for creating a " +"cluster`_." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:213 +msgid "Kubernetes networking" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:215 +msgid "" +"We used `flannel`_ as the network provider for these tests. If you prefer" +" a different network layer, refer to the Kubernetes `networking " +"documentation`_ for setup." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:220 +msgid "Kubectl" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:222 +msgid "" +"You can use kubectl to run commands against your Kubernetes cluster. " +"Refer to the `kubectl overview`_ for details on syntax and operations. " +"Once you have a working cluster on Kubernetes, use the following YAML " +"script to start a pod with a simple shell script, and keep the pod open." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:227 +msgid "Copy this example.yaml script to your system:" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:244 +msgid "Execute the script with kubectl:" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:250 +msgid "" +"This script opens a single pod. More robust solutions would create a " +"deployment or inject a python script or larger shell script into the " +"container." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:254 +msgid "Images" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:256 +msgid "" +"You must add `launcher.py`_ to the Docker image to include the Deep " +"Learning Reference Stack and put the benchmarks repo in the correct " +"location. Note that this tutorial uses Kubeflow v0.4.0, and cannot " +"guarantee results if you use a different version." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:260 +msgid "From the Docker image, run the following:" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:269 +msgid "Your entry point becomes: :file:`/opt/launcher.py`." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:271 +msgid "This builds an image that can be consumed directly by TFJob from Kubeflow." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:274 +msgid "ksonnet\\*" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:276 +msgid "" +"Kubeflow uses ksonnet\\* to manage deployments, so you must install it " +"before setting up Kubeflow." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:279 +msgid "" +"ksonnet was added to the :command:`cloud-native-basic` bundle in |CL| " +"version 27550. If you are using an older |CL| version (not recommended), " +"you must manually install ksonnet as described below." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:283 +msgid "On |CL|, follow these steps:" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:294 +msgid "" +"After the ksonnet installation is complete, ensure that binary `ks` is " +"accessible across the environment." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:298 +msgid "Kubeflow" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:300 +msgid "" +"Once you have Kubernetes running on your nodes, set up `Kubeflow`_ by " +"following these instructions from the `quick start guide`_." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:318 +msgid "Next, deploy the primary package for our purposes: tf-job-operator." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:328 +msgid "" +"This creates the CustomResourceDefinition (CRD) endpoint to launch a " +"TFJob." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:331 +msgid "Run a TFJob" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:333 +msgid "Select this link for the `ksonnet registries for deploying TFJobs`_." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:335 +msgid "Install the TFJob components as follows:" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:343 +msgid "Export the image name to use for the deployment:" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:351 +msgid "Replace with the image name you specified in previous steps." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:353 +msgid "" +"Generate Kubernetes manifests for the workloads and apply them using " +"these commands:" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:363 +msgid "This replicates and deploys three test setups in your Kubernetes cluster." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:366 +msgid "Results of running this tutorial" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:368 +msgid "" +"You must parse the logs of the Kubernetes pod to retrieve performance " +"data. The pods will still exist post-completion and will be in " +"‘Completed’ state. You can get the logs from any of the pods to inspect " +"the benchmark results. More information about `Kubernetes logging`_ is " +"available from the Kubernetes community." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:375 +msgid "Use Jupyter Notebook" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:377 +msgid "" +"This example uses the `PyTorch with OpenBLAS`_ container image. After it " +"is downloaded, run the Docker image with :command:`-p` to specify the " +"shared port between the container and the host. This example uses port " +"8888." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:385 +msgid "" +"After you start the container, launch the Jupyter Notebook. This command " +"is executed inside the container image." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:392 +msgid "" +"After the notebook has loaded, you will see output similar to the " +"following:" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:400 +msgid "" +"From your host system, or any system that can access the host's IP " +"address, start a web browser with the following. If you are not running " +"the browser on the host system, replace :command:`127.0.0.1` with the IP " +"address of the host." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:408 +msgid "Your browser displays the following:" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:414 +msgid "Figure 1: :guilabel:`Jupyter Notebook`" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:417 +msgid "" +"To create a new notebook, click :guilabel:`New` and select " +":guilabel:`Python 3`." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:423 +msgid "Figure 2: Create a new notebook" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:425 +msgid "A new, blank notebook is displayed, with a cell ready for input." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:432 +msgid "" +"To verify that PyTorch is working, copy the following snippet into the " +"blank cell, and run the cell." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:446 +msgid "When you run the cell, your output will look something like this:" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:452 +msgid "" +"You can continue working in this notebook, or you can download existing " +"notebooks to take advantage of the Deep Learning Reference Stack's " +"optimized deep learning frameworks. Refer to `Jupyter Notebook`_ for " +"details." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:457 +msgid "Uninstallation" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:459 +msgid "" +"To uninstall the Deep Learning Reference Stack, you can choose to stop " +"the container so that it is not using system resources, or you can stop " +"the container and delete it to free storage space." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:461 +msgid "To stop the container, execute the following from your host system:" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:463 +msgid "Find the container's ID" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:469 +msgid "This will result in output similar to the following:" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:476 +msgid "" +"You can then use the ID or container name to stop the container. This " +"example uses the name \"oss\":" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:483 +msgid "Verify that the container is not running" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:490 +msgid "To delete the container from your system you need to know the Image ID:" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:496 +msgid "This command results in output similar to the following:" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:504 +msgid "To remove an image use the image ID:" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:520 +msgid "" +"Note that you can execute the :command:`docker rmi` command using only " +"the first few characters of the image ID, provided they are unique on the" +" system." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:522 +msgid "Once you have removed the image, you can verify it has been deleted with:" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:530 +msgid "Related topics" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:532 +msgid "Deep Learning Reference Stack `V3.0 release announcement`_" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:533 +msgid "`TensorFlow benchmarks`_" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:534 +msgid "`PyTorch benchmarks`_" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:535 +msgid "`Kubeflow`_" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:536 +msgid ":ref:`kubernetes` tutorial" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:537 +msgid "`Jupyter Notebook`_" +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/docker/docker.po b/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/docker/docker.po new file mode 100644 index 00000000..a012a118 --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/docker/docker.po @@ -0,0 +1,297 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/tutorials/docker/docker.rst:4 +msgid "Run Docker\\* on |CL-ATTR|" +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:6 +msgid "" +"|CL-ATTR| supports multiple containerization platforms, including a " +"Docker\\* solution. |CL| has many `unique features`_ including a minimal " +"default installation, which makes it compelling to use as a host for " +"container workloads, management, and orchestration." +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:11 +msgid "This tutorial covers:" +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:18 +msgid "" +"This tutorial focuses on the installaton of the Docker ecosystem. If you " +"want to use |CL| as a Docker container image, refer to the official |CL| " +"container image `published on Docker* Hub " +"`_ and our guide to :ref:`custom-" +"clear-container`." +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:25 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:27 +msgid "" +"This tutorial assumes you have installed |CL| on your host system. For " +"detailed instructions on installing |CL| on a bare metal system, follow " +"the :ref:`bare metal installation instructions`." +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:31 +msgid "" +"Before you install any new packages, update |CL| with the following " +"command:" +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:37 +msgid "Additionally, you should have:" +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:39 +msgid "A basic understanding of Linux and Docker." +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:41 +msgid "" +"|CL| environment that has transparent network access to the Internet. If " +"you are behind a HTTP proxy server, in a corporate setting for example, " +"please refer to the `Docker proxy instructions`_ ." +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:46 +msgid "Install the containers-basic bundle" +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:48 +msgid "" +"Software in |CL| is offered in the form of `bundles`_ to provide a " +"complete function. The *containers-basic* provides all the required " +"software packages to run Docker images as containers." +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:52 +msgid "" +"First, install the *containers-basic* bundle by running this " +":command:`swupd` command:" +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:59 +msgid "Start the Docker daemon through systemd manager by running this command:" +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:65 +msgid "" +"If you want Docker to start automatically on boot, enable the systemd " +"service by running this command:" +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:72 +msgid "" +"Finally, verify :command:`docker` has been installed by running this " +"command and checking the version output for both *client* and *server*:" +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:79 +msgid "" +"Congratulations! At this point, you have a working installation of Docker" +" on |CL|. You are ready to start using container images on your system." +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:83 +msgid "Integration with Kata Containers (optional)" +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:85 +msgid "" +"`Kata Containers`_, is an open source project aiming to increase security" +" of containers by using a hardware-backed virtual machine container " +"runtime rather than software namespace containers that are provided by " +"the standard Docker *runc* runtime." +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:90 +msgid "" +"|CL| provides easy integration of the *kata-runtime* with Docker. More " +"information on installing and using the *kata-runtime* may be found at " +":ref:`kata`." +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:96 +msgid "" +"The proceeding sections of this tutorial are standard to Docker setup and" +" configuration. If you are familiar with Docker basics, you do not need " +"to continue reading. The following sections are provided here for sake of" +" completeness." +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:104 +msgid "Additional Docker configuration" +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:106 +msgid "" +"Perform additional Docker daemon configuration via a configuration file " +"typically located at :file:`/etc/docker/daemon.json`. |CL| features a " +"`stateless system`_ so the configuration file :file:`daemon.json` does " +"*NOT* exist by default." +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:111 +msgid "Create the :file:`daemon.json` by running this command:" +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:119 +msgid "" +"Refer to the `Docker documentation on daemon configuration`_ for the full" +" list of available configuration options and examples." +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:122 +msgid "" +"For production systems, we follow Docker's recommendation to use the " +"`OverlayFS storage driver`_ `overlay2`, shown below:" +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:133 +msgid "" +"A testing version is found in `Docker Device Mapper storage driver`_. If " +"using this storage driver, a warning message may appear: \"usage of " +"loopback devices is strongly discouraged for production use\"." +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:137 +msgid "Save and close :file:`daemon.json`." +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:139 +msgid "" +"Once you've made any required changes, be sure to restart the Docker " +"daemon through systemd manager by running this command:" +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:147 +msgid "Pulling and running an image from Docker Hub" +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:149 +msgid "" +"`Docker Hub`_ is a publically available container image repository which " +"comes preconfigured with Docker. In the example below we will pull and " +"run an the official Docker image for nginx, an open source reverse proxy " +"server." +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:153 +msgid "" +"First, pull a container image from Docker Hub using the :command:`docker " +"pull` command. Download the latest nginx Docker container image by " +"running this command:" +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:161 +msgid "" +"Create and launch a new container using the :command:`docker run` " +"command. Launch a nginx container by running this command:" +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:170 +msgid "" +"Below is an explanation of switches used in the command above. For " +"detailed :command:`docker run` switches and syntax, refer to the `Docker " +"Documentation`_ ." +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:174 +msgid "" +"The *--name* switch lets you provide a friendly name to target the " +"container for future operations" +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:177 +msgid "The *-d* switch launches the container in the background" +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:179 +msgid "" +"The *-p* switch allows the container's HTTP port (80) to be accessible " +"from the |CL| host on port 8080" +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:182 +msgid "" +"You can access the Welcome to Nginx! splash page running in the container" +" by browsing to \\http://127.0.0.1:8080 or by running this " +":command:`curl` command from your |CL| machine:" +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:190 +msgid "" +"Finally, stop and delete the nginx container by running the " +":command:`docker stop` and :command:`docker rm` commands." +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:198 +msgid "" +"Congratulations! At this point, you have successfully pulled a nginx " +"container image from `Docker Hub`_ and have run an example container." +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:202 +msgid "Creating a Docker swarm cluster" +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:204 +msgid "Clusters of Docker hosts are referred to as *swarms*." +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:206 +msgid "" +"The process in this tutorial can be repeated to install Docker on " +"multiple |CL| hosts with the intent to form a Docker swarm cluster." +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:209 +msgid "" +"The `Docker documentation on swarm key concepts`_ and `Docker " +"documentation on creating a swarm`_ can be referenced for further " +"instructions on setting up a swarm." +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:214 +msgid "Related topics" +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:216 +msgid "`Docker Home`_" +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:217 +msgid "`Docker Documentation`_" +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:218 +msgid "`Docker Hub`_" +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:219 +msgid "`Kata Containers`_" +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/flatpak/flatpak.po b/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/flatpak/flatpak.po new file mode 100644 index 00000000..34486b40 --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/flatpak/flatpak.po @@ -0,0 +1,117 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/tutorials/flatpak/flatpak.rst:4 +msgid "Use Flatpak\\* to install applications on |CL-ATTR|" +msgstr "" + +#: ../../../source/tutorials/flatpak/flatpak.rst:6 +msgid "" +"This tutorial provides all the required steps to install Flatpak as well " +"as downloading, installing, and running LibreOffice\\* on |CL-ATTR|." +msgstr "" + +#: ../../../source/tutorials/flatpak/flatpak.rst:9 +msgid "" +"Please visit the `Flatpak website`_ for more information about Flatpak " +"and how to use it. You can also `download it here`_." +msgstr "" + +#: ../../../source/tutorials/flatpak/flatpak.rst:13 +msgid "Before you begin" +msgstr "" + +#: ../../../source/tutorials/flatpak/flatpak.rst:15 +msgid "" +"This tutorial assumes you have installed |CL| on your host system. For " +"detailed instructions on installing |CL| on a bare metal system, visit " +"our :ref:`bare metal installation guide `." +msgstr "" + +#: ../../../source/tutorials/flatpak/flatpak.rst:20 +msgid "Install Flatpak on your host system" +msgstr "" + +#: ../../../source/tutorials/flatpak/flatpak.rst:22 +msgid "" +"Flatpak is included as part of the bundle `desktop`. To install the " +"application, log in to your user account and enter the following command:" +msgstr "" + +#: ../../../source/tutorials/flatpak/flatpak.rst:30 +msgid "Install and run the LibreOffice Flatpak image" +msgstr "" + +#: ../../../source/tutorials/flatpak/flatpak.rst:32 +msgid "" +"Application developers have the option to bundle their applications using" +" Flatpak to allow the installation of a single distribution of their " +"application on different distributions of Linux, including |CL|. Flatpak " +"provides a `list of applications`_ available through Flathub." +msgstr "" + +#: ../../../source/tutorials/flatpak/flatpak.rst:37 +msgid "|CL| enables the Flathub repository by default." +msgstr "" + +#: ../../../source/tutorials/flatpak/flatpak.rst:41 +msgid "Installing using gnome software" +msgstr "" + +#: ../../../source/tutorials/flatpak/flatpak.rst:43 +msgid "" +"All you need to do is to launch `gnome software`, search for the " +"LibreOffice app, and click the install button." +msgstr "" + +#: ../../../source/tutorials/flatpak/flatpak.rst:49 +msgid "Figure 1: Installing LibreOffice using gnome-software" +msgstr "" + +#: ../../../source/tutorials/flatpak/flatpak.rst:54 +msgid "Installing using the command line" +msgstr "" + +#: ../../../source/tutorials/flatpak/flatpak.rst:56 +msgid "" +"Open the `gnome-terminal` and type the following command to install the " +"LibreOffice app." +msgstr "" + +#: ../../../source/tutorials/flatpak/flatpak.rst:79 +msgid "Launch LibreOffice" +msgstr "" + +#: ../../../source/tutorials/flatpak/flatpak.rst:80 +msgid "" +"A new set of icons will appear in your Gnome applications list titled " +":guilabel:`LibreOffice.` To execute the application, highlight the " +"application and click on the :guilabel:`LibreOffice` icon. LibreOffice " +"will start normally." +msgstr "" + +#: ../../../source/tutorials/flatpak/flatpak.rst:87 +msgid "Figure 2: Select :guilabel:`LibreOffice` app" +msgstr "" + +#: ../../../source/tutorials/flatpak/flatpak.rst:90 +msgid "Using the command line" +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/fmv.po b/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/fmv.po new file mode 100644 index 00000000..c5c27d25 --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/fmv.po @@ -0,0 +1,180 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/tutorials/fmv.rst:4 +msgid "Use the function multi-version patch generator" +msgstr "" + +#: ../../../source/tutorials/fmv.rst:6 +msgid "" +"CPU architectures often gain interesting new instructions as they evolve " +"but application developers find it difficult to take advantage of those " +"instructions. The reluctance to lose backward-compatibility is one of the" +" main roadblocks slowing developers from using advancements in newer " +"computing architectures. :abbr:`FMV (Function Multi-Versioning)`, which " +"first appeared in `GCC`_ 4.8, is a way to have multiple implementations " +"of a function, each using a different architecture specialized " +"instruction-set extensions. GCC 6 introduces changes to FMV to make it " +"even easier to bring architecture- based optimizations to the application" +" code." +msgstr "" + +#: ../../../source/tutorials/fmv.rst:16 +msgid "" +"In this tutorial we will use FMV on general code and on :abbr:`FFT (Fast " +"Fourier Transform)` library code. Upon completing the tutorial, you will " +"be able to use this technology on your code and use the libraries to " +"deploy architecture-based optimizations to your application code." +msgstr "" + +#: ../../../source/tutorials/fmv.rst:22 +msgid "Install and configure a |CL| host on bare metal" +msgstr "" + +#: ../../../source/tutorials/fmv.rst:23 +msgid "" +"First, follow our guide to :ref:`bare-metal-install-desktop`. Once the " +"bare metal installation and initial configuration are complete, add the " +"`desktop-dev` bundle to the system. `desktop-dev`: contains the necessary" +" development tools like GCC and Perl\\*." +msgstr "" + +#: ../../../source/tutorials/fmv.rst:28 +msgid "" +"To install the bundles, run the following command in the :file:`$HOME` " +"directory:" +msgstr "" + +#: ../../../source/tutorials/fmv.rst:36 +msgid "Detect loop vectorization candidates" +msgstr "" + +#: ../../../source/tutorials/fmv.rst:38 +msgid "" +"Now, we need to detect the loop vectorization candidates to be cloned for" +" multiple platforms with FMV. As an example, we will use the following " +"simple C code:" +msgstr "" + +#: ../../../source/tutorials/fmv.rst:67 +msgid "" +"Save the example code as :file:`example.c` in the current directory and " +"build with the following flags:" +msgstr "" + +#: ../../../source/tutorials/fmv.rst:74 +msgid "The build generates the following output:" +msgstr "" + +#: ../../../source/tutorials/fmv.rst:81 +msgid "The output shows that line 11 is a good candidate for vectorization:" +msgstr "" + +#: ../../../source/tutorials/fmv.rst:89 +msgid "Generate the FMV patch" +msgstr "" + +#: ../../../source/tutorials/fmv.rst:91 +msgid "" +"To generate the FMV patch with the `make-fmv-patch`_ project, we must " +"clone the project and generate a log file with the loop vectorized " +"information:" +msgstr "" + +#: ../../../source/tutorials/fmv.rst:100 +msgid "To generate the patch files, execute:" +msgstr "" + +#: ../../../source/tutorials/fmv.rst:106 +msgid "" +"The :file:`make-fmv-patch.pl` script takes two arguments: `` " +"and ``. Replace `` and `` with the " +"proper values and execute:" +msgstr "" + +#: ../../../source/tutorials/fmv.rst:114 +msgid "The command generates the following :file:`example.c.patch` patch:" +msgstr "" + +#: ../../../source/tutorials/fmv.rst:129 +msgid "" +"We recommend you use the :file:`make-fmv-patch` script to add the " +"attribute generating the target clones on the function `foo`. Thus, we " +"can have the following code:" +msgstr "" + +#: ../../../source/tutorials/fmv.rst:158 +msgid "" +"Changing the value of the `$avx2` variable, we can change the target " +"clones when adding the patches or in the :file:`make-fmv-patch.pl` " +"script:" +msgstr "" + +#: ../../../source/tutorials/fmv.rst:165 +msgid "" +"Compile the code again with FMV and add the option to analyze the " +"`objdump` log:" +msgstr "" + +#: ../../../source/tutorials/fmv.rst:173 +msgid "You can see the multiple clones of the `foo` function:" +msgstr "" + +#: ../../../source/tutorials/fmv.rst:181 +msgid "" +"The cloned functions use AVX2 registers and vectorized instructions. To " +"verify, enter the following commands:" +msgstr "" + +#: ../../../source/tutorials/fmv.rst:190 +msgid "FTT project example" +msgstr "" + +#: ../../../source/tutorials/fmv.rst:192 +msgid "" +"To follow the same approach with a package like FFT, we must use the " +"`-fopt-info-vec` flag to get a build log file similar to:" +msgstr "" + +#: ../../../source/tutorials/fmv.rst:210 +msgid "" +"For example, the :file:`fftw-3.3.6-pl2/tools/fftw-wisdom.c.patch` file " +"generates the following patches:" +msgstr "" + +#: ../../../source/tutorials/fmv.rst:262 +msgid "" +"With these patches, we can select where to apply the FMV technology " +"making bringing architecture-based optimizations to application code even" +" easier." +msgstr "" + +#: ../../../source/tutorials/fmv.rst:265 +msgid "**Congratulations!**" +msgstr "" + +#: ../../../source/tutorials/fmv.rst:267 +msgid "" +"You have successfully installed an FMV development environment on |CL|. " +"Furthermore, you used cutting edge compiler technology to improve the " +"performance of your application based on Intel Architecture technology " +"and profiling of the specific execution of your application." +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/greengrass.po b/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/greengrass.po new file mode 100644 index 00000000..7e14b891 --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/greengrass.po @@ -0,0 +1,660 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/tutorials/greengrass.rst:4 +msgid "Enable AWS Greengrass\\* and OpenVINO™ toolkit" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:6 +msgid "" +"Hardware accelerated Function-as-a-Service (FaaS) enables cloud " +"developers to deploy inference functionalities [1] on Intel® IoT edge " +"devices with accelerators (CPU, Integrated GPU, Intel® FPGA, and Intel® " +"Movidius™ technology). These functions provide a great developer " +"experience and seamless migration of visual analytics from cloud to edge " +"in a secure manner using a containerized environment. Hardware-" +"accelerated FaaS provides the best-in-class performance by accessing " +"optimized deep learning libraries on Intel® IoT edge devices with " +"accelerators." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:15 +msgid "This tutorial demonstrates how to:" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:17 +msgid "Set up the Intel® edge device with |CL-ATTR|" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:18 +msgid "" +"Install the OpenVINO™ toolkit and Amazon Web Services\\* (AWS\\*) " +"Greengrass\\* software stacks" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:20 +msgid "" +"Use AWS Greengrass\\* and AWS Lambda\\* to deploy the FaaS samples from " +"the cloud" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:22 +msgid "Refer to the following topics:" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:29 +msgid "Supported platforms" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:31 +msgid "Operating System: |CL| latest release" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:32 +msgid "" +"Hardware: Intel® core platforms (This tutorial supports inference " +"on CPU only.)" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:35 +msgid "Sample description" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:37 +msgid "" +"The AWS Greengrass samples are located at `Edge-Analytics-FaaS`_. This " +"tutorial uses the 1.0 version of the source code." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:40 +msgid "|CL| provides the following AWS Greengrass samples:" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:42 +msgid "`greengrass_classification_sample.py`_" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:44 +msgid "" +"This AWS Greengrass sample classifies a video stream using classification" +" networks such as AlexNet and GoogLeNet and publishes top-10 results on " +"AWS\\* IoT Cloud every second." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:48 +msgid "`greengrass_object_detection_sample_ssd.py`_" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:50 +msgid "" +"This AWS Greengrass sample detects objects in a video stream and " +"classifies them using single-shot multi-box detection (SSD) networks such" +" as SSD Squeezenet, SSD Mobilenet, and SSD300. This sample publishes " +"detection outputs such as class label, class confidence, and bounding box" +" coordinates on AWS IoT Cloud every second." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:58 +msgid "Install the OS on the edge device" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:60 +msgid "" +"Start with a clean installation of |CL| on a new system, using the :ref" +":`bare-metal-install-desktop`, found in :ref:`get-started`." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:64 +msgid "Create user accounts" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:66 +msgid "" +"After |CL| is installed, create two user accounts. Create an " +"administrative user in |CL| and create a user account for the Greengrass " +"services to use ( see Greengrass user below)." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:70 +msgid "" +"Create a new user and set a password for that user. Enter the following " +"commands as ``root``:" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:78 +msgid "" +"Next, enable the :command:`sudo` command for your new ````. Add " +"```` to the *wheel* group:" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:85 +msgid "Create a :file:`/etc/fstab` file." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:93 +msgid "" +"By default, |CL| does not create an :file:`/etc/fstab` file. You must " +"create this file before the Greengrass service runs." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:97 +msgid "Add required bundles" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:99 +msgid "" +"Use the :command:`swupd` software updater utility to add the prerequisite" +" bundles for the OpenVINO software stack:" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:108 +msgid "Learn more about how to :ref:`swupd-guide`." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:110 +msgid "" +"The :command:`computer-vision-basic` bundle installs the OpenVINO™ " +"toolkit, and the sample models optimized for Intel® edge platforms." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:114 +msgid "Convert deep learning models" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:117 +msgid "Locate sample models" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:119 +msgid "" +"There are two types of provided models that can be used in conjunction " +"with AWS Greengrass for this tutorial: classification or object " +"detection." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:122 +msgid "" +"To complete this tutorial using an image classification model, download " +"the BVLC AlexNet model files `bvlc_alexnet.caffemodel`_ and " +"`deploy.prototxt`_ to the default model_location at " +":file:`/usr/share/openvino/models`. Any custom pre-trained classification" +" models can be used with the classification sample." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:128 +msgid "" +"For object detection, the sample models optimized for Intel® edge " +"platforms are included with the computer-vision-basic bundle installation" +" at :file:`/usr/share/openvino/models`. These models are provided as an " +"example; however, you may also use a custom SSD model with the Greengrass" +" object detection sample." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:134 +msgid "Run model optimizer" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:136 +msgid "" +"Follow these instructions for `converting deep learning models to " +"Intermediate Representation using Model Optimizer`_. To optimize either " +"of the sample models described above, run one of the following commands." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:138 +msgid "For classification using BVLC AlexNet model:" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:147 +msgid "For object detection using SqueezeNetSSD-5Class model:" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:156 +msgid "In these examples:" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:158 +msgid "```` is :file:`/usr/share/openvino/models`." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:160 +msgid "```` is FP32 or FP16, depending on target device." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:162 +msgid "" +"```` is the directory where the Intermediate Representation " +"(IR) is stored. IR contains .xml format corresponding to the network " +"structure and .bin format corresponding to weights. This .xml file should" +" be passed to :command:``." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:167 +msgid "" +"In the BVLC AlexNet model, the prototxt defines the input shape with " +"batch size 10 by default. In order to use any other batch size, the " +"entire input shape must be provided as an argument to the model " +"optimizer. For example, to use batch size 1, you must provide: " +"``--input_shape [1,3,227,227]``" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:175 +msgid "Configure AWS Greengrass group" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:177 +msgid "" +"For each Intel® edge platform, you must create a new AWS Greengrass group" +" and install AWS Greengrass core software to establish the connection " +"between cloud and edge." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:181 +msgid "" +"To create an AWS Greengrass group, follow the instructions in `Configure " +"AWS IoT Greengrass on AWS IoT`_." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:184 +msgid "" +"To install and configure AWS Greengrass core on edge platform, follow the" +" instructions in `Start AWS Greengrass on the Core Device`_. In step " +"8(b), download the x86_64 Ubuntu\\* configuration of the AWS Greengrass " +"core software." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:191 +msgid "" +"You do not need to run the :file:`cgroupfs-mount.sh` script in step #6 of" +" Module 1 of the `AWS Greengrass developer guide`_ because this is " +"enabled already in |CL|." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:195 +msgid "" +"Be sure to download both the security resources and the AWS Greengrass " +"core software." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:200 +msgid "Security certificates are linked to your AWS account." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:204 +msgid "Create and package Lambda function" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:206 +msgid "" +"Complete steps 1-4 of the AWS Greengrass tutorial at `Create and Package " +"a Lambda Function`_." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:210 +msgid "" +"This creates the tarball needed to create the AWS Greengrass environment " +"on the edge device." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:214 +msgid "" +"In step 5, replace :file:`greengrassHelloWorld.py` with the " +"classification or object detection Greengrass sample from `Edge-" +"Analytics-Faas`_:" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:217 +msgid "Classification: `greengrass_classification_sample.py`_" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:219 +msgid "Object Detection: `greengrass_object_detection_sample_ssd.py`_" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:221 +msgid "" +"Zip the selected Greengrass sample with the extracted Greengrass SDK " +"folders from the previous step into " +":file:`greengrass_sample_python_lambda.zip`." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:224 +msgid "The zip should contain:" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:226 +msgid "greengrasssdk" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:228 +msgid "greengrass classification or object detection sample" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:230 +msgid "For example:" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:237 +msgid "" +"Return to the AWS documentation section called `Create and Package a " +"Lambda Function`_ and complete the procedure." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:242 +msgid "" +"In step 9(a) of the AWS documentation, while uploading the zip file, make" +" sure to name the handler to one of the following, depending on the AWS " +"Greengrass sample you are using:" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:246 +msgid "greengrass_object_detection_sample_ssd.function_handler" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:247 +msgid "greengrass_classification_sample.function_handler" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:251 +msgid "Configure Lambda function" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:253 +msgid "" +"After creating the Greengrass group and the Lambda function, start " +"configuring the Lambda function for AWS Greengrass." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:256 +msgid "" +"Follow steps 1-8 in `Configure the Lambda Function for AWS IoT " +"Greengrass`_ in the AWS documentation." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:259 +msgid "" +"In addition to the details mentioned in step 8, change the Memory limit " +"to 2048 MB to accommodate large input video streams." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:262 +msgid "" +"Add the following environment variables as key-value pairs when editing " +"the Lambda configuration and click on update:" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:265 +msgid "**Table 1. Environment variables: Lambda configuration**" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:269 +msgid "Key" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:270 +msgid "Value" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:271 +msgid "PARAM_MODEL_XML" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:272 +msgid "" +"/, where is user specified and contains " +"IR.xml, the Intermediate Representation file from Intel® Model Optimizer." +" For this tutorial, should be set to " +"'/usr/share/openvino/models' or one of its subdirectories." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:276 +msgid "PARAM_INPUT_SOURCE" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:277 +msgid "/input.webm to be specified by user. Holds both input and" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:278 +msgid "output data. For webcam, set PARAM_INPUT_SOURCE to ‘/dev/video0’" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:279 +msgid "PARAM_DEVICE" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:280 +msgid "\"CPU\"" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:281 +msgid "PARAM_CPU_EXTENSION_PATH" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:282 +msgid "/usr/lib64/libcpu_extension.so" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:283 +msgid "PARAM_OUTPUT_DIRECTORY" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:284 +msgid " to be specified by user. Holds both input and output data" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:286 +msgid "PARAM_NUM_TOP_RESULTS" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:287 +msgid "" +"User specified for classification sample. (e.g. 1 for top-1 result, 5 for" +" top-5 results)" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:290 +msgid "" +"Add subscription to subscribe, or publish messages from AWS Greengrass " +"Lambda function by completing the procedure in `Configure the Lambda " +"Function for AWS IoT Greengrass`_." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:295 +msgid "" +"The optional topic filter field is the topic mentioned inside the Lambda " +"function. In this tutorial, sample topics include the following: " +":command:`openvino/ssd` or :command:`openvino/classification`" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:300 +msgid "Add local resources" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:302 +msgid "" +"Refer to the AWS documentation for details about `local resources and " +"access privileges`_." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:304 +msgid "The following table describes the local resources needed for the CPU:" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:306 +msgid "**Local resources**" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:310 +msgid "Name" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:311 +msgid "Resource type" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:312 +msgid "Local path" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:313 +msgid "Access" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:315 +msgid "ModelDir" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:316 +#: ../../../source/tutorials/greengrass.rst:326 +msgid "Volume" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:317 +msgid " to be specified by user" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:318 +#: ../../../source/tutorials/greengrass.rst:323 +msgid "Read-Only" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:320 +msgid "Webcam" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:321 +msgid "Device" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:322 +msgid "/dev/video0" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:325 +msgid "DataDir" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:327 +msgid " to be specified by user. Holds both input and output data." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:329 +msgid "Read and Write" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:332 +msgid "Deploy Lambda function" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:334 +msgid "" +"Refer to the AWS documentation for instructions on how to `deploy the " +"lambda function to AWS Greengrass core device`_. Select *Deployments* on " +"the group page and follow the instructions." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:339 +msgid "Output consumption" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:341 +msgid "" +"There are four options available for output consumption. These options " +"are used to report, stream, upload, or store inference output at an " +"interval defined by the variable :command:`reporting_interval` in the AWS" +" Greengrass samples." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:345 +msgid "IoT cloud output:" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:347 +msgid "" +"This option is enabled by default in the AWS Greengrass samples using the" +" :command:`enable_iot_cloud_output` variable. You can use it to verify " +"the lambda running on the edge device. It enables publishing messages to " +"IoT cloud using the subscription topic specified in the lambda. (For " +"example, topics may include :command:`openvino/classification` for " +"classification and :command:`openvino/ssd` for object detection samples.)" +" For classification, top-1 result with class label are published to IoT " +"cloud. For SSD object detection, detection results such as bounding box " +"coordinates of objects, class label, and class confidence are published." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:357 +msgid "Follow the instructions here to `view the output on IoT cloud`_." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:359 +msgid "Kinesis streaming:" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:361 +msgid "" +"This option enables inference output to be streamed from the edge device " +"to cloud using Kinesis [3] streams when :command:`enable_kinesis_output` " +"is set to True. The edge devices act as data producers and continually " +"push processed data to the cloud. You must set up and specify Kinesis " +"stream name, Kinesis shard, and AWS region in the AWS Greengrass samples." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:368 +msgid "Cloud storage using AWS S3 bucket:" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:370 +msgid "" +"When the :command:`enable_s3_jpeg_output` variable is set to True, it " +"enables uploading and storing processed frames (in jpeg format) in an AWS" +" S3 bucket. You must set up and specify the S3 bucket name in the AWS " +"Greengrass samples to store the JPEG images. The images are named using " +"the timestamp and uploaded to S3." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:376 +msgid "Local storage:" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:378 +msgid "" +"When the :command:`enable_s3_jpeg_output` variable is set to True, it " +"enables storing processed frames (in jpeg format) on the edge device. The" +" images are named using the timestamp and stored in a directory specified" +" by :command:`PARAM_OUTPUT_DIRECTORY`." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:384 +msgid "References" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:386 +msgid "AWS Greengrass: https://aws.amazon.com/greengrass/" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:387 +msgid "AWS Lambda: https://aws.amazon.com/lambda/" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:388 +msgid "AWS Kinesis: https://aws.amazon.com/kinesis/" +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/hadoop.po b/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/hadoop.po new file mode 100644 index 00000000..9f538241 --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/hadoop.po @@ -0,0 +1,232 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/tutorials/hadoop.rst:4 +msgid "Set up a single node cluster with Hadoop\\*" +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:6 +msgid "" +"This tutorial walks you through the process of installing, configuring, " +"and running Apache\\* Hadoop on |CL-ATTR|. The Apache Hadoop software " +"library is a framework for distributed processing of large data sets " +"across clusters of computers using simple programming models. It is " +"designed to scale up from single servers to thousands of machines, with " +"each machine offering local computation and storage." +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:14 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:16 +msgid "" +"Before following this tutorial, you should follow the :ref:`bare-metal-" +"install-desktop` to ensure you have installed |CL|." +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:19 +msgid "" +"Before you install any new packages, update |CL| with the following " +"command:" +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:25 +msgid "" +"For the purposes of this tutorial, we will install Hadoop in a single " +"machine running both the master and slave daemons." +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:29 +msgid "Install Apache Hadoop" +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:31 +msgid "" +"Apache Hadoop is included in the `big-data-basic` bundle. To install the " +"framework, enter the following command:" +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:39 +msgid "Configure Apache Hadoop" +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:41 +msgid "To create the configuration directory, enter the following command:" +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:47 +msgid "" +"Copy the defaults from :file:`/usr/share/defaults/hadoop` to " +":file:`/etc/hadoop` with the following command:" +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:54 +msgid "" +"Since |CL| is a stateless system, you should never modify the files under" +" the :file:`/usr/share/defaults` directory. The software updater will " +"overwrite those files." +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:58 +msgid "" +"Once all the configuration files are in :file:`/etc/hadoop`, we must edit" +" them to fit our needs. The `NameNode` server is the master server. It " +"manages the namespace of the files system and regulates the clients' " +"access to files. The first file we edit, :file:`/etc/hadoop/core-" +"site.xml`, informs the Hadoop daemon where `NameNode` is running." +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:64 +msgid "" +"In this tutorial, our `NameNode` runs in our `localhost`. Follow these " +"steps to set it up correctly:" +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:67 +msgid "" +"Open the :file:`/etc/hadoop/core-site.xml` file using the editor of your " +"choice and modify the file as follows:" +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:81 +msgid "" +"Edit the :file:`/etc/hadoop/hdfs-site.xml` file. This file configures the" +" :abbr:`HDFS (Hadoop Distributed File System)` daemons. This " +"configuration includes the list of permitted and excluded data nodes and " +"the size of said blocks. In this example, we are setting the number of " +"block replication to 1 from the default of 3 as follows:" +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:103 +msgid "" +"Edit the :file:`/etc/hadoop/mapred-site.xml` file. This file configures " +"all daemons related to `MapReduce`: `JobTracker` and `TaskTrackers`. With" +" `MapReduce`, Hadoop can process big amounts of data in multiple systems." +" In our example, we set :abbr:`YARN (Yet Another Resource Manager)` as " +"our runtime framework for executing `MapReduce` jobs as follows:" +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:121 +msgid "" +"Edit the :file:`/etc/hadoop/yarn-site.xml` file. This file configures all" +" daemons related to `YARN`: `ResourceManager` and `NodeManager`. In our " +"example, we implement the `mapreduce_shuffle` service, which is the " +"default as follows:" +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:142 +msgid "Configure your SSH key" +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:144 +msgid "Create a SSH key. If you already have one, skip this step." +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:151 +msgid "Copy the key to your authorized keys." +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:157 +msgid "" +"Log into the localhost. If no password prompt appears, you are ready to " +"run the Hadoop daemons." +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:165 +msgid "Run the Hadoop daemons" +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:167 +msgid "" +"With all the configuration files properly edited, we are ready to start " +"the daemons." +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:170 +msgid "" +"When we format the `NameNode` server, it formats the meta-data related to" +" data nodes. Thus, all the information on the data nodes is lost and the " +"nodes can be reused for new data." +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:174 +msgid "Format the `NameNode` server with the following command:" +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:180 +msgid "Start the DFS in `NameNode` and `DataNodes` with the following command:" +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:186 +#: ../../../source/tutorials/hadoop.rst:211 +msgid "The console output should be similar to:" +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:196 +msgid "Enter `yes` to continue." +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:198 +msgid "" +"Start the `YARN` daemons `ResourceManager` and `NodeManager` with the " +"following command:" +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:205 +msgid "Ensure everything is running as expected with the following command:" +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:223 +msgid "Run the MapReduce wordcount example" +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:225 +msgid "Create the input directory." +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:231 +msgid "Copy a file from the local file system to the HDFS." +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:237 +msgid "Run the `wordcount` example." +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:243 +msgid "" +"Read output file \"part-r-00000\". This file contains the number of times" +" each word appears in the file." +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:250 +msgid "**Congratulations!**" +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:252 +msgid "" +"You successfully installed and setup a single node Hadoop cluster. " +"Additionally, you ran a simple wordcount example." +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:255 +msgid "Your single node Hadoop cluster is up and running!" +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/kata.po b/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/kata.po new file mode 100644 index 00000000..f7bb4d1a --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/kata.po @@ -0,0 +1,143 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/tutorials/kata.rst:4 +msgid "Install Kata Containers\\*" +msgstr "" + +#: ../../../source/tutorials/kata.rst:6 +msgid "" +"This tutorial describes how to install, configure, and run `Kata " +"Containers`_ on |CL-ATTR|. Kata Containers is an open source project " +"developing a lightweight implementation of :abbr:`VMs (Virtual Machines)`" +" that offer the speed of containers and the security of VMs." +msgstr "" + +#: ../../../source/tutorials/kata.rst:12 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/tutorials/kata.rst:14 +msgid "" +"This tutorial assumes you have installed |CL| on your host system. For " +"detailed instructions on installing |CL| on a bare metal system, follow " +"the :ref:`bare metal installation tutorial`." +msgstr "" + +#: ../../../source/tutorials/kata.rst:18 +msgid "" +"If you have Clear Containers installed on your |CL| system, then follow " +"the :ref:`migrate Clear Containers to Kata Containers " +"tutorial`." +msgstr "" + +#: ../../../source/tutorials/kata.rst:21 +msgid "" +"Before you install any new packages, update |CL| with the following " +"command:" +msgstr "" + +#: ../../../source/tutorials/kata.rst:28 +msgid "Install Kata Containers" +msgstr "" + +#: ../../../source/tutorials/kata.rst:30 +msgid "" +"Kata Containers is included in the :file:`containers-virt` bundle. To " +"install the framework, enter the following command:" +msgstr "" + +#: ../../../source/tutorials/kata.rst:37 +msgid "Restart the Docker\\* and Kata Containers systemd services." +msgstr "" + +#: ../../../source/tutorials/kata.rst:45 +msgid "Run Kata Containers" +msgstr "" + +#: ../../../source/tutorials/kata.rst:53 +msgid "" +"If you use a proxy server and your proxy environment variables are " +"already set, run the following commands as a shell script to configure " +"Docker:" +msgstr "" + +#: ../../../source/tutorials/kata.rst:70 +msgid "**Congratulations!**" +msgstr "" + +#: ../../../source/tutorials/kata.rst:72 +msgid "You've successfully installed and set up Kata Containers on |CL|." +msgstr "" + +#: ../../../source/tutorials/kata.rst:75 +msgid "More information about Docker" +msgstr "" + +#: ../../../source/tutorials/kata.rst:77 +msgid "" +"Docker on |CL| provides a :file:`docker.service` file to start the Docker" +" daemon. The daemon will use runc or kata-runtime depending on the " +"environment:" +msgstr "" + +#: ../../../source/tutorials/kata.rst:81 +msgid "" +"If you are running |CL| on bare metal or on a VM with Nested " +"Virtualization activated, Docker uses kata-runtime as the default " +"runtime." +msgstr "" + +#: ../../../source/tutorials/kata.rst:84 +msgid "" +"If you are running |CL| on a VM without Nested Virtualization, Docker " +"uses runc as the default runtime." +msgstr "" + +#: ../../../source/tutorials/kata.rst:87 +msgid "" +"You do not need to manually configure the runtime for Docker, because it " +"automatically uses the runtime supported by the system." +msgstr "" + +#: ../../../source/tutorials/kata.rst:91 +msgid "Troubleshooting" +msgstr "" + +#: ../../../source/tutorials/kata.rst:93 +msgid "" +"To change the Docker storage driver, see :ref:`additional-docker-" +"configuration`." +msgstr "" + +#: ../../../source/tutorials/kata.rst:96 +msgid "" +"For some |CL| versions before 27000, you may need to manually configure " +"Docker\\* to use Kata Containers by default." +msgstr "" + +#: ../../../source/tutorials/kata.rst:99 +msgid "To do so, enter:" +msgstr "" + +#: ../../../source/tutorials/kata.rst:109 +msgid "To check the version of |CL| on your system, enter:" +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/kata_migration.po b/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/kata_migration.po new file mode 100644 index 00000000..0251e7b3 --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/kata_migration.po @@ -0,0 +1,104 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/tutorials/kata_migration.rst:4 +msgid "Migrate Clear Containers to Kata Containers\\*" +msgstr "" + +#: ../../../source/tutorials/kata_migration.rst:6 +msgid "" +"`Clear Containers`_ and `Kata Containers`_ can co-exist in the same " +"system. Both can be installed through the :file:`containers-virt bundle`." +" However, we recommend that you migrate to Kata Containers because Clear " +"Containers is no longer maintained_ and will soon be deprecated on |CL-" +"ATTR|." +msgstr "" + +#: ../../../source/tutorials/kata_migration.rst:11 +msgid "This guide describes how to migrate to Kata Containers and assumes that:" +msgstr "" + +#: ../../../source/tutorials/kata_migration.rst:13 +msgid "Clear Containers is on a Docker\\* system." +msgstr "" + +#: ../../../source/tutorials/kata_migration.rst:14 +msgid "Kata Containers is installed. See :ref:`kata`." +msgstr "" + +#: ../../../source/tutorials/kata_migration.rst:18 +msgid "Stop Clear Containers instances" +msgstr "" + +#: ../../../source/tutorials/kata_migration.rst:20 +msgid "As an unprivileged user, stop all running instances of Clear Containers:" +msgstr "" + +#: ../../../source/tutorials/kata_migration.rst:28 +msgid "Manually migrate customized configuration files" +msgstr "" + +#: ../../../source/tutorials/kata_migration.rst:30 +msgid "" +"If you have made changes to your `Clear Containers configuration`_, " +"review those changes and decide whether to manually apply those changes " +"to your `Kata Containers configuration`_." +msgstr "" + +#: ../../../source/tutorials/kata_migration.rst:34 +msgid "Make any required changes before continuing this process." +msgstr "" + +#: ../../../source/tutorials/kata_migration.rst:38 +msgid "You do not need to manually remove any Clear Containers packages." +msgstr "" + +#: ../../../source/tutorials/kata_migration.rst:42 +msgid "Enable Kata Containers as default" +msgstr "" + +#: ../../../source/tutorials/kata_migration.rst:44 +msgid "Configure Docker to use the Kata Containers runtime by default." +msgstr "" + +#: ../../../source/tutorials/kata_migration.rst:54 +msgid "Restart the Docker systemd services." +msgstr "" + +#: ../../../source/tutorials/kata_migration.rst:61 +msgid "Verify Docker is using Kata Containers." +msgstr "" + +#: ../../../source/tutorials/kata_migration.rst:69 +msgid "Run Kata Containers" +msgstr "" + +#: ../../../source/tutorials/kata_migration.rst:71 +msgid "Use the following command:" +msgstr "" + +#: ../../../source/tutorials/kata_migration.rst:77 +msgid "**Congratulations!**" +msgstr "" + +#: ../../../source/tutorials/kata_migration.rst:79 +msgid "You've successfully migrated from Clear Containers to Kata Containers." +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/kubernetes/kubernetes-bp.po b/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/kubernetes/kubernetes-bp.po new file mode 100644 index 00000000..91f690fa --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/kubernetes/kubernetes-bp.po @@ -0,0 +1,138 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/tutorials/kubernetes/kubernetes-bp.rst:4 +msgid "Kubernetes Best Practices on |CL|" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes-bp.rst:7 +msgid "Use swupd to update clusters" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes-bp.rst:9 +msgid "" +"This tutorial shows you how to manage your Kubernetes cluster while using" +" :command:`swupd` to update |CL-ATTR|." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes-bp.rst:12 +msgid "" +"In our tutorial :ref:`kubernetes`, we explain how to set up a Kubernetes " +"cluster on |CL| using `kubeadm`. `Kubeadm documentation`_ often builds on" +" the assumption that the distribution uses a traditional package manager " +"(e.g., RPM/DEB)." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes-bp.rst:17 +msgid "" +"In contrast, |CL| uses `swupd` to update the OS, which in this case " +"updates all of the kubernetes node and client binaries simultaneously, as" +" part of the `cloud-native-basic` bundle (e.g., kubectl, kubeadm, " +"kubelet). Running :command:`sudo swupd update` requires special care to " +"ensure the OS incorporates the latest Kubernetes upgrades." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes-bp.rst:23 +msgid "" +"This document describes best practices to manage cluster upgrades with " +"`kubeadm` on a |CL|-based cluster." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes-bp.rst:27 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes-bp.rst:29 +msgid "Assure that you:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes-bp.rst:31 +msgid "Completed :ref:`kubernetes`" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes-bp.rst:32 +msgid "Installed the bundle `cloud-native-basic`" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes-bp.rst:36 +msgid "" +"Other Linux\\* distros shown in Kubernetes upgrade documentation reflect " +"`apt-get update`, `apt-mark hold kubeadm`, and similar commands; however," +" such commands **are not valid** on |CL|." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes-bp.rst:40 +msgid "Update the control plane" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes-bp.rst:42 +msgid "Read kubernetes documentation `before you begin`_." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes-bp.rst:44 +msgid "On your master node, run the command:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes-bp.rst:52 +msgid "" +"If the minor version of Kubernetes changes, |CL| shows a message-of-the-" +"day, or `motd`. When the `motd` appears, you **must postpone** a kubelet " +"restart on master and nodes until the control plane is properly updated. " +":command:`swupd update` does not restart services automatically unless " +"explicitly configured to do so." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes-bp.rst:54 +msgid "Now follow these instructions in kubernetes documentation." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes-bp.rst:56 +msgid "`Upgrade control plane`_" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes-bp.rst:57 +msgid "`Drain control plane node`_" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes-bp.rst:58 +#: ../../../source/tutorials/kubernetes/kubernetes-bp.rst:73 +msgid "`Restart Kubelet and undrain node`_" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes-bp.rst:61 +msgid "Update worker nodes" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes-bp.rst:63 +msgid "On each worker node, run the command:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes-bp.rst:69 +msgid "Now follow these instructions in kubernetes documentation:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes-bp.rst:71 +msgid "`Drain node`_" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes-bp.rst:72 +msgid "`Update kubelet configuration`_" +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/kubernetes/kubernetes.po b/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/kubernetes/kubernetes.po new file mode 100644 index 00000000..f775a163 --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/kubernetes/kubernetes.po @@ -0,0 +1,448 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:4 +msgid "Run Kubernetes\\*" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:6 +msgid "" +"This tutorial describes how to install, configure, and run the " +"`Kubernetes container orchestration system`_ on |CL-ATTR| using CRI+O and" +" kata-runtime." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:10 +msgid "" +"Kubernetes\\* is an open source system for automating deployment, " +"scaling, and management of containerized applications. It groups " +"containers that make up an application into logical units for easy " +"management and discovery." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:14 +msgid "" +"Kata Containers\\* kata-runtime adheres to :abbr:`OCI (Open Container " +"Initiative*)` guidelines and work seamlessly with Kubernetes. `Kata " +"Containers`_ provide strong isolation for untrusted workloads or multi-" +"tenant scenarios. Kata Containers can be allocated on a per-pod basis so " +"you can mix and match both on the same host to suit your needs." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:25 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:27 +msgid "" +"This tutorial assumes you have already installed |CL|. For detailed " +"instructions on installing |CL| on a bare metal system, follow the " +":ref:`bare metal installation tutorial`. " +"Learn about the benefits of having an up-to-date system for cloud " +"orchestration on the :ref:`swupd-about` page." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:33 +msgid "" +"Before you install any new packages, update |CL| with the following " +"command:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:40 +msgid "Install Kubernetes and CRI runtimes" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:42 +msgid "" +"Kubernetes, a set of supported :abbr:`CRI (Container Runtime Interface)` " +"runtimes, and networking plugins, are included in the `cloud-native-" +"basic`_ bundle." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:46 +msgid "To install this framework, enter the following command:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:54 +msgid "For more on networking plugins, see `Install pod network add-on`_." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:57 +msgid "Configure Kubernetes" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:59 +msgid "" +"This tutorial uses the basic default Kubernetes configuration for " +"simplicity. You must define your Kubernetes configuration according to " +"your specific deployment and your security needs." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:63 +msgid "Enable IP forwarding to avoid kubeadm `preflight check`_ errors:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:65 +msgid "" +"Create (or edit if it exists) the file :file:`/etc/sysctl.d/60-k8s.conf` " +"and include the following line:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:72 +msgid "Apply the change:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:78 +msgid "Enable the kubelet service:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:84 +msgid "Disable swap using one of the following methods, either:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:86 +msgid "Temporarily:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:94 +msgid "Swap will be enabled at next reboot, causing failures in your cluster." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:97 +msgid "or:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:99 +msgid "Permanently:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:101 +msgid "Mask the swap partition:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:110 +msgid "" +"On systems with limited resources, some performance degradation may be " +"observed while swap is disabled." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:113 +msgid "Switch to root to modify the `hosts` file:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:119 +msgid "" +"Create (or edit if it exists) the hosts file that Kubernetes will read to" +" locate the master's host:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:126 +msgid "Exit root:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:133 +msgid "Configure and run Kubernetes" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:135 +msgid "" +"This section describes how to configure and run Kubernetes with CRI-O and" +" kata-runtime." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:138 +msgid "Configure and run CRI-O + kata-runtime" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:140 +msgid "Enable the CRI-O service:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:146 +msgid "Enter the commands:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:153 +msgid "" +"Initialize the master control plane with the command below and follow the" +" displayed instructions to set up `kubectl`:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:159 +msgid "Register kata-runtime as a RuntimeClass handler:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:178 +msgid "Install pod network add-on" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:180 +msgid "" +"You must choose and install a `pod network add-on`_ to allow your pods to" +" communicate. Check whether or not your add-on requires special flags " +"when you initialize the master control plane." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:184 +msgid "**Notes about flannel add-on**" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:186 +msgid "" +"If you choose the `flannel` add-on, then you must add the following to " +"the `kubeadm init` command:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:193 +msgid "" +"Furthermore, if you are using CRI-O and `flannel` and you want to use " +"Kata Containers, edit the :file:`/etc/crio/crio.conf` file to add:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:202 +msgid "Use your cluster" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:204 +msgid "" +"Once your master control plane is successfully initialized, instructions " +"on how to use your cluster and its *IP*, *token*, and *hash* values are " +"displayed. It is important that you record the cluster values because " +"they are needed when joining worker nodes to the cluster. Some values " +"have a valid period. The values are presented in a format similar to:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:214 +msgid "**Congratulations!**" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:216 +msgid "" +"You've successfully installed and set up Kubernetes in |CL| using CRI-O " +"and kata-runtime. You are now ready to follow on-screen instructions to " +"deploy a pod network to the cluster and join worker nodes with the " +"displayed token and IP information." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:222 +msgid "Related topics" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:224 +msgid "Read the Kubernetes documentation to learn more about:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:226 +msgid "`Understanding basic Kubernetes architecture`_" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:228 +msgid "`Deploying an application to your cluster`_" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:230 +msgid "Installing a `pod network add-on`_" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:232 +msgid "`Joining your nodes`_" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:235 +msgid "Cloud native setup automation (optional)" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:237 +msgid "" +"Clone the `cloud-native-setup`_ repository on your system and follow the " +"instructions. This repository includes helper scripts to automate " +"configuration." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:240 +msgid "Package configuration customization (optional)" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:242 +msgid "" +"|CL| is a stateless system that looks for user-defined package " +"configuration files in the :file:`/etc/` directory to be " +"used as default. If user-defined files are not found, |CL| uses the " +"distribution-provided configuration files for each package." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:247 +msgid "" +"If you customize any of the default package configuration files, you " +"**must** store the customized files in the :file:`/etc/` directory. If " +"you edit any of the distribution-provided default files, your changes " +"will be lost in the next system update." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:252 +msgid "" +"For example, to customize CRI-O configuration in your system, run the " +"following commands:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:261 +msgid "Learn more about `Stateless`_ in |CL| and view the |CL| `documentation`_." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:264 +msgid "Proxy configuration (optional)" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:266 +msgid "" +"If you use a proxy server, you must set your proxy environment variables " +"and create an appropriate proxy configuration file for both CRI-O " +"services. Consult your IT department if you are behind a corporate proxy " +"for the appropriate values. Ensure that your local IP is **explicitly " +"included** in the environment variable *NO_PROXY*. (Setting *localhost* " +"is not enough.)" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:271 +msgid "" +"If you have already set your proxy environment variables, run the " +"following commands as a shell script to configure all of these services " +"in one step:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:289 +msgid "Next steps" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:291 +msgid ":ref:`kubernetes-bp`" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:295 +msgid "Troubleshooting" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:297 +msgid " not found in message." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:299 +msgid "" +"Your DNS server may not be appropriately configured. Try adding an entry " +"to the :file:`/etc/hosts` file with your host's IP and Name." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:302 +msgid "For example: 100.200.50.20 myhost" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:304 +msgid "" +"Use the commands :command:`hostname` and :command:`hostname -I` to " +"retrieve them." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:306 +msgid "Images cannot be pulled." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:308 +msgid "" +"You may be behind a proxy server. Try configuring your proxy settings, " +"using the environment variables *HTTP_PROXY*, *HTTPS_PROXY*, and " +"*NO_PROXY* as required in your environment." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:312 +msgid "Connection refused error." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:314 +msgid "" +"If you are behind a proxy server, you may need to add the master's IP to " +"the environment variable *NO_PROXY*." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:317 +msgid "Connection timed-out or Access Refused errors." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:319 +msgid "" +"You must ensure that the appropriate proxy settings are available from " +"the same terminal where you will initialize the control plane. To verify " +"the proxy settings that Kubernetes will actually use, run the commands:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:329 +msgid "" +"If the displayed proxy values are different from your assigned values, " +"the cluster initialization will fail. Contact your IT support team to " +"learn how to set the proxy variables permanently, and how to make them " +"available for all the types of access that you will use, such as remote " +"SSH access." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:334 +msgid "" +"If the result of the above commands is blank, you may need to add a " +"``profile`` to the :file:`/etc` directory. To do so, follow these steps." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:337 +msgid "Create a `profile` in :file:`/etc`" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:343 +msgid "" +"With a preferred editor, open `profile`, and enter your proxy settings. " +"Example shown below." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:355 +msgid " can be obtained by running :command:`ifconfig`." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:357 +msgid "Save and exit the `profile`." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:359 +msgid "Run:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:365 +msgid "To ensure your system isn't running previous session variables, run:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:371 +msgid "Continue below while passing `-E` in the command as shown." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:373 +msgid "Missing environment variables." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:375 +msgid "" +"If you are behind a proxy server, pass environment variables by adding " +"*-E* to the command that initializes the master control plane." +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/machine-learning/machine-learning.po b/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/machine-learning/machine-learning.po new file mode 100644 index 00000000..8aff0b8f --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/machine-learning/machine-learning.po @@ -0,0 +1,314 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:4 +msgid "TensorFlow\\* machine learning on |CL-ATTR|" +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:6 +msgid "" +"This tutorial will demonstrate the installation and execusion of a " +"TensorFlow\\* machine learning example on |CL-ATTR|. It uses a Jupyter\\*" +" Notebook and MNIST data for handwriting recognition." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:10 +msgid "" +"The initial steps will have you set up a Jupyter kernel and run a " +"Notebook on a bare-metal |CL| system." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:14 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:16 +msgid "" +"This tutorial assumes you have installed |CL| on your host system. For " +"detailed instructions on installing |CL| on a bare metal system, follow " +"the :ref:`bare metal installation tutorial`." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:20 +msgid "" +"Before you install any new packages, update |CL| with the following " +"command:" +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:26 +msgid "Once your system is updated, add the following bundles to your system:" +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:28 +msgid "`machine-learning-web-ui`: This bundle contains the Jupyter application." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:30 +msgid "" +"`machine-learning-basic`: This bundle contains TensorFlow and other " +"useful tools." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:33 +msgid "" +"To install the bundles, run the following commands in your :file:`$HOME` " +"directory:" +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:43 +msgid "Set up a Jupyter notebook" +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:45 +msgid "" +"With all required packages and libraries installed, set up the file " +"structure for the Jupyter Notebook." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:48 +msgid "" +"In the :file:`$HOME` directory, create a directory for the Jupyter " +"Notebooks named :file:`Notebooks`." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:55 +msgid "Within :file:`Notebooks`, create a directory named :file:`Handwriting`." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:61 +msgid "Change to the new directory." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:67 +msgid "" +"Copy the :file:`MNIST_example.ipynb` file into the :file:`Handwriting` " +"directory." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:71 +msgid "" +"After installing the `machine-learning basic` bundle, you can find the " +"example code under :file:`/usr/share/doc/tensorflow/MNIST_example.ipynb`." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:76 +msgid "" +"The example code downloads and decompresses the MNIST data directly into " +"the :file:`./mnist` directory. Alternatively, download the four files " +"directly from the Yann LeCun’s `MNIST Database website`_ and save them " +"into a :file:`mnist` directory within the :file:`Handwriting` directory." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:81 +msgid "The files needed are:" +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:83 +msgid "`train-images-idx3-ubyte.gz`_: Training set images (9912422 bytes)" +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:85 +msgid "`train-labels-idx1-ubyte.gz`_: Training set labels (28881 bytes)" +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:87 +msgid "`t10k-images-idx3-ubyte.gz`_: Test set images (1648877 bytes)" +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:89 +msgid "`t10k-labels-idx1-ubyte.gz`_: Test set labels (4542 bytes)" +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:92 +msgid "Run the Jupyter machine learning example code" +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:94 +msgid "" +"With |CL|, Jupyter, and TensorFlow installed and configured, we can run " +"the example code." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:97 +msgid "" +"Go to the :file:`($HOME)/Notebooks` directory and start Jupyter with the " +"following commands:" +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:106 +msgid "" +"The Jupyter server starts and opens a web browser showing the Jupyter " +"file manager with a list of files in the current directory, see figure 1." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:112 +msgid "Figure 1: The Jupyter file manager shows the list of available files." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:114 +msgid "" +"Click on the :file:`Handwriting` directory. The " +":file:`MNIST_example.ipynb` file created earlier should be listed there, " +"see figure 2." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:120 +msgid "Figure 2: The example file within the Jupyter file manager." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:122 +msgid "" +"To run the hand writing example, click on the :file:`MNIST_example.ipynb`" +" file to load the notebook, see figure 3." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:128 +msgid "" +"Figure 3: The loaded MNIST_example notebook within the Jupyter file " +"manager." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:131 +msgid "" +"Click the |run-cell| button to execute the code in the current cell and " +"move to the next." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:134 +msgid "" +"Select the :guilabel:`In [2]` cell and click the |run-cell| button to " +"load the MNIST data. The successful output is shown on figure 4." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:140 +msgid "Figure 4: Output after successfully importing the MNIST data." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:143 +msgid "" +"After the MNIST data was successfully downloaded and extracted into the " +":file:`mnist` directory within the :file:`($HOME)/Notebooks/Handwriting` " +"directory, four .gz files are present and the four data sets were " +"created: `trainX`, `trainY`, `testX` and `testY`." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:148 +msgid "" +"To inspect the imported data, the function in :guilabel:`In [3]` first " +"instructs Jupyter to reshape the data into an array of 28 x 28 images and" +" to plot the area in a 28 x 28 grid. Click the |run-cell| button twice to" +" show the first two digits in the `trainX` dataset, see figure 5." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:156 +msgid "" +"Figure 5: A function reshapes the data and displays the first two digits " +"in the `trainX` dataset." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:159 +msgid "" +"The :guilabel:`In [4]` cell defines the neural network. It provides the " +"inputs, defines the hidden layers, runs the training model, and sets up " +"the output layer, see figure 6. Click the |run-cell| button four times to" +" perform these operations." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:167 +msgid "Figure 6: Defining, building and training the neural network model." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:169 +msgid "" +"To test the accuracy of the prediction the system makes, select the " +":guilabel:`In [8]` cell and click the |run-cell| button. In this example," +" the number 6 was predicted with a 99% accuracy, see figure 7." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:176 +msgid "" +"Figure 7: The system predicts a number providing the accuracy of the " +"prediction." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:181 +msgid "" +"To retest the accuracy of a random data point's prediction, run the cell " +":guilabel:`In [8]` again. It will take another random data point and " +"predict its value." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:185 +msgid "" +"To check the accuracy for the whole dataset, select the :guilabel:`In " +"[10]` cell and click the |run-cell| button. Our example's accuracy is " +"calculated as 97.17%, see figure 8." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:192 +msgid "Figure 8: The system's accuracy for the entire data set." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:194 +msgid "" +"For more in-depth information on the model used and the mathematics it " +"entails, visit the TensorFlow tutorials `TensorFlow MNIST beginners " +"demo`_ and `TensorFlow MNIST pros demo`_." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:198 +msgid "**Congratulations!**" +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:200 +msgid "" +"You have successfully installed a Jupyter kernel on |CL|. In addition, " +"you trained a neural network to successfully predict the values contained" +" in a data set of hand-written number images." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:205 +msgid "Related topics" +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:207 +msgid "`MNIST Database website`_" +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:208 +msgid "`TensorFlow MNIST beginners demo`_" +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:209 +msgid "`TensorFlow MNIST pros demo`_" +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:210 +msgid "`Jupyter main website`_" +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:211 +msgid "`Jupyter documentation`_" +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:212 +msgid "`MNIST at Wikipedia`_" +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/nvidia.po b/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/nvidia.po new file mode 100644 index 00000000..3d304ec3 --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/nvidia.po @@ -0,0 +1,420 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/tutorials/nvidia.rst:4 +msgid "Install NVIDIA\\* Drivers" +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:6 +msgid "" +"NVIDIA manufactures graphics processing units (GPU), also known as " +"graphics cards." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:9 +msgid "" +"NVIDIA devices on Linux\\* have two popular device driver options: the " +"opensource drivers from the `nouveau project`_ or the proprietary drivers" +" published by NVIDIA. The nouveau drivers are built into the |CL-ATTR| " +"kernel and are loaded automatically at system boot if a compatible card " +"is detected." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:15 +msgid "" +"These instructions show how to use the proprietary NVIDIA drivers, which " +"require a manual installation." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:20 +msgid "" +"Software installed outside of :ref:`swupd ` is not updated " +"with |CL| updates and must be updated and maintained manually." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:23 +msgid "" +"For example, the file :file:`/usr/lib/libGL.so` conflicts between the one" +" provided by the mesa package in |CL| and the one NVIDIA provides. If a " +"|CL| update overwrites these files, a reinstallation of the NVIDIA driver" +" might be required." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:36 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:38 +msgid "A |CL| system with a desktop installed" +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:39 +msgid "An NVIDIA device installed" +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:43 +msgid "Install DKMS" +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:45 +msgid "" +"The :ref:`Dynamic Kernel Module System (DKMS) ` " +"allows the NVIDIA kernel modules to be automatically integrated when " +"kernel updates occur in |CL|." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:49 +msgid "Install the appropriate DKMS bundle using the instructions below:" +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:52 +msgid "" +"The Long Term Support (LTS) kernel variant is more likely to remain " +"compatible between updates with NVIDIA drivers." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:3 +msgid "" +"The *kernel-native-dkms* bundle provides the :command:`dkms` program and " +"Linux kernel headers, which are required for compiling kernel modules." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:6 +msgid "The *kernel-native-dkms* bundle also:" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:8 +msgid "" +"Adds a systemd update trigger (:file:`/usr/lib/systemd/system/dkms-new-" +"kernel.service`) to automatically run DKMS to rebuild modules after a " +"kernel upgrade occurs with :ref:`swupd update `." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:13 +msgid "" +"Disables kernel module signature verification by appending a kernel " +"command-line parameter (:command:`module.sig_unenforce`) from the " +":file:`/usr/share/kernel/cmdline.d/clr-ignore-mod-sig.conf` file." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:17 +msgid "" +"Adds a notification to the Message of the Day (MOTD) indicating kernel " +"module signature verification is disabled." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:22 +msgid "" +"We recommend that you always review the :command:`swupd update` output to" +" make sure kernel modules were successfully rebuilt against the new " +"kernel. This is especially important for systems where a successful boot " +"relies on a kernel module." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:28 +msgid "" +"Install the :command:`kernel-native-dkms` or :command:`kernel-lts-dkms` " +"bundle:" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:31 +msgid "" +"Determine which kernel variant is running on |CL|. Only the *native* and " +"*lts* kernels are enabled to build and load out-of-tree kernel modules " +"with DKMS." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:40 +msgid "Ensure *.native* or *.lts* is in the kernel name." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:42 +msgid "" +"Install the DKMS bundle corresponding to the installed kernel. Use " +":command:`kernel-native-dkms` for the native kernel or :command:`kernel-" +"lts-dkms` for the lts kernel." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:50 +msgid "or" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:57 +msgid "Update the |CL| bootloader and reboot." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:62 +msgid "Download and install the NVIDIA Drivers" +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:66 +msgid "Download the NVIDIA Drivers for Linux" +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:68 +msgid "Identify the model of NVIDIA GPU that is installed." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:75 +msgid "" +"Go to the `NVIDIA Driver Downloads website`_ . Search for and download " +"the appropriate driver based on the model of NVIDIA GPU you have with " +"*Linux 64-bit* selected as the Operating System ." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:80 +msgid "" +"Open a terminal and navigate to where the :file:`NVIDIA-" +"Linux-x86_64-.run` file was saved. In this example, it was saved" +" in the Downloads folder." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:88 +msgid "Make the :file:`NVIDIA-Linux-x86_64-.run` file executable." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:96 +msgid "Disable the nouveau Driver" +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:98 +msgid "" +"The proprietary NVIDIA driver is incompatible with the nouveau driver and" +" must be disabled before installation can continue." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:101 +msgid "" +"Disable the nouveau driver by creating a blacklist file under " +":file:`/etc/modprobe.d` and reboot." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:111 +msgid "" +"Reboot the system and log back in. It is normal for the graphical " +"environment not to start without the NVIDIA driver loaded." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:118 +msgid "Configure Alternative Software Paths" +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:120 +msgid "" +"The NVIDIA installer will be directed to install files under " +":file:`/opt/nvidia` as much as possible to keep its contents isolated " +"from the rest of the |CL| system files under :file:`/usr`. The dynamic " +"linker and X server must be configured to use the content under " +":file:`/opt/nvidia`." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:127 +msgid "" +"Configure the dynamic linker to look for and to cache shared libraries " +"under :file:`/opt/nvidia/lib` and :file:`/opt/nvidia/lib32` in addition " +"to the default paths." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:138 +msgid "Reload the dynamic linker run-time bindings and library cache." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:144 +msgid "" +"Create a Xorg configuration file to search for modules under " +":file:`/opt/nvidia` in addition to the default path." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:160 +msgid "Install the NVIDIA Drivers" +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:163 +msgid "" +"A terminal not running on */dev/tty1* is useful to view uninterrupted " +"installation progress. Switch to a secondary virtual terminal by pushing " +":command:`CTRL + ALT + F2` or remotely login over SSH." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:168 +msgid "Navigate into the directory where the NVIDIA installer was downloaded." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:175 +msgid "Run the installer with the advanced options below." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:199 +msgid "" +"The graphical interface may automatically start after the NVIDIA driver " +"is loaded. Return to the working terminal and log back in if necessary." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:203 +msgid "Confirm that the NVIDIA kernel modules are loaded." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:210 +msgid "" +"Run a |CL| system verification to restore files that the NVIDIA installer" +" likely deleted." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:219 +msgid "" +"The NVIDIA software places some files under the :file:`/usr` subdirectory" +" which are not managed by |CL| and conflict with the |CL| stateless " +"design." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:222 +msgid "" +"Although a limited version of :command:`swupd repair` is run above, other" +" uses of the :command:`swupd repair` command should be avoided with the " +"proprietary NVIDIA drivers installed." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:228 +msgid "Updating the NVIDIA Drivers" +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:230 +msgid "" +"The proprietary NVIDIA drivers are installed manually outside of " +":ref:`swupd ` and must be updated manually when needed." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:233 +msgid "" +"Updating the NVIDIA drivers follows the same steps as initial " +"installation, however the desktop environment must first be stopped so " +"that the drivers are not in use." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:237 +msgid "" +"Follow the steps in the `Download the NVIDIA Drivers for Linux`_ section " +"to get the latest NVIDIA drivers." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:240 +msgid "" +"Temporarily set the default boot target to the *multi-user*, which is a " +"non-graphical runtime." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:248 +msgid "" +"Reboot the system and log back in. It is normal for the graphical " +"environment not to start." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:251 +msgid "" +"Follow the steps in the `Install the NVIDIA Drivers`_ section to update " +"the NVIDIA drivers. This installation will overwrite the previous NVIDIA " +"drivers and files." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:255 +msgid "Set the default boot target back to the *graphical* target." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:262 +msgid "Reboot the system and log back in." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:264 +msgid "" +"Trigger a flatpak update which will download the runtime corresponding " +"with the new NVIDIA drivers for the flatpak apps that require it." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:273 +msgid "Uninstalling the NVIDIA Drivers" +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:275 +msgid "" +"The NVIDIA drivers and associated software can be uninstalled and nouveau" +" driver restored with the instructions in this section." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:278 +msgid "Remove the :file:`modprobe.d` file that prevents nouveau from loading." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:285 +msgid "Remove the :file:`xorg.conf.d` file that adds a search path for X modules." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:291 +msgid "Run the :command:`sudo /opt/nvidia/bin/nvidia-uninstall`" +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:293 +msgid "Follow the prompts on the screen and reboot the system." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:297 +msgid "Debugging Installation of NVIDIA Drivers" +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:299 +msgid "" +"The NVIDIA driver places installer and uninstaller logs under " +":file:`/var/log/nvidia-install` and :file:`/var/log/nvidia-uninstall`." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:302 +msgid "" +":file:`NVIDIA-Linux-x86_64-.run --advanced-options` shows many " +"parameters to control installation behavior." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:305 +msgid "" +":file:`NVIDIA-Linux-x86_64-.run --extract-only` extracts " +"installation files into a directory named :file:`NVIDIA-" +"Linux-x86_64-`." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:312 +msgid "Additional resources" +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:314 +msgid "" +"`Why aren't the NVIDIA Linux drivers open source? " +"`_" +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:316 +msgid "" +"`Where can I get support for NVIDIA Linux drivers? " +"`_" +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:318 +msgid "" +"`NVIDIA Accelerated Linux Graphics Driver Installation Guides " +"`_" +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/redis.po b/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/redis.po new file mode 100644 index 00000000..014f3d2e --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/redis.po @@ -0,0 +1,183 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/tutorials/redis.rst:4 +msgid "Run Redis on |CL-ATTR|" +msgstr "" + +#: ../../../source/tutorials/redis.rst:6 +msgid "" +"Redis is an in-memory key:value store designed for quick lookups, " +"accessible over the network. In this tutorial, you'll install redis and " +"launch a redis-server on |CL|, plus learn a few basic redis commands. We " +"also invite you to pull our `Clear Linux Redis instance`_ on dockerhub\\*" +" for application or infrastructure development." +msgstr "" + +#: ../../../source/tutorials/redis.rst:12 +msgid "" +"While the `redis data structure store`_ can serve as a NoSQL database for" +" a Web application, it's also easy to integrate in an existing stack. For" +" example, you could use the Redis caching layer for real-time responses " +"on a leaderboard in a gaming app. Redis offers many client libraries with" +" language-specific bindings for Python, Perl, Ruby, and more." +msgstr "" + +#: ../../../source/tutorials/redis.rst:19 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/tutorials/redis.rst:20 +msgid "Install the `redis-native` bundle in |CL|" +msgstr "" + +#: ../../../source/tutorials/redis.rst:21 +msgid "Install the `containers-basic` bundle in |CL| (only required in Example 2)" +msgstr "" + +#: ../../../source/tutorials/redis.rst:24 +msgid "Install the redis bundle" +msgstr "" + +#: ../../../source/tutorials/redis.rst:26 +msgid "In |CL|, find redis in the `redis-native` bundle." +msgstr "" + +#: ../../../source/tutorials/redis.rst:28 +msgid "Open a Terminal and login as an administrative user." +msgstr "" + +#: ../../../source/tutorials/redis.rst:30 +msgid "Add :file:`redis-native`." +msgstr "" + +#: ../../../source/tutorials/redis.rst:38 +msgid "If the bundle already exists, no action is required." +msgstr "" + +#: ../../../source/tutorials/redis.rst:41 +msgid "Start the redis-server" +msgstr "" + +#: ../../../source/tutorials/redis.rst:43 +msgid "" +"A `systemd` service unit is available to control the redis server. By " +"default, redis runs on port 6379." +msgstr "" + +#: ../../../source/tutorials/redis.rst:46 +msgid "Start the service." +msgstr "" + +#: ../../../source/tutorials/redis.rst:54 +msgid "To stop redis run :command:`systemctl stop redis`." +msgstr "" + +#: ../../../source/tutorials/redis.rst:56 +msgid "Assure the service is running." +msgstr "" + +#: ../../../source/tutorials/redis.rst:62 +msgid "Verify the redis-server sends a reply." +msgstr "" + +#: ../../../source/tutorials/redis.rst:70 +msgid "Expected output: `PONG`." +msgstr "" + +#: ../../../source/tutorials/redis.rst:72 +msgid "" +"Optional: If you wish to apply advanced configuration, copy the " +"`redis.conf` into /etc/ directory." +msgstr "" + +#: ../../../source/tutorials/redis.rst:79 +msgid "The redis-server is now ready to use on |CL|. Try some examples below." +msgstr "" + +#: ../../../source/tutorials/redis.rst:82 +msgid "Example 1: Use the redis-cli and try commands" +msgstr "" + +#: ../../../source/tutorials/redis.rst:84 +msgid "" +"One advantage of redis over other NoSQL databases is that developers can " +"easily access data structures like lists, sets, sorted sets, strings, and" +" hashes using collection operations commands similar to those found in " +"many programming languages. These exercises are inspired by `try redis " +"io`_." +msgstr "" + +#: ../../../source/tutorials/redis.rst:89 +msgid "After your `redis-server` is running, try some basic commands." +msgstr "" + +#: ../../../source/tutorials/redis.rst:91 +msgid "Enter the `redis-cli`. It provides syntax suggestions as you type." +msgstr "" + +#: ../../../source/tutorials/redis.rst:97 +msgid "SET key to hold string value. In the set create connections and increment." +msgstr "" + +#: ../../../source/tutorials/redis.rst:108 +msgid "If the key does not exist or hold a key value, `nil` is returned." +msgstr "" + +#: ../../../source/tutorials/redis.rst:126 +msgid "Create a `friends` list and insert new values at the end of the list." +msgstr "" + +#: ../../../source/tutorials/redis.rst:140 +msgid "Modify `friends` list, using a common slice method with a 0-index." +msgstr "" + +#: ../../../source/tutorials/redis.rst:162 +msgid "" +"Consider using a hash, a very useful data type, which maps string fields " +"and string values, offering multiple lookup methods." +msgstr "" + +#: ../../../source/tutorials/redis.rst:165 +msgid "Enter many user key:values with `HMSET`. Then try `HGET` and `HGETALL`." +msgstr "" + +#: ../../../source/tutorials/redis.rst:185 +msgid "Example 2: Run the |CL| redis docker image" +msgstr "" + +#: ../../../source/tutorials/redis.rst:187 +msgid "" +"We also provide a `Clear Linux Redis instance`_, which is updated " +"continuously and maintained by |CL| development." +msgstr "" + +#: ../../../source/tutorials/redis.rst:203 +msgid "Next Steps" +msgstr "" + +#: ../../../source/tutorials/redis.rst:205 +msgid "Follow the `redis quickstart tutorial`_ to expand potential uses." +msgstr "" + +#: ../../../source/tutorials/redis.rst:207 +msgid "Learn to :ref:`docker`." +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/smb/smb-desktop.po b/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/smb/smb-desktop.po new file mode 100644 index 00000000..6664ebc9 --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/smb/smb-desktop.po @@ -0,0 +1,110 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/tutorials/smb/smb-desktop.rst:4 +msgid "Connect to Windows\\* shared location from |CL-ATTR| desktop" +msgstr "" + +#: ../../../source/tutorials/smb/smb-desktop.rst:6 +msgid "" +"This tutorial explains how to access an existing shared drive on " +"Windows\\* via Server Message Block (SMB) / Common Internet File System " +"(CIFS) from the |CL| GNOME desktop. CIFS filesystem is generally used to" +" access shared storage locations, or share files." +msgstr "" + +#: ../../../source/tutorials/smb/smb-desktop.rst:12 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/tutorials/smb/smb-desktop.rst:14 +msgid "You have already `set up a shared location on Windows`_" +msgstr "" + +#: ../../../source/tutorials/smb/smb-desktop.rst:17 +msgid "Connect to Windows shared location with Nautilus" +msgstr "" + +#: ../../../source/tutorials/smb/smb-desktop.rst:19 +msgid "From the desktop, select :guilabel:`Files` from the application menu." +msgstr "" + +#: ../../../source/tutorials/smb/smb-desktop.rst:23 +msgid "GNOME Files is also known as `Nautilus`." +msgstr "" + +#: ../../../source/tutorials/smb/smb-desktop.rst:25 +msgid "In :guilabel:`Files`, select :guilabel:`Other Locations`." +msgstr "" + +#: ../../../source/tutorials/smb/smb-desktop.rst:31 +msgid "Figure 1: Files, Other Locations" +msgstr "" + +#: ../../../source/tutorials/smb/smb-desktop.rst:33 +msgid "" +"In the lower taskbar, beside :guilabel:`Connect to Server`, enter the " +"file-sharing address using the Windows sharing schema:" +msgstr "" + +#: ../../../source/tutorials/smb/smb-desktop.rst:44 +msgid "Figure 2: Connect to Server" +msgstr "" + +#: ../../../source/tutorials/smb/smb-desktop.rst:46 +msgid "" +"Optional: If there are issues with DNS, you can use an IP address in " +"place of the `servername` above. You must still specify the share." +msgstr "" + +#: ../../../source/tutorials/smb/smb-desktop.rst:49 +msgid "" +"Optional: On the Windows machine, in a CLI, retrieve the IP address by " +"entering the command:" +msgstr "" + +#: ../../../source/tutorials/smb/smb-desktop.rst:58 +msgid "If using the IP address, assure that it is accessible and secure." +msgstr "" + +#: ../../../source/tutorials/smb/smb-desktop.rst:60 +msgid "Select :guilabel:`Connect`." +msgstr "" + +#: ../../../source/tutorials/smb/smb-desktop.rst:62 +msgid "The server will request authentication, as shown in Figure 3." +msgstr "" + +#: ../../../source/tutorials/smb/smb-desktop.rst:68 +msgid "Figure 3: Authentication" +msgstr "" + +#: ../../../source/tutorials/smb/smb-desktop.rst:70 +msgid "" +"Log in with the same Windows system credentials for which you granted " +"access to the share." +msgstr "" + +#: ../../../source/tutorials/smb/smb-desktop.rst:73 +msgid "" +"Select the appropriate checkbox to save your credentials. Consider " +"carefully the security risks as a result of your selection." +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/smb/smb.po b/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/smb/smb.po new file mode 100644 index 00000000..caeb4b6f --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/smb/smb.po @@ -0,0 +1,152 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/tutorials/smb/smb.rst:4 +msgid "Enable simple file sharing with a Windows\\* machine using Samba\\*" +msgstr "" + +#: ../../../source/tutorials/smb/smb.rst:6 +msgid "" +"This tutorial describes how to enable simple file sharing from a system " +"running |CL-ATTR| to a Windows machine using Samba. For more advanced " +"sharing, refer to the `Samba guide`_." +msgstr "" + +#: ../../../source/tutorials/smb/smb.rst:11 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/tutorials/smb/smb.rst:13 +msgid "" +"This tutorial assumes you have installed |CL| on your host system. For " +"detailed instructions, follow the steps in :ref:`bare-metal-install-" +"desktop`." +msgstr "" + +#: ../../../source/tutorials/smb/smb.rst:16 +msgid "" +"Before you install any new packages, update |CL| with the following " +"command:" +msgstr "" + +#: ../../../source/tutorials/smb/smb.rst:24 +msgid "Set up file sharing" +msgstr "" + +#: ../../../source/tutorials/smb/smb.rst:26 +msgid "Log in and get root privileges." +msgstr "" + +#: ../../../source/tutorials/smb/smb.rst:32 +msgid "Add the storage-utils bundle, which includes the Samba binaries." +msgstr "" + +#: ../../../source/tutorials/smb/smb.rst:40 +msgid "The os-clr-on-clr bundle also includes the Samba binaries." +msgstr "" + +#: ../../../source/tutorials/smb/smb.rst:42 +msgid "" +"Create a configuration file called :file:`/etc/samba/smb.conf`. In this " +"example, `[Downloads]` enables a folder share with a specific user. " +"`[Documents]` enables a folder share with any user. The example assumes " +"that a user account `clearlinuxuser` already exists." +msgstr "" + +#: ../../../source/tutorials/smb/smb.rst:47 +msgid "" +"If `valid users` is not specified, then anyone with a user account on the" +" machine and with their Samba password already set can access the folder." +" However, the account is only able to access files and folders for which " +"they have appropriate permissions." +msgstr "" + +#: ../../../source/tutorials/smb/smb.rst:52 +msgid "" +"Use :command:`chown` or :command:`chmod` to change either the owner of " +"the file or the permissions to allow other users to access the file." +msgstr "" + +#: ../../../source/tutorials/smb/smb.rst:72 +msgid "Enable the Samba daemon to start every time." +msgstr "" + +#: ../../../source/tutorials/smb/smb.rst:79 +msgid "" +"Use :command:`smbpasswd` to add the initial password for the user account" +" to access the share. Be aware that Samba maintains its own list of " +"passwords for user accounts. The Samba password list can be different " +"than the password used to log in." +msgstr "" + +#: ../../../source/tutorials/smb/smb.rst:88 +msgid "" +"Setup is complete and a Windows machine on the same network can access " +"the shares. Windows uses the format :file:`\\\\\\\\[server IP or " +"hostname]\\\\folder` to access shares. Access the shares directly with " +"Windows Explorer or by mapping a network drive." +msgstr "" + +#: ../../../source/tutorials/smb/smb.rst:93 +msgid "" +"Use the IP address of the |CL| machine for an easy access method. If the " +"|CL| machine is behind an Active Directory domain controller or a DNS " +"server, use the hostname of the |CL| machine. For other ways to access " +"shares using a hostname instead of an IP address, see `Chapter 7 of the " +"Samba guide`_." +msgstr "" + +#: ../../../source/tutorials/smb/smb.rst:100 +msgid "Map |CL| drive in Windows" +msgstr "" + +#: ../../../source/tutorials/smb/smb.rst:102 +msgid "" +"Open Windows Explorer and click on the left sidebar on :guilabel:`This " +"PC` to change the options available at the top." +msgstr "" + +#: ../../../source/tutorials/smb/smb.rst:105 +msgid "" +"Click the :guilabel:`Map Network Drive` icon and enter the path in the " +"format: :file:`\\\\\\\\[server IP or hostname]\\\\[shared folder]`" +msgstr "" + +#: ../../../source/tutorials/smb/smb.rst:108 +msgid "" +"Check the box :guilabel:`Connect using different credentials`. Enter the " +"Samba user `clearlinuxuser` and the password created with " +":command:`smbpasswd`. See Figure 1 for details." +msgstr "" + +#: ../../../source/tutorials/smb/smb.rst:116 +msgid "Figure 1: Map a network drive in Windows Explorer." +msgstr "" + +#: ../../../source/tutorials/smb/smb.rst:118 +msgid "" +"When complete, Windows Explorer displays the share drive as shown in " +"Figure 2." +msgstr "" + +#: ../../../source/tutorials/smb/smb.rst:124 +msgid "Figure 2: View a share drive in Windows Explorer." +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/spark.po b/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/spark.po new file mode 100644 index 00000000..6652e2be --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/spark.po @@ -0,0 +1,176 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/tutorials/spark.rst:4 +msgid "Set up a standalone cluster system using Apache\\* Spark\\*" +msgstr "" + +#: ../../../source/tutorials/spark.rst:6 +msgid "" +"This tutorial describes how to install, configure, and run Apache Spark " +"on |CL-ATTR|. Apache Spark is a fast general-purpose cluster computing " +"system with the following features:" +msgstr "" + +#: ../../../source/tutorials/spark.rst:10 +msgid "Provides high-level APIs in Java\\*, Scala\\*, Python\\*, and R\\*." +msgstr "" + +#: ../../../source/tutorials/spark.rst:11 +msgid "Includes an optimized engine that supports general execution graphs." +msgstr "" + +#: ../../../source/tutorials/spark.rst:12 +msgid "" +"Supports high-level tools including Spark SQL, MLlib, GraphX, and Spark " +"Streaming." +msgstr "" + +#: ../../../source/tutorials/spark.rst:15 +msgid "" +"In this tutorial, you will install Spark on a single machine running the " +"master daemon and a worker daemon." +msgstr "" + +#: ../../../source/tutorials/spark.rst:19 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/tutorials/spark.rst:21 +msgid "" +"This tutorial assumes you have installed |CL| on your host system. For " +"detailed instructions on installing |CL| on a bare metal system, visit " +"the :ref:`bare metal installation guide `." +msgstr "" + +#: ../../../source/tutorials/spark.rst:25 +msgid "" +"Before you install any new packages, update |CL| with the following " +"command:" +msgstr "" + +#: ../../../source/tutorials/spark.rst:32 +msgid "Install Apache Spark" +msgstr "" + +#: ../../../source/tutorials/spark.rst:34 +msgid "" +"Apache Spark is included in the :file:`big-data-basic` bundle. To install" +" the framework, enter:" +msgstr "" + +#: ../../../source/tutorials/spark.rst:42 +msgid "Configure Apache Spark" +msgstr "" + +#: ../../../source/tutorials/spark.rst:44 +msgid "Create the configuration directory with the command:" +msgstr "" + +#: ../../../source/tutorials/spark.rst:50 +msgid "" +"Copy the default templates from :file:`/usr/share/defaults/spark` to " +":file:`/etc/spark` with the command:" +msgstr "" + +#: ../../../source/tutorials/spark.rst:57 +msgid "" +"Since |CL| is a stateless system, you should never modify the files under" +" the :file:`/usr/share/defaults` directory. The software updater " +"overwrites those files." +msgstr "" + +#: ../../../source/tutorials/spark.rst:62 +msgid "Copy the template files below to create custom configuration files:" +msgstr "" + +#: ../../../source/tutorials/spark.rst:70 +msgid "" +"Edit the :file:`/etc/spark/spark-env.sh` file and add the " +":envvar:`SPARK_MASTER_HOST` variable. Replace the example address below " +"with your localhost IP address. View your IP address using the " +":command:`hostname -I` command." +msgstr "" + +#: ../../../source/tutorials/spark.rst:79 +msgid "" +"This optional step enables the master's web user interface to view " +"information needed later in this tutorial." +msgstr "" + +#: ../../../source/tutorials/spark.rst:82 +msgid "" +"Edit the :file:`/etc/spark/spark-defaults.conf` file and update the " +"`spark.master` variable with the `SPARK_MASTER_HOST` address and port " +"`7077`." +msgstr "" + +#: ../../../source/tutorials/spark.rst:90 +msgid "Start the master server and a worker daemon" +msgstr "" + +#: ../../../source/tutorials/spark.rst:92 +msgid "Start the master server using:" +msgstr "" + +#: ../../../source/tutorials/spark.rst:98 +msgid "" +"Start one worker daemon and connect it to the master using the " +"`spark.master` variable defined earlier:" +msgstr "" + +#: ../../../source/tutorials/spark.rst:105 +msgid "" +"Open an internet browser and view the worker daemon information using the" +" master's IP address and port `8080`:" +msgstr "" + +#: ../../../source/tutorials/spark.rst:113 +msgid "Run the Spark wordcount example" +msgstr "" + +#: ../../../source/tutorials/spark.rst:115 +msgid "" +"Run the wordcount example using a file on your local host and output the " +"results to a new file with the following command:" +msgstr "" + +#: ../../../source/tutorials/spark.rst:122 +msgid "" +"Open an internet browser and view the application information using the " +"master's IP address and port `8080`:" +msgstr "" + +#: ../../../source/tutorials/spark.rst:129 +msgid "" +"View the results of the wordcount application in the " +":file:`~/Documents/results` file." +msgstr "" + +#: ../../../source/tutorials/spark.rst:131 +msgid "**Congratulations!**" +msgstr "" + +#: ../../../source/tutorials/spark.rst:133 +msgid "" +"You successfully installed and set up a standalone Apache Spark cluster. " +"Additionally, you ran a simple wordcount example." +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/tutorial-proxy.po b/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/tutorial-proxy.po new file mode 100644 index 00000000..777bc184 --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/tutorial-proxy.po @@ -0,0 +1,121 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/tutorials/tutorial-proxy.rst:4 +msgid "Setting up proxy" +msgstr "" + +#: ../../../source/tutorials/tutorial-proxy.rst:6 +msgid "" +"This tutorial shows you how to configure your system for use behind an " +"outbound proxy to access the Internet." +msgstr "" + +#: ../../../source/tutorials/tutorial-proxy.rst:9 +msgid "" +"|CL| :ref:`tooling` applications already benefit from the " +":ref:`autoproxy` feature." +msgstr "" + +#: ../../../source/tutorials/tutorial-proxy.rst:17 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/tutorials/tutorial-proxy.rst:19 +msgid "" +"This tutorial assumes you have installed |CL| on your host system. For " +"detailed instructions on installing |CL| on a bare metal system, visit " +"the :ref:`bare metal installation guide `." +msgstr "" + +#: ../../../source/tutorials/tutorial-proxy.rst:24 +msgid "Shells and programs in a desktop session" +msgstr "" + +#: ../../../source/tutorials/tutorial-proxy.rst:27 +msgid "Terminal" +msgstr "" + +#: ../../../source/tutorials/tutorial-proxy.rst:29 +msgid "Add the following to your ~/.bashrc:" +msgstr "" + +#: ../../../source/tutorials/tutorial-proxy.rst:45 +msgid "wget" +msgstr "" + +#: ../../../source/tutorials/tutorial-proxy.rst:47 +msgid "Run this command to enable downloading from websites from the terminal:" +msgstr "" + +#: ../../../source/tutorials/tutorial-proxy.rst:59 +msgid "System service (Docker)" +msgstr "" + +#: ../../../source/tutorials/tutorial-proxy.rst:61 +msgid "" +"For Docker (and other services that use systemd), you can follow these " +"steps to configure and check proxy settings:" +msgstr "" + +#: ../../../source/tutorials/tutorial-proxy.rst:65 +msgid "Be sure to use :command:`sudo`, as you will need elevated permissions." +msgstr "" + +#: ../../../source/tutorials/tutorial-proxy.rst:67 +msgid "" +"Create :file:`/etc/systemd/system/docker.service.d` directory to host " +"configuration information for the Docker service." +msgstr "" + +#: ../../../source/tutorials/tutorial-proxy.rst:70 +msgid "" +"Create :file:`/etc/systemd/system/docker.service.d/http-proxy.conf` and " +"add:" +msgstr "" + +#: ../../../source/tutorials/tutorial-proxy.rst:78 +msgid "Load the changes and restart the service:" +msgstr "" + +#: ../../../source/tutorials/tutorial-proxy.rst:85 +msgid "Verify that changes have loaded:" +msgstr "" + +#: ../../../source/tutorials/tutorial-proxy.rst:97 +msgid "" +"This process enables the ability to successfully run ``docker pull``. " +"Containers themselves must be configured independently." +msgstr "" + +#: ../../../source/tutorials/tutorial-proxy.rst:101 +msgid "git over ssh" +msgstr "" + +#: ../../../source/tutorials/tutorial-proxy.rst:103 +msgid "Add the following to your :file:`~/.ssh/config`:" +msgstr "" + +#: ../../../source/tutorials/tutorial-proxy.rst:114 +msgid "" +"Though netcat is included with Clear Linux, it is not the BSD version, " +"which is the one usually used to enable git over ssh." +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/tutorials.po b/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/tutorials.po new file mode 100644 index 00000000..3505b4d2 --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/tutorials.po @@ -0,0 +1,28 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/tutorials/tutorials.rst:4 +msgid "Tutorials" +msgstr "" + +#: ../../../source/tutorials/tutorials.rst:6 +msgid "Explore our tutorials to discover what you can do with |CL|!" +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/wordpress/web-server-install.po b/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/wordpress/web-server-install.po new file mode 100644 index 00000000..1b6c01b5 --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/wordpress/web-server-install.po @@ -0,0 +1,547 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:4 +msgid "Set up a LAMP web server on |CL-ATTR|" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:6 +msgid "" +"This tutorial provides instructions on how to set up a :abbr:`LAMP " +"(Linux, Apache, MySQL, PHP)` web server on |CL-ATTR| and how to use " +"phpMyAdmin\\* to manage an associated database. Note that this tutorial " +"installs MariaDB\\*, which is a drop-in replacement for MySQL\\*." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:11 +msgid "" +"In order to create a web server using |CL| as the host OS, your host " +"system must be running |CL|. This tutorial assumes you have installed " +"|CL| on your host system. For detailed instructions on installing |CL| on" +" a bare metal system, visit :ref:`bare-metal-install-desktop`." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:16 +msgid "This tutorial covers:" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:22 +msgid "Install Apache" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:24 +msgid "" +"Apache is an open source HTTP web server application that can run on " +"several operating systems, including |CL|. Go to the `Apache HTTP Server " +"Project`_ for more information." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:29 +msgid "Install the web-server-basic bundle" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:31 +msgid "" +"The **web-server-basic** bundle contains the packages needed to install " +"the Apache software bundle on |CL|." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:36 +msgid "" +"Before you install new packages, update the |CL| with the following " +"console command:" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:43 +msgid "To install the bundle, enter the following command:" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:50 +msgid "To start the Apache service, enter the following commands:" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:57 +msgid "" +"To verify that the Apache server application is running, open a web " +"browser and navigate to: \\http://localhost." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:60 +msgid "" +"If the service is running, a confirmation message will appear, similar to" +" the message shown in figure 1." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:67 +msgid "`Figure 1: Confirmation that the Apache service is running.`" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:71 +msgid "" +"The :file:`index.html` file is located in the :file:`/var/www/html` " +"directory of your host system. You will copy this file into a new " +"location after you modify the configuration in the next step." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:76 +msgid "Change the default configuration and data directory" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:78 +msgid "" +"|CL| is designed to be a `stateless`_ operating system which means that " +"you must create an optional configuration file to override the default " +"values. The default location of the Apache configuration file, " +":file:`httpd.conf`, is located in the :file:`/usr/share/defaults/httpd` " +"directory. |CL| can override this directory as part of the stateless " +"paradigm. This default :file:`.conf` file includes the following " +"directives that allow for additional locations of configuration " +"definitions:" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:94 +msgid "" +"In this section you will define your own httpd.conf file to override the " +"default values, and define a custom DocumentRoot for your web server." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:97 +msgid "Create the directory structure for :file:`/etc/httpd/conf.d`." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:103 +msgid "" +"Create and open the :file:`httpd.conf` file in your new " +":file:`/etc/httpd/conf.d` directory." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:110 +msgid "" +"Add the ``DocumentRoot`` variable to :file:`httpd.conf`. Copy the content" +" listed below into the new :file:`/etc/httpd/conf.d/httpd.conf` file." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:128 +msgid "" +"Create a new ``DocumentRoot`` directory structure and copy the " +":file:`index.html` file from :file:`/var/www/html` directory to " +":file:`/var/www/tutorial`." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:138 +msgid "" +"To ensure a successful setup, edit the new :file:`index.html` file with " +"an obvious change." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:145 +msgid "For example, we changed the default message" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:147 +msgid "\"It works!\"" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:149 +msgid "to" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:151 +msgid "\"It works from its new location!\"" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:153 +#: ../../../source/tutorials/wordpress/web-server-install.rst:171 +msgid "Stop and then restart ``httpd.service``." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:160 +msgid "" +"Go to \\http://localhost to view the new screen. You should see your " +"updated default message from step 5." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:163 +msgid "" +"Change the configuration back to the default :file:`/var/www/html` " +"location. To do this, edit the :file:`/etc/httpd/conf.d/httpd.conf` file " +"again and replace any instance of /var/www/tutorial with /var/www/html." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:178 +msgid "" +"Go to \\http://localhost and verify that you can see the default screen " +"again." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:181 +msgid "Optionally, remove the /var/www/tutorial directory you previously created." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:189 +msgid "Install PHP" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:191 +msgid "" +"An Apache installation allows you to display static web pages. Enabling " +"PHP allows you to generate and display dynamic web pages. To add this " +"functionality to your web server, install PHP on your system." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:195 +msgid "To get the php components, enter the following command:" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:201 +msgid "To enable PHP, enter the following commands:" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:209 +msgid "After restarting the Apache service, test your PHP installation." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:211 +msgid "" +"Create and open a file named :file:`phpinfo.php` in the " +":file:`/var/www/html/` directory using a text editor." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:218 +msgid "Add the following line to the file:" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:224 +msgid "Go to \\http://localhost/phpinfo.php." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:226 +msgid "Verify that the PHP information screen appears, similar to figure 2:" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:232 +msgid "`Figure 2: The PHP information screen.`" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:234 +msgid "" +"If the PHP information screen is displayed, you have successfully " +"installed the PHP components and are now ready to add your database " +"application to complete your LAMP server implementation." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:239 +msgid "Install MariaDB" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:241 +msgid "" +"Install MariaDB to store content. MariaDB is a drop-in replacement for " +"MySQL and is available in the database-basic |CL| bundle." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:244 +msgid "To install the database-basic bundle, enter the following command:" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:250 +msgid "To start MariaDB after it is installed, enter the following commands:" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:257 +msgid "To check the status of MariaDB, enter the following command:" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:263 +msgid "Press :kbd:`Ctrl` + :kbd:`c` or :kbd:`q` to exit." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:266 +msgid "Security hardening" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:268 +msgid "" +"With the MariaDB service running, we can perform some basic security " +"hardening." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:271 +msgid "To add a basic layer of security, enter the following command:" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:277 +msgid "Respond to the questions that appear in the script below." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:281 +msgid "Our suggested responses follow each question." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:287 +msgid "" +"In order to secure MariaDB, we need the current password for the root " +"user. For a newly installed MariaDB without a set root password, the " +"password is blank. Thus, press enter to continue." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:299 +msgid "" +"Set the root password to prevent unauthorized MariaDB root user logins. " +"To set a root password, type 'y'." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:306 +msgid "Type the desired password for the root user." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:312 +msgid "Re-type the desired password for the root user." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:322 +msgid "" +"By default, a MariaDB installation includes an anonymous user that allows" +" anyone to log in to MariaDB without a user account. This anonymous user " +"is intended only for testing and for a smoother installation. To remove " +"the anonymous user and make your database more secure, type 'y'." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:332 +msgid "" +"Normally, root should only be allowed to connect from the 'localhost'. " +"This ensures that someone cannot guess the root password from the " +"network. To block any remote root login, type 'y'." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:341 +msgid "" +"By default, MariaDB includes a database named 'test' which anyone can " +"access. This database is also intended only for testing and should be " +"removed. To remove the test database, type 'y'." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:353 +msgid "" +"Reloading the privilege tables ensures all changes made so far take " +"effect immediately. To reload the privilege tables, type 'y'." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:362 +msgid "" +"All done! If you've completed all of the above steps, your MariaDB " +"installation should now be secure." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:365 +msgid "Thanks for using MariaDB!" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:367 +msgid "" +"The MariaDB installation is complete, and we can now install phpMyAdmin " +"to manage the databases." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:371 +msgid "Install phpMyAdmin" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:373 +msgid "" +"The web-based tool phpMyAdmin is a straightforward way to manage MySQL or" +" MariaDB databases. Visit the `phpMyAdmin`_ website for the complete " +"discussion regarding phpMyAdmin, its documentation, the latest downloads," +" and other useful information." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:378 +msgid "In this tutorial, we use the latest English version of phpMyAdmin." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:380 +msgid "" +"Download the :file:`phpMyAdmin--english.tar.gz` file to your " +":file:`~/Downloads` directory. Here, refers to the current " +"version available at https://www.phpmyadmin.net/downloads." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:386 +msgid "This example downloads and uses version 4.6.4." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:388 +msgid "" +"Once the file has been successfully downloaded and verified, decompress " +"the file and directories into the Apache web server document root " +"directory. Use the following commands:" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:397 +msgid "" +"To keep things simple, rename the newly created " +":file:`phpMyAdmin-4.6.4-english` directory to :file:`phpMyAdmin` with the" +" following command:" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:406 +msgid "Use phpMyAdmin to manage a database" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:408 +msgid "" +"You can use the phpMyAdmin web-based tool to manage your databases. " +"Follow the steps below for setting up a database called \"WordPress\"." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:411 +msgid "" +"Verify that a successful installation of all LAMP server components by " +"going to \\http://localhost/phpMyAdmin. See figure 3." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:414 +msgid "" +"Log in with your root userid and the password you set up when you ran the" +" :ref:`mysql_secure_installation command `. Enter your " +"credentials and select :guilabel:`Go` to log in:" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:422 +msgid "`Figure 3: The phpMyAdmin login page.`" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:424 +msgid "" +"Verify a successful login by confirming that the main phpMyAdmin page " +"displays, as shown in figure 4:" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:431 +msgid "`Figure 4: The phpMyAdmin dashboard.`" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:433 +msgid "" +"Set up a database by selecting the :guilabel:`Databases` tab, as shown in" +" figure 5." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:436 +msgid "" +"Enter `WordPress` in the text field below the :guilabel:`Create database`" +" label." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:439 +msgid "" +"Select the :guilabel:`utf8_unicode_ci` option from the " +":guilabel:`Collation` drop-down menu beside the text field." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:442 +msgid "Click :guilabel:`Create`." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:448 +msgid "`Figure 5: The Databases tab.`" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:450 +msgid "" +"Set up user permissions by selecting the :guilabel:`WordPress` database " +"located in the left panel. See figure 6." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:453 +msgid "Select the :guilabel:`Privileges` tab. Figure 6 shows its contents." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:459 +msgid "`Figure 6: The Privileges tab.`" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:461 +msgid "" +"Click :guilabel:`Add user account` located at the bottom of the " +":guilabel:`Privileges` tab. The `Add user account` page appears, as shown" +" in figure 7." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:469 +msgid "`Figure 7: The User accounts tab.`" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:471 +msgid "" +"Enter the following information in the corresponding fields that appear " +"in figure 7 above:" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:474 +msgid "User name: wordpressuser" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:476 +msgid "Password: wp-example" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:478 +msgid "Re-type: wp-example" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:480 +msgid "" +"In the `Database for user account` section, select :guilabel:`Grant all " +"privileges on database “WordPress”.`" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:483 +msgid "At the bottom of the page, click :guilabel:`Go`." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:485 +msgid "If successful, you should see the screen shown in figure 8:" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:491 +msgid "`Figure 8: The user wordpressuser is successfully added.`" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:493 +msgid "**Congratulations!**" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:495 +msgid "" +"You have now created a fully functional LAMP server along with a " +"WordPress\\*-ready database using |CL|." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:499 +msgid "Next steps" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:501 +msgid "" +"Next, add the WordPress components needed to host a WordPress website " +"with :ref:`wp-install`." +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/wordpress/wordpress.po b/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/wordpress/wordpress.po new file mode 100644 index 00000000..eb52bf55 --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/wordpress/wordpress.po @@ -0,0 +1,51 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/tutorials/wordpress/wordpress.rst:4 +msgid "WordPress\\* on |CL-ATTR|" +msgstr "" + +#: ../../../source/tutorials/wordpress/wordpress.rst:6 +msgid "" +"This tutorial describes how to setup a web server to host a WordPress\\* " +"site on a |CL-ATTR| system. The tutorial is split into two sections:" +msgstr "" + +#: ../../../source/tutorials/wordpress/wordpress.rst:9 +msgid ":ref:`web-server-install`" +msgstr "" + +#: ../../../source/tutorials/wordpress/wordpress.rst:11 +msgid ":ref:`wp-install`" +msgstr "" + +#: ../../../source/tutorials/wordpress/wordpress.rst:13 +msgid "" +"If you already have a |CL| based :abbr:`LAMP (Linux, Apache, MySQL, PHP)`" +" web server, you can skip ahead to the second section of this tutorial." +msgstr "" + +#: ../../../source/tutorials/wordpress/wordpress.rst:18 +msgid "" +"This tutorial is for development and testing purposes only. Additional " +"steps are required to secure production systems. Those steps are beyond " +"the scope of this tutorial." +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/wordpress/wp-install.po b/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/wordpress/wp-install.po new file mode 100644 index 00000000..a4d39f2f --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/wordpress/wp-install.po @@ -0,0 +1,293 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/tutorials/wordpress/wp-install.rst:4 +msgid "Set up WordPress\\* on a LAMP web server" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:6 +msgid "" +"This tutorial shows you how to install the WordPress\\* components on " +"your |CL| :abbr:`LAMP (Linux, Apache, MySQL, PHP)` server. At the end of " +":ref:`web-server-install`, you created a WordPress-ready database using " +"phpMyAdmin\\* and MariaDB\\*. Now that the LAMP server is up and running," +" you can add the WordPress components needed to host a WordPress website " +"on your system." +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:13 +msgid "Before you begin" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:15 +msgid "" +"This tutorial assumes that you have successfully completed :ref:`bare-" +"metal-install-desktop` and you have :ref:`web-server-install`." +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:19 +msgid "Create a WordPress server" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:21 +msgid "" +"WordPress can be installed in a variety of ways. These instructions are " +"written for users who have followed our instructions for installing " +"phpMyAdmin when they :ref:`set up a LAMP web server `. Note that all steps in this tutorial have been tested using a " +"NUC6i5SYH Intel® NUC. Visit the `NUC6i5SYH product page`_ for detailed " +"information." +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:27 +msgid "" +"Numerous online articles are available to help you name your website and " +"acquire the necessary certificates. Those tasks are beyond the scope of " +"this tutorial." +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:30 +msgid "" +"You can take several actions to harden your website from attacks. The " +"security of your website and the data it contains are complex and ever-" +"evolving tasks. Prioritize security if you plan to expose your website to" +" the outside world. This tutorial does not address security measures that" +" you can take to harden your site but we strongly encourage you to take " +"action." +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:38 +msgid "" +"Throughout this tutorial, we reference your website name as " +"." +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:42 +msgid "Download WordPress and manage directories" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:44 +msgid "" +"For this tutorial, you will create a WordPress blog that can be accessed " +"at: \\http:///blog." +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:47 +msgid "" +"To accomplish this setup, you must add WordPress components to the " +":file:`/var/www/html/blog` directory." +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:50 +msgid "Follow these steps:" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:53 +msgid "Navigate to the top level of the website’s root directory:" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:59 +msgid "Download the latest version of WordPress:" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:65 +msgid "Extract all files and directories from the downloaded file:" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:71 +msgid "Rename the top-level WordPress directory to “blog”:" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:77 +msgid "Remove the downloaded tar file:" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:84 +msgid "Set up WordPress with web-based GUI" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:86 +msgid "" +"Recall that you created a database and user when you installed phpMyAdmin" +" when you set up a |CL| based :ref:`web server `. " +"Next, you must connect WordPress to the database and install WordPress." +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:90 +msgid "" +"To continue with the setup, go to: \\http:///blog/wp-" +"admin/install.php. The WordPress language option screen appears, as shown" +" in figure 1." +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:93 +msgid "Select :guilabel:`English` and click :guilabel:`Continue`." +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:99 +msgid "`Figure 1: WordPress language selection screen.`" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:102 +msgid "" +"The WordPress installation continues until the Welcome screen appears, as" +" shown in figure 2:" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:109 +msgid "`Figure 2: WordPress Welcome screen.`" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:111 +msgid "Click :guilabel:`Let’s go!`." +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:113 +msgid "" +"Enter database connection specifics in the screen that appears, as shown " +"in figure 3 below." +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:116 +msgid "Database name: WordPress" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:117 +msgid "Database username: wordpressuser" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:118 +msgid "" +"Database password: wp-example (asterisks will not appear in the text " +"box)" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:119 +msgid "Database host: localhost" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:120 +msgid "Table prefix: wp\\_" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:126 +msgid "" +"`Figure 3: Information necessary for WordPress to connect to the " +"database.`" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:128 +msgid "Click :guilabel:`Submit` to complete the setup." +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:130 +msgid "" +"Figure 4 shows the confirmation screen that verifies a successful setup. " +"WordPress is connected to the MariaDB database." +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:137 +msgid "`Figure 4: Successful WordPress connection.`" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:139 +msgid "" +"Click :guilabel:`Run the install`. The installer runs until WordPress is " +"fully installed on your system." +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:143 +msgid "Complete successful login" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:145 +msgid "" +"Once the installation is complete, you can name your blog and create a " +"WordPress username and password. See figure 5." +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:152 +msgid "`Figure 5: WordPress site information screen.`" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:155 +msgid "Enter all required information." +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:156 +msgid "Click :guilabel:`Install WordPress`." +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:157 +msgid "" +"Verify that the initial login screen appears once the installation is " +"complete. See figure 6:" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:163 +msgid "`Figure 6: The WordPress login screen.`" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:165 +msgid "Enter your WordPress username and password." +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:166 +msgid "Check :guilabel:`Remember me` to save your credentials." +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:167 +msgid "Click :guilabel:`Log in`." +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:169 +msgid "Figure 7 shows the WordPress dashboard after a successful login:" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:175 +msgid "`Figure 7: The WordPress dashboard.`" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:177 +msgid "You are ready to go!" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:179 +msgid "" +"To check out your blog as it is seen by the outside world, enter: " +"\\http:///blog on your browser. Figure 8 shows the result:" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:186 +msgid "`Figure 8: Your WordPress blog.`" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:188 +msgid "**Congratulations, your WordPress blog is up and running!**" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:190 +msgid "You have successfully installed WordPress on a host system." +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:192 +msgid "Add new entries to your blog and share them with the world using |CL|!" +msgstr "" + diff --git a/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/yubikey-u2f.po b/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/yubikey-u2f.po new file mode 100644 index 00000000..5a4c8193 --- /dev/null +++ b/localization/po/locale/zh_CN/LC_MESSAGES/tutorials/yubikey-u2f.po @@ -0,0 +1,159 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* +# Project Docs package. +# FIRST AUTHOR , 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.7.0\n" + +#: ../../../source/tutorials/yubikey-u2f.rst:4 +msgid "Enable YubiKey U2F Support" +msgstr "" + +#: ../../../source/tutorials/yubikey-u2f.rst:6 +msgid "" +"YubiKey\\* is a USB security token manufactured by `Yubico`_. Depending " +"on the model, a YubiKey can support different authentication protocols " +"including: One-Time Password (OTP), Smart card, FIDO2, and Universal 2nd " +"Factor (U2F)." +msgstr "" + +#: ../../../source/tutorials/yubikey-u2f.rst:10 +msgid "" +"These instructions will go over configuring a YubiKey for U2F " +"authentication through a web browser on a |CL-ATTR| system." +msgstr "" + +#: ../../../source/tutorials/yubikey-u2f.rst:13 +msgid "" +"A list of `websites accepting U2F authentication with the YubiKey`_ is " +"available on the Yubico website. See the Yubico website to learn more " +"about the Yubikey: https://www.yubico.com/getstarted/meet-the-yubikey/" +msgstr "" + +#: ../../../source/tutorials/yubikey-u2f.rst:26 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/tutorials/yubikey-u2f.rst:28 +msgid "This tutorial assumes you have:" +msgstr "" + +#: ../../../source/tutorials/yubikey-u2f.rst:30 +msgid "|CL| installed and running." +msgstr "" + +#: ../../../source/tutorials/yubikey-u2f.rst:32 +msgid "Mozilla Firefox installed on |CL|." +msgstr "" + +#: ../../../source/tutorials/yubikey-u2f.rst:34 +msgid "A YubiKey." +msgstr "" + +#: ../../../source/tutorials/yubikey-u2f.rst:39 +msgid "Enable Linux udev rules for YubiKey" +msgstr "" + +#: ../../../source/tutorials/yubikey-u2f.rst:41 +msgid "" +":command:`udev` is the Linux device manager which handles events when USB" +" devices are added and removed. Custom rules needs to be created to " +"properly identify the YubiKey and provide applications access." +msgstr "" + +#: ../../../source/tutorials/yubikey-u2f.rst:45 +msgid "" +"These instructions are derived from: `Yubico support article Using Your " +"U2F YubiKey with Linux " +"`_" +msgstr "" + +#: ../../../source/tutorials/yubikey-u2f.rst:50 +msgid "Create the udev rules folder under :file:`/etc`" +msgstr "" + +#: ../../../source/tutorials/yubikey-u2f.rst:57 +msgid "Download the u2f rules from the Yubico GitHub:" +msgstr "" + +#: ../../../source/tutorials/yubikey-u2f.rst:64 +msgid "" +"Move the downloaded :file:`70-u2f.rules` file into the :file:`/etc/udev` " +"folder" +msgstr "" + +#: ../../../source/tutorials/yubikey-u2f.rst:72 +msgid "" +"The udev rules should automatically be reloaded. However, they can be " +"manually reloaded or reboot the system:" +msgstr "" + +#: ../../../source/tutorials/yubikey-u2f.rst:80 +msgid "Plugin and validate the YubiKey appears as a USB device:" +msgstr "" + +#: ../../../source/tutorials/yubikey-u2f.rst:89 +msgid "Enable U2F in Mozilla Firefox" +msgstr "" + +#: ../../../source/tutorials/yubikey-u2f.rst:91 +msgid "" +"Firefox comes with U2F web authentication support disabled by default. " +"U2F needs to be enabled in the advanced settings." +msgstr "" + +#: ../../../source/tutorials/yubikey-u2f.rst:94 +msgid "" +"These instructions are derived from: `Yubico support article Enabling U2F" +" support in Mozilla Firefox " +"`_" +msgstr "" + +#: ../../../source/tutorials/yubikey-u2f.rst:99 +msgid "Launch Mozilla Firefox" +msgstr "" + +#: ../../../source/tutorials/yubikey-u2f.rst:101 +msgid "" +"In the URL bar, type :command:`about:config` to access the advanced " +"settings." +msgstr "" + +#: ../../../source/tutorials/yubikey-u2f.rst:108 +msgid "Click the *I accept the risk!* button to continue to the advanced settings" +msgstr "" + +#: ../../../source/tutorials/yubikey-u2f.rst:110 +msgid "" +"Search for the :command:`security.webauth.u2f` and double-click it so " +"*Value* becomes **true**." +msgstr "" + +#: ../../../source/tutorials/yubikey-u2f.rst:114 +msgid "" +"Your YubiKey is now usable on |CL| with Mozilla Firefox with websites " +"that support U2F authentication." +msgstr "" + +#: ../../../source/tutorials/yubikey-u2f.rst:119 +msgid "Related topics" +msgstr "" + +#: ../../../source/tutorials/yubikey-u2f.rst:121 +msgid "|CL| :ref:`security`" +msgstr "" + diff --git a/localization/pot/locale/.doctrees/FAQ/faq.doctree b/localization/pot/locale/.doctrees/FAQ/faq.doctree new file mode 100644 index 0000000000000000000000000000000000000000..5f7d84d8b1f483f1d3ba9b29d267049d5844e264 GIT binary patch literal 44258 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 literal 0 HcmV?d00001 diff --git a/localization/pot/locale/.doctrees/concepts/bundles-about.doctree b/localization/pot/locale/.doctrees/concepts/bundles-about.doctree new file mode 100644 index 0000000000000000000000000000000000000000..174cc1bb9c95f9a1c79a42eac0baa3328ed1b5ed GIT binary patch literal 10686 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 L{Z1~op;`EUL!J7j literal 0 HcmV?d00001 diff --git a/localization/pot/locale/.doctrees/concepts/security.doctree b/localization/pot/locale/.doctrees/concepts/security.doctree new file mode 100644 index 0000000000000000000000000000000000000000..7f7813c39e71231576972b212f412e60bd8a3b07 GIT binary patch literal 41067 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 NIBJ(Ej)c6i{{xK;As_$% literal 0 HcmV?d00001 diff --git a/localization/pot/locale/.doctrees/concepts/swupd-about.doctree b/localization/pot/locale/.doctrees/concepts/swupd-about.doctree new file mode 100644 index 0000000000000000000000000000000000000000..df5a46fadea70b9a3216a4fffb3078c9e7a300c2 GIT binary patch literal 27152 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 EAC%B1vj6}9 literal 0 HcmV?d00001 diff --git a/localization/pot/locale/.doctrees/concepts/telemetry-about.doctree b/localization/pot/locale/.doctrees/concepts/telemetry-about.doctree new file mode 100644 index 0000000000000000000000000000000000000000..bb2aeb19c7c7f1866977f2bf111c4e190d1a17e7 GIT binary patch literal 21980 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 literal 0 HcmV?d00001 diff --git a/localization/pot/locale/.doctrees/disclaimers.doctree b/localization/pot/locale/.doctrees/disclaimers.doctree new file mode 100644 index 0000000000000000000000000000000000000000..a3507adb95bf073eec4e5703abb82d8f0fdd8b50 GIT binary patch literal 6026 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 literal 0 HcmV?d00001 diff --git a/localization/pot/locale/.doctrees/documentation_license.doctree b/localization/pot/locale/.doctrees/documentation_license.doctree new file mode 100644 index 0000000000000000000000000000000000000000..7b2e25bf1c0d6c092b38b994b769486d17cd2f13 GIT binary patch literal 5346 zcmeHL>uwxL74{`#dnWP3@g~a(lBh6ZHw!y6LF|vnN+Q{Vkb)B@N^EO|1g)CxnyFg% zjjC#UENvwC5lE!^MuwimgH7QX6+k;hbO)~q04p-z9DzWa;xd3wtWZWquJfl`GSJ9giItAmqQdvM)#?rlIevL2lMZSz( z^Ea_o{uXHXb^Na5cN0H?t(K7Zt%SeL7fstur1h3lK;1W&N=c@6->fO7wFpN@K36P? zEE^4F1p0>_6dqAOf%B?#)X+lvEZsNF5eu25I+FIqqncswL5!D+xiM@bJjQFQcuk~_ zw{;!4j`h49h0zAk$+OgK4x>nik!H2Qy+yOGn5)AiaK`q4Qb^hgff_qDePOAB%5UTn z=Ce%VoC?jI^88`3SWplGE|54BsU4r4FhAW}GA)iwSH3pP6*d;|n5H^W6KTU^gJcAA z?Ncg4cnmX;8Usk0T7oEcQ|U|77Ga!dhlOtBVHT*A=wathM+rP%pB{9Wl#z5e4LzSp zdwkfNi$lL0C3;#*Bh!+a8#5y_Dmd`vN+$pshX+6G+=21wfti(N!)`#qODGqypD};k zr{O4}BL;VSh=e7S9rK1n?U0`1u^1GA83BImn-w<-hu9O zjFn8xTrbV&C_>vHm>yR5F;Jx50t|^AL~d zM-*pFL)$gikLa<(0xEomdgz$4a`4hDv+yL{PX=Z!PXmZMutgQ61@b z3#1T#CD2$#AL3jqM_-*nTa4Bq&mRZw-_OPU$z0rxnv0kE{W|7vWtjWt@%B-2DFQ;O z3hPFWbuv=Jd43Ew|2P-pr*ko`)-Z1NcMcC8Jl^l@?)3K#pL7nN?bb2>A;WxbN^K7< zQvB^ES#2aVBqBiJAbDSkBqUYm(Wl}03N zv?97o$S&#=Nn&z_+Ymv+LCJtYJ;S=lWz1IFZsoi2>qGLdA*h|ve-8uB_D^%U@Y!50 zG;3VAS#sfU|Iy>a{R2ye&Xb*|2M;Vmp4E8q!4+IK>(rRPVjfNQBTa^h@1NmP7eq;D zPkfpp<=GBq3FStK?-7?Kid7u3WsImZg_=rS&d|mr0m-@@MFf}#_Bwp#%NpA zd&DZvOy)eLBLrWi5Hk{KFf~1(;i>j-v0eP z)hPYHv@4MQuXBUs^SME?UJH_?qp1XW!$!f;ZjI^WNJyPfe>WOeDXBG))jV34!ouI? zBKl%3qRkqj<)ht4wb(Ro=a3%F$3z~{5ZPH)*fuBF%CQ>8d84rX_qkZVoQw791Z!e8 zr+TOSMxM1+uAlN3_VV7b_xhB7jBAD8iRFhW|HLf0ZpuG3n}~fIe;s>YN#ahT1}Xo{ z+$_aKMzQkFBv@1axmh~F%rDIH$skDimx=8Fhoy0|Vs9+?c<>w_53I0wZrW#k7NfU) zp7OUax?XRnv-#_;z-7@k(9n@f?4_rimp7AjNj?uPCfe#?5cyS)o=v?vBdlgOr!+Q8 ztJ$K>DgC&-N^Nh;*JgDUBMW8?SF&na8;-(F2A@e3Xpt+dZeCO3iNpM I{PRTjALP->wg3PC literal 0 HcmV?d00001 diff --git a/localization/pot/locale/.doctrees/environment.pickle b/localization/pot/locale/.doctrees/environment.pickle new file mode 100644 index 0000000000000000000000000000000000000000..67d02f30e81020df1fcc9313b23c9ea8bf4f3c01 GIT binary patch literal 416014 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 literal 0 HcmV?d00001 diff --git a/localization/pot/locale/.doctrees/get-started/bootable-usb/bootable-usb.doctree b/localization/pot/locale/.doctrees/get-started/bootable-usb/bootable-usb.doctree new file mode 100644 index 0000000000000000000000000000000000000000..3e6cbd0d8a3c8e2a9468e51063f7e98760a37e8c GIT binary patch literal 41062 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 literal 0 HcmV?d00001 diff --git a/localization/pot/locale/.doctrees/get-started/get-started.doctree b/localization/pot/locale/.doctrees/get-started/get-started.doctree new file mode 100644 index 0000000000000000000000000000000000000000..71f5b3a8fe4bfd23094ba4e39943e4244ab0b974 GIT binary patch literal 12146 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%0AXNjk6e=$6M~1!blyToq+0+rjZXgn~jI4JBvq0fC z<9$9qn&~{fHb|78QO_h0k_aS;l!7z=Kpro@%Z@|)3-IKxgo@ihUz{SK-yu!-Mlh%>~sowyROfGlc=+NwdBwRBZQ zc6ZYz(GlquWv)qITk6}wrMfKv)hmYRCfJE|FLaO{>2D8VpX#+QuoEcv z)Mx7VO4VEj%}Z*>|-Z(}HaV-A4&`ZF6bQWe4acbd9UAwH_qWmT$4wedSZK7J+`2`cIhwFS#V~OTkyZVqx6%4gdtb%Ld=4&igHtkTW z`vf&li=J3s@f6Fu)8MTS zEbxhxNttYcpGs*V=K`Nc)kzmP8ppsA@1P}qYz!>&60-`Aq5@-JRnxARCDSSzxJ{&3 z!wu#IM8vCZp=_7R6;fo@vBcS8B-N?H(Nr*4V90cYAsTd~C2=Vp9d1;f0cS^Qkkv&c z^Uxz_i((5ac+EmemhICLca;EfDm(k%30ie+&IRhw-wV?41vcrBt> zkf3WR67cqtd1Z;641P!7`)Q)s8~xx=YN>|Ze@DN52MWl;7Lbd6p`{^t4W>`Wc1RxziEnkDMGUUL)iwOMk$1C%wlCo4bojH^Y2w%3ZrfVIUg!mSi|%#+ zuFjQyaL`4XC5n@mUY^(z>_r??7b@w}W#R^XJlW@WJB_s^EDEKl^3mk&{0Z`&u_sHE zVrj{0!omm0=rODiJ=oK6==Pwcri09O{S#Y*>AKO3e(nekIF}oktFF=Q`J&K{V2ACP zy%n^#FWg~83Ha_;@nm-w`Gg!A6vC1AHCn)yC8%y~isM3PQ?KjJ>2t_H)DP}RzFcxT zopxslhg$8X)4@Cws21Xw_P2Z8WGg#ZEB)Zkfj0w9c%LVsvyZnM!?5H0xhLjy^q+h& zP&v4X#^7V3>X@P?#?%k?HgV@(4=MaG<2HV8bz1%4W~5DOckCtGp=dR9(_k|_#nWEV zj5O?}*lO5kKnGrm9|c>1$iZH_x4O0zAs!}{J!k;u5Y5x1rQ6S*V0K$REr0xI&3Afs zd+G8jq0~*F6(rAFl4~+70hL{B_zjMt`&DG#~-HTkoIP72FAgT3w20D`GlJ{u(Xs%fYP-8f0s9I+Q^GcuR9+1CejUJ#NuY z5Z+Dxl~&idyi{+j)SLJZG~M286Nc~cSFvTV^wu88*GJ8p*>C=HsfkO*!Wq0X%5=ra z3M)qZX9=}0^wt2(KJcDyql@X`r=_+PTzP0p(6*dWO(=&SA^ z7VzcZHIVeig(bGDycF&#Gx)YSt&4r=sKGAI2|#+lq6XqFf!Ez79!$vA`~W%vR=|d% zxxvj~J{a)fVC%7``-rtTH2AjBYEZ$LPwoirhLXU-pF@gTOzxzdJ{xMo^W!&fx9uIa zR!9}~Zoms!OnO`JpsoZ7=>7RF?&PcAbwZZMn1h|io}N2$?%bKaw-vP_mFxiyH+%JV zh5e-w?f!6mcD@>&;oPA54ecJ3vFY>%=zHja9~A3cx;d=8XfeJ`}== zH<_Tq()O^p(QMz6fH!;_10AHl2Q>F&jpXjpBiWH0$<|}X21fCEHi~1zBRB>zOup@o zA3=W;hdzEIK|cHrJ(seeE{=wJXAINnrEqnEr+H26X}HKgUg!-$z%{nt9I>RzzQGD z!j2=Ov14}fCES~1q7We=-)aT`dbpv_kx27O^uB0P?58mTzv|5hSq-HJBX%(Dg0dPczutg zda%{9`W{Kj;2>BBsd#f_DfQOodcN8Bh)V`{i8mol)2q3d-1{COMX>cE%G1;b+b)`` zeUHY`BR$lOfeJlY1MUTwAob^sU|qf$=!le@%;+(9bi<~>*Y7}sHyVDhlX~XQ4s-v* z9o|pDiu8VxK4?SU+fN@2eAIu<`zzWac*Xk#dh~PjaSEsZy%Y5DVfy$Wef&7NF~05n zFtzX^eY}@G0(|s>-P9j#F|j3JJ-);`JjFUY#X360`Z>kAd5LxL5^Me?*7PaX@=L7M zmwNRB(8=KyxtBqVF9NsT2dszak5@d}o#L>5jQ(P)rJ6U+Lp>^zqj1_&7-)e@Y*pqK_Rr@bTyL*F60-O&@R literal 0 HcmV?d00001 diff --git a/localization/pot/locale/.doctrees/get-started/virtual-machine-install/hyper-v.doctree b/localization/pot/locale/.doctrees/get-started/virtual-machine-install/hyper-v.doctree new file mode 100644 index 0000000000000000000000000000000000000000..c943ce349703b181b5e5f0fdc1fa17e98e8fcddd GIT binary patch literal 19766 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 DH~2}} literal 0 HcmV?d00001 diff --git a/localization/pot/locale/.doctrees/get-started/virtual-machine-install/kvm.doctree b/localization/pot/locale/.doctrees/get-started/virtual-machine-install/kvm.doctree new file mode 100644 index 0000000000000000000000000000000000000000..961b28c4024216859b1d4969b6770de7f7b5c6c7 GIT binary patch literal 45739 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 literal 0 HcmV?d00001 diff --git a/localization/pot/locale/.doctrees/get-started/virtual-machine-install/virtualbox-cl-installer.doctree b/localization/pot/locale/.doctrees/get-started/virtual-machine-install/virtualbox-cl-installer.doctree new file mode 100644 index 0000000000000000000000000000000000000000..ac040f9c11c448602eb62115f82a30240715b2fa GIT binary patch literal 89999 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 C)d?N| literal 0 HcmV?d00001 diff --git a/localization/pot/locale/.doctrees/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.doctree b/localization/pot/locale/.doctrees/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.doctree new file mode 100644 index 0000000000000000000000000000000000000000..0e0ba950d2660cad2f747a82d1b8079306ec7537 GIT binary patch literal 81223 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 literal 0 HcmV?d00001 diff --git a/localization/pot/locale/.doctrees/guides/deploy-at-scale.doctree b/localization/pot/locale/.doctrees/guides/deploy-at-scale.doctree new file mode 100644 index 0000000000000000000000000000000000000000..2b130ea114a9c9f4332d7fc9268f72db5b872c84 GIT binary patch literal 59011 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 WfUrFd#UpiBWD<@S$%BI2n*R^xSogI6 literal 0 HcmV?d00001 diff --git a/localization/pot/locale/.doctrees/guides/guides.doctree b/localization/pot/locale/.doctrees/guides/guides.doctree new file mode 100644 index 0000000000000000000000000000000000000000..5dcc162209b8ca3a486036e91b6afb37b207e418 GIT binary patch literal 9159 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

;=rhqST4hPx-Ni3G^xLTd1g5ROk7 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 literal 0 HcmV?d00001 diff --git a/localization/pot/locale/.doctrees/guides/kernel/kernel-modules-dkms.doctree b/localization/pot/locale/.doctrees/guides/kernel/kernel-modules-dkms.doctree new file mode 100644 index 0000000000000000000000000000000000000000..01267590ee767b4b507f03fda536236982384fd7 GIT binary patch literal 73903 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 literal 0 HcmV?d00001 diff --git a/localization/pot/locale/.doctrees/guides/kernel/kernel-modules.doctree b/localization/pot/locale/.doctrees/guides/kernel/kernel-modules.doctree new file mode 100644 index 0000000000000000000000000000000000000000..ad75d3d101f5b4aa3b4f20f953b209b55c88fcbf GIT binary patch literal 40385 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 literal 0 HcmV?d00001 diff --git a/localization/pot/locale/.doctrees/guides/maintenance/architect-lifecycle.doctree b/localization/pot/locale/.doctrees/guides/maintenance/architect-lifecycle.doctree new file mode 100644 index 0000000000000000000000000000000000000000..c7cf3f1bf752e3f47c5bfb357e377c4dd8694dd5 GIT binary patch literal 23304 zcmeHPYm6M(RrX`XV~^M4*Lru8*q++mY}RYsGyQ%zOCo!`CXUy$j@S0CfK|I5x2LMy z-PNhbJd#~PA`!fBrAW|`cu1fmLI{?>5ei6%KY-e^>z?kq_nv$1x#xAyIdy+>=JWskqkF`Ed_l8R&o#QvQs2^;Gvo*9L67y_ z;m;3W`1J6t;W>WDmNy*BvsE_ad(cDGjjm?1{_u_AIeia5;L7$Ii~H-d{HdiSsV&>+ z=rYwUbd3&Ex704XIMnCf81i}9b!|iOTuew4>^C$A!1$cnl^q8U@qM;0_xx`MHE$6A zP-OMK%{qP`d@-~kKbbSt(BpHiyha0u`XN5kHTrCLeJ?*Skb$~8)c5Oq_5J)nxUl=n zcN}Ir%lB==apkVId?lcRvwVvUEN2<$%QlwM_cjY5jbzub`pZ6u^|PzMe~BMmA&N*Z z6GhHTue_RoHPVzF&h(?$c>VYrL;WQFox;B-@$Wrv3_bmf{ye(B-=9r?T0eVzhVKV$ zhg_0Ntf47tS*bO&YOT>~mOIs|Tx)4ftzIwHt3F{5VT6jBNEvcU4 zT0P0JI_?ITO_KYXq*}xjuH-pJe@)WBV@6+f=Qk|-ey3|~I7`9CE%9r+hG$|!b`dD{ zW+lT33kgn0GeWi{XYj{%pOi6EzYD;#OPI{cmvl+6@PUY>Kg^{DYslqVhiM&6t(NPh zR!d{7S#7pTtX40VWn$yYzVd}&K7WHW3jPu2_}nKYxX)%E_Y9jkzHU7S!CXiWNU%Y+ z1xURy?Oy6Pb9$f3$0Xi>F&(m?rX%8fl89Qfs?_AVRxOo^)pAXiTNPO;t3|CUSIZ5# z=IesPir4Kjx7~%rCA2}TXb(|K8+NLfXyz~6u=<8;*+g=0;J7xEdqVD|j%7=IwjtRJ z+K+4%Y3z8n^iTO3e2G7v2O_Z-`R!QYr-gRSN=`&lu@8Qq0s7kqf%|PI-qQ=S?$P*(yTQ~m3mF9$kkR+t%J_;L~Z^_K-!G8IT?>PBj*0VWe?5- zkvUSA16X)@4SJOHCT#HoFh1g*wq|rF0`$|BL zodb#q^A)W1cc&%H0y_UT5vHRQON~~!QLHkxT4~i<^sQ3qC{4Lmt7(tO9j$ADRVC7V z%#*u@yCq$69M2~AO3(%d7p4@75zMlV4w@j_e1>6o^I;+RfR-KsKuqF42i5*`S`r^c z=RYA5m*h&l(opM4t5~d7>m9jS)6{YiW0{8)6VGjA;^THQf4-6RT z1L2dUY|~45&I-Aw9n0(cTS4wAJ+YZ;^>DDzmH_mXok2nFf8)Ji2$! zo+NM3IjcOBvmQ5}4USPq1}V_+#LXiB0Z8*1NLdi%v|mEMxheX=9GEkrUu*{QX<;s) zTbh0#z~L**QEg)&j!w~5rypaAat0Mzd}YGo592rxflVxZIRj_h(l1QW?@^b2Y$Z5F zgvW-&_K&uK2zN3_5fQ2rh;S@8rWB$H5|p@=0XB{juT0VJktuP@cfX_v(U=pCjkJLh zn;E2t617Q`2uy7*CALk2zt5ui$77Msl1+b~`5vN}9|bYL77Y}q z$fw94H5*OVQV{s4YSn6~!kS96#8_EY%cWXNscU4A#+x0^F2NKdphd@64?ikGiS0bEg3kr}6?(a|V*BC= zV3-%pe-mg=be+uapieaEWGN24toNe-U(qn|wAO5t%dFJsRMbYb)~dEDof7NRi$z5% zS4;KgG(N8R4FV=&lq4+abLN$oHV25Qb(&9OhCs&&*05uo1ZzAeFi5k;IX)w%<@+5MLEAZe z76=WYdlUNBe3pPOnu|Fwk`ZBk0HYCcAMy`O7h)d@7h1y!+UO6>BEa)GfN-}4NMP(I zRQO?hvdux)Pz`tZKr|y%+s9Y(zJr7Y50*?;?+oGUhw{!ulqb!fVwspa*@onp$Ap$*}*b(|iX*CeLPQ6)c$+bpJLD;O-DaqxsT2b(SQ)Sh1lg>8jy-n^5 z*(kEylf>?|5vKMT(An??n)IUhQxLlf;iJ%+$eskTPC7LTOCzj{#QN)oZS~338Ii=h z@6J4rBAlvVYx6Argf0Vr@A%b=sm%8$dYgUPCEvlA6_kp3KnUMJ%#hxobLKLhPAhud z90+Xfpt2Mc()ypcpw|b`up{rCIrE00D%B5QIk>%|p zSLL43HDsFtWg@FZ0u<-75N#2WGMjl0qsWW_KQGKp8T}}#JtAN~vP*zti5dZzAp7yr zMo{q`P;m~_*8T9}4fHl-wm1%WWZ&W)iBsOZzauY$nYNb+a zRcoE;BFv+zcsw5ZxAbq51`p$VlS#E4SoCoCtGwtZ^y`Kd+j zny=pSV>+hjv1opiNR-Gur!`(uU*YuhBB0W`kV7{AA{r=8PtTDEDsrR5n#CgA%wiR> z{AR1HKm=9fkkv*@PUqfUUj?)k%d+82!70oJE+r(CHAbO(G*Q~v58G2lIGLcIhn#Jp ze!@>6#i_d`=`{w|k}}Z&7_x1CycCdwAgLcC#V^U-u;!84cAbmT`7jdnT980K|3M+w z=fl`X^!$S4=+;J`#$PqoNd8Mp(iP;qY)iU|V;&s>dvaeSTnOz^2+{`XJ(#4*0|aX+ z)b2-fMb?oJc1T&{q>@ZhcCG$e!DV(Y)F>FPk@Fqrxj(vlbWKR@ZbAhI{X@h-QQ5;} zyOJ~DY9dGa2wR?5=;h+;BaD;%7~b4-gn6|i_tzVor~ z=IWn$h}Ey|vT}%{xVsHGhjOuz%SPeIfP`U+lp%ouX|bwYuOL)WSIbq#DoBXSYQ4zn zYDKHbHA)3jQCvqT+k^;#!(i-0ZI{u5x=l3kpGLi$Kj7lU;ER)2JXRIk|bSp z5YA*5rBbo@ocJww-HXz=Qm=XH5~}|R-F!hASDM9V#iYaQ8sCrUhWx2<^Wm5cQ!(V# zoCCYR&I!vyeV~eLE@g6&;CgGQf7|>RSks{c!zFydPJW2~_^0urAomc#h>l;+U*3QA>QC2uRT=bxKWHt7@#SRGUht#ZV5^s%s@x zC7Fy8t*=u&^ESCUBTkfbF65aPBn#!1s4ehI`pD%$(V)txJQV>%-{157rg>@oZ_WV=0awl+i$)beTibGVxgalu+u5!bO>!O!Cs0h9l!vBJ?jx8nJfu zeq5IWPnWXyeboqRbAl>LF+-t?m2@S@EYP(24oZm0TL#jj=6FdG*xY+fc0poWx@im; z1s?CUCHz+JJHDe#6&(VYD4Yx?vte#M6~&s4blozI3*>ea&FmhfB8(13B&xH>LGLr# zH7qZ7J!gm*2|MinhRA$&f0`+?p2Y~mgbE~L_%S}v=Ky#+T@m;|gag=h>Gj)S(;qNo zkc-+yhKx7<2PA%%WPUh>EMfJ8&*8FRvM{?kP*CqgobkBZ!v~@YOB| z6Jr%9Z;J!{@`iEWSPmcxw;-tFA>G0cqFC7Kt}_jI zXrOS>TI8asTBRemN)04;%ZO?=TGfiu=qMGn#X3b)Y^Pnc-vcx<(xc8p(juDt-J0o5AYIYp=b1kc@ z>IkO+aFPU}n{*zTFj;|9N6ijPygq>^7J#ajJ+R1c^)U@816R+YAwYrxg8o}7^Fgcc zAfC@^q4N?v*R{2f$oE3k9O43(4M6>r`Fz6hO1#f9*4g^^h)ev~TGrVL=L%h_sSU*U z0C-Agi*OJ+aCLY2Dxpbt8#0v32<1{q#_>7+bb9gROr#8QbNi>zo+abX(u>D)ASA=} z6Vi)|7`oH+Vt%^*g8{+BHb1?sa3^+diq1Kkv8{2;?j8o1i4gI-tWFZ^`+m-vL#T1` z9_p4+c@JCSH3%Q;!`rYK#YKX{RV42_P@?f{d?%xFR{SumaUrrrQ|RvmsyiE(gKTzt zMoh!BF7S^%#P%$t?M`A{*_J%aGv0e>NJ93x*N#xnHpLSO&gyT2dgQ&2z%joH%fcVh za}S^;J$GVU^AGV6`0P)OwY!lU$H(`{A=-4VEh*E;yMtF($J;)gW*xE1dZ$`1mK7AH zYUQ%htd>=!)S?%1W5DKvv}txe=XtI z{#-OrIJQ^Fv6bQ4*UJo9WH|U$WRsg^4T=0lttuClVnw_k62%_*XM@yha8i?^0&Cy3 zjQrg&aC#n&8HM&-dK1p36f|Otvedy_jqzAf`F%lJr*}eppYL8~n$!#H_u6qN>};lE z2A^0S_;x+P8DEOXGufky7B?b?VM{!(ki*~FMh+7io^TMR9%=3!QZAm9Kg8gi^>3^1 zvjoF{y~)5Ne&m2ny%)n5x7q8E#-}qoonnc2>4M&0+lJnu-kS{5*MT=5Dths3>beC{ zt`J5yl4_9%m{f~PXI%Dn*>$%T-NLTC9Q+u5z(d zDanl%VkzLc`6vf%)BP8d=zUSzb*hMSeVDrAr?nK#(l=Jb$)vEK6zZciS40X~Y^C{^ z#1=@69zurcBS``w702hPq*lDP76g`Ja=c39$ePH9Bmr*Y5HDW)Y#pulSYS*FgCLoZ zSYy~GCE9}9Cj52%L}FbZ&8*A(S2PNvn^{lRA9~pJgkie${vF%!lOwt73EIZ4=MUf~ zg!}aJxb?(xV7`;G%h{KHA|@b^*&44aNdte5KO5bgQ9z_YT>Ro+Qc|!w1+`nCi(iKN zX%>oJa)gL>q^~szN95n|!V<;g0x@x=OOO|y;qO6#H-a$niw{~`*=mb$>sv$f$yxXS zhaLW8ZZF(6g2eM_bV#l*#5$Zex;;jJnrO3^FQ}ePx68DHTV+=HW8o7~S-;8;I?SaM z9d6n=PO>Jh-a+P%ZU;fJ{DHf2*F)AjD#3q#l^+TcdzL-K50Mpj<=y~44*S#Ka)bVT z{G1PddUhATj<}ZErrUC;71PZEFMDgqPjoEH?OQHOG~!;IBXk>0-|MwEk+$s7O*spc zwH&nlw{~3zAm8UdfdGoSuQnB!w!=GnFk>(vxWosGrv#;q%NHm&IJ~}(&+Dig2!GD< z<80Fat?=fW=fqEEHKurLm~Mee@F1 z@7%sxXkz|!LuN2PMr&|DC>V$=cY9q-ambYw zh=Atm!|Mn688B3@9m!T?4BHM8@oe}ue?nkm^pSd}N)_-e(MSU$AIAM!(N758F=q>J zb8fbEV@*eihYmKKp@PaGf6VFO5YYa(2k~_<@}&6f|7?pl9Ptpmm0OzuxAj z)UGApZ!^?@cH4Lh3GsHi8RY@rk9RhPcoBSl4Og`@B+q8tU*Y~H9Jpg2H-uh?;*B=USMa!GxP(_u7iJgt` zeLS%R=c$5*S`#jMemk)FrEx3y#mOs~O|N9%%1UMx&x%#7jILk>HW*14q&gz(kNMcg zEeXs=+c5KQj>GylCSyI9#`?s{r8~E;y|P-kd}-zSotuR_uU^iq;vKPykzR>aQN^G5 z@3JS1sK_@_-618VaJP&fZvbRT!$oH7f=JJ97zitndbTZ82H-nPO94h&T(J^Cgj%PP z9Hi7QQ-P2-@T=QJ?GJ9ouux-;omLsDiu!9y5j8h=50jl?kl3~VI~=gXzcY?IzA~9R z4yC!{Y{(sVR&Ts=XZ1F*N8#qBTeq(f&%B!El-G~Lw@)%l{-8X@S+$VBM4V|$^7=ho z=OQZ0C?gp$4YH|Xx0Ni5sg~Epop&+{=rgKf5Gdqnlz- zvZc!dl$tpgBmyjs1)^eBlGh-h5kQgI1&0YnP2)xRRAC^HW(79}_#=4MF>w82%#vT< zr8Vx_+8%yQ2`2ylv?{Rv*T;#?A59h;T;3IhaA1M=-OVb|Gb9&xFDH0kx@*`ju9>=Q zZANNqK7N*RiVOs+0 zyjEcFPvfxv$H~|~p2FVaCsJ;je`hP*@48Rz`tB3m@ao3^O!7!@j_DQ#wmCG(s-v4a zG|5u(6Hp!G-{D1P6%K2`bCjV;T9Tg)TLPJ;ra~<4Lz9?-?^{QIB0b-~uJnc`t-~WH zv=bv0Mp)t~3VggTBXT11(SQ+}C>JDe6E8zI3Z2TH$ZXTCwiHFc6(NUZhtJX6{ zXZrXqef$S~%u(wMK0JPiCZ@OFg-w zP#<{uak{+qwElj9I{pZ}_Yx}fwxD>A(8rr<(0#l;S^*`1ME=Ofn*yvp-hUV2{T=#7 zc$?p&Z)-G+%KgQ)DB?;h@rs|g-^rx9aB<0zN##f4k{^@uHU336{7CXRMvLc1@V>t| zc+$boe?mv*u%9?Q9Zx>-`{96sLs?I;y3q+wbbUPYFzS6M1@TZgs~B`51z)6fDBN-? z3oB?r!5$9u!H+o{j%6F?VBC%D&^vo{b~+KA+mnxRY+CTmZTK{fDg_q}$2IYY`ulHU zwmt$ru_2?8;MfB{H~gdcjH?#A2n zy59g3k+!lh1z8>2iJlTEv6Z-NRbneqN^xAJisGv1uVPn9KkO)WqDmZ>lh{eQl2qwO z7AN1ix0l=f`YkgUXfvuXGu?fcbI(2J+;h)4_uNm-eNO(XkFbCKVZEyjJiFyCb-KFY z4*mV~qHT1%;b(`>{l($i!_)pkU%Bgc2Yt;L`j4Q5X4x&hZ*+#YhNrDZ{JoyiUpM0N z*1UgWX-R4-u4}J%@~)?NwwAYhXNT6lTSGsmcwXOD2OfH(*7w-Di252~Ww=^G|5gFkG2=pRk@GaUH)JY}6~4Xp)#u4Q+O;pJWa-kt)Wy`iOfVjBbW&5*sY=U zDE^vL^|bXYiocH+x87qtb9v6+gW(Q+sZh{VwN|S)bW@R4xuocgMy*gT zl?x?BF4t8)+y!7=S??=7OB~hjo!^vn!&C+>?~Jqw+LGQ{c{zV>ZSC4ylDp}8Mq5$_ zUbju8qqJI^5(vzdl#VcZ$?SLAtZuGjcz3(~JJN=&NEbe`a&<|%WYQN&?@FDnCt1pd z0R++~2~)jc^rdcxcNp}w~pE9cdiywMi z#t8f2A4__IjEQXbK}%xnwl`wGhA)*0Mny5q2H34C%Vu3In{uUM6!cP|UaA-k&T{i! zw`XetyK(sfNpV0Ov|5JOY(dhEd?)#{Kwp|R_;2L1^*mn=LUBcx_v=X!cD7jl{FP^}0aQ9Z{6gx>6h} zX^G~~2g^nQBAY>%XVB#X=<>Fk524G0#q%+ABn)kIV~X9R+owVwL?LZjAq9ng5(|Qw z!fG1JPU`!T|JV(eP`Ap3-W5Wn(HC%+{T|hgO3+J)gU^Uf zjl;qHX@$0rgU2}z_)?*VQ0f8}#+3jbzAC~+cqmW6!{ZzeBRz$f_=?!rI81zbTA=_F zlSRUtfcN?XyBChiLtHxcd*re&Tm=fnoU6Ztrx7doGv?Xh5uC{ETOiso1u*JA6%hr*9~Lx&q+*c%l2Q5fhd0z{ zdi{skNqR_=*(O{`k43}-qEQMZqgIfMb&!f&*NXL;CKpP2%`8;(TCuM1m2?i;qqw&D zf3zsALGN4CTHS%Z$jQcTLjb!HF(C9bBh($!5`*4zYRO5NWRlA*N|!nk6uy=X4V953 zR8<#y1@}y#$wi`0x(m{TimJ!WN*A$S^+BR&KO#_4n)TFL5!WTEy=(W47IqUt9Zs>< zt%%)&{YkV|`LFE&7D8qcStZB!G%>rr`j9$`wDdXZKwv@sY@Ku--}T5NY{RzSX!k6| zwOv8U@%IHJz~No;=NU!B?Lg%^>AZ(E5liW`Sc6D&PNGcQ+mgRa1O^Y{w=`=<%x3)` zvDk;Dt&?QdWW=NKcdW?>&e?eOag;w!7y`@ca;Z{M%Sy3c&}6M>*0rjpm&{tJT(8#} zW*ICy5!DtJS?36!)tHjs*%_AG5r&J&{s#yu+R7dfkR(t=;x&-F%8@%^bz+1X72A-u zC*K|v*%9CP-!BLvWX;9~Pon%s12(AD>#AID6tzOFCTrDVy)HK@crG>cf>El_9&lDR z7~i?Sm+usZ{;ox)^uHPChs2Nv*fdY<#91I{BV~=-nc^L!|IT>>YmY%TAiG1m8HLtQ z(_SC+nNr5}DQ5ZNUo-45WZ-eF?x3aTKt|K|nW2b_s3%zFmVQv6iOAAkG% zP#5YsPe*u%&@9(9=rq;3YN{oM&&}t;HVP={exVao`eN_AU+PSrhsMi{_JB)nd zCW%b$y3pFVQf@$VgW|KO+iv{k3^fv25|hLTi-l?slw5z)C3Q1B7Sgh)L)uyN2h70h z=19Fd3wy)a+iVk=uJe4S9b3m=yd4lTx?+kQ@G$$x2Au%3#WRw|=O)5Bjf>9(nO;T) zlGammTn9TXaO;~7bGjo|*73lXakvFbR$pl~ zF(=*5x~RWBF@{=0eeR%0YB3N@t^2#Izoh(w`+`$H_TNbZy7P;~#UYefOp9CQh`9gl zRF3){FYak?9f}VL<$sPqhV(ESjbfu(uNp;NmDMVi9i>_`t2NjlwGzzyTzVV|(aiW& z#PXve76XP2F`W4=5`hfS|2zZHB6j_Sd+pX)w@0=^e}4}?5i;(>eFVnCt55s;TS{kr zfbH4PpCchM^bcG1y4AveuL-Xed7wxM|7SE_Zf|{WFnp-~u{!qc**P(mC_fA`CStzl zW*(tHj9aJ#tbU8lrX%53xUuvP2r@Y&jD-k=aaW8Ses2mn2-_*%7np61W+84Tcpd}I z;pCDK0(4MZDB`vlO#f{gFunG$)|wbL|Kar!^SzXCWkxw^2^SA0 z6etVPt9WJ@`942|^aKgV`@(FWdti+(24W`~1ATDVW}_!WBSiEhtM$58E2))Ip(fYW zVxytUW*IhGv#OQLiVk&Sa-(G7@gbFB7XiW>Vi((MxA84Y%M_GB?p4#gmPD>lVfT_t zE6O8|Os-^4+`lASk2U;@Yd5Y=-Mg^uF*Yx3`3OzOx#?S#5x}!HE3{?Gi6VQX*7Lyz zT93t0)}|$3xR~#ihmP@x$FsKxky7bre+SXr=A8RQ&_|@3ylXsFgp7P7KuJh0F()y0 zwlmn-`8D)0ZjZph08^LaJ;Ka%7k9qB>Jb_y^H{h~SVs9bF+kcUXvLxo7hJVkQOk0p zSg6Cm08TFBuX06ckZIQWx`^8m#06{o$opvS7()MY213Q9+4&|qasDO!_$~bSwDa5e z8L0lwzrx=m>V7F0MMB;GR=86A$gpL^A(6^Hb!Y-PZJ`p-`B~0O2|fQH>G`4j3b`i| zU54PeXY>3EQ|4J%2YGK`nU6m_u_&P8VfGT^ZWqQM$)VELr82{?vrlNn`6?a)CgULu zX^&!h4t_mj4o*AA@pe{4`X6VsAabi8D$>qLYL%4TP*46%dNH$}?7W|fA0J(x(rR)w zLh*LgWKL?cNk{4_l#YnZ(n=MG#!5qzEA^UEGs|_YtQ88yYN1#%x2M*Ohr{1b=3KtR z*o){(6~SPLeg%5%dqZn4B3}n4{ps&oVhH*f2*$`}%=Z%#@Zzp2aNOXX*Lu?Il>|qQ-8s zLK32gjShtyz=|!FT{b*zIf+KC6FpWoBDwM-i7|sb_#!vrY31W_UHOtybC_jviD;IDF+yY zz2rYJX6}UU#}>&Lxbr01j~IVB81JkU5Mtul87l}t&RhjR7k3PM2Sl2UbWK0;Is;4N zWiK&(s3Cs{H6!K+)7NFAtSZooRYR8LMnlz2&8!+F9X9rA!>nT+5Nysj&q*di)x2)E z<$^V_8AU8wS5oXSQD#;IgO`%(_{u8>(Ka67D9%D?P;>5qXLH%*;zk=Q$`=tJ@lhIePbm z!XbrEEED5ko#Vj3uQa=hnvh5}AI8WPss@T_s9LpFRTQmk!ug_W4Oy-$vZ<6{Vk^ij z-aF}rN;gUdk)Nc-*aT2OdBPy#uXWnqz?KLv9>hO69{X`17#0D=qqyx2I^TjaJ=YlE zOa(j6K?gG=926Ras|8$bZM&n4;`91L=p>wnhthUDf1e`UopgQ*zh<4kODO*rs2VNv zbrlPJL2kfvCReMnQZEdaP}78cm8)x*I4387jL+)2Ckz5wcw80Og^;{Mn^{_E3c zHw=KJ-k3u3%oIFCB;-#knK6d(6D*40Rbg6*jTObLVbLix8kMSCgCtgqI(BYVy<973 z<*ETQ%FfX#S)!ZJR3#7jK;kPMJb>qmm^9D z;&1NS2tIFhyLUiWcd)MEJX&^BtLLsc*| ztI+#(aU?|vrvv%FJpD@j2tE}gsa`1M%X#n#3tTojg(97|zZ} zwujve3$^Fb&xn`N`Ub@=v0YA1Fx#>?Bmr#*4Y>{bJfm4Lz~#qho12iJ$Nm4E zG9FO?ye8njtRmXDRxk@ittKOGPEi{wj=GxFdfhD4s${)M;{F$RoW*vMzd{85fI}Hg zAEU*CbCdP22d2f3XVKzqxB(ujBw}+x@zo!C(4OLTcL&-6E}mfscM|@vlT!q1NLi1K z$R3E@7(h0m&t^>MM9&xp2&jV1GNKLVPsp?uLOa{q-V|8d(28YdoO z9y80;iV7u?)bq)W()Q|iNW5fkuU`8lz;}hKbhPLT;uyLfG(wQqNMQ4lgscNCgtUZKJp*XLHN*`Cn-Jb&Uz>UJHUq08W`@9wD`u#E32y)SJp1Qvf3nB zbZapV2+8$%<9w}TT`+OQ4%2fO+4fjc)b556`?AkMo4`u%()Mp;egm!b)JVstq&KOS z-P@3t0&Vyd0#ye}OZ*a~Gr$;6y>aPk^W23C*DhYaerx%Sl}i_{HCHdLT{(CC@-4B( zI>vif*+lsdBk1?lbFVjrdSXGnLyca&cInEwYp*vitX@aKTW8+5ei10TAiO%2%jK>k zNSQDYhc82M?_odOLja-lyyba4_w4dAy!`zA(t4-cHkP{m^%3K!M^m=U@U&!k?beI8 zn=B-`4Wn%2_2Pl<-5w=_z_h)DjhmuxQ1%F>OU1$PIQ<2-EhdbSw-Hf|>SH4u8xMiW z>FXJCI%Q)DH*mafNa)74rA^%VgESK1VY2KFt+X1-zl32jdri4mQ%c2hv05w1HA97l zEtk~_lsz1qC>W!9_HS=PAdZoS?Dg!TkQJXQ2U)3^gWZnT)v~6Wg_2n;%@!OyVYBA{)HMT}u|AT2VH1$_nub}!uxmrIgs#HR`e8c}d=PA{ zqlXrmiooL~C{7folvppx9x{xQ&p!w}A=N!tBhkv~{A-X9CgXQ9C@G~6Mh46cl>Zi0 zg8@@Bl`6cng|b#LacEgq^lGhURvM~NEUGoLIATP5|4dj5M>%8ZXgEx?|KXIe2u92q zgGuiNBi@?XAUGTyISc$(Z}Q{JEHB=OeE`Q~Jp~CHc~(0ZFFGJXFE;j%5+K`$VuQ=D zC7QkE?Q|64e0!CnDR3T{XB72kQ)WRl%f1c#{;z1k9ECs;7B&XKdb0gsPTs32aj*nl5GDW@`AeIZy`1ao7MaSw(ioLnC{*nzaD zGsFvWS{Vryq{ULykAl{hgIUdv3cRwTAPTC-4mXVX_*gU_Tuvud!=u5_mxAHm4yEJ% z@Qnam{0{AY9POrM&6adB0u1Dee1Pc)K$;Sv+wAXChxYWuSq;Z|f@!tsNf&w_Qvlt6 zV#hF$2-k~Nn2{*H^i+-)u;QZgGXOPWN-$$lE}NxNp(4XeARCHOuU3l4e_N;+hHe-o z3I-6O_-?(#!fz?GL+Q*Gu{X+~?SbpTcAE>`+}wl?<83$#54o2JrOsa`Zoq*(`Zbei z6EXSMQkbmQpua0dty)xS2xcqQ%bKaG1so+RtF>ZTqa}P|ScUJeFvmaB*e8&y5SdJA zNDx3kF$JAxgOCCw?n5*B<|G}8siW;XFq=#Ho|HxOqw3Y_&O*l~n`L7X+7&qMfcP4y z{u1M_q`Z1+5|%=0dMs;rLPy!((c@Phl%qMwkZI4wak=7*{lTZcke)LEu4l6=jZ8D; zRO3C(CINmP<$sAN9^7A1D@F}rK&ELR4yaPC7YbE`p4F-a9O@`$Scp$er<@S)vlNY3 zk!@jqD+A%;c5Lek>)!~*DynXw#wKcF_UG^&6cl~6qhSHwVtphKuI zcQfAQDYb)eC`x0RaDwJUC#W>56ZF#R+Qn-xom;sW_&{?!R}}fcl0MLvFRfnY$;4^l z%*I8>+F=^KAMu+C zUelCXN$VXmsOBQm=iR$^m&`sblkOd)sAis1w`+Pxc3=btN^~UAM_PTB0bUOg61q@X zJ|%LYl4cvbN2Sn(Ix2zx_|FdwMyta@G-g3G3NOL9f5gN_a%I@QCi|xuLTF2xEC&Zt zU+0?a!<7sIR=zj=#RyOMWsfhWd3rHi2#%(|#4t0lzjyEG-a!=mWCRHEibl9CZdv}t zo%-9T9FIB?MD*Z?>YvOQ{KU|q2n9#ea$6YT=(lJ9vndIG6XpMa7DOls^}13m6m;By zVQ4t8Vm4};S*zfm3&Ud(P)!hW0OpF<}p+*+kym0C%yG_9Hu`J8=X>Zr=2`=*Ek* zt2bRH(&yj~4sHjE-Mw!TLdo6h{C(hsxp{-ZEcwzjwJn~U8OlZ^Hk(xb2ZB`A6tz;R zAk({vXwL>tV&W{mUdP5CHk_iVQYzHRjVAXzqlf8i(P5V&MV)yHkq>pMk%3nfJ%#C} zGCVo&pQ-DRPi8C~vAFY>Fu%a$r>5|YXzcliDE}5!!+Ka%%u=;c#aY*43CW7f@YQHl zT+>j-xdufp5ayGDUEmlwe2|OqLV`z z9>915Oa4U4nmf8#+MYu%aEWZMax@*zmpO&~>XaD~DeTvQ>n{ZqR*?$@wW5`9ADJfC z8nDnba1^joD^)aEFDs=H3Og1U?1|4fN4Z-7tdIsEN9FY-6kCx4TG z#(!6EtDX{PAj=04lSAt%0m`6Y9A0ntqD%8KE({!jlid&)_)X_RIRB7n?LY{m^%VXV z!Ao1oq6-G$2gTC3%Rj6Q`g8$dGq`wg)jt@%VOcL%{rzy{;|>v|rS*@|MT6{KMnvY* z%|6Inx%VcE@Q)KxJiF>ItQ#Fl+}-UD@u0)F18Q#f@Nj^4gM8kdJ9x|mkAr>-Plvp& z)}-4M=_|UM2VDKlp?}=$c0IcEMEHoS6A#gyg~%z>yoW4tZMsbHFj6Ypy(S%IWw#Ek z`tRm%aF+;s)1)&B&G1e~^cYkKE_uY@VTJ4VaTgiI(+@B2_H&lfiXP|vV>s>yTrqJK z7Ml0xbweGjV+4mOMJDAPMZ1R5#+wBX$0H0H6f$QXwmV2m-o)KxIDXMtM;6Y3XXfj9 zTuC|fpGtmg8vTB^-?U(NXyJ}4OdQ6hc|-pQHwFr=%(GU8{?n;1sV1C*`=A~k=IzEX z%->jhDPKqb$q%W@{!to(3q)Cgp>pUS3KJOv<2v$z?8fbz{-emY((UU_-Jl$-=*GsK znXCR@ZXF|x*m^Tg`*WCXRBXnt{M~eo;~{;}?lmLA17g_=mLwmC`KiGp>L?uSUDs%eH5rw_JHKJObTFOTY9g5~osPgj$cBek`$C4W-s2y{U|g^O zI~##-hk{~FN{zy<{XE<=da<{kU_l1j9>^746K(sFsFe3MaRj@=ER6_iTt-QEdFY>@ z8q^}yXyURvoVUR}KS&{M^z!d7$Uw{CzNw|Up*L|iPlesE1RYDZ;hC%(I_`lk7H|Xv zETDVV@bZ5DX%JMq8Sz#WtkC4St3T~O&Y(f^c%x6pK|pbYBOQc%0GF>uk6^r`?q
{nH?lu4Z@4Zp{D3Ng_c0CCeQ(+Bkv_mfXZ_S%%@EwG+4*N4e89 zkN~&U45T%KZ;#R07$O~ozn@D2upX$$MmAx}BGlx0Z`qt5Lr0(r4+0UmLCiJ3Id=ET z%R?mUc_RH4H%g=~SoPln13kM?Dc~p^u1;Q{#nmC$ASd6k^Ah+v?X{=9zq5i5(Z&e! z-noDmmgFZucb7a|)QUV<6bBnFyg|OwS_1Z^Muznzb6<^*8{VPc%FH#~A2QwSN`i8>@sbe8Y9nXZ+abxw$D>qix zh&=LF&s|%)L^N|fNhz-#Ls|-vSh6c+5zZ>|F_^eac2hzw>+XQAzT=m;L_`zLwwfj} zjjrs$aYUSdji`o}zaZ{~-(TVm+7i=}*!9Xb9KtLoD=sjxaOM?h>dr{iF!LUB%2n3E zpizS;fpZsti7sU%zitc{E~LgG`F!_YB(`$#I|0YyTlDj#aWMYM zWEhVpVcc``{FNmC`ajNrypj#2bVXrz14qyvkD(2}2~cN!1q8n_4*GvO8T!W(&=36M z2{nx(bOS9;YjO1nSLn3zis$u*4rwIV$Fy)OvomyPRrhym+R&ku(mxK-LF}8SZPK8Z zAGqq!At~uU6MhMJnm)m<9kTn-A)@eiZ=gJ(-ruvKwucUlV?au%83M%&+qTZ&v!235 zw+9p!BMd!{f{7Jo6u|=-EtG-3kLm@*9cCqX%K49E)cE&gG5CG!cb)%@TGl6dI5G=1 zuA?RbqJJ6Ia_8^S4`u{mc8_mUrEfSUHK5_gz+a&DDV-|=i1l!vb+Bsv{wiyGl{J0e zp=MWEtM^%p_Z@0&l{I#MU>$pVcp7$#_i@19XZhC*4J^NvVTb2+z_1pA>3xcwsEwL;%{gJ8kXaVz4(Tg z!xhEY;~Bw#UK4oPQXk zgIy&E)ukI=hXCz(v8|J8RGRANUpSSjLXDG&)jbo!iPNkL{mrl!vF3 z8yTf@05vkk_`$7?v7Rx;k@FQZ%;yKDjDU=ZG@qxZl$&{^@5CcD`~wkzv+X!8j)RFQ Mu*OiV-#}gZ|Lh@+u>b%7 literal 0 HcmV?d00001 diff --git a/localization/pot/locale/.doctrees/guides/maintenance/bulk-provision.doctree b/localization/pot/locale/.doctrees/guides/maintenance/bulk-provision.doctree new file mode 100644 index 0000000000000000000000000000000000000000..2a6885c6bd30c6ab59a68ca84c8213c7c067746c GIT binary patch literal 37793 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 literal 0 HcmV?d00001 diff --git a/localization/pot/locale/.doctrees/guides/maintenance/developer-workstation.doctree b/localization/pot/locale/.doctrees/guides/maintenance/developer-workstation.doctree new file mode 100644 index 0000000000000000000000000000000000000000..580da53623005b20e494f6e16355bfe7066dbb0f GIT binary patch literal 27941 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 literal 0 HcmV?d00001 diff --git a/localization/pot/locale/.doctrees/guides/maintenance/download-verify-decompress-linux.doctree b/localization/pot/locale/.doctrees/guides/maintenance/download-verify-decompress-linux.doctree new file mode 100644 index 0000000000000000000000000000000000000000..a5c7f8966df5b178d81fadf9cf15739fbae2d2db GIT binary patch literal 35622 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 N^44FY-Qk{*|9_4PH|qcZ literal 0 HcmV?d00001 diff --git a/localization/pot/locale/.doctrees/guides/maintenance/download-verify-decompress-mac.doctree b/localization/pot/locale/.doctrees/guides/maintenance/download-verify-decompress-mac.doctree new file mode 100644 index 0000000000000000000000000000000000000000..c598c65ffa787542d80bf9c55e4aad71b7d66ec7 GIT binary patch literal 34121 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 literal 0 HcmV?d00001 diff --git a/localization/pot/locale/.doctrees/guides/maintenance/download-verify-decompress-windows.doctree b/localization/pot/locale/.doctrees/guides/maintenance/download-verify-decompress-windows.doctree new file mode 100644 index 0000000000000000000000000000000000000000..f5d7da51a3b0a946c14565d935f347fdddfae8a1 GIT binary patch literal 34892 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 literal 0 HcmV?d00001 diff --git a/localization/pot/locale/.doctrees/guides/maintenance/fix-broken-install.doctree b/localization/pot/locale/.doctrees/guides/maintenance/fix-broken-install.doctree new file mode 100644 index 0000000000000000000000000000000000000000..2ea19c3122b96d4ac4e310b6a0507a9542adb798 GIT binary patch literal 22366 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 b^zz3MJh6~cLV867ojm>6DW>3JsFwa8iMB6L literal 0 HcmV?d00001 diff --git a/localization/pot/locale/.doctrees/guides/maintenance/increase-virtual-disk-size.doctree b/localization/pot/locale/.doctrees/guides/maintenance/increase-virtual-disk-size.doctree new file mode 100644 index 0000000000000000000000000000000000000000..851f171284e4fb036e654d09b1e960e21eeafbb8 GIT binary patch literal 38705 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

    }(P{(4^62$@# zg~N`X8w^1_Y`BH9D@EHA&FiZmb1c)3TldH7XGP;n+A?-okxmcIS-xRJGp-uV7QsW% zE{1yuHDhA~r=p3?SuD&3pwlEoERj;l5oqSadh+~5s)?7wZ6857oa5Ft0AfCDg(oNY zM-l3!7;_KDt}$Vh60WU&SDZn{dU&(;VLm(z0b^Y}wbsV*V0Z+yJ)Xjakm-bB?YS7w zVMgr>tJ*c%eoOry8-9xnMGO;tr|U&%lFu>B^$re7Lvlw33^$MtOg*(JGO@k^wWk!L z4%+ORw)%J*<`XHPc9&Lwc7SuxB_Bt@+;&a&O3028!&l0HAR~Ctet#Cq>(<6xw#2xOj5_?ufCju5a z+z&YA+wa1542Ni!`d)nuov&)3I7UJmbAo>-lr2TdZiTFk3YpXY5@$7b9r3f6Tlq}T z@MzaHqDf8PML>xY3ZV_KQ0F}BPQVfEg+TBLCxi6_QACH^k%@{NY>nnY5L=37GF(J) zbRKQ22~W<$!FdtC;-DIAyg-hQ_~MT_d@)zdZ?xA!OfC7AfxQPB_Ofd4jh-2;-jY1~ zFqs#`CqBY+G{o_x^TS&4*z~e6R+GEKI*N*nA3;d}@z&MjpH9#kih2~iKt0}vnd`K& z#kT_C*kUo%(<#yp%6~spqzs3+Rn4+qwHi3W(JmWSp;o~H5YmDxX03$tV&gS=YGG0!&Z!yfX% z0x?vU019=a>|%1!81m_+=OvV%C6plGP%hhb9Ia>8Y86{A*GmSr@H^FFwP70-3y1Da z6>!)o&=v>zFF%YJ&-NAkIPHE@RQpZP>zh~Vszwh*Mog)}N4AT#SO^t2-I79aTc`}0 zs;0STzvLdW*&_bgi662v&OslZo`b?(^0d|;+tfVZ8iOz$8+1{=6tMwwkYi;t?A|Zv zMQmy=Lt0gkA75`Y7^~B!yQI1Qt?d)wcByZZq^HnbG!g%Q4v^e5$k%3|`rit$wo%buq_Mvb+PJ;p$f)MRIO18$JQ5yJ-P(L<*4cj!s0;_m3?m zd*vkai7b-IR@)(Dc?7wHOC_6rz;M|&~ubzEySJvc4pdTFe&}1hZ-e1gu zS0Qn-{(c^1Bpmrb--?qb``u#w7=q~}@yjURCct5k7a1dQC5u zYUO$j*2$I(lHj2}4xZ(EKB+>~IzxJbZe!T_9_ z)O`x~j>KnJ6j=z#A_~Q%-+%!AnA2o3d^^L#H!&e2mLuEXg#4#jgq$RZC~zy<=Yd-u z4w5Y)lq;UZP)tX*KaKL=56RYIjcOT3(={v`8C?Yj8yYJ(imVI+k2S>ZMr;DyMO3DU z=F5A8$Fj``)OKlY`-C=<$~Hk_LlpMC?K9##7BexA{L(vakP2hG1Azn2&F$V=xP(_r zDUWQsE9@a36sL^3O8Qr@w}r~_=#p}9Rzz_lLAZ-zy0RlK3E!JFx@<`pk8XDu7M4xH zsuYo8TIUtzrjvz#3*~130@+g7*IQwxV-}&cb;m(Sr-Yn?vW>GDOM1ge9m@Fr&58(! z@J-c;9X9U-0l46OcrvQud}P`xACC(*NgWw6R;hqUB68Y_#d-zzT;NEuifK3K4AQa4 z@^*^;NoPzbnr+1_$5xDVP_`I~kK*uAg!(NG!o$GYQUrb|{Ju0@>^&ORrUUP1g~@W0 z@Ec3{v4;GMoE{ZJUJ3uc6r1roUXpCeIesmRjI-rg*aObVr0_3aw~>vh4?*psY*PMA zxs3i(SrBE*pctZK!mSv;a3rWz0eLgE;xUb7&Y0srjq)ESMy0$sWWnJak%m>lF>p9w z6VW-VQRWA5;`j=kUu`2}9W0`{x0IP8CGa-&CZ*@+2q_ERVDco#xcqwxE~|w?4cUeD zI;&w%DYOF88LWy^(RFOuwfWHxu#jhkm{4qF&^q^qaorgw1Lall`FFHj8F>v+FvC|B z2dC{|C*;{6I22!_kg=FJz>Q>d!q5jYu8qJcm?lEi7pTJrPE%(jB&Jv6vcGiN)pWVsw6Hl%Z!#BEByVlE-&C&jstSYmB^V?! zhy3WY3-wDwI|}8VFF}7Vj!z)}SLioPcFMlTKoS!#y5Rj!nzw1U6aF@u$7J)P^L`jt z7avLHw z=sBMM(nKPK%uJy($l@HEV=jQqzizi&A5pG9`Er(oI|5V_%q6It9-+NK|zVk}{bXFQgyrC#xJ zv{WUz5pA*fJV2g9za%qY;^0PtD(zOp1|dT?YvrOtE3 zWpA;#d>umTLO(qFD$EsITD2W5=kjbV9D9jOI%H8n22fa9ZY>tMYFIX!kGC)*Zz|OD zrLo5BwzIP~X~31D)U2r-LuH6!8%~so&hxXP0j3QZr51&SH4)p9@|W&~FzGyB9R3cQ ziqZ~4xg=eIkKVkQh-KcMs7-};+u;(*&Ek-3e=_VT zAC$`9_Mr{`1eu%xsU}bPQ!F6b?nQ-%ATzk%(7L0cURX-je=1w^9w2D z6xtDeyp;?PO~~8RnY4=jHlbv}`&8DHr{qo~%>IFbNgVX%6f4;9h@%v+GrQ0z73jP- z=HTqN3UXM;0Qw>fr${Y@KAiVeFO!MCMlw}>Gg3zIq?1&5dO-* z`{(%M{W>OFb@zUWXdrg?ynmt2%||2R-@b5+Nc?6tDGB+@f{?#BnUGaq@r$5kK71%< z+NWD;RLTxw5_+-LFiodn)sgRO*rl3f(q?-pYRFeC5BrMVzas?yAwCozkvbvKqt;LR zeq=4YigHr1-yE+k<+Xes=CG7(pFD~CR&f+A?ZCuA*#3js$B?$o&pHtvh&#Ej=CxrlWEJ*(z6~QHh#xf=l8C-5i0C`?XDT02HS)fU z>5I`#&LK8^*Km)tfwM35s;M^^MZ4@;p;mGV*xv(sa_1w#7<>Ri5QoBw)6JK(%^f1m zUEt`Fd*xJW>5|Kns^cx&$)kYh5X|_hIsyoU0O!_(ms5)qsU`h;-%WV@;njbNJxP}g z#$6Gb=-mI)$^F)!Q#ryj6D__crXY3mH@8rS+D#lobVhCTi2G~qAr>*)ks!XbI{T~& z11DVYORL59gh3EPk#TV*Q!m-W=-i#sB0s$=xEEF-4iuIL{n{($jTL@wI0W$ziNyB$ z!Mid`HEo3E+(Rg!4kj8#)Gv;m>h$TJ8TUa#@Qz@AxQk~ce7+pq7CphiY;3R`?D56^ z9)A$rVRvwuQxltp9bCJNTLo<#X?4kH^${10Zz6wWIhb2xZ8|Tz(?$I`9yjda(lq?o zE4slk+U+a&IUoM)cU$j05(&7eUtO=S*-1t$*OwX$U}HKAo|d*%cugBrXR z>~FSl1-U^o9T#)s`=R8^71r%`x+@5_V3T(jcqULS#Cs2ji+q$; zW_T-u;QrK`R1@C99L|g1FWQwb%sg}PiCi81Ctsv02e;E0d?3mNidy{kqJ7a#MZma? zW6o}6hBg=l)4?f((&1fT9Z==xa?|^ zUj;#Jtw7(9e!)QKsAoLd9Wew%+HDw&k1cNEsxDAXSZswGU;|vLxqpLgNUkMVZlfpI zNY7S?wu4wWU%PfKzi|UsO1Al-{+*Ms5+M>Ys~Z`ZgM{{-XR?%!zljO#1$MOC=Fszn#G2eWtR#5v&e*@QI?T73U$Dj*#e;q{9v6^iM zQyuaDL6QiNf5~#UGu+i-gC%dEFPE_%TDu#^5*b%kXk%V$1qlYQT}UFl7VKp0s{@=r zK^l=H0ay=Igo{7kh3uUNS=>@ud^aR-X*+H6{`0v9=KW( zbU)v_-Wx!b?@&}Z5U~5?ncRts7cUIF%cvC_9ghg0`Ky=d+<%epdV0%L@%TZ z@6xHU%~7zs*|2+SG=v9E?@R(a3t-P*_-G2&_lL0J%}7wO|I-82#HhY20dM$L0v%+( z2Q=45jpW++k<27Va_h;HsZl({M{#m^1Te*W*jS1yX=3Pa7tqT$3gpA@(DQ4fp#Hh> zQ14DceemRoXD*&Px14+Q#L3gooX@6Nen~D~w4zcRM%uo@S_)9F#Q4>u4XQ#y2m+BFLj{XtDVAN?0Za z!f|Mxj;+LLW{lKww3?9*uHQUJpjhY@<|!diX6;7@17`U1qp0JT$5Y2#k~$uUsNYcbJ8vu&nH z36ET8Q3Hd~xYfh4!^e;@aIuJJ(|+FfX4eI98vcpEpOr_*>&)q??+f zkOi!SotGXxo8;f%eFDg{*-+ws;5KA>H-`40gf@DoK%Mm#5PWwO^uIG6`nwX)_k)88 zGmSj$(2BEK18zPck43om1CK0{U=}|&y57JetsdNJSp$zWWpEIpgY3H;xk>$vT;Deb z9!bgIf#^-h)ATAQ*&Vk<@|LcmJfS|=dDUDWcr=ba8KF)DloF$PVQ|E&;>c2uE^}f& zzeucU6Xfop7Y6QL!w+^-HSz3-h#Va9{s#pRe$D$|kgwhk>EkJit$f@2GrHmLue=lZ z#gCZw{u>JN*oyaG=^35&=lummDJf^e`vJYBSdRBc^zD22=m&GuADwp1@yC07jd!@r z`&;IHE%UCHc~8r{mu23=GH-pEx4g_-eXZ}_0c#rZjE519d60uI%>*=fbz883QQ>S0`ZF45v#)GM!aFws6D7u_C(O72d#6~4hXKse*!kK5qb z;$RtgVdAJ8(O~RztB>LG>=&vsdMYDAGhzuxMv=qc`QRf@(G5!!?!gfPuAHxl3$n4rB+6(r^xZ!@|yiKu?Fl<1PzP_3Nf1M)Y8UO$Q literal 0 HcmV?d00001 diff --git a/localization/pot/locale/.doctrees/guides/maintenance/time.doctree b/localization/pot/locale/.doctrees/guides/maintenance/time.doctree new file mode 100644 index 0000000000000000000000000000000000000000..ee36a744d48ca924583832ac8303f6f87bb24c60 GIT binary patch literal 13437 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 Bvy%V- literal 0 HcmV?d00001 diff --git a/localization/pot/locale/.doctrees/guides/maintenance/validate-signatures.doctree b/localization/pot/locale/.doctrees/guides/maintenance/validate-signatures.doctree new file mode 100644 index 0000000000000000000000000000000000000000..6de44f297a203e39a0199c6be8226b5376149e24 GIT binary patch literal 29015 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ð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 literal 0 HcmV?d00001 diff --git a/localization/pot/locale/.doctrees/guides/network/dpdk.doctree b/localization/pot/locale/.doctrees/guides/network/dpdk.doctree new file mode 100644 index 0000000000000000000000000000000000000000..886c39f07996a0f780cfecdbbf8a7856cf36900a GIT binary patch literal 65551 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�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 literal 0 HcmV?d00001 diff --git a/localization/pot/locale/.doctrees/guides/network/ipxe-install.doctree b/localization/pot/locale/.doctrees/guides/network/ipxe-install.doctree new file mode 100644 index 0000000000000000000000000000000000000000..a69fad8271e3631f78237f4f437957d6822f5898 GIT binary patch literal 54665 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 UL3n7EGb!B=N9I)3FwhJC3mw{hOaK4? literal 0 HcmV?d00001 diff --git a/localization/pot/locale/.doctrees/guides/network/vnc.doctree b/localization/pot/locale/.doctrees/guides/network/vnc.doctree new file mode 100644 index 0000000000000000000000000000000000000000..24109a996c4c8f8ea891eed6f9da75e3a96bdfce GIT binary patch literal 144665 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 literal 0 HcmV?d00001 diff --git a/localization/pot/locale/.doctrees/guides/telemetrics/telem-guide.doctree b/localization/pot/locale/.doctrees/guides/telemetrics/telem-guide.doctree new file mode 100644 index 0000000000000000000000000000000000000000..2c735ad87882e7492f66f6e53f209622b867a194 GIT binary patch literal 148644 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 G^#22*4$;p5 literal 0 HcmV?d00001 diff --git a/localization/pot/locale/.doctrees/index.doctree b/localization/pot/locale/.doctrees/index.doctree new file mode 100644 index 0000000000000000000000000000000000000000..43922adb0eb03d365f31cf6864d1f86a87feb469 GIT binary patch literal 14443 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 literal 0 HcmV?d00001 diff --git a/localization/pot/locale/.doctrees/reference/bundle-commands.doctree b/localization/pot/locale/.doctrees/reference/bundle-commands.doctree new file mode 100644 index 0000000000000000000000000000000000000000..2baac5f46aff062f9ade4f0e660aca0495c39d94 GIT binary patch literal 9236 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 literal 0 HcmV?d00001 diff --git a/localization/pot/locale/.doctrees/reference/bundles/bundles.doctree b/localization/pot/locale/.doctrees/reference/bundles/bundles.doctree new file mode 100644 index 0000000000000000000000000000000000000000..f3a4eb6b3c2314e0c09e39168214f2f3fe94dc49 GIT binary patch literal 1453071 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�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

    YiU2u)Xnpw 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ⅇsugANok?jLZ` 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 M;i@6;YR}I6f2lSh%>V!Z literal 0 HcmV?d00001 diff --git a/localization/pot/locale/.doctrees/tutorials/redis.doctree b/localization/pot/locale/.doctrees/tutorials/redis.doctree new file mode 100644 index 0000000000000000000000000000000000000000..fbdff83f600ef48d4503f13e5e25589931a6f725 GIT binary patch literal 33760 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 literal 0 HcmV?d00001 diff --git a/localization/pot/locale/.doctrees/tutorials/smb/smb-desktop.doctree b/localization/pot/locale/.doctrees/tutorials/smb/smb-desktop.doctree new file mode 100644 index 0000000000000000000000000000000000000000..c566095f9a8f3eee71690a5b6778209723c7cafc GIT binary patch literal 17399 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

    WaiMlVfA^2 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 literal 0 HcmV?d00001 diff --git a/localization/pot/locale/.doctrees/tutorials/spark.doctree b/localization/pot/locale/.doctrees/tutorials/spark.doctree new file mode 100644 index 0000000000000000000000000000000000000000..e3d78bda00658f952833592e91f45357cd8426ae GIT binary patch literal 27785 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 YB{L5t=TSD%MZz7bqPt4D*N(RQzvX$a#{d8T literal 0 HcmV?d00001 diff --git a/localization/pot/locale/.doctrees/tutorials/tutorial-proxy.doctree b/localization/pot/locale/.doctrees/tutorials/tutorial-proxy.doctree new file mode 100644 index 0000000000000000000000000000000000000000..5960f84844a0d143493e469e345c4d669f03b229 GIT binary patch literal 20624 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 w_j9yV7gWj`|9TGHGp6YN11kGl@qT|q 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 EA2%U5j{pDw literal 0 HcmV?d00001 diff --git a/localization/pot/locale/.doctrees/tutorials/wordpress/wordpress.doctree b/localization/pot/locale/.doctrees/tutorials/wordpress/wordpress.doctree new file mode 100644 index 0000000000000000000000000000000000000000..aa9f5249375ab040a7eee67837a24a89cadfdfe7 GIT binary patch literal 9229 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 Yx}TgZRH3Sw35zQ9teB;DF|kqoFQ_I4zW@LL literal 0 HcmV?d00001 diff --git a/localization/pot/locale/.doctrees/tutorials/wordpress/wp-install.doctree b/localization/pot/locale/.doctrees/tutorials/wordpress/wp-install.doctree new file mode 100644 index 0000000000000000000000000000000000000000..8bb141f5b8d92ea7a17ce0a9a5cc43fe90a9fadf GIT binary patch literal 37740 zcmeHw35*<9dLHj%D3TI&Ep>28H^pW5^ikDSJ<mXS>$vQAc&9H z0djo*dv(03K8G9~4nly_-Bs`W-~aym{qOZ%KW@IWjsFV{IW4>2t2es&X3JsSL9mY= ztg>cr@Xp}z9~yjia6H)GG1t1Se#d5mU>i!`#>vif@zlVOP-JNx(i#CG2cEjv;@etp4H_cV?ZJ*O` zCqFFHzSd!`D1$F`2kj+24En*|p1DHh2j2c*SEJr!gLB)1J#7;M?G3!0-ga+iuqT>^ zz3@Vpb-D}JI&~VMv+ztf>+ZrO)^2qd>;^MCIW*H>&qWY1d-YaxK{T<@>-Sony4mP1 zthG8$yTiKp7SA}}>GlSF3((oyWj57|!RhVx_7FG-bh~@?UV}-mg2yhip3-kC-;YKw zQll@QP+CpJRL-Bea8X%fmV$9#XB`evw6N<6TPM&5k7g^5srOd~d{MDTvv)P`Jx<{B zlqK)jQr|MY!&pA=wyOj0cKp8+|L?~CqgMxg?|$zwZ{B-Y6!#wRj-A^T?CjHODOyRd zsFku?cFl@v*lx98>ZP*jx+RBIjbc^6Yd==ZTzVj!Qi_cwrd^rSoUOCm{ZL_AMwA{HxAmQRN79=MYB*OLOlYCHihnYR* zVBzAG%;Ax z4^;G}01&_tD&6Tfn`nl2I%k`}6vs(}K#>5@WX!>!04=Z8?a6~9)aurIEQV2cquXPv zd5&kty?k)?M!lm0*<=Do|4c3N;zI~_c6%T`d+`_h&mFKVxoTln*Rr+c zLct!?0}B`g$0Fi0n&uC{D5>PCS#J)!*MhzH)!S%;Y3`(+g9G?Wi&nSmy}_IO^_tmf z4&LDPLMA$Lu0&Srp2Eo~VTM@Be{{o?CPipIB6KDp3jg?q=k*b#pc%r%CbG{brF9l; zbTLrMYQ-^`X4oZ1Q?06M6r74{R;z|qw90DLB-Z(mkk%6M;&}8RxbE&U9A!mJu(kPJ3HORi1 z0QPBoECKiL&&<63APcQo!TjB9#aY1ohnoWPDAqd~yxa2S!TWOcc@^EEZ`{P!Q^*abAZa!g?D}c9b=9qnlT* zcnoR_=~_fk%2)iJ3DhiRV8NtPBVe5H>WDAPJUCK(2=ihF2gasX%1*TkhHtth)v$>1 zJC(AoSIuJ4Fd5f<5*^}8OVAlQtv(t1$eaKU)vLpp%UP9TUI%qHtp*qbI23ENxj;aG zr!Sq@2nNgAoN2$(uS01fqTghsbC?}y91QKbbsNS#&JkPSh&{7=O|);ZjTVe@RHbXT z+OVd%X~rXX0ZbYn`Ekap>~{sCyh0x{iz(4+-kVuXwPG2ns+XBwV5(M8tGenshHEpu zqT80r(qc*zeSQWeUJ_7x<~2Z-!S-!76f=}RXc^6p13sQwKey9bRp4!a(?G~AsAyyJ z^fu8cXKb)_t~gN7Id&b}gaj78=J~mcojSY#z51&( zG|_`n=RGK7og*}Z$%l|6)hQlRpRIncTX&eU*6K8z{9Ib$bXq{#W(!tY2hNsmH|b!N zncY4fp^Z>8j^Pu-V~+R7ExK^H0I?wnbz038D9xa7z;(zhG$tA$hpd2Tgr6_{f5?B} zkWY5p4~rf5`VH;4W0@TXlM9?Jj#Dba{i2sGn2)rItvaS|J7&?eX~)5j1WZfuy>nMQ zkkJ(nIGQG5CkdIzl*w6T8m~DeHM`1_gnhNprSMdUR56kE-=T>Kp=wLJNg&93nD>7i z9c4u^S)3wGHlkFI0&YJ>10%%~ZW6UrC^{uqSBplaTC`YEE0tB#b<~nu0n8>^!~D-t zLlPh3wp+N)CRynof2Ot8Y_v=#aT#&KvkEIeHmd_>WRuSk?$HoQ{+Ht#TM2Os1t=lyTQ zt1^poHbVB3@_Lf>z*QaHDLJlLvQ$`Dtb$%B8Ma}=!)3b6NU`O>yV3#&=FG9)^~8!o zIqJ8?a<2Btw+KI^r0yn8*pT-vy3mssmlt4V;4&-8rF`v{=ORqs5X(s3$J1NTV+R@Z)bo{{{9BMs1Q+P9pawxla03Wkzqhc;~n)D-TxlC&r+gb7Xfx)%49Cs)oI~b z_=<%8e?|irg6cFpr^g8gC%&mE-b~LC2H#vG$)er5gQMmld}MK3#%Y;#Ygno|ss`jTOC`gy zOO~yfWHWZnvQ?$#X0G7RPZ@Bqe|@#F z*hPd1cH%w?7@|NPL_EPzh(~V*`=Bta^ug+}QEBl8!6C1{;x+KUS3`&u1x?Z3y`N?( zoWXiHaoG+&Lbvw!QI&arH+@Jv-`|f1k$))Y$MOg1CJoYXdkU1EE~1wR17m7F3E8@R zr=>sI+^6D@$CPK}$VMHsli5l^e`JWUZc?uu1 zqS+Gw;UZN7nz_KSa?vihYN4!_?1JGGbhD&YicB-rl1dVye@upMVY85lX1Do@@gzB3 zUYIgNKZgQ-p8hQ0&zpV$e?tuPOZYy7b)N{~ur*ls?0T;Qt7_L;(M?E$(?G^25^;{kJw`qGrqZXTn~hI85yjJkM20JRUK@Tuf+kV3;{!CCW*B6FOiRo}E;Z zs1tG75vHYVTtwoF5u-UV*@*Q}HVj=^tM@$8Tyhlj>?ogl;cT?tGnI{3-~STs> zBnJ05ygLr(CU{c#1EL>`kUnHF(jui9nqCpFD_#8G$xb{i+obG)Lg|gz{tWgDbjHoN?(s77$ zIwH@15cRe+s^G;Ce%$7C7EuLTgvark23y$Zh_xP1>tz;6vy5pDBy!c&RHw*X#IL!q z85IpxgUP&FE|%<4$`x%6DhFx5b-3DA~dhAz+2Z^R3@0d=@61h$4M5# z{hkN$A>X2ODh85Y3S2mJzNSfmQ*M0)&PJsus0B9E z=Vut;cuV>FIKBi6KEg1Z_diM7eP#w0S?vE(2C2%fW4o#b$xAD$CB*nutD31XTVonr zFx*Au?*ikC%sU_=Wc5p#d|vt*1dq$CLA+yerB9&|tg*QKEZoGf>x+bF1-*c-(c`4C*Lm~Z2R6HJhcW}~;5FrEbey1a9sATPC6cY59;$}38xP~gVP z=lLo|t`x%hXy z4LRRh9>IHpeG#%{{1kg}(zFMjFbHlRfsgzsQ!5!uJ~+T_MFK^oai<<9<&&}Ri;y@P zeDWYY`s+6~`a7i2M_nxs4_^+M=1M?3*4Y@%Rg}L>)P(HbM%hwb9mYtvs+M5=fr|o4 zIa7-oNQK3j49@Bb+?5R8Azgr1Vt0L&jL%Z++W~FDT<4&LkJ3(p&!F`D- zC+2lAt%1#*QyLu10-3>I9#(g9)afoU`(dJn!^dz*J9P-y{4jH{{lvh34@=P{J?`_g zCiDJ)K7`f;(T#kAw#oUe4CBIPDV&)9w%{;7J6ww+F{DQQzfC<0i86m?Qv@{GMSS=E zJv5Y+I%Ua`X8U)=Y`;1~(XUWZ0TDX_5E;`edPz5(vRSZo6&^sNpu;g}Aeg|#cP$g= zk7MJ-M7NDX2!q`wJS9yW^>dhO_JIU6wzsLnW9O(d+9)Zd?&Y*hw6%;PA}sH3Co!?| zf0rgY@BdRi$;m2lBvH5_P>6bz%wiQHDZClFrQ&p!Q79K6QK$vO!fCA{1qu1@pzW+Q z@vihN_>n2(;)COjV^7$H4{0Lo_v{?FsX|L^!C(}X|3?}R4! zzkr_+OoK-vQZSMGbIkI;CROzRlo}P={h@HXPii8w$NvnqXWZj|JVQ}wkFNs5_=JIB z1&ujo!GNiy$W$CssXAr7P}W_yQgJH9Dj8f7rbnqEO2d2H{|@^1{|OBu+1u2K*xO0{ z$nX^r2Pz)=Krf=UEPba0;$Z%CR@^<$dfeZ>(s}?Auh`a!Vd&W8^1L|3uj~=!63E9- zF#7v8l2H$#b*Y7X>35;o zJd23?oX5%WkYKK;i(^f2IY44o ztk(MDa&wg60Zkzo#B9)ayt~39--Z2I^zw3Tst#99D>U(>C1{F6Pu*!cO?eS#s^U{o zQcOLbC2%9tW!QGsiaAR2`GNOwk)y5mzV;DsWq*lw$h?1k#BR>)fp}xRg7VLW8w()_ zIw-4FGKv)(04!7Zi&{W%y@4p0qC*i05J3-EI5^FEV`7t1dnh;-FLs2yq?yO8GeZk~ ziv}XN(6pM#q#p|%u+i61FtymzqSc5^Z|zT5DdD5voQcf0jsSdxZAReX3;3& z_@`mBl0)b0Zx{^cV=!z1g~|f#?F3+3+fM>o-UXDgO@Q_~K>Jn*TFtJM3c6+#jjE&S zCCw=5MxnqE8eTCfa2eeUXphFA%~IkQZcp-LyO z?IMm7tA?wYhU?n8sg?~3WQLKjcEk8|=SVh`nQ(B&s8XU3!aj#z)+EttOx=0^*Ea!< zb%5j7LU0uHQpH6Gp=OmRR8_4ag4Hsrx>u1r#eqo9x_7P<2(^R&53dN$PUZoZ>rvv39C&pBF6M&Z!P^CvSDl{CN~1k!TgK?BrG7ZuG{EwV8X$Edc1BYFMm4~fJ^{sHNU1|AuGM;P zS;(d&mh%(?p;r#dK)5h!n3ay)3cymg9%cZDd<$H?fLkA`2ZcFGxom`gFP{ikb4c+P zB0Ay%AQMxYVQRQorJ3%5QPa}<Cvr@GjMqwI`V6Y_5lK}JaUr(mhXbM1YFu?0LXTv#jV}TW z7VS*L;8^Z|9p&%AR7jzAA)vU3b2m(!qbQVcuCI&}SZ)~-O9=)S2ir>W6s><)s2Z)y zhc|#26Z|s-x_SSZ5y&u3)B0fv;&u^nLIw^Rz-EE0RxTvNYNd)3f(Aq+9E1bJryEP( zp2DI(tercJ56?>!z=%0tCHr$CnH`w3#A&tZ0ppv zV74csjWV6)B^#X6m}}F~D)O1E%urO~rf&iX`Sh{vaT3)s)r#p>aPktyG|Pl|3XQjn zvo4HP^dWAl&d5!v6QV6LH@;DB8q|kq|D`_V;)#H9i9AYVwt<8&5a$qtg(;+jm8m9tqMR6%%Gm@WWgM6<*W|)vq^5|)v z7Xw0Yl8q6TW+}1cgc316``@8;nfHH(K4y-GqJZ9S$2E9B@8@W7tF~rU;Xbwzlg{ZO z8E*7~V_G<_P{^J{?>~<;KQbK>@j+bZ76M$DgcLbE_(2h#PJ<3~h=`Nn{BMzsaE{`D zBTHFcxy+CSO?cq7ID+m&>OFz{?+eI(H-_V8&W`_>yaIqcPVl;#>$nw-EM%Gqb*{wR zg6UWlM4;IGILK7r@n4%F4ryscCSeT(cab|_hA1*k4y)qHQR3yu$4tJCFT`5=c+2n(SR( zYuR-+)Iqw{wm?hynk&3c4x%e7{z`P~^A=H)G{RnCrX>bYQ6M}Er@&9qb$GOO#phqO& za|Iw4@WsAPc=|6T>#(V2l8wt-nD>8qI+Wv$`!_NBuTjSUF;3!E9mloHMZ-~T!!b3) zepD^Bz%=j+d#m`ne%fQ{b0IjL%vLQ3!H$TZI`jN7W@8W297f z&yZAi9vX4IIU+Lh=-8rsv8IZ6|2wx zGh30O82B%vW;|t1J&gj-o>FlN2%pms?xMPdic`fA1-B$pTTHcO{NNO^M;|BHJ`+K3 znsBRUh1(eRkz_kf?zuf#x474vGhFalrDdOsSQA_sDFmMfBlH{(orJe=a`7T6Pupps)N^TuqLS3}i$E+sT_BYO9UCd*%5K%QaHWN1 zz-L%4*=19AbmSj!hl~{Zj8YGE5@Rpmn%b;)d}yRWn!_31pEhtEyFa=)dHle)9?ffH~Wz z)U%S^6~Wp)y7{h4N0lv7OEVdiPa?H32+zdKpt0Y`>fruB*2ya&(ijp=gV`Jhh+=B> z#?6mt{CVh24Jclq;G+bkdH?kr!jrFM@I=!JCZg-$pFtqARyLp+*hNdLS_RE9-2%BZ zr~B3WQ;4rIj`;FyO^9z^oNx-+SX8j9Hl`OecB62%!N+U?^&r*AW)E7qu zw9<<`d}ZeYCr$`zj8nNHH@kd-^IHk5^&4zIvk1R617v@LdY$+G;q;=h7V-~d;9wPW z-9X-8L`D~E18GtjZXvQPgcF;#RwyBc7^@%=`zMG=@ymD;Pa;y(CvN@(ig5Uw;@VRA zYEqo7x~Vo|it7JsG53E(ADd=*znXypGL5>dz+lsWp#!(ljHs~v0clwHF{0VoG_haHtX82^HVQ~sZs|lhtO`Qts-PYP$o!^T z)p z_x3|K{H6>=A$=x5vN(`N-;9$0>gH~-;k+n@&|UEzH@Wa)t{h#=B|#}Ep~zQvWgz9- z09Q1}Z)N5f%*E&J#a%fG!UadgZ6Q6DOK4e+>%Gz#;zCMNC=8v57mPX|5tQ*c*|>?` zcnm_$lmbH_&my`w)ms#(5F=ugT`JpK>i)ai<*tqgj|_#Nw3_I+ffI^64khf@yN^W} zc|3SD%x@NV9NtGxl_(utG>+6Q?kvLD5Cr1d_E3h|6&%G~DmcNJ>yWH_syhVQrmU(74$tI0QMP-mU>pS5dW#ChrwbkcEdosZp#@&2Hc*Du#?6!wT_( zTRN=W>frbwr6nJn+Y!up$hQ&w+#TG;*6V;(57JOKdAi$SR(}QU9ij`5iTt5mX0GDN zeoFp}>_zr9+=G0m-fZ`KHM*dNE|JEC%Ke_3GjiQJzTcOAS!10}t5fq3ZqoqHa~Y~` zBlX8&sEz4XcJo#S!Tp&xnI`-i5GXh#+D*o=`-LlKat8WOzsOX^4U=@)5CG)?L=B$g z`(TuM1P}+g4t6l4r??%rcz`L?97b1VqZ_)59&!{tTyyGOIy{VtgrnRWZ3ypy;1*1#i!H##Uo?6!ELP*`oCjBt$h^(k$*!fb z;G*z0(6!5Igxf*PHtABc_D0XcX#~m@?y&0%DA`>Y1b0#mYLRNxkUJkx#+5Zlr4B~? z2&61@({b%gH}oXw=Dvst_F66MQe1E8@^1L$6F|3~X<-W>3Dw}-zTkdrmepFkw_?Iy z6FJ=94DRBifvie*g0-5!TY`}TL_UB#M)6NMZ$kn^nrzk)+X^d2^rwc}*ZOT_k3R(3BQnB>?fxc^ zq-9h1NwWWs5Jdp}OP9Nq+%^uj~sSO>Xh@4l-8B!FNbkj`6;607qG8Ksh|E|#|xPc`kyBj zq6Dd-ck?|Yq=LM&U6KU=fW4>B=T2R@a%tedi(0XC_?Q?pfAtz{Z=4pSM}9&c`eA8G z^g{mw-kTovk<+JMxN`RSrQFk}PM>?>V(x{@PiJQF^L!RVrKDMrw!!~B-RDdd zj%kIb@S?jLarG?S562X=tT>(eb%v~tP$YQ@2_n~>)&@_x4_1R*6S$8A3^#5OWS%aQ z%qz;%;A#|3%+*mk?}3Yg(L5sw+GdQ{bd(h(AFOZPNH#YDY1KZwF<^!N6(v`D>Gndnt^3rY4S7c-vU1=2JEa3_najv4@gc3?Q zN9n#T32CC$wz4ROD+FPDuuVio#8^Y@P!Yx%VZrbAR~0Tb@jNSa;M3XgK1`3I#>iAg z4U5<^NOc3)RE>LN_BQ)z{M%#IBeu_^J)j_5CItIH4T_!{DDtg zJ=kH}1D`l$a0H}-wlA{6+Yn%L{jN3eiAn~?qBr55rdP1!MB9Df6H){_uA@AGKG=EP zS{?W_k3I>dZZxQ1oVn-fz^BWY%`Q)SU3X{(-hEdG-T^$?OV!1*GNPm6pvfq2YtZ<$X~MiY`zVgQCj> z#GvSukr)&?GsK{FM}zW@(6?_RIT}w}=^w&5f1bO|KTL(`48Q+F^o`CR`bQDQ!ej9L z_vjmi_xTN2c)82l|5f@%UYUMyP*$I4w!uNW4(kA^1XwHagjC$9oKPL)C!!owASh9* zR;v+fWW4AdnTK)d{izoBN4@e&M^f#>TG8o|dF0M)Tj85+!9FP9;g9`LW|1Qsnit&& zy&|-;Be9+>Kc=hR4heo3J(koP1R#(vE%pM0zw<%iIbcSIY&^J`x3j`}%7e%U7P>?p zBu5gZ0E^X8C!cJ89@OyZF?&6-agkx`N$l%SO(_@b4y`=fgI(ehi(O}z&OA@1mdHj1 zEf(@LT^f#DCC~Eq{4@B7w4t$cG=}FW8@PoDdxp8PDRYSCYE3COG*`cd8Y5=<&19x5 XI1n#8SA*vqGVO#`5b`1Qt^EH5=Ol~? literal 0 HcmV?d00001 diff --git a/localization/pot/locale/.doctrees/tutorials/yubikey-u2f.doctree b/localization/pot/locale/.doctrees/tutorials/yubikey-u2f.doctree new file mode 100644 index 0000000000000000000000000000000000000000..898b0fb42b905d254ce6df1c66fc96915ea63daa GIT binary patch literal 24403 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 yBbtdp_L*}lXD<@^!hxzj(17&bc;IKY9k&, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/FAQ/faq.rst:4 +msgid "FAQ" +msgstr "" + +#: ../../../source/FAQ/faq.rst:6 +msgid "Below is a list of commonly asked questions with answers sourced from the |CL-ATTR| team and `Clear Linux community forums`_." +msgstr "" + +#: ../../../source/FAQ/faq.rst:14 +msgid "General" +msgstr "" + +#: ../../../source/FAQ/faq.rst:17 +msgid "Why did you make another distro?" +msgstr "" + +#: ../../../source/FAQ/faq.rst:19 +msgid "The |CL| team felt that performance was left on the table with Linux software. |CL| takes a holistic approach to improving performance across the stack. We also wanted to take more modern approaches with OS updates and tooling." +msgstr "" + +#: ../../../source/FAQ/faq.rst:26 +msgid "Can other distros copy |CL| improvements?" +msgstr "" + +#: ../../../source/FAQ/faq.rst:28 +msgid "Yes, we absolutely love open source reuse and upstreaming improvements." +msgstr "" + +#: ../../../source/FAQ/faq.rst:33 +msgid "How often do you update?" +msgstr "" + +#: ../../../source/FAQ/faq.rst:35 +msgid "The |CL| team puts out multiple releases a week, often releasing 2 or more times a day. This rolling release approach allows |CL| to remain agile to upstream changes and security patches." +msgstr "" + +#: ../../../source/FAQ/faq.rst:42 +msgid "Is telemetry required?" +msgstr "" + +#: ../../../source/FAQ/faq.rst:44 +msgid "The telemetry solution provided by |CL| is entirely optional and customizable. It is disabled by default. If you do choose to enable telemetry, the data helps the |CL| team proactively identify and resolve bugs. See the :ref:`telemetry ` page for more information." +msgstr "" + +#: ../../../source/FAQ/faq.rst:52 +msgid "What is the default firewall?" +msgstr "" + +#: ../../../source/FAQ/faq.rst:54 +msgid "|CL| packages :command:`iptables` as a bundle, however, there are no default firewall rules. All network traffic is allowed by default." +msgstr "" + +#: ../../../source/FAQ/faq.rst:60 +msgid "Where are the files that I usually see under /etc like fstab?" +msgstr "" + +#: ../../../source/FAQ/faq.rst:62 +msgid "|CL| has a stateless design that maintains a separation between system files and user files. Default values are stored under :file:`/usr/share/defaults/`. Files under :file:`/etc/` are not created unless you create one." +msgstr "" + +#: ../../../source/FAQ/faq.rst:66 +msgid "A blog post explaining how this is accomplished with :file:`/etc/fstab/` specifically is available here: https://clearlinux.org/news-blogs/where-etcfstab-clear-linux" +msgstr "" + +#: ../../../source/FAQ/faq.rst:73 +msgid "Software packages" +msgstr "" + +#: ../../../source/FAQ/faq.rst:76 +msgid "How is software installed and updated?" +msgstr "" + +#: ../../../source/FAQ/faq.rst:78 +msgid "|CL| provides software in the form of :ref:`bundles ` and updates software with :ref:`swupd `." +msgstr "" + +#: ../../../source/FAQ/faq.rst:81 +msgid ":ref:`FlatPak\\* ` is an application virtualization solution that allows more software to be available to |CL| users by augmenting the software |CL| packages natively with software available through FlatPak." +msgstr "" + +#: ../../../source/FAQ/faq.rst:85 +msgid "Our goal is to have software packaged natively and made available through bundles whenever possible." +msgstr "" + +#: ../../../source/FAQ/faq.rst:91 +msgid "Does |CL| use RPMs like other distros?" +msgstr "" + +#: ../../../source/FAQ/faq.rst:93 +msgid "|CL| provides software in the form of :ref:`bundles `. The RPM format is used as an intermediary step for packaging and determining software dependencies at OS build time." +msgstr "" + +#: ../../../source/FAQ/faq.rst:97 +msgid "Individual RPMs can sometimes be manually installed on a |CL| system with the right tools, but that is not the intended use case." +msgstr "" + +#: ../../../source/FAQ/faq.rst:103 +msgid "Can I install a software package from another OS on |CL|?" +msgstr "" + +#: ../../../source/FAQ/faq.rst:105 +msgid "Software that is packaged in other formats for other Linux distributions is not guaranteed to work on |CL| and may be impacted by |CL| updates." +msgstr "" + +#: ../../../source/FAQ/faq.rst:108 +msgid "If the software you're seeking is open source, please submit a request to add it to |CL|. Submit requests on GitHub\\* here: https://github.com/clearlinux/distribution/issues" +msgstr "" + +#: ../../../source/FAQ/faq.rst:115 +msgid "Software availability" +msgstr "" + +#: ../../../source/FAQ/faq.rst:118 +msgid "What software is available on |CL|?" +msgstr "" + +#: ../../../source/FAQ/faq.rst:120 +msgid "Available software can be found in the `Software Store`_, through the GNOME\\* Software application on the desktop, or by using :ref:`swupd search `." +msgstr "" + +#: ../../../source/FAQ/faq.rst:126 +msgid "Is Google\\* Chrome\\* available?" +msgstr "" + +#: ../../../source/FAQ/faq.rst:128 +msgid "The Google Chrome web browser is not distributed as a bundle in |CL| due to copyright and licensing complexities." +msgstr "" + +#: ../../../source/FAQ/faq.rst:131 +msgid "A discussion on manually installing and maintaining Google Chrome can be found on GitHub: https://github.com/clearlinux/distribution/issues/422" +msgstr "" + +#: ../../../source/FAQ/faq.rst:137 +msgid "Is FFmpeg available?" +msgstr "" + +#: ../../../source/FAQ/faq.rst:139 +msgid "`FFmpeg`_ is a multimedia software suite, which is commonly used for various media encoding/decoding, streaming, and playback." +msgstr "" + +#: ../../../source/FAQ/faq.rst:142 +msgid "|CL| does not distribute FFmpeg due to well-known licensing and legal complexities (See https://www.ffmpeg.org/legal.html and http://blog.pkh.me/p/13-the-ffmpeg-libav-situation.html)." +msgstr "" + +#: ../../../source/FAQ/faq.rst:146 +msgid "Read more in the |CL| repository, including discussion of an alternative hardware-based solution: https://github.com/clearlinux/distribution/issues/429." +msgstr "" + +#: ../../../source/FAQ/faq.rst:150 +msgid "While |CL| cannot distribute FFmpeg, a manual solution to build and install FFmpeg under :file:`/usr/local` has been shared on the community forums: https://community.clearlinux.org/t/how-to-h264-etc-support-for-firefox-including-ffmpeg-install." +msgstr "" + +#: ../../../source/FAQ/faq.rst:157 +msgid "Is ZFS\\* available?" +msgstr "" + +#: ../../../source/FAQ/faq.rst:159 +msgid "ZFS is not available with |CL| because of copyright and licensing complexities. BTRFS is an alternative filesystem that is available in |CL| natively." +msgstr "" + +#: ../../../source/FAQ/faq.rst:163 +msgid "A user on GitHub notes that the ZFS kernel module can be compiled, built, and installed manually: https://github.com/clearlinux/distribution/issues/631" +msgstr "" + +#: ../../../source/FAQ/faq.rst:169 +msgid "Can you add a driver that I need?" +msgstr "" + +#: ../../../source/FAQ/faq.rst:171 +msgid "If a kernel module is available as part of the Linux kernel source tree but not enabled in the |CL| kernels, in many cases the |CL| team will enable it upon request. Submit requests on GitHub here: https://github.com/clearlinux/distribution/issues" +msgstr "" + +#: ../../../source/FAQ/faq.rst:176 +msgid "The |CL| team does not typically add out-of-tree kernel modules as a matter of practice because of the maintenance overhead. If the driver was unable to be merged upstream, there is a good chance we may be unable to merge it for similar reasons." +msgstr "" + +#: ../../../source/FAQ/faq.rst:181 +msgid "Kernel modules can be individually built and installed on |CL|. See the :ref:`kernel modules ` page for more information." +msgstr "" + diff --git a/localization/pot/locale/concepts/autospec-about.pot b/localization/pot/locale/concepts/autospec-about.pot new file mode 100644 index 00000000..4cdae7a8 --- /dev/null +++ b/localization/pot/locale/concepts/autospec-about.pot @@ -0,0 +1,162 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/concepts/autospec-about.rst:4 +msgid "Autospec" +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:6 +msgid "``autospec`` is a tool to assist in the automated creation and maintenance of RPM packaging in |CL-ATTR|. Where a standard RPM build process using ``rpmbuild`` requires a tarball and .spec file to start, ``autospec`` requires only a tarball and package name to start." +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:12 +msgid "How autospec works" +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:14 +msgid "``autospec`` attempts to infer the requirements of the .spec file by analyzing the source code and :file:`Makefile` information. It will continuously run updated builds based on new information discovered from build failures until it has a complete and valid .spec file. Although not required, you can influence the behavior of ``autospec`` by providing :ref:`control files `." +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:20 +msgid "The basic process is described in the following steps:" +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:22 +msgid "The :command:`make autospec` command generates a .spec based on analysis of code and control files, if present." +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:25 +msgid "``autospec`` creates a ``build root`` with ``mock`` config." +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:27 +msgid "``autospec`` attempts to build an RPM from the generated .spec." +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:29 +msgid "``autospec`` detects any missed declarations in the .spec." +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:31 +msgid "If build errors occur, ``autospec`` will scan the build log to try and detect the root cause." +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:34 +msgid "If ``autospec`` detects the root cause and knows how to continue, it will restart the build automatically at step 1 with updated build instructions." +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:37 +msgid "Otherwise, ``autospec`` will stop the build for user inspection and editing of control files to resolve the errors. The user resumes the process at step 1 after errors are resolved." +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:40 +msgid "Following these steps, ``autospec`` continues to rebuild the package, based on new information discovered from build failures, until it has a valid .spec. If no build errors occur, RPM packages are successfully built." +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:47 +msgid "Control files" +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:49 +msgid "It is possible to influence the behavior of ``autospec`` by providing control files. These files may be used to alter the default behavior of the configure routine, to blacklist build dependencies, etc. Control files must be located in the same directory as the resulting .spec." +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:54 +msgid "Table 1 shows control files used to control dependencies, for example." +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:56 +msgid "**Table 1. Control files to control dependencies**" +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:60 +msgid "Filename" +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:61 +msgid "Description" +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:62 +msgid "buildreq_add" +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:63 +msgid "Each line in the file provides the name of a package to add as a build dependency to the .spec." +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:65 +msgid "buildreq_ban" +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:66 +msgid "Each line in the file is a build dependency that under no circumstance should be automatically added to the build dependencies. This is useful to block automatic configuration routines adding undesired functionality, or to omit any automatically discovered dependencies during tarball scanning." +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:71 +msgid "pkgconfig_add" +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:72 +msgid "Each line in the file is assumed to be a pkgconfig() build dependency. Add the pkg-config names here, as ``autospec`` will automatically transform the names into their ``pkgconfig($name)`` style when generating the .spec." +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:76 +msgid "pkgconfig_ban" +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:77 +msgid "Each line in this file is a pkgconfig() build dependency that should not be added automatically to the build, much the same as `` buildreq_ban``. As with ``pkgconfig_add``, these names are automatically transformed by ``autospec`` into their correct ``pkgconfig($name))`` style." +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:82 +msgid "requires_add" +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:83 +msgid "Each line in the file provides the name of a package to add as a runtime dependency to the .spec." +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:85 +msgid "requires_ban" +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:86 +msgid "Each line in the file is a runtime dependency that under no circumstance should be automatically added to the runtime dependencies. This is useful to block automatic configuration routines adding undesired functionality, or to omit any automatically discovered dependencies during tarball scanning." +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:92 +msgid "Further control of the build can be achieved through the use of the ``options.conf`` file. If this file does not exist, it is created by ``autospec`` with default values. If certain deprecated configuration files exists ``autospec`` will use the value indicated by those files and remove them." +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:98 +msgid "For a comprehensive list of control files, view the `autospec readme`_." +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:101 +msgid "Related topics" +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:103 +msgid ":ref:`autospec`" +msgstr "" + +#: ../../../source/concepts/autospec-about.rst:104 +msgid ":ref:`mixer`" +msgstr "" + diff --git a/localization/pot/locale/concepts/bundles-about.pot b/localization/pot/locale/concepts/bundles-about.pot new file mode 100644 index 00000000..1eb77395 --- /dev/null +++ b/localization/pot/locale/concepts/bundles-about.pot @@ -0,0 +1,54 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/concepts/bundles-about.rst:4 +msgid "Bundles" +msgstr "" + +#: ../../../source/concepts/bundles-about.rst:6 +msgid "Linux-based operating systems contain the code of several hundred, if not thousands, of open source projects. To make this manageable, distributions use a concept called \"packages\" to configure and compile the source code of these projects into binaries." +msgstr "" + +#: ../../../source/concepts/bundles-about.rst:11 +msgid "Many distributions then split the content of these compiled packages into so-called sub-packages, which are the granularity at which these distributions deploy their software. With those kinds of distributions, system administrators can then install and update sub-packages individually or as a set, using tools such as \"yum\" and \"apt-get.\"" +msgstr "" + +#: ../../../source/concepts/bundles-about.rst:17 +msgid "The |CL-ATTR| takes a slightly different approach. While we also use the concept of packages to manage compiling source code into binaries, we do not use the package concept to deploy software. Instead, we provide software \"bundles\" that are installed and managed using :ref:`swupd`. Each bundle contains as many or as few open source projects needed to provide a complete functionality." +msgstr "" + +#: ../../../source/concepts/bundles-about.rst:24 +msgid "Next steps" +msgstr "" + +#: ../../../source/concepts/bundles-about.rst:26 +msgid "To put this concept into practice, see the following resources:" +msgstr "" + +#: ../../../source/concepts/bundles-about.rst:28 +msgid ":ref:`bundles`" +msgstr "" + +#: ../../../source/concepts/bundles-about.rst:29 +msgid ":ref:`bundle-commands`" +msgstr "" + +#: ../../../source/concepts/bundles-about.rst:30 +msgid ":ref:`compatible-kernels`" +msgstr "" + diff --git a/localization/pot/locale/concepts/mixer-about.pot b/localization/pot/locale/concepts/mixer-about.pot new file mode 100644 index 00000000..89e9d283 --- /dev/null +++ b/localization/pot/locale/concepts/mixer-about.pot @@ -0,0 +1,94 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/concepts/mixer-about.rst:4 +msgid "Mixer" +msgstr "" + +#: ../../../source/concepts/mixer-about.rst:6 +msgid "|CL-ATTR| is a powerful, modular, and customizable OS. Upstream |CL| offers many images to support different environments and use-cases. There are hundreds of bundles that will meet most, if not all, of your OS and software needs." +msgstr "" + +#: ../../../source/concepts/mixer-about.rst:11 +msgid "However, if you need additional customization or content, |CL| provides the mixer tool. Depending on your needs, the mixer tool allows you to:" +msgstr "" + +#: ../../../source/concepts/mixer-about.rst:15 +msgid ":ref:`create-mix` to create a distinct derivative of the |CL| that" +msgstr "" + +#: ../../../source/concepts/mixer-about.rst:15 +msgid "contains your custom software." +msgstr "" + +#: ../../../source/concepts/mixer-about.rst:20 +msgid "Create a mix" +msgstr "" + +#: ../../../source/concepts/mixer-about.rst:22 +msgid "When creating a mix, you can" +msgstr "" + +#: ../../../source/concepts/mixer-about.rst:24 +msgid "Use any existing upstream bundles with no modification." +msgstr "" + +#: ../../../source/concepts/mixer-about.rst:25 +msgid "Redefine what goes into existing bundles." +msgstr "" + +#: ../../../source/concepts/mixer-about.rst:26 +msgid "Create completely new, custom bundles with your own custom packages." +msgstr "" + +#: ../../../source/concepts/mixer-about.rst:28 +msgid "With mixer you are not required to incorporate every upstream release into your mix. You decide which upstream versions to update your derivative to, as illustrated in Figure 1." +msgstr "" + +#: ../../../source/concepts/mixer-about.rst:36 +msgid "Figure 1: With a custom mix, you add your custom bundle and decide which upstream versions to update your mix to, on your own release cycle." +msgstr "" + +#: ../../../source/concepts/mixer-about.rst:39 +msgid "Creating your own mix forks away from the |CL| upstream and requires that you act as your own OSV. There is a greater level of responsibility, requiring more infrastructure and processes to adopt. However, with this approach, you have a higher degree of control and customization of your custom |CL|." +msgstr "" + +#: ../../../source/concepts/mixer-about.rst:45 +msgid "Related topics" +msgstr "" + +#: ../../../source/concepts/mixer-about.rst:47 +msgid "|CL| provides flexibility in how you customize your OS. Learn more about mixer and related topics to decide which customization approach is best for you." +msgstr "" + +#: ../../../source/concepts/mixer-about.rst:51 +msgid ":ref:`mixer`" +msgstr "" + +#: ../../../source/concepts/mixer-about.rst:52 +msgid ":ref:`bundles-about`" +msgstr "" + +#: ../../../source/concepts/mixer-about.rst:53 +msgid ":ref:`swupd-about`" +msgstr "" + +#: ../../../source/concepts/mixer-about.rst:54 +msgid ":ref:`deploy-at-scale`" +msgstr "" + diff --git a/localization/pot/locale/concepts/restart.pot b/localization/pot/locale/concepts/restart.pot new file mode 100644 index 00000000..966563e5 --- /dev/null +++ b/localization/pot/locale/concepts/restart.pot @@ -0,0 +1,210 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/concepts/restart.rst:4 +msgid "Restart system services after an OS update" +msgstr "" + +#: ../../../source/concepts/restart.rst:6 +msgid "The software life cycle describes how software is created, developed, and deployed, and includes how to replace or update software. A good OS provides tools for the entire software life cycle. These tools must include ways to remove software components properly when replaced with something else." +msgstr "" + +#: ../../../source/concepts/restart.rst:12 +msgid "Most of the work on software update code in |CL| was focused on adding new software to the system. We recommended that users reboot their system once in a while, but we did not provide any tools to restart services easily, until now." +msgstr "" + +#: ../../../source/concepts/restart.rst:18 +msgid "User challenges" +msgstr "" + +#: ../../../source/concepts/restart.rst:20 +msgid "It is difficult to determine which services to restart. You can either evaluate each system and reboot manually, or figure out which services to restart based on documentation like the |CL| release notes. Since neither option solves the issue completely, the |CL| team created a solution." +msgstr "" + +#: ../../../source/concepts/restart.rst:25 +msgid "Over the years, several OSes approached the problem and created partial solutions such as the following:" +msgstr "" + +#: ../../../source/concepts/restart.rst:28 +msgid "Automatically restart services during an upgrade." +msgstr "" + +#: ../../../source/concepts/restart.rst:29 +msgid "Evaluate services using these steps:" +msgstr "" + +#: ../../../source/concepts/restart.rst:31 +msgid "Mark updates requiring a reboot, such as kernel updates." +msgstr "" + +#: ../../../source/concepts/restart.rst:32 +msgid "Inform the user of those updates." +msgstr "" + +#: ../../../source/concepts/restart.rst:33 +msgid "Ask the user to restart the OS." +msgstr "" + +#: ../../../source/concepts/restart.rst:35 +msgid "Both solutions are acceptable for many OSes. However, |CL| updates software automatically and users do not see notices from the updater unless they review the journal. |CL| requires a completely different solution, with the following requirements:" +msgstr "" + +#: ../../../source/concepts/restart.rst:40 +msgid "Eliminate the guesswork about what to restart and under what circumstances." +msgstr "" + +#: ../../../source/concepts/restart.rst:41 +msgid "Cannot restart everything. Many service daemons do not support an automatic background restart." +msgstr "" + +#: ../../../source/concepts/restart.rst:43 +msgid "Fit into the |CL| architectural perspective: be small, quick, and lean." +msgstr "" + +#: ../../../source/concepts/restart.rst:46 +msgid "clr-service-restart functionality" +msgstr "" + +#: ../../../source/concepts/restart.rst:48 +msgid "Typical reasons to restart a service daemon include:" +msgstr "" + +#: ../../../source/concepts/restart.rst:50 +msgid "A new version replaces the executable file itself." +msgstr "" + +#: ../../../source/concepts/restart.rst:51 +msgid "A new version replaces a library component used by a service daemon." +msgstr "" + +#: ../../../source/concepts/restart.rst:53 +msgid "Our method restarts daemons when it is really needed, especially in the case of security updates. The tool restarts daemons by reading various files in the :file:`procfs` filesystem provided by the kernel." +msgstr "" + +#: ../../../source/concepts/restart.rst:57 +msgid "The second part of the problem is to determine whether or not running processes are part of a system service. The tool focuses on system services because most system services are background tasks with no direct user interaction. Fortunately, :command:`systemd` provides a simple way to:" +msgstr "" + +#: ../../../source/concepts/restart.rst:62 +msgid "Determine which active tasks are within the system domain." +msgstr "" + +#: ../../../source/concepts/restart.rst:63 +msgid "Determine which tasks map to which service." +msgstr "" + +#: ../../../source/concepts/restart.rst:65 +msgid "We combined both solutions into a low-overhead tool that shows which system daemons require a restart, as shown below:" +msgstr "" + +#: ../../../source/concepts/restart.rst:68 +msgid "Figure 1: Invoke :command:`clr-service-restart`." +msgstr "" + +#: ../../../source/concepts/restart.rst:83 +msgid ":command:`clr-service-restart` implements a whitelist to identify which daemons can be restarted. The system administrator can customize the default |CL| OS whitelist using *allow* or *disallow* options for restarting system services. When a software update occurs, :command:`clr-service-restart` consults the whitelist to see if a service daemon is allowed to be restarted or not. See the options section for details." +msgstr "" + +#: ../../../source/concepts/restart.rst:93 +msgid "Options for clr-service-restart" +msgstr "" + +#: ../../../source/concepts/restart.rst:95 +msgid "The *allow* option identifies a daemon to restart after an OS software update. The :command:`clr-service-restart` daemon creates a symlink in :file:`/etc/clr-service-restart` as a record. The example below tells :command:`clr-service-restart` to restart the *tallow* daemon after an OS software update." +msgstr "" + +#: ../../../source/concepts/restart.rst:105 +msgid "The *disallow* option tells :command:`clr-service-restart` not to restart the specified daemon even if the OS defaults permit the daemon to be restarted. The :command:`clr-service-restart` daemon creates a symlink in :file:`/etc/clr-service-restart` that points to :file:`/dev/null` as a record. The example below tells :command:`clr-service-restart` not to restart the *rngd* daemon after an OS software update." +msgstr "" + +#: ../../../source/concepts/restart.rst:116 +msgid "The *default* option makes :command:`clr-service-restart` revert back to the OS defaults and delete any symlink in :file:`/etc/clr-service-restart`. The example below tells :command:`clr-service-restart` to restart *rngd* automatically again, because *rngd* is whitelisted for automatic service restarts by default in |CL|." +msgstr "" + +#: ../../../source/concepts/restart.rst:128 +msgid "Monitor options for clr-service-restart" +msgstr "" + +#: ../../../source/concepts/restart.rst:130 +msgid ":command:`clr-service-restart` works in the background and is invoked with :command:`swupd` automatically. Review the journal output to verify that services are restarted after an OS software update." +msgstr "" + +#: ../../../source/concepts/restart.rst:134 +msgid "To monitor :command:`clr-service-restart`, use one or both options described below." +msgstr "" + +#: ../../../source/concepts/restart.rst:139 +msgid "This option makes :command:`clr-service-restart` perform no restarts. Instead it displays the services that could potentially be restarted. When used, :command:`clr-service-restart` outputs a list of messages showing:" +msgstr "" + +#: ../../../source/concepts/restart.rst:144 +msgid "Which service needs a restart." +msgstr "" + +#: ../../../source/concepts/restart.rst:145 +msgid "What unit it is." +msgstr "" + +#: ../../../source/concepts/restart.rst:146 +msgid "Why it needs a restart." +msgstr "" + +#: ../../../source/concepts/restart.rst:147 +msgid "Which command is required to restart the unit." +msgstr "" + +#: ../../../source/concepts/restart.rst:151 +msgid "This option makes :command:`clr-service-restart` consider all system services, not only the ones that are whitelisted. Because the default whitelist in |CL| is relatively short, you can use this option to restart all impacted services when you log in on the system." +msgstr "" + +#: ../../../source/concepts/restart.rst:156 +msgid "If you pass both options (:option:`-a` and :option:`-n`), :command:`clr-service-restart` displays a complete list of system services that require a restart. Use both options to verify that all desired daemons are restarted." +msgstr "" + +#: ../../../source/concepts/restart.rst:163 +msgid "Telemetry" +msgstr "" + +#: ../../../source/concepts/restart.rst:165 +msgid ":command:`clr-service-restart` may cause problems such as a short service outage when a daemon is being restarted, or if a daemon fails to properly restart. To minimize issues, :command:`clr-service-restart` creates a telemetry record and sends it to the optional |CL| telemetry service if both conditions below are met:" +msgstr "" + +#: ../../../source/concepts/restart.rst:171 +msgid "If a unit fails to automatically restart after an OS update." +msgstr "" + +#: ../../../source/concepts/restart.rst:172 +msgid "If that unit resides in the system location :file:`/usr/lib/systemd/system`." +msgstr "" + +#: ../../../source/concepts/restart.rst:175 +msgid "If you do not install the |CL| telemetrics bundle, the data is discarded. If you install the telemetrics bundle and you opt to send telemetry, then the system unit name is sent to the |CL| telemetry service. We evaluate the report and update the whitelist to remove services that are not safe to restart." +msgstr "" + +#: ../../../source/concepts/restart.rst:182 +msgid "Conclusion" +msgstr "" + +#: ../../../source/concepts/restart.rst:184 +msgid "The |CL| team enjoys coming up with simple and efficient solutions to make your work easier. We made a github project of :command:`clr-service-restart` and we invite you to look at the code, share your thoughts, and work with us on improving the project. You can find the project at:" +msgstr "" + +#: ../../../source/concepts/restart.rst:189 +msgid "https://github.com/clearlinux/clr-service-restart" +msgstr "" + diff --git a/localization/pot/locale/concepts/security.pot b/localization/pot/locale/concepts/security.pot new file mode 100644 index 00000000..b1cd73ee --- /dev/null +++ b/localization/pot/locale/concepts/security.pot @@ -0,0 +1,170 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/concepts/security.rst:4 +msgid "OS Security" +msgstr "" + +#: ../../../source/concepts/security.rst:6 +msgid "|CL-ATTR| aims to make systemic and layered security-conscious decisions that are both performant and practical. This security philosophy is rooted within the project's codebase and operating culture." +msgstr "" + +#: ../../../source/concepts/security.rst:17 +msgid "Security in Updates" +msgstr "" + +#: ../../../source/concepts/security.rst:19 +msgid "The |CL| team believes in the benefits of software security through open sourcing, incremental updates, and rapidly resolving known security advisories." +msgstr "" + +#: ../../../source/concepts/security.rst:26 +msgid "The latest Linux* codebase" +msgstr "" + +#: ../../../source/concepts/security.rst:28 +msgid "|CL| uses the newest version of the Linux kernel which allows the operating system to leverage the latest features from the upstream Linux kernel, including security fixes." +msgstr "" + +#: ../../../source/concepts/security.rst:36 +msgid "Automated Effective Updating" +msgstr "" + +#: ../../../source/concepts/security.rst:38 +msgid "|CL| is incrementally updated multiple times per day." +msgstr "" + +#: ../../../source/concepts/security.rst:40 +msgid "This `rolling release model`_ allows |CL| to consume the latest security fixes of software packages as soon as they become available. There is no waiting for major or minor releases on |CL|." +msgstr "" + +#: ../../../source/concepts/security.rst:44 +msgid "An update is not effective if it is just simply downloaded onto a system. It needs to be obtained *AND* ensured that the new patched copy is being used; not an older copy loaded into memory. |CL| will let you know when a service needs to be rebooted or do it for your automatically after a software update, if desired." +msgstr "" + +#: ../../../source/concepts/security.rst:51 +msgid "In |CL| updates are delivered automatically, efficiently, and effectively. For more information see `documentation about Software Updates`_ in |CL|." +msgstr "" + +#: ../../../source/concepts/security.rst:60 +msgid "Automated CVE Scanning and Remediation" +msgstr "" + +#: ../../../source/concepts/security.rst:62 +msgid "The sheer number of software packages and security vulnerabilities is growing exponentially. Repositories of Common Vulnerabilities and Exposures (CVEs) and their fixes, if known, are published by :abbr:`NIST` in a National Vulnerability Database \\ |NVD|\\ and at \\ |MITRE|\\ ." +msgstr "" + +#: ../../../source/concepts/security.rst:68 +msgid "|CL| employs a proactive and measured approach to addressing known and fixable :abbr:`CVEs (Common Vulnerabilities and Exposures)`. Packages are automatically scanned against :abbr:`CVEs (Common Vulnerabilities and Exposures)` daily, and security patches are deployed as soon as they are available." +msgstr "" + +#: ../../../source/concepts/security.rst:74 +msgid "These combined practices minimize the amount of time |CL| systems are exposed to unnecessary security risk." +msgstr "" + +#: ../../../source/concepts/security.rst:82 +msgid "Security in Software" +msgstr "" + +#: ../../../source/concepts/security.rst:86 +msgid "Minimized attack surface" +msgstr "" + +#: ../../../source/concepts/security.rst:88 +msgid "|CL| removes legacy, unneeded, or redundant standards and components as much as possible to enable the use of best known security standards. Below are some examples:" +msgstr "" + +#: ../../../source/concepts/security.rst:92 +msgid "`RC4`, `SSLv3`, `3DES`, and `SHA-1` ciphers which have had known vulnerabilities, have been explicitly disabled within many |CL| packages to avoid their accidental usage." +msgstr "" + +#: ../../../source/concepts/security.rst:96 +msgid "Services and subsystems which expose sensitive system information have been removed such as the `finger` and `tcpwrappers`." +msgstr "" + +#: ../../../source/concepts/security.rst:99 +msgid "`SFTP` has been disabled by default due to security considerations." +msgstr "" + +#: ../../../source/concepts/security.rst:104 +msgid "Verified trust" +msgstr "" + +#: ../../../source/concepts/security.rst:106 +msgid "|CL| encourages the use of secure practices such as encryption and digital signature verification throughout the system and discourages blind trust. Below are some examples:" +msgstr "" + +#: ../../../source/concepts/security.rst:110 +msgid "All update operations from swupd are transparently encrypted and checked against the |CL| maintainers' public key for authenticity. More information can be found in this blog post: `blog post about swupd security`_" +msgstr "" + +#: ../../../source/concepts/security.rst:115 +msgid "Before being built, packages available from |CL| verify checksums and signatures provided by third party project codebases and maintainers." +msgstr "" + +#: ../../../source/concepts/security.rst:118 +msgid "|CL| features a unified certificate store, `clrtrust`_ which comes ready to work with well-known Certificate Authorities out of the box. `clrtrust`_ also offers an easy to use command line interface for managing system-wide chains of trust, instead of ignoring foreign certificates." +msgstr "" + +#: ../../../source/concepts/security.rst:129 +msgid "Compiled with secure options" +msgstr "" + +#: ../../../source/concepts/security.rst:131 +msgid "While |CL| packages are optimized for performance on Intel® architecture, security conscious kernel and compiler options are sensibly taken advantage of. Below are some examples:" +msgstr "" + +#: ../../../source/concepts/security.rst:136 +msgid "Kernels shipped with |CL| are signed and disallow the usage of custom kernel modules to maintain verifiable system integrity." +msgstr "" + +#: ../../../source/concepts/security.rst:139 +msgid "`Address space layout randomization (ASLR)`_ and `Kernel address space layout randomization (KASLR)`_ are kernel features which defend against certain memory based attacks. More information can be found in a `blog post about PIE executables`_ ." +msgstr "" + +#: ../../../source/concepts/security.rst:150 +msgid "Security in System Design" +msgstr "" + +#: ../../../source/concepts/security.rst:152 +msgid "Simple, yet effective, techniques are used throughout the |CL| system design to defend against common attack vectors and enable good security hygiene. Below are some examples:" +msgstr "" + +#: ../../../source/concepts/security.rst:157 +msgid "Full disk encryption using `Linux Unified Key Setup`_ (LUKS) is available during installation." +msgstr "" + +#: ../../../source/concepts/security.rst:160 +msgid "|CL| uses the PAM cracklib module to harden user login and password security resulting in:" +msgstr "" + +#: ../../../source/concepts/security.rst:163 +msgid "No default username or root password set out of the box with |CL|, you will be asked to set your own password immediately." +msgstr "" + +#: ../../../source/concepts/security.rst:166 +msgid "Simple password schemes, which are known to be easily compromised, cannot be set in |CL|." +msgstr "" + +#: ../../../source/concepts/security.rst:169 +msgid "A password blacklist, to avoid system passwords being set to passwords which have been compromised in the past." +msgstr "" + +#: ../../../source/concepts/security.rst:172 +msgid "`Tallow`_, a lightweight service which monitors and blocks suspicious SSH login patterns, is installed with the :command:`openssh-server` bundle." +msgstr "" + diff --git a/localization/pot/locale/concepts/stateless.pot b/localization/pot/locale/concepts/stateless.pot new file mode 100644 index 00000000..6424f19d --- /dev/null +++ b/localization/pot/locale/concepts/stateless.pot @@ -0,0 +1,150 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/concepts/stateless.rst:4 +msgid "Stateless" +msgstr "" + +#: ../../../source/concepts/stateless.rst:6 +msgid "In most operating systems, files can become intermingled with user and system data and configurations." +msgstr "" + +#: ../../../source/concepts/stateless.rst:14 +msgid "Figure 1: Without stateless, user and system files become mixed on the filesystem over time." +msgstr "" + +#: ../../../source/concepts/stateless.rst:16 +msgid "|CL-ATTR| has a stateless design philosophy of which the goal is to provide an :abbr:`OS (operating system)` that functions without excessive user configuration or customization. Stateless in this context does *not* mean ephemeral or non-persistent." +msgstr "" + +#: ../../../source/concepts/stateless.rst:26 +msgid "File-level separation" +msgstr "" + +#: ../../../source/concepts/stateless.rst:28 +msgid "To accomplish a stateless design the Linux Filesystem Hierarchy is separated between user-owned areas and |CL|-owned areas." +msgstr "" + +#: ../../../source/concepts/stateless.rst:36 +msgid "Figure 2: With stateless, user and system files are separated on the filesystem." +msgstr "" + +#: ../../../source/concepts/stateless.rst:39 +msgid "System areas" +msgstr "" + +#: ../../../source/concepts/stateless.rst:40 +msgid "File under the :file:`/usr` directory are managed by |CL| as system files. Files written under the :file:`/usr` directory by users can get removed through system updates with :ref:`swupd `.This operating assumption allows |CL| to verify and maintain integrity of system files." +msgstr "" + +#: ../../../source/concepts/stateless.rst:46 +msgid "User areas" +msgstr "" + +#: ../../../source/concepts/stateless.rst:47 +msgid "Files under the :file:`/etc/`, :file:`/home`, and :file:`/var` directories are owned and managed by the user. A freshly installed |CL| system will only have a minimal set of files in the :file:`/etc/` directory and software installed by |CL| does not write to :file:`/etc`. This operating assumption allows |CL| users to clearly identify the configuration that makes their system unique." +msgstr "" + +#: ../../../source/concepts/stateless.rst:55 +msgid "Software Configuration" +msgstr "" + +#: ../../../source/concepts/stateless.rst:57 +msgid "With stateless separation, default software configurations are read in order from predefined source code, |CL| provided defaults, and user-provided configuration." +msgstr "" + +#: ../../../source/concepts/stateless.rst:62 +msgid "Default configurations" +msgstr "" + +#: ../../../source/concepts/stateless.rst:64 +msgid "Software in |CL| provides default configuration values so that it is immediately functional, whenever it is appropriate to do so." +msgstr "" + +#: ../../../source/concepts/stateless.rst:67 +msgid "|CL| distributed software packages may be directly modified to include default configuration values or default configuration files may be provided by |CL| under :file:`/usr/share/defaults`. These files can be referenced as templates for customization." +msgstr "" + +#: ../../../source/concepts/stateless.rst:72 +msgid "For example, the default configuration that Apache uses when installed can be found at :file:`/usr/share/defaults/httpd/httpd.conf` directory." +msgstr "" + +#: ../../../source/concepts/stateless.rst:77 +msgid "Overriding configurations" +msgstr "" + +#: ../../../source/concepts/stateless.rst:79 +msgid "If a configuration needs to be changed, the appropriate file should be modified by the user under :file:`/etc/`. If the configuration file does not already exist, it can be created in the appropriate location." +msgstr "" + +#: ../../../source/concepts/stateless.rst:83 +msgid "User defined configuration files should contain the minimal set of desired changes and rely on default configuration for the rest." +msgstr "" + +#: ../../../source/concepts/stateless.rst:86 +msgid "For example, a customized Apache configuration can be used instead by:" +msgstr "" + +#: ../../../source/concepts/stateless.rst:88 +msgid "Create the destination directory for the configuration:" +msgstr "" + +#: ../../../source/concepts/stateless.rst:94 +msgid "Copy the default configuration as a reference template:" +msgstr "" + +#: ../../../source/concepts/stateless.rst:100 +msgid "Make any desired modifications to the configurations:" +msgstr "" + +#: ../../../source/concepts/stateless.rst:106 +msgid "Reload the service or reboot the system to pickup any changes:" +msgstr "" + +#: ../../../source/concepts/stateless.rst:113 +msgid "This pattern can be used to modify the configurations of other programs too. The `stateless man page`_ has application-specific examples." +msgstr "" + +#: ../../../source/concepts/stateless.rst:118 +msgid "System reset" +msgstr "" + +#: ../../../source/concepts/stateless.rst:120 +msgid "Once advantage of the stateless design is that the system defaults can be easily restored by simply deleting everything under :file:`/etc/` and :file:`/var`." +msgstr "" + +#: ../../../source/concepts/stateless.rst:124 +msgid "Running the commands below effectively performs a system reset as if it was just installed:" +msgstr "" + +#: ../../../source/concepts/stateless.rst:132 +msgid "In other Linux distributions, this can be a catastrophic action that renders a system unable to boot." +msgstr "" + +#: ../../../source/concepts/stateless.rst:136 +msgid "Additional information" +msgstr "" + +#: ../../../source/concepts/stateless.rst:138 +msgid "`stateless man page`_" +msgstr "" + +#: ../../../source/concepts/stateless.rst:140 +msgid "`Where is /etc/fstab in Clear Linux? `_" +msgstr "" + diff --git a/localization/pot/locale/concepts/swupd-about.pot b/localization/pot/locale/concepts/swupd-about.pot new file mode 100644 index 00000000..f5c44736 --- /dev/null +++ b/localization/pot/locale/concepts/swupd-about.pot @@ -0,0 +1,138 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/concepts/swupd-about.rst:4 +msgid "swupd: software updater" +msgstr "" + +#: ../../../source/concepts/swupd-about.rst:6 +msgid ":command:`swupd` is an operating system software manager and update program that operates at a file-level to enable verifiable integrity and update efficiency." +msgstr "" + +#: ../../../source/concepts/swupd-about.rst:10 +msgid "Visit the `swupd man page`_ for more details." +msgstr "" + +#: ../../../source/concepts/swupd-about.rst:13 +msgid "Versioning" +msgstr "" + +#: ../../../source/concepts/swupd-about.rst:15 +msgid "Using package managers to keep track of software version compatibility or compare multiple systems on many Linux distributions can be cumbersome." +msgstr "" + +#: ../../../source/concepts/swupd-about.rst:17 +msgid "With |CL| :command:`swupd`, versioning happens at the individual file-level. This means |CL| generates an entirely new OS version with any set of software changes to the system (including software downgrades or removals). This rolling release versioning model is similar to :command:`git` internal version tracking, where any of the individual file commits are tracked and move the pointer forward when changed." +msgstr "" + +#: ../../../source/concepts/swupd-about.rst:23 +msgid "While administrators can pick and choose which `bundles`_ a system has installed, a single |CL| version number strictly represents one combination of all software versions that can be installed onto a system of that |CL| version. This method of whole OS versioning offers unique advantages. Namely, system administrators can quickly compare multiple |CL| systems that share the same version for important software and security fixes." +msgstr "" + +#: ../../../source/concepts/swupd-about.rst:31 +msgid "Updating" +msgstr "" + +#: ../../../source/concepts/swupd-about.rst:33 +msgid "|CL| promotes regular and automated updating of software to ensure integration of new enhancements and security fixes. Refer to :ref:`security` documentation for more information." +msgstr "" + +#: ../../../source/concepts/swupd-about.rst:37 +msgid "Learn how to update your system using :ref:`swupd `." +msgstr "" + +#: ../../../source/concepts/swupd-about.rst:40 +msgid "Update efficiency" +msgstr "" + +#: ../../../source/concepts/swupd-about.rst:42 +msgid "Because :command:`swupd` operates at the individual file-level instead of a package-level, |CL| updates are small and fast." +msgstr "" + +#: ../../../source/concepts/swupd-about.rst:45 +msgid "On many Linux\\* distributions, updates to a particular software package require the whole software package to be downloaded and replaced --even for one line of code." +msgstr "" + +#: ../../../source/concepts/swupd-about.rst:49 +msgid "In |CL|, updates are generated using the :ref:`mixer ` tool. Mixer calculates the difference between two |CL| versions and makes available *binary deltas*, which contain only the changed portion of files. This *binary delta technology* [1]_ means :command:`swupd` on |CL| systems only needs to download and apply a small fraction of a package in order to receive an update." +msgstr "" + +#: ../../../source/concepts/swupd-about.rst:55 +msgid "The :ref:`mixer ` tool additionally computes updates files in multiple compression formats, allowing :command:`swupd` to utilize the most efficiently compressed format for a |CL| system to minimize the cost to update." +msgstr "" + +#: ../../../source/concepts/swupd-about.rst:61 +msgid "Update integrity" +msgstr "" + +#: ../../../source/concepts/swupd-about.rst:63 +msgid "This is the basis of the :command:`swupd diagnose` subcommand, which allows a |CL| system to check for any discrepancies to system files. As necessary, :command:`swupd repair` provides a useful way for software developers to remediate these discrepancies and return to a known filesystem state." +msgstr "" + +#: ../../../source/concepts/swupd-about.rst:67 +msgid "Bundles" +msgstr "" + +#: ../../../source/concepts/swupd-about.rst:69 +msgid "|CL-ATTR| approaches software management differently than many other Linux-based operating systems." +msgstr "" + +#: ../../../source/concepts/swupd-about.rst:72 +msgid "Instead of deploying granular software packages, |CL| uses the concept of bundles with pre-associated software. Each bundle encapsulates a particular use-case, which is enabled by composing all the required upstream open-source projects and packages into one logical unit." +msgstr "" + +#: ../../../source/concepts/swupd-about.rst:77 +msgid "This bundle-based approach offers some unique advantages:" +msgstr "" + +#: ../../../source/concepts/swupd-about.rst:79 +msgid "Bundles provide a particular functionality, or stack, which include all associated runtime dependencies." +msgstr "" + +#: ../../../source/concepts/swupd-about.rst:82 +msgid "Software package dependencies are resolved on the server, so file-level conflicts do not occur on the target system after an update." +msgstr "" + +#: ../../../source/concepts/swupd-about.rst:85 +msgid "All combinations of bundles are able to co-exist on a |CL| system." +msgstr "" + +#: ../../../source/concepts/swupd-about.rst:87 +msgid "For more information on bundles, visit:" +msgstr "" + +#: ../../../source/concepts/swupd-about.rst:89 +msgid ":ref:`bundles`" +msgstr "" + +#: ../../../source/concepts/swupd-about.rst:90 +msgid ":ref:`bundles-about`" +msgstr "" + +#: ../../../source/concepts/swupd-about.rst:91 +msgid ":ref:`bundle-commands`" +msgstr "" + +#: ../../../source/concepts/swupd-about.rst:92 +msgid ":ref:`compatible-kernels`" +msgstr "" + +#: ../../../source/concepts/swupd-about.rst:94 +msgid "The software update technology for |CL-ATTR| was first presented at the Linux Plumbers conference in 2012." +msgstr "" + diff --git a/localization/pot/locale/concepts/telemetry-about.pot b/localization/pot/locale/concepts/telemetry-about.pot new file mode 100644 index 00000000..c61f8ce9 --- /dev/null +++ b/localization/pot/locale/concepts/telemetry-about.pot @@ -0,0 +1,130 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/concepts/telemetry-about.rst:4 +msgid "Telemetrics" +msgstr "" + +#: ../../../source/concepts/telemetry-about.rst:6 +msgid "One of the key features of |CL-ATTR| is telemetry, which is used to monitor system health. Telemetry enables developers to observe and proactively address issues before end users are impacted." +msgstr "" + +#: ../../../source/concepts/telemetry-about.rst:10 +msgid "*Telemetrics* is a combination word made from:" +msgstr "" + +#: ../../../source/concepts/telemetry-about.rst:12 +msgid "*Telemetry* which is sensing and reporting data." +msgstr "" + +#: ../../../source/concepts/telemetry-about.rst:13 +msgid "*Analytics* which is using visualization and statistical inferencing to make sense of the reported data." +msgstr "" + +#: ../../../source/concepts/telemetry-about.rst:16 +msgid "|CL| telemetry reports system-level debug/crash information using specialized probes. The probes monitor system tasks such as :abbr:`swupd (software updater)`, kernel oops, machine error checks, and BIOS error report table for unhandled hardware failures. Telemetry enables real-time issue reporting to allow system developers to quickly focus on an issue and monitor corrective actions." +msgstr "" + +#: ../../../source/concepts/telemetry-about.rst:22 +msgid "|CL| telemetry is fully customizable and can be used during software development for debugging purposes. You can use **libtelemetry** in your code to create custom telemetry records. You can also use **telem-record-gen** in script files or call it from another program." +msgstr "" + +#: ../../../source/concepts/telemetry-about.rst:29 +msgid "The |CL| telemetry client is disabled by default until you decide to enable it. Telemetry is an **opt-in** solution and can be easily enabled or disabled." +msgstr "" + +#: ../../../source/concepts/telemetry-about.rst:32 +msgid "Architecture" +msgstr "" + +#: ../../../source/concepts/telemetry-about.rst:34 +msgid "|CL| telemetry has two fundamental components, which are shown in figure 1:" +msgstr "" + +#: ../../../source/concepts/telemetry-about.rst:36 +msgid "Client: generates and delivers records to the backend server via the network." +msgstr "" + +#: ../../../source/concepts/telemetry-about.rst:37 +msgid "Backend: captures records sent from the client and displays the cumulative content through a specialized interface." +msgstr "" + +#: ../../../source/concepts/telemetry-about.rst:42 +msgid "If you want to capture your own records for analysis, you must set up your own backend server." +msgstr "" + +#: ../../../source/concepts/telemetry-about.rst:49 +msgid "Figure 1: Clear Linux Telemetry Architecture." +msgstr "" + +#: ../../../source/concepts/telemetry-about.rst:51 +msgid "The telemetry client provides the front end of a complete telemetrics solution and includes the following components:" +msgstr "" + +#: ../../../source/concepts/telemetry-about.rst:54 +msgid "**telemprobd**, a daemon that prepares the telemetry records and spools them on disk prior to delivery" +msgstr "" + +#: ../../../source/concepts/telemetry-about.rst:55 +msgid "**telempostd**, a daemon that sends the records to the telemetry backend server or leaves them on disk until deleting after the record expires." +msgstr "" + +#: ../../../source/concepts/telemetry-about.rst:57 +msgid "**probes**, that collect specific types of data from the operating system." +msgstr "" + +#: ../../../source/concepts/telemetry-about.rst:58 +msgid "**libtelemetry**, that telemetrics probes use to create telemetrics records and send them to the telemprobd daemon for further processing." +msgstr "" + +#: ../../../source/concepts/telemetry-about.rst:62 +msgid "The telemetry backend provides the server-side component of a complete telemetrics solution and consists of:" +msgstr "" + +#: ../../../source/concepts/telemetry-about.rst:65 +msgid "Nginx web server." +msgstr "" + +#: ../../../source/concepts/telemetry-about.rst:66 +msgid "Two Flask apps:" +msgstr "" + +#: ../../../source/concepts/telemetry-about.rst:68 +msgid "Collector, an ingestion web app for records received from telemetrics-client probes." +msgstr "" + +#: ../../../source/concepts/telemetry-about.rst:69 +msgid "TelemetryUI, a web app that exposes several views to visualize the telemetry data and also provides a REST API to perform queries." +msgstr "" + +#: ../../../source/concepts/telemetry-about.rst:72 +msgid "PostgreSQL as the underlying database server." +msgstr "" + +#: ../../../source/concepts/telemetry-about.rst:74 +msgid "The default telemetry backend server reports back to the |CL| development team and is not viewable outside the Intel firewall. If you want to collect your own records, then you must set up your own telemetry backend server." +msgstr "" + +#: ../../../source/concepts/telemetry-about.rst:79 +msgid "Next steps" +msgstr "" + +#: ../../../source/concepts/telemetry-about.rst:81 +msgid "To put this concept into practice, refer to :ref:`telem-guide`." +msgstr "" + diff --git a/localization/pot/locale/disclaimers.pot b/localization/pot/locale/disclaimers.pot new file mode 100644 index 00000000..110018a4 --- /dev/null +++ b/localization/pot/locale/disclaimers.pot @@ -0,0 +1,26 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/disclaimers.rst:7 +msgid "Disclaimer" +msgstr "" + +#: ../../../source/disclaimers.rst:9 +msgid "This documentation is a work in progress and is being provided for informative purposes only. Because it is a work in progress, there are parts that are either missing or will be revised as code development continues." +msgstr "" + diff --git a/localization/pot/locale/documentation_license.pot b/localization/pot/locale/documentation_license.pot new file mode 100644 index 00000000..f3d84d14 --- /dev/null +++ b/localization/pot/locale/documentation_license.pot @@ -0,0 +1,18 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + diff --git a/localization/pot/locale/get-started/bare-metal-install-desktop/bare-metal-install-desktop.pot b/localization/pot/locale/get-started/bare-metal-install-desktop/bare-metal-install-desktop.pot new file mode 100644 index 00000000..aa98a015 --- /dev/null +++ b/localization/pot/locale/get-started/bare-metal-install-desktop/bare-metal-install-desktop.pot @@ -0,0 +1,651 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:4 +msgid "Install |CL-ATTR| from the live desktop" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:6 +msgid "The live desktop allows you to boot |CL-ATTR| in a GNOME desktop without modifying the host system, offering the chance to explore developing on |CL|. Better yet, launch the |CL| installer to install on your target system." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:15 +msgid "System requirements" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:17 +msgid "Assure that your target system supports the installation:" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:19 +msgid ":ref:`system-requirements`" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:20 +msgid ":ref:`compatibility-check`" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:23 +msgid "Preliminary steps" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:25 +msgid "`Visit our Downloads page`_." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:27 +msgid "Download the file :file:`clear--live-desktop.iso`" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:31 +msgid " is the latest |CL| auto-numbered release." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:33 +msgid "Follow your OS instructions to create a bootable USB drive." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:35 +msgid ":ref:`bootable-usb`" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:40 +msgid "Install from live image" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:42 +msgid "After you download and burn the live desktop image on a USB drive, follow these steps." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:45 +msgid "Insert the USB drive into an available USB slot." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:47 +msgid "Power on the system." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:49 +msgid "Open the system BIOS setup menu by pressing the :kbd:`F2` key. Your BIOS setup menu entry point may vary." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:52 +msgid "In the setup menu, enable the UEFI boot and set the USB drive as the first option in the device boot order." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:55 +msgid "Save these settings, e.g. :kbd:`F10`, and exit." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:57 +msgid "Reboot the target system." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:59 +msgid "Select :guilabel:`Clear Linux OS` in the boot menu, shown in Figure 1." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:65 +msgid "Figure 1: Clear Linux OS in boot menu" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:70 +msgid "Confirm network connection" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:72 +msgid "Confirm there is a network connection before launching the installer. Choose a method: `Wired Connection`, or `WiFi Connected`. This guide shows an example of a **Wired Connection**." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:76 +msgid "In the upper right of the top menu bar, select the square icon to view Network settings, shown in Figure 2." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:79 +msgid "Select :guilabel:`Wired Connected` and then :guilabel:`Wired Settings`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:85 +msgid "Figure 2: Software icon, Network settings" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:87 +msgid "View the :guilabel:`Wired` menu to assure that you're target system and installer are connected to a network." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:90 +msgid "Optional: Configure Proxy settings." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:92 +msgid "To view :guilabel:`Network Proxy`, select its :guilabel:`Gear` icon." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:94 +msgid "Select from `Automatic`, `Manual` or `Disabled` as desired." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:96 +msgid "Close the dialogue box." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:98 +msgid "Select the :guilabel:`Gear` icon to view Network settings." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:100 +msgid "If desired, select :guilabel:`Connect automatically`. Select other options as desired." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:103 +msgid "Select :guilabel:`Apply` button to confirm change to settings." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:106 +msgid "Software" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:108 +msgid "Optional: Explore |CL| bundles and other software available. Double-click the :guilabel:`Software` icon from the Activities menu, shown in Figure 2." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:112 +msgid "`Sofware` application is *only intended for exploring* available bundles, applications, and images. Do not attempt to install them." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:115 +msgid "Assure there is a network connection before launching `Software`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:118 +msgid "Launch the |CL| installer" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:120 +msgid "After the live desktop image boots, find the |CL| icon in the :guilabel:`Activities` menu at left, shown in Figure 3." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:123 +msgid "Click the icon, :guilabel:`Install Clear Linux OS`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:129 +msgid "Figure 3: Install Clear Linux OS icon" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:131 +msgid "The installer is launched, as shown in Figure 4." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:137 +msgid "Figure 4: |CL| OS Desktop Installer" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:139 +msgid "In :guilabel:`Select Language`, select a language from the options, or type your preferred language in the search bar." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:142 +msgid "Select :guilabel:`Next`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:148 +msgid "Minimum installation requirements" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:150 +msgid "To fulfill minimum installation requirements, complete the `Required options`_. We also recommend completing `Advanced options`_." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:155 +msgid "The :kbd:`Install` button is only highlighted **after** you complete `Required options`_." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:158 +msgid "Checkmarks indicate a selection has been made." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:160 +msgid "An Internet connection is required. You may want to launch a browser prior to installation to verify your Internet connection." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:164 +msgid "|CL| Desktop Installer" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:166 +msgid "The |CL| Desktop Installer Main Menu appears as shown in Figure 5. To meet the minimum requirements, enter values in all submenus for the :guilabel:`Required options`. After you complete them, your selections appear below submenus and a checkmark appears at right." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:175 +msgid "Figure 5: Clear Linux OS Desktop Installer - Main Menu" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:178 +msgid "Navigation" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:180 +msgid "Use the :kbd:`mouse` to navigate or select options." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:182 +msgid "Use :kbd:`Tab` key to navigate between :guilabel:`Required options` and :guilabel:`Advanced options`" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:185 +msgid "Use :kbd:`Up` or :kbd:`Down` arrow keys to navigate submenu list." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:187 +msgid "Select :kbd:`Confirm`, or :kbd:`Cancel` in submenus." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:190 +msgid "Required options" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:193 +msgid "Select Time Zone" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:195 +msgid "From the Main Menu, select :guilabel:`Select Time Zone`. `UTC` is selected by default." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:198 +msgid "In :guilabel:`Select Time Zone`, navigate to the desired time zone. Or start typing the region and then city. (.e.g., :file:`America/Los_Angeles`)." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:202 +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:218 +msgid "Select :guilabel:`Confirm`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:208 +msgid "Figure 6: Select System Time Zone" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:211 +msgid "Select Keyboard" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:213 +msgid "From the Main Menu, select :guilabel:`Select Keyboard`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:215 +msgid "Navigate to your desired keyboard layout. We select \"us\" for the United States." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:224 +msgid "Figure 7: Select Keyboard menu" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:227 +msgid "Select Installation Media" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:229 +msgid "From the Main Menu, select :guilabel:`Select Installation Media`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:231 +msgid "Choose an installation method: `Safe Installation`_ or `Destructive Installation`_." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:238 +msgid "Figure 8: Select Installation Media" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:241 +msgid "Safe Installation" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:242 +msgid "Use this method to safely install |CL| on media with available space, or alongside existing partitions, and accept the `Default partition schema`_. If enough free space exists, safe installation is allowed." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:248 +msgid "|CL| allows installation alongside another OS. Typically, when you boot your system, you can press an `F key` to view and select a bootable device or partition during the BIOS POST stage. Some BIOSes present the |CL| partition, and you can select and boot it. However, other BIOSes may only show the primary partition, in which case you will not be able boot |CL|. Be aware of this possible limitation." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:257 +msgid "Destructive Installation" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:259 +msgid "Use this method to destroy the contents of the target device, install |CL| on it, and accept the `Default partition schema`_." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:262 +msgid "Disk encryption" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:264 +msgid "For greater security, disk encryption is supported using LUKS. Encryption is optional." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:267 +msgid "To encrypt the root partition, select :guilabel:`Enable Encryption`, as shown in Figure 9." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:274 +msgid "Figure 9: Enable Encryption" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:276 +msgid "When :guilabel:`Encryption Passphrase` appears, enter a passphrase." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:282 +msgid "Figure 10: Encryption Passphrase" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:286 +msgid "Minimum length is 8 characters. Maximum length is 94 characters." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:288 +msgid "Enter the same passphrase in the second field." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:290 +msgid "Select :guilabel:`Confirm` in the dialogue box." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:294 +msgid ":guilabel:`Confirm` is only highlighted if passphrases match." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:296 +msgid "Select :guilabel:`Confirm` in submenu." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:299 +msgid "Manage User" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:301 +msgid "In Required Options, select :guilabel:`Manage User`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:303 +msgid "In :guilabel:`User Name`, enter a user name." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:309 +msgid "Figure 11: Manage User" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:311 +msgid "In :guilabel:`Login`, create a login name. It must start with a letter and can use numbers, hyphens, and underscores. Maximum length is 31 characters." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:315 +msgid "In :guilabel:`Password`, enter a password. Minimum length is 8 characters. Maximum length is 255 characters." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:318 +msgid "In :guilabel:`Confirm`, enter the same password." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:322 +msgid ":guilabel:`Administrator` rights are selected by default. For security purposes, the default user must be assigned as an Administrator." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:326 +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:394 +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:427 +msgid "Select :kbd:`Confirm`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:330 +msgid "Select :guilabel:`Cancel` to return to the Main Menu." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:333 +msgid "Modify User" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:335 +msgid "In Manager User, select :guilabel:`Manage User`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:337 +msgid "Modify user details as desired." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:339 +msgid "Select :guilabel:`Confirm` to save the changes you made." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:343 +msgid "Optional: Select :guilabel:`Cancel` to return to the Main Menu to revert changes." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:346 +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:404 +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:429 +msgid "Optional: Skip to `Finish installation`_." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:349 +msgid "Telemetry" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:351 +msgid "Choose whether to participate in `telemetry`. :ref:`telem-guide` is a |CL| feature that reports failures and crashes to the |CL| development team for improvements. For more information, see :ref:`telemetry-about`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:355 +msgid "From :guilabel:`Required Options`, select :guilabel:`Telemetry`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:357 +msgid "Select :kbd:`Yes`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:363 +msgid "Figure 12: Enable Telemetry" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:365 +msgid "If you don't wish to participate, select :kbd:`No`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:368 +msgid "Advanced options" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:370 +msgid "After you complete the `Required options`_, we recommend completing :guilabel:`Advanced options`--though they're not required. Doing so customizes your development environment, so you're ready to go immediately after reboot." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:375 +msgid "`Bundle Selection`_" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:377 +msgid "`Assign Hostname`_" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:379 +msgid "As for bundles, you can always add more later with :ref:`swupd-guide`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:382 +msgid "Bundle Selection" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:384 +msgid "On the Advanced menu, select :guilabel:`Bundle Selection`" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:386 +msgid "Select your desired bundles." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:392 +msgid "Figure 13: Bundle Selection" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:396 +msgid "View the bundles that you selected." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:402 +msgid "Figure 14: Bundle Selections - Advanced Options" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:407 +msgid "Assign Hostname" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:409 +msgid "In Advanced Options, select :guilabel:`Assign Hostname`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:411 +msgid "In :guilabel:`Hostname`, enter the hostname only (excluding the domain)." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:417 +msgid "Figure 15: Assign Hostname" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:421 +msgid "Hostname does not allow empty spaces. Hostname must start with an alphanumeric character but may also contain hyphens. Maximum length of 63 characters." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:425 +msgid "Navigate to :kbd:`Confirm` until highlighted." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:432 +msgid "Finish installation" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:434 +msgid "When you are satisfied with your installation configuration, select :guilabel:`Install`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:441 +msgid "Figure 16: Finish installation" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:447 +msgid "If you do not enter a selection for all :guilabel:`Required Options`, the :guilabel:`Install` button remains greyed out, as shown in Figure 17. Return to `Required Options`_ and make selections." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:456 +msgid "Figure 17: Required Options - Incomplete" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:458 +msgid "After installation is complete, select :guilabel:`Exit`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:460 +msgid "Shut down the target system." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:462 +msgid "Remove the USB or any installation media." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:464 +msgid "Power on your system." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:468 +msgid "Allow time for the graphical login to appear. A login prompt shows the administrative user that you created." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:470 +msgid "Log in as the adminstrative user." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:472 +msgid "Congratulations. You successfully installed |CL|." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:475 +msgid "Default partition schema" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:477 +msgid "Table 1 shows the defult partition schema with the exception of root, which varies." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:480 +msgid "**Table 1. Disk Partition Setup**" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:484 +msgid "FileSystem" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:485 +msgid "Mount Point" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:486 +msgid "Minimum size" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:487 +msgid "``VFAT``" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:488 +msgid "/boot" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:489 +msgid "150M" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:490 +msgid "``swap``" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:492 +msgid "256MB" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:493 +msgid "``root``" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:494 +msgid "/" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:495 +msgid "*Size depends upon use case/desired bundles.*" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:498 +msgid "Next steps" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:500 +msgid ":ref:`guides`" +msgstr "" + diff --git a/localization/pot/locale/get-started/bare-metal-install-server/bare-metal-install-server.pot b/localization/pot/locale/get-started/bare-metal-install-server/bare-metal-install-server.pot new file mode 100644 index 00000000..bc8af761 --- /dev/null +++ b/localization/pot/locale/get-started/bare-metal-install-server/bare-metal-install-server.pot @@ -0,0 +1,1081 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:4 +msgid "Install |CL-ATTR| on bare metal with live server" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:6 +msgid "These instructions guide you through installing |CL-ATTR| on bare metal from a bootable USB drive using a live server image." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:13 +msgid "System requirements" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:15 +msgid "Assure that your target system supports the installation:" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:17 +msgid ":ref:`system-requirements`" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:18 +msgid ":ref:`compatibility-check`" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:21 +msgid "Download the latest |CL| live server image" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:23 +msgid "Get the latest |CL| installer image from the `downloads page`_. Look for the :file:`clear-[version number]-live-server.iso` file." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:26 +msgid "Follow your OS instructions to create a bootable USB drive." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:28 +msgid ":ref:`bootable-usb`" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:30 +msgid "After downloading the image, verify and decompress the file per your OS." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:33 +msgid "Install |CL| on your target system" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:35 +msgid "Ensure that your system is configured to boot UEFI. The installation method described below requires a wired Internet connection with DHCP." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:40 +msgid "Alternatively, you can install |CL| over a wireless connection by first using `nmtui`. Follow the `nmtui` instructions shown in Figure 2." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:43 +msgid "Follow these steps to install |CL| on the target system:" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:45 +msgid "Insert the USB drive into an available USB slot." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:47 +msgid "Power on the system." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:49 +msgid "Open the system BIOS setup menu by pressing the :kbd:`F2` key. Your BIOS setup menu entry point may vary." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:53 +msgid "|CL| supports UEFI boot. Some hardware may list UEFI and non-UEFI USB boot entries. In this case, you should select the `UEFI` boot option." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:57 +msgid "In the setup menu, enable the UEFI boot and set the USB drive as the first option in the device boot order." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:60 +msgid "Save these settings and exit." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:62 +msgid "Reboot the target system." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:64 +msgid "This action launches the |CL| installer boot menu, shown in figure 1." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:70 +msgid "Figure 1: Clear Linux OS Installer boot menu" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:72 +msgid "With :guilabel:`Clear Linux OS` highlighted, select :kbd:`Enter`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:75 +msgid "Launch the |CL| Installer" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:77 +msgid "At the :guilabel:`login` prompt, enter :command:`root`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:79 +msgid "Follow the onscreen instructions, shown in Figure 2, and enter a temporary password." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:86 +msgid "Figure 2: root login" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:88 +msgid "At the :guilabel:`root` prompt, enter :command:`clr-installer` and press :kbd:`Enter`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:95 +msgid "Figure 3: clr-installer command" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:98 +msgid "Minimum installation requirements" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:100 +msgid "To fulfill minimum installation requirements, complete the `Required options`_. While not required, we encourage you to apply the `Recommended options`_. `Advanced options`_ are optional." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:106 +msgid "The :kbd:`Install` button is **only highlighted after** you complete `Required options`_." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:110 +msgid "Main Menu" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:111 +msgid "The |CL| Installer Main Menu appears as shown in Figure 4." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:117 +msgid "Figure 4: Clear Linux OS Installer" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:119 +msgid "The |CL| Installer Main Menu has two tabs: :guilabel:`[R] Required options` and :guilabel:`[A] Advanced options`. Navigate between tabs using the arrow these shortcut keys:" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:123 +msgid ":kbd:`Shift+A` for :guilabel:`[A] Advanced options`" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:124 +msgid ":kbd:`Shift+R` for :guilabel:`[R] Required options`" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:126 +msgid "To meet the minimum requirements, enter your choices in the :guilabel:`Required options`. After confirmation, your selections appear beside the :guilabel:`>>` chevron, below the menu options." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:131 +msgid "Navigation" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:133 +msgid "Select :kbd:`Tab` or :kbd:`Up/Down` arrows to highlight your choice." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:135 +msgid "Select :kbd:`Enter` or :kbd:`Spacebar` to confirm your choice." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:137 +msgid "Select :kbd:`Cancel` or :kbd:`Esc` to cancel your choice." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:140 +msgid "Required options" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:143 +msgid "Choose Timezone" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:145 +msgid "From the Main Menu, navigate to :guilabel:`Choose Timezone`. `UTC` is the default." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:148 +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:168 +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:185 +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:677 +msgid "Select :kbd:`Enter`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:150 +msgid "In :guilabel:`Select System Timezone`, use :kbd:`Up/Down` arrows navigate to the desired timezone." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:155 +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:172 +msgid "Press :kbd:`Enter` to confirm." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:161 +msgid "Figure 5: Select System Timezone" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:164 +msgid "Choose Language" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:166 +msgid "From the Main Menu, navigate to :guilabel:`Choose Language`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:170 +msgid "In :guilabel:`Select System Language`, navigate to your desired language." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:178 +msgid "Figure 6: Select System Language" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:181 +msgid "Configure the Keyboard" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:183 +msgid "From the Main Menu, select :guilabel:`Configure the Keyboard`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:187 +msgid "In :guilabel:`Select Keyboard`, navigate to the desired option." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:189 +msgid "Select :kbd:`Enter` to :kbd:`Confirm`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:191 +msgid "Optional: In :guilabel:`Test keyboard`, type text to assure that the keys map to your keyboard." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:198 +msgid "Figure 7: Select Keyboard menu" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:201 +msgid "Configure Installation Media" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:203 +msgid "From the Main Menu, select :guilabel:`Configure Installation Media`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:205 +msgid "Choose an installation method: * `Safe Installation`_ * `Destructive Installation`_ * `Advanced Configuration`_" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:215 +msgid "Figure 8: Select Installation Media" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:217 +msgid "Select :guilabel:`Rescan Media` to show available installation targets." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:222 +msgid "Safe Installation" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:224 +msgid "Use this method to safely install |CL| on media with available space, or alongside existing partitions, and accept the `Default partition schema`_. If enough free space exists, safe installation is allowed. See also `Troubleshooting`_ below." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:230 +msgid "Destructive Installation" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:232 +msgid "Use this method to destroy the contents of the target device, install |CL| on it, and accept the `Default partition schema`_." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:237 +msgid "From the :guilabel:`Select Installation Media` menu, select :guilabel:`Enable Encryption` to encrypt the root filesystem for either option above. See also `Disk encryption`_ for more information." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:242 +msgid "Advanced Configuration" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:244 +msgid "Use this method to manually configure partitions. These must meet `Default partition schema`_. You may also choose `Disk encryption`_ during configuration of each partition." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:250 +msgid "`Advanced Configuration` is available in the installer versions 1.2.0 and above." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:253 +msgid "From :guilabel:`Select Installation Media`, shown in Figure 8 above, select :guilabel:`Advanced Configuration`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:256 +msgid "In :guilabel:`Advanced Configuration`, navigate to :file:`/dev/sda` and then press :kbd:`Enter`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:263 +msgid "Figure 9: Advanced configuration menu" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:265 +msgid "Choose a partition method:" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:267 +msgid ":guilabel:`Auto Partition` Select this option to accept the `Default partition schema`_." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:270 +msgid "Navigate to and press :guilabel:`Confirm`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:272 +msgid "Continue with installation configuration. Jump to `Telemetry`_." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:274 +msgid "`Manual Partition`_ Continue below." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:277 +msgid "Manual Partition" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:279 +msgid "We provide a simple example below." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:281 +msgid "Navigate to the unallocated media (e.g.,`/dev/sda`) until highlighted, as shown in Figure 9." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:284 +msgid "Press :guilabel:`Enter` to edit the partition." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:286 +msgid "The :guilabel:`Partition Setup` menu appears, shown in Figure 10." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:290 +msgid "After adding the first partition, select :guilabel:`Free Space` to add another partition." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:293 +msgid "root partition" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:295 +msgid "We configure the `root` partition as shown in Figure 10. Configuration of the `root` partition varies." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:302 +msgid "Figure 10: root partition" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:304 +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:317 +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:331 +msgid "Navigate to :guilabel:`Add` and press :guilabel:`Enter`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:307 +msgid "boot partition" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:309 +msgid "We configure the `boot` partition as shown in Figure 11." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:315 +msgid "Figure 11: boot partition" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:320 +msgid "swap partition" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:322 +msgid "In the :guilabel:`File System` pulldown menu, select `swap`, and enter a label. We enter the minimum required size (e.g., 256M)." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:329 +msgid "Figure 12: swap partition" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:333 +msgid "Next, navigate to :guilabel:`Confirm` and press :guilabel:`Enter`, shown in Figure 13." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:336 +msgid "Manual partitioning is complete." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:342 +msgid "Figure 13: Final configuration of disk partitions" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:344 +msgid "You may skip to the `Telemetry`_ section below." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:347 +msgid "Disk encryption" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:349 +msgid "For greater security, disk encryption is supported using LUKS for the any partition except `/boot` on |CL|. To encrypt the root partition, see the example below. Encryption is optional." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:354 +msgid "Encryption Passphrase" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:356 +msgid "|CL| uses a single passphrase for encrypted partitions. Additional keys may be configured post-installation using the ``cryptsetup`` tool." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:359 +msgid "Optional: Select :guilabel:`[X] Encrypt` to encrypt the root partition, as shown in Figure 14." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:366 +msgid "Figure 14: Encrypt partition" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:368 +msgid "The :guilabel:`Encryption Passphrase` dialogue appears." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:372 +msgid "Minimum length is 8 characters. Maximum length is 94 characters." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:378 +msgid "Figure 15: Encryption Passphrase" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:380 +msgid "Enter the same passphrase in the first and second field." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:382 +msgid "Navigate to :guilabel:`Confirm` and press :kbd:`Enter`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:386 +msgid ":guilabel:`Confirm` is only highlighted if passphrases match." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:389 +msgid "Telemetry" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:391 +msgid ":ref:`telem-guide` is a |CL| feature that reports failures and crashes to the |CL| development team for improvements. For more detailed information, visit our :ref:`telemetry-about` page." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:395 +msgid "Select your desired option on whether to participate in `telemetry`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:397 +msgid "In the Main Menu, navigate to :guilabel:`Telemetry` and select :kbd:`Enter`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:400 +msgid "Select :kbd:`Tab` to highlight your choice." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:402 +msgid "Select :kbd:`Enter` to confirm." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:408 +msgid "Figure 16: Enable Telemetry" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:411 +msgid "Recommended options" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:413 +msgid "After you complete the `Required options`_, we highly recommend completing these selected `Advanced options`_ at minimum:" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:416 +msgid "`Manage User`_ Assign a new user with administrative rights" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:417 +msgid "`Assign Hostname`_ Simplify your development environment" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:420 +msgid "Skip to finish installation" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:422 +msgid "After selecting values for all :guilabel:`Required options`, you may skip to `Finish installation`_." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:425 +msgid "Otherwise, continue below. In the Main Menu, select :guilabel:`Advanced options` for additional configuration." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:429 +msgid "Advanced options" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:432 +msgid "Configure Network Interfaces" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:434 +msgid "By default, |CL| is configured to automatically detect the host network interface using DHCP. However, if you want to use a static IP address or if you do not have a DHCP server on your network, follow these instructions to manually configure the network interface. Otherwise, default network interface settings are automatically applied." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:442 +msgid "If DHCP is available, no user selection may be required." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:444 +msgid "Navigate to :guilabel:`Configure Network Interfaces` and select :kbd:`Enter`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:447 +msgid "Navigate to the network :guilabel:`interface` you wish to change." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:449 +msgid "When the desired :guilabel:`interface` is highlighted, select :guilabel:`Enter` to edit." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:452 +msgid "Multiple network interfaces may appear." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:458 +msgid "Figure 17: Configure Network Interfaces" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:460 +msgid "Notice :guilabel:`Automatic / dhcp` is selected by default (at bottom)." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:462 +msgid "Optional: Navigate to the checkbox :guilabel:`Automatic / dhcp` and select :kbd:`Spacebar` to deselect." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:469 +msgid "Figure 18: Network interface configuration" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:471 +msgid "Navigate to the appropriate fields and assign the desired network configuration." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:474 +msgid "To save settings, navigate to :guilabel:`Confirm` and select :kbd:`Enter`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:479 +msgid "To revert to previous settings, navigate to the :guilabel:`Cancel` and select :kbd:`Enter`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:482 +msgid "Upon confirming network configuration, the :guilabel:`Testing Networking` dialogue appears. Assure the result shows success. If a failure occurs, your changes will not be saved." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:486 +msgid "Upon confirmation, you are returned to :guilabel:`Network interface` settings." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:489 +msgid "Navigate to and select :guilabel:`Main Menu`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:491 +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:519 +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:540 +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:564 +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:664 +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:694 +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:714 +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:733 +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:758 +msgid "Optional: Skip to `Finish installation`_." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:494 +msgid "Proxy" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:496 +msgid "|CL| automatically attempts to detect proxy settings, as described in `Autoproxy`_. If you need to manually assign proxy settings, follow this instruction." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:500 +msgid "From the Advanced options menu, navigate to :guilabel:`Proxy`, and select :kbd:`Enter`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:503 +msgid "Navigate to the field :guilabel:`HTTPS Proxy`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:509 +msgid "Figure 19: Configure the network proxy" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:511 +msgid "Enter the desired proxy address and port using conventional syntax, such as: \\http://address:port." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:514 +msgid "Navigate to :guilabel:`Confirm` and select :kbd:`Enter`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:516 +msgid "To revert to previous settings, navigate to :guilabel:`Cancel` and select :guilabel:`Cancel`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:522 +msgid "Test Network Settings" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:524 +msgid "To manually assure network connectivity before installing |CL|, select :guilabel:`Test Network Settings` and select :guilabel:`Enter`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:527 +msgid "A progress bar appears as shown in Figure 20." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:533 +msgid "Figure 20: Testing Networking dialogue" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:537 +msgid "Any changes made to network settings are automatically tested during configuration." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:543 +msgid "Bundle Selection" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:545 +msgid "On the Advanced menu, select :guilabel:`Bundle Selection`" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:547 +msgid "Navigate to the desired bundle using :kbd:`Tab` or :kbd:`Up/Down` arrows." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:549 +msgid "Select :kbd:`Spacebar` to select the checkbox for each desired bundle." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:555 +msgid "Figure 21: Bundle Selection" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:557 +msgid "Optional: To start developing with |CL|, we recommend adding :file:`os-clr-on-clr`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:560 +msgid "Navigate to and select :kbd:`Confirm`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:562 +msgid "You are returned to the :guilabel:`Advanced options` menu." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:567 +msgid "Manage User" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:570 +msgid "Add New User" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:572 +msgid "In Advanced Options, select :guilabel:`Manage User`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:574 +msgid "Select :guilabel:`Add New User` as shown in Figure 22." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:580 +msgid "Figure 22: Add New User" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:582 +msgid "Optional: Enter a :guilabel:`User Name`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:592 +msgid "Figure 23: User Name" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:594 +msgid "Enter a :guilabel:`Login`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:598 +msgid "The User Login must be alphanumeric and can include hyphens and underscores. Maximum length is 31 characters." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:600 +msgid "Enter a :guilabel:`Password`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:606 +msgid "In :guilabel:`Confirm`, enter the same password." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:608 +msgid "Optional: Navigate to the :guilabel:`Administrative` checkbox and select :kbd:`Spacebar` to assign administrative rights to the user." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:613 +msgid "Selecting this option enables sudo privileges for the user." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:615 +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:692 +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:725 +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:756 +msgid "Select :kbd:`Confirm`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:619 +msgid "If desired, select :guilabel:`Reset` to reset the form." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:621 +msgid "In :guilabel:`Manage User`, navigate to :guilabel:`Confirm`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:623 +msgid "With :guilabel:`Confirm` highlighted, select :kbd:`Enter`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:626 +msgid "Modify / Delete User" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:628 +msgid "In :guilabel:`Manage User`, navigate to the user you wish to modify until highlighted, as shown in Figure 24." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:631 +msgid "Select :kbd:`Enter` to modify the user." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:637 +msgid "Figure 24: Modify User" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:639 +msgid "Modify user details as desired." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:641 +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:660 +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:754 +msgid "Navigate to :kbd:`Confirm` until highlighted." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:645 +msgid "Optional: Select :guilabel:`Reset` to rest the form." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:647 +msgid "Select :guilabel:`Confirm` to save the changes you made." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:649 +msgid "Optional: In :guilabel:`Modify User`, to delete the user, navigate to the :guilabel:`Delete` button and select :kbd:`Enter`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:656 +msgid "Figure 25: Delete User" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:658 +msgid "You are returned to :guilabel:`Manage User`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:662 +msgid "Select :guilabel:`Enter` to complete :guilabel:`Manage User` options." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:667 +msgid "Kernel Command Line" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:669 +msgid "For advanced users, |CL| provides the ability to add or remove kernel arguments. If you want to append a new argument, enter the argument here. This argument will be used every time you install or update a new kernel." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:674 +msgid "In Advanced Options, select :guilabel:`Tab` to highlight :guilabel:`Kernel Command Line`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:683 +msgid "Figure 26: kernel command line" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:685 +msgid "Choose from the following options." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:687 +msgid "To add arguments, enter the argument in :guilabel:`Add Extra Arguments`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:689 +msgid "To remove an argument, enter the argument in :guilabel:`Remove Arguments`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:697 +msgid "Kernel Selection" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:699 +msgid "Select a kernel option. By default, the latest kernel release is selected. Native kernel is shown in Figure 27." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:702 +msgid "To select a different kernel, navigate to it using :guilabel:`Tab`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:708 +msgid "Figure 27: Kernel selection" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:710 +msgid "Select :kbd:`Spacebar` to select the desired option." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:712 +msgid "Navigate to :kbd:`Confirm` and select :kbd:`Enter`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:717 +msgid "Swupd Mirror" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:719 +msgid "If you have your own custom mirror of |CL|, you can add its URL." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:721 +msgid "In Advanced Options, select :guilabel:`Swupd Mirror`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:723 +msgid "To add a local swupd mirror, enter a valid URL in :guilabel:`Mirror URL:`" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:731 +msgid "Figure 28: Swupd Mirror" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:736 +msgid "Assign Hostname" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:738 +msgid "In Advanced Options, select :guilabel:`Assign Hostname`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:740 +msgid "In :guilabel:`Hostname`, enter the hostname only (excluding the domain)." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:744 +msgid "Hostname does not allow empty spaces. Hostname must start with an alphanumeric character but may also contain hyphens. Maximum length of 63 characters." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:752 +msgid "Figure 29: Assign Hostname" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:761 +msgid "Automatic OS Updates" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:763 +msgid "Automatical OS updates are enabled by default. In the rare case that you need to disable automatic software updates, follow the onscreen instructions, shown in Figure 30." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:767 +msgid "In Advanced Options, select :guilabel:`Automatic OS Updates`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:769 +msgid "Select the desired option." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:775 +msgid "Figure 30: Automatic OS Updates" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:777 +msgid "You are returned to the :guilabel:`Main Menu`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:780 +msgid "Save Configuration Settings" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:782 +msgid "In Advanced Options, select :guilabel:`Save Configuration Settings`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:784 +msgid "A dialogue box shows the installation configuration was saved to :file:`clr-installer.yaml`" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:791 +msgid "Figure 31: Automatic OS Updates" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:793 +msgid "Use the :file:`clr-installer.yaml` file to install |CL|, with the same configuration, on multiple targets." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:797 +msgid "Finish installation" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:799 +msgid "When you are satisfied with your installation configuration, navigate to :guilabel:`Install` and select :kbd:`Enter`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:806 +msgid "Figure 32: Select Install" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:808 +msgid "Select :guilabel:`reboot`." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:812 +msgid "If you do not assign an administrative user, upon rebooting, enter `root` and set the root password immediately." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:815 +msgid "When the system reboots, remove any installation media present." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:818 +msgid "Default partition schema" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:820 +msgid "To add partitions manually, see `Advanced configuration`_ below, and create partitions per requirements in Table 1." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:823 +msgid "**Table 1. Disk Partition Setup**" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:827 +msgid "FileSystem" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:828 +msgid "Mount Point" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:829 +msgid "Minimum size" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:830 +msgid "``VFAT``" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:831 +msgid "/boot" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:832 +msgid "150M" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:833 +msgid "``swap``" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:835 +msgid "256MB" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:836 +msgid "``root``" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:837 +msgid "/" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:838 +msgid "*Size depends upon use case/desired bundles.*" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:841 +msgid "Troubleshooting" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:844 +msgid "For Configure Installation Media" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:846 +msgid "If a warning message appears that no media or space is available after entering :guilabel:`Configure Installation Media`:" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:849 +msgid "Verify that target media has enough free space." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:851 +msgid "Confirm the USB is properly connected to and mounted on target media." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:853 +msgid "Review the size of existing partitions on the target media:" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:855 +msgid "Linux\\* OS: :command:`lsblk -a`" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:856 +msgid "Windows\\* OS: :command:`diskpart`, then :command:`list disk`" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-server/bare-metal-install-server.rst:857 +msgid "macOS\\* platform: :command:`diskutil list`" +msgstr "" + diff --git a/localization/pot/locale/get-started/bootable-usb/bootable-usb.pot b/localization/pot/locale/get-started/bootable-usb/bootable-usb.pot new file mode 100644 index 00000000..bbb76b26 --- /dev/null +++ b/localization/pot/locale/get-started/bootable-usb/bootable-usb.pot @@ -0,0 +1,197 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:4 +msgid "Create a bootable USB drive" +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:6 +msgid "Instructions to create a |CL-ATTR| USB drive vary depending on your operating system. Follow the instructions applicable to your system:" +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:9 +msgid ":ref:`bootable-usb-linux`" +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:10 +msgid ":ref:`bootable-usb-mac`" +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:11 +msgid ":ref:`bootable-usb-windows`" +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:14 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:16 +msgid "Use an **8GB** or larger USB drive." +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:17 +msgid "`Download`_ the |CL| live boot image or interactive installer image." +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:22 +msgid "Create a bootable USB drive on Linux\\*" +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:24 +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:107 +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:166 +msgid "Make sure you have have completed all `Prerequisites`_." +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:26 +msgid "Before burning the image onto your USB drive, :ref:`verify and decompress your image `." +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:30 +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:113 +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:172 +msgid "Burn the |CL| image onto a USB drive" +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:34 +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:117 +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:176 +msgid "|CAUTION-BACKUP-USB|" +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:36 +msgid "Open a terminal emulator and get root privilege." +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:42 +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:121 +msgid "Go to the directory with the decompressed image." +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:44 +msgid "Plug in the USB drive." +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:46 +msgid "Identify the USB drive using the :command:`lsblk` command. This shows all drives attached to the system, including the primary hard disk. In the example output below, there are 4 drives (`/dev/sda`, `/dev/sdb`, `/dev/sdc`, and `/dev/sdd`) attached, where `/dev/sda` is primary drive. The remaining are three USB drives. The output also shows the mounted partitions (under the `MOUNTPOINT` column) for each drive." +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:58 +msgid "Example output:" +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:81 +msgid "You must unmount a USB drive before burning an image onto it. Note that some Linux distros automatically mount a USB drive when it is plugged in. Unmount a USB drive with the :command:`umount` command followed by the device identifier/partition. For example:" +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:91 +msgid "Burn the image onto the USB drive. The example below burns an uncompressed image onto ``:" +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:100 +msgid "|CAUTION-UNMOUNT-USB-PARTITIONS|" +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:105 +msgid "Create a bootable USB drive on macOS\\*" +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:109 +msgid "Before burning the image onto your USB drive, :ref:`verify and decompress your image `." +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:119 +msgid "Launch the Terminal app." +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:123 +msgid "Plug in a USB drive and get its identifier:" +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:129 +msgid "This will list available disks and their partitions, as shown in Figure 1." +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:135 +msgid "Figure 1: macOS - Get USB drive identifier" +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:137 +msgid "Unmount the USB drive identified in the previous step. For example:" +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:143 +msgid "Burn the image onto the drive using the :command:`dd` command. The example below burns an uncompressed image onto ``:" +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:150 +msgid "To speed up the imaging process, add an ‘r’ in front of the disk identifier. For example `/dev/rdisk2`." +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:153 +msgid "Press :kbd:`-T` to check imaging progress." +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:155 +msgid "Eject the USB drive." +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:164 +msgid "Create a bootable USB drive on Windows\\*" +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:168 +msgid "Before burning the image onto your USB drive, :ref:`verify and decompress your image `." +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:178 +msgid "Download the `Rufus`_ utility to burn the image onto a USB drive. We use Rufus 3.5 here. **Only use the latest version of Rufus**." +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:181 +msgid "Plug in the USB drive and open Rufus." +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:183 +msgid "Under `Boot selection`, click the :guilabel:`SELECT` button." +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:185 +msgid "Find and select the previously extracted |CL| image file." +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:187 +msgid "Click the :guilabel:`START` button. See Figure 2." +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:193 +msgid "Figure 2: Rufus utility" +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:195 +msgid "When the dialogue appears, select :guilabel:`Write in ISO image mode (Recommended)`. See Figure 3." +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:202 +msgid "Figure 3: ISOHybrid image detected" +msgstr "" + +#: ../../../source/get-started/bootable-usb/bootable-usb.rst:204 +msgid "Select the Windows taskbar menu for USB and select eject." +msgstr "" + diff --git a/localization/pot/locale/get-started/compatibility-check.pot b/localization/pot/locale/get-started/compatibility-check.pot new file mode 100644 index 00000000..ac077570 --- /dev/null +++ b/localization/pot/locale/get-started/compatibility-check.pot @@ -0,0 +1,58 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/get-started/compatibility-check.rst:4 +msgid "Check processor and EFI firmware compatibility" +msgstr "" + +#: ../../../source/get-started/compatibility-check.rst:6 +msgid "On a system that is currently running a Linux\\* operating system, follow the instructions below to determine if your system's processor and EFI firmware is capable of running |CL-ATTR|. Otherwise, :ref:`bare-metal-install-desktop` and then perform the steps below." +msgstr "" + +#: ../../../source/get-started/compatibility-check.rst:13 +msgid "This does not check other system components (for example: storage and graphics) for compatibility with |CL|." +msgstr "" + +#: ../../../source/get-started/compatibility-check.rst:16 +msgid "Download the `clear-linux-check-config.sh`_ file." +msgstr "" + +#: ../../../source/get-started/compatibility-check.rst:18 +msgid "If a browser is not available, use:" +msgstr "" + +#: ../../../source/get-started/compatibility-check.rst:24 +msgid "Make the script executable." +msgstr "" + +#: ../../../source/get-started/compatibility-check.rst:30 +msgid "Run the script." +msgstr "" + +#: ../../../source/get-started/compatibility-check.rst:32 +msgid "Check to see if the host's processor and EFI firmware is capable of running |CL|." +msgstr "" + +#: ../../../source/get-started/compatibility-check.rst:39 +msgid "Check to see if the host is capable of running |CL| in a container." +msgstr "" + +#: ../../../source/get-started/compatibility-check.rst:45 +msgid "The script will print a list of test results similar to the output below. All items should return a `SUCCESS` status. This example indicates the host's processor and EFI firmware support running |CL|." +msgstr "" + diff --git a/localization/pot/locale/get-started/get-started.pot b/localization/pot/locale/get-started/get-started.pot new file mode 100644 index 00000000..e9359062 --- /dev/null +++ b/localization/pot/locale/get-started/get-started.pot @@ -0,0 +1,62 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/get-started/get-started.rst:4 +msgid "Get started" +msgstr "" + +#: ../../../source/get-started/get-started.rst:6 +msgid "The Get Started section will get you up and running fast with |CL-ATTR|. Use these step-by-step instructions to guide you through the installing |CL| from a live desktop or to a virtual machine." +msgstr "" + +#: ../../../source/get-started/get-started.rst:11 +msgid "Pre-install" +msgstr "" + +#: ../../../source/get-started/get-started.rst:13 +msgid "There are a couple of things to take care of before you install." +msgstr "" + +#: ../../../source/get-started/get-started.rst:15 +msgid ":ref:`system-requirements`" +msgstr "" + +#: ../../../source/get-started/get-started.rst:16 +msgid ":ref:`compatibility-check`" +msgstr "" + +#: ../../../source/get-started/get-started.rst:17 +msgid ":ref:`bootable-usb`" +msgstr "" + +#: ../../../source/get-started/get-started.rst:19 +msgid "When installing |CL-ATTR| in a VM, consider which kernel to use." +msgstr "" + +#: ../../../source/get-started/get-started.rst:21 +msgid ":ref:`Compatible VM kernels `" +msgstr "" + +#: ../../../source/get-started/get-started.rst:31 +msgid "Install" +msgstr "" + +#: ../../../source/get-started/get-started.rst:42 +msgid "Install in a virtual machine" +msgstr "" + diff --git a/localization/pot/locale/get-started/virtual-machine-install/gce.pot b/localization/pot/locale/get-started/virtual-machine-install/gce.pot new file mode 100644 index 00000000..4e795019 --- /dev/null +++ b/localization/pot/locale/get-started/virtual-machine-install/gce.pot @@ -0,0 +1,276 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:4 +msgid "Launch |CL-ATTR| Compute Engine on Google Cloud Platform\\*" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:6 +msgid "This tutorial walks you through the steps to create a virtual machine instance of |CL-ATTR| on `Google Cloud Platform`_ (:abbr:`GCP (Google Cloud Platform)`)." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:13 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:15 +msgid "Set up a Google account and a GCP billing account." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:17 +msgid "Generate and install a user SSH key in the Linux PCs that will connect to the VMs in GCP." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:22 +msgid "Process" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:24 +msgid "Sign in to your Google\\* account on the `Google Cloud Console `_:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:31 +msgid "Figure 1: Google sign in screen" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:33 +msgid "Google Cloud Platform uses **Projects** to manage resources. Select or create a new project for hosting the |CL| VM." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:38 +msgid "Refer to the `Quickstart Using a Linux VM `_ guide to learn about the process of creating VM instances on GCP." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:42 +msgid "Navigate to the latest |CL| `release folder `_ to view the currently released :abbr:`GCE (Google Compute Engine\\*)` image, and download the :file:`clear--gce.tar.gz` image archive." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:48 +msgid "You don't need to uncompress the image archive, the intact file will be uploaded to the Google Cloud Storage later." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:51 +msgid "Create a *Storage Bucket* for hosting the |CL| image source archive downloaded in the previous step:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:54 +#: ../../../source/get-started/virtual-machine-install/gce.rst:112 +#: ../../../source/get-started/virtual-machine-install/gce.rst:157 +msgid "Click the *Navigation menu* icon on the upper left screen menu." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:56 +msgid "Select the *Storage* item from the side bar on the left. You will be sent to the Storage Browser tool or the Cloud Storage overview page." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:63 +msgid "Figure 2: Browse Google Cloud Storage" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:66 +msgid "You may need to create a billing account and link to this project before you create a bucket." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:73 +msgid "Figure 3: Cloud Storage Browser tool" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:75 +msgid "Click the ``CREATE BUCKET`` button to enter the bucket creation tool. The bucket name must be unique because buckets in the Cloud Storage share a single global namespace." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:79 +msgid "Leave the remaining options set to the defaults, and select the ``Create`` button at the bottom to create a *Bucket*." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:86 +msgid "Figure 4: Set bucket name" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:88 +msgid "Once the bucket is created, click the ``Upload files`` button on the Bucket details page to upload the |CL| GCE image archive to the named bucket:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:96 +msgid "Figure 5: Cloud Storage bucket" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:102 +msgid "Figure 6: Uploading the image source archive file" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:108 +msgid "Figure 7: Importing complete" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:110 +msgid "Browse the Compute Engine Image library page:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:114 +msgid "Hover your mouse over the *Compute Engine* menu and select *Images*." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:120 +msgid "Figure 8: Image library" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:122 +msgid "On the Compute Engine Image library page, click the ``[+] CREATE IMAGE`` menu item to create a custom image:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:129 +msgid "Figure 9: Create image" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:131 +msgid "In the VM image creation page, change the image source type to *Cloud Storage file*." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:134 +msgid "Under :guilabel:`Cloud Storage file`, select :guilabel:`Browse`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:136 +msgid "Locate the :file:`clear--gce.tar.gz` file, and click :guilabel:`Select`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:143 +msgid "Figure 10: Create image using imported object" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:145 +msgid "Accept all default options, and click the ``Create`` button at the bottom to import the Clear Linux GCE image to the image library." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:152 +msgid "Figure 11: Image is created" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:154 +msgid "After the |CL| image is imported, you can launch a VM instance running |CL|:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:159 +msgid "Hover your mouse over the *Compute Engine* menu group and select the *VM instances* item." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:166 +msgid "Figure 12: VM instances catalog" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:168 +msgid "If no VM instance was created in this project, you will be prompted to create one." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:171 +msgid "Alternatively, click the ``CREATE INSTANCE`` button on the VM instances page to create a VM instance." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:178 +msgid "Figure 13: VM creation" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:184 +msgid "Figure 14: VM instances list" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:186 +msgid "In :guilabel:`Region`, choose a region based on the `Best practices for Compute Engine regions selection`_." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:189 +msgid "Under *Boot disk*, click the ``Change`` button." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:195 +msgid "Figure 15: Use custom image" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:197 +msgid "Select the *Custom images* tab for using Clear Linux OS GCE image." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:203 +msgid "Figure 16: Select Clear Linux boot disk to create a VM instance" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:205 +msgid "Scroll down to the bottom of the VM instance creation page, expand the *Management, security, disks, networking, sole tenancy* group." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:212 +msgid "Figure 17: Set up SSH keys" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:215 +msgid "|CL| does not allow SSH login with a root account by default. As a result, you must configure the VM instance with your SSH public key, so that you are able to access it remotely." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:219 +msgid "Refer to :ref:`security` for more details." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:221 +msgid "Click the *Security* tab, copy and paste your SSH public key:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:227 +msgid "Figure 18: Set SSH key for remote login" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:231 +msgid "The username is assigned from characters preceding ``@`` in the email address, included in the SSH key. The dot symbol \".\" is not allowed, because it is an invalid character while creating user accounts in |CL|." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:236 +msgid "Click the ``Create`` button to create the |CL| VM." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:238 +msgid "The Clear Linux VM instance is created and assigned a public IP address:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:244 +msgid "Figure 19: Clear Linux VM instance is created and started" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:246 +msgid "You can now SSH login to the VM using the IP address obtained in the previous step, and the username associated with the SSH public key:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:253 +msgid "Figure 20: SSH login to Clear Linux VM" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:256 +msgid "Related topics" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:258 +msgid "The following tutorials describe a similar process and may be useful references:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:260 +msgid ":ref:`azure`" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/gce.rst:261 +msgid ":ref:`aws-web`" +msgstr "" + diff --git a/localization/pot/locale/get-started/virtual-machine-install/hyper-v.pot b/localization/pot/locale/get-started/virtual-machine-install/hyper-v.pot new file mode 100644 index 00000000..365305a5 --- /dev/null +++ b/localization/pot/locale/get-started/virtual-machine-install/hyper-v.pot @@ -0,0 +1,86 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/get-started/virtual-machine-install/hyper-v.rst:4 +msgid "Use Hyper-V\\*" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/hyper-v.rst:6 +msgid "This section explains how to run |CL-ATTR| inside a `Windows Server Virtualization`_\\* or **Hyper-V** environment." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/hyper-v.rst:9 +msgid "Please ensure you have enabled `Intel® Virtualization Technology `_ (Intel® VT) and `Intel® Virtualization Technology for Directed I/O `_ (Intel® VT-d) in your BIOS/UEFI firmware configuration." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/hyper-v.rst:16 +msgid "Enable Hyper-V" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/hyper-v.rst:18 +msgid "Please refer to the `Microsoft documentation`_ to enable and configure *Hyper-V* on your machine." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/hyper-v.rst:22 +msgid "Create a virtual network" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/hyper-v.rst:24 +msgid "Once *Hyper-V* has been enabled on your Windows system you will need to create a virtual network in the **Hyper-V Manager**. Refer to the `Create a Virtual Network documentation`_ to create and configure a virtual network." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/hyper-v.rst:30 +msgid "Create a virtual machine" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/hyper-v.rst:32 +msgid "Download and decompress the latest hyperv disk image :file:`clear-XXXXX-hyperv.img.gz`, where XXXXX is the latest available version of |CL| from our `downloads`_ section." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/hyper-v.rst:36 +msgid "Create a virtual machine using the **Hyper-V Manager**:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/hyper-v.rst:38 +msgid "Choose **Generation 2** when prompted to *specify VM generation*." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/hyper-v.rst:39 +msgid "Choose **Use an existing virtual hard disk** and browse to find the :file:`clear-XXXX-hyperv.vhdx` file." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/hyper-v.rst:41 +msgid "When finished, open VM settings, select Firmware Section and in Secure Boot config, **uncheck** Enable Secure Boot." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/hyper-v.rst:44 +msgid "Currently, |CL| does not boot with `secure boot` enabled." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/hyper-v.rst:47 +msgid "Connect to your new VM and start it. You should see a prompt:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/hyper-v.rst:53 +msgid "Set a root user password." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/hyper-v.rst:55 +msgid "Your virtual machine running |CL| is ready!" +msgstr "" + diff --git a/localization/pot/locale/get-started/virtual-machine-install/kvm.pot b/localization/pot/locale/get-started/virtual-machine-install/kvm.pot new file mode 100644 index 00000000..3cdfa925 --- /dev/null +++ b/localization/pot/locale/get-started/virtual-machine-install/kvm.pot @@ -0,0 +1,186 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:4 +msgid "Run |CL-ATTR| as a KVM guest OS" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:6 +msgid "This guide explains how to run |CL-ATTR| in a virtualized environment using :abbr:`KVM (Kernel-based Virtual Machine)`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:10 +msgid "Install QEMU-KVM" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:12 +msgid "Enable the `Intel® Virtualization Technology`_ (Intel® VT) and the `Intel®Virtualization Technology for Directed I/O`_ (Intel® VT-d) in the host machine’s BIOS." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:16 +msgid "Log in and open a terminal emulator." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:18 +msgid "Install `QEMU*-KVM` on the host machine. Below are some example distros." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:20 +msgid "On |CL|:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:26 +#: ../../../source/get-started/virtual-machine-install/kvm.rst:155 +msgid "On Ubuntu\\* 18.04 LTS Desktop:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:32 +#: ../../../source/get-started/virtual-machine-install/kvm.rst:161 +msgid "On Mint\\* 19.1 “Cinnamon” Desktop:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:38 +#: ../../../source/get-started/virtual-machine-install/kvm.rst:167 +msgid "On Fedora\\* 30 Workstation:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:45 +msgid "Download and launch the virtual machine" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:47 +msgid "Download the latest pre-built |CL| KVM image file from the `image `_ directory. Look for ``clear--kvm.img.xz``. You can also use this command:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:55 +msgid "Uncompress the downloaded image:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:61 +msgid "Download the 3 OVMF files (`OVMF.fd`, `OVMF_CODE.fd`, `OVMF_VARS.fd`) that provides UEFI support for virtual machines." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:72 +msgid "The default OVMF files from |CL| may not work for some distro version(s). You may get an `ASSERT` in the `debug.log` file when starting the VM. If that is the case, use the distro-specific-OVMF files instead. For example, the |CL| OVMF files work for Ubuntu 18.04 LTS, but not for Ubuntu 19.04 LTS. Installing and using the OVMF files for Ubuntu 19.04 LTS resolved the `ASSERT` issue." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:78 +msgid "Download the `QEMU-KVM launcher`_ script from the `image `_ directory. This script will launch the |CL| VM and provide console interaction within the same terminal emulator window." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:87 +msgid "Make the script executable:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:93 +msgid "Start the |CL| KVM virtual machine:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:99 +msgid "Log in as ``root`` user and set a new password." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:102 +msgid "SSH access into the virtual machine" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:104 +msgid "To interact with the |CL| VM through SSH instead of the console it was launched from, follow these steps." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:107 +msgid "Configure SSH in the |CL| VM to allow root login:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:115 +msgid "Enable and start SSH server in the |CL| VM:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:122 +#: ../../../source/get-started/virtual-machine-install/kvm.rst:211 +msgid "Determine the IP address of the host on which you will launch the VM. Substitute in the next step with this information." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:129 +msgid "SSH into the |CL| VM using the default port of `10022`:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:136 +msgid "Optional: Add the GNOME Display Manager (GDM)" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:138 +msgid "To add :abbr:`GDM (GNOME Display Manager)` to the |CL| VM, follow these steps:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:140 +msgid "Shutdown the active |CL| VM." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:146 +msgid "Install the Spice viewer on the local host or remote system. Below are some example distros." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:149 +msgid "On Clear Linux:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:173 +msgid "Modify the :file:`start_qemu.sh` script to increase memory (`-m`), add graphics driver (`-vga`), and add Spice (`-spice`, `-usb`, and `-device`) support." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:194 +msgid "Due to changes in the :file:`start_qemu.sh` script from the previous step, using the same OVMF files will result in the VM not booting properly and you end up in the the UEFI shell. The easiest way to avoid this is to delete the OVMF files and restore the originals before relaunching the VM." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:199 +msgid "Increase the size of the VM by 10GB to accommodate the GDM installation:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:205 +msgid "Relaunch the |CL| VM:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:218 +msgid "From the local host or remote system, open a new terminal emulator window and connect into the |CL| VM using the Spice viewer:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:225 +msgid "Log in as `root` user into the |CL| VM." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:227 +msgid "Follow these steps to `resize the partition`_ of the virtual disk of the VM." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:229 +msgid "Add GDM to the |CL| VM:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:235 +msgid "Reboot the |CL| VM to start GDM:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:241 +msgid "Go through the GDM out-of-box experience (OOBE)." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/kvm.rst:243 +msgid "The default aspect ratio of the GDM GUI for the |CL| VM is 4:3. To change it, use GDM's `Devices > Displays` setting tool (located at the top-right corner)." +msgstr "" + diff --git a/localization/pot/locale/get-started/virtual-machine-install/virtualbox-cl-installer.pot b/localization/pot/locale/get-started/virtual-machine-install/virtualbox-cl-installer.pot new file mode 100644 index 00000000..e7167e7f --- /dev/null +++ b/localization/pot/locale/get-started/virtual-machine-install/virtualbox-cl-installer.pot @@ -0,0 +1,459 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:4 +msgid "Install a |CL-ATTR| VM in VirtualBox\\*" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:6 +msgid "Oracle\\* VirtualBox\\* is a type 2 hypervisor. This document explains how to create a virtual machine on the `VirtualBox hypervisor`_ with |CL-ATTR| as the guest operating system. These instructions support use of the |CL| live-server installer to create |CL| virtual machine (VM)." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:15 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:17 +msgid "Before continuing, assure you have:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:19 +msgid "Enabled virtualization, such as Intel® `Virtualization Technology`_ (Intel® VT), on the host system from EFI/BIOS." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:23 +msgid "Downloaded and installed |VB| **version 6.0 or greater** from the `official VirtualBox website`_ per the `appropriate instructions`_ for your platform." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:28 +msgid "Download and extract the |CL| installer ISO" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:30 +msgid "Download the :file:`clear--live-server.iso.xz` of |CL| on the `downloads page`_." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:33 +msgid "Validate the integrity of the downloaded image by checking the file hash and signatures. Refer :ref:`validate-signatures` for detailed steps." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:36 +msgid "Decompress the downloaded image." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:38 +msgid "On Windows you can use `7zip`_ to extract the file by right-clicking the file to *Extract Here* (in the same directory)" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:45 +msgid "Figure 1: 7zip extract here command" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:47 +msgid "On Linux :" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:53 +msgid "Delete the originally downloaded compressed file." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:56 +msgid "Create a new |VB| virtual machine" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:58 +msgid "A new :abbr:`VM (Virtual Machine)` needs to be created in |VBM| where |CL| will be installed. General instructions for creating a virtual machine and details about using different settings are available on the `VirtualBox manual section on Creating a VM`_." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:63 +msgid "Launch the |VBM| from your host system." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:65 +msgid "Click the *New* button to create a new VM." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:67 +msgid "Choose :guilabel:`Expert mode`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:69 +msgid "In :guilabel:`Create Virtual Machine`, enter the following settings:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:71 +msgid "**Name**: Choose name (e.g. ClearLinuxOS-VM)." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:72 +msgid "**Type**: Linux" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:73 +msgid "**Version**: **Linux 2.6 / 3.x / 4.x (64-bit)**" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:74 +msgid "**Hard disk**: `Create a virtual hard disk now`" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:75 +msgid "**Memory size default**: 2048 MB (Adjust appropriately.)" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:78 +msgid "Later, if you want to change the amount of RAM allocated, power down your VM. Return to :file:`Settings > System` and change :guilabel:`Base Memory` to the desired size." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:85 +msgid "Figure 2: Create Virtual Machine" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:87 +msgid "Select :guilabel:`Create`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:89 +msgid "In :guilabel:`Create Virtual Hard Disk`, select:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:91 +msgid "**File location**" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:92 +msgid "**File size**: **32.00 GB**. Adjust size to your needs." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:93 +msgid "**Hard disk file type**: `VDI (VirtualBox Disk Image)`" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:94 +msgid "**Storage on physical hard disk**:`Dynamically allocated`" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:100 +msgid "Figure 3: Create Virtual Hard Disk" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:102 +msgid "Click *Create*." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:104 +msgid "A new virtual machine will be created and appear in the |VBM|." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:106 +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:222 +msgid "Click *Settings* to configure the |CL| VM." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:108 +msgid "In the left-hand menu, navigate to the :guilabel:`System` menu." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:110 +msgid "In the :guilabel:`Motherboard` tab, select the `Chipset` pulldown menu, and then select :guilabel:`ICH9`. See Figure 4." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:115 +msgid "You can select which chipset will be presented to the virtual machine. Consult the `VM VirtualBox User Manual`_ for more details." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:118 +msgid "In :guilabel:`Enabled Features`, check these boxes:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:120 +msgid "**Enable I/O APIC**" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:121 +msgid "**Enable EFI (special OSes only)**" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:127 +msgid "Figure 4: Settings > System" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:131 +msgid "By default, only 1 virtual CPU is allocated to the new VM. Consider increasing the number of virtual processors allocated to the virtual machine under Settings > System > Processor for increased performance." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:136 +msgid "Select :guilabel:`OK`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:139 +msgid "Install |CL| on the |VB| VM" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:141 +msgid "|CL| is ready to be installed." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:144 +msgid "Mount the installation ISO" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:146 +msgid "The |CL| installer ISO needs to be mounted as a virtual CD-ROM on the VM before powering the VM on." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:149 +msgid "From the *ClearLinux-OS* :guilabel:`Settings` at left, select :guilabel:`Storage`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:152 +msgid "From :guilabel:`Storage Devices`, middle column, click the blue disk labeled *Empty*." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:155 +msgid "From the :guilabel:`Attributes` menu, click the blue CD disk next to the *Optical Drive* drop down menu and click *Choose Virtual Optical Disk File...*" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:163 +msgid "Figure 5: Choose Virtual Optical Disk Drive" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:165 +msgid "Where there appears :guilabel:`Please choose a virtual optical disk file`, select the ISO file and click *Open*." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:172 +msgid "Figure 6: Mounting an ISO" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:174 +msgid "Select :guilabel:`OK` to exit and return to the main |VBM|." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:177 +msgid "Install |CL| with live-server installer" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:179 +msgid "In the |VBM|, select virtual machine you created and click *Start*." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:185 +msgid "Figure 7: Start the installer" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:189 +msgid "To release the mouse cursor from the VM console window, press the right :kbd:`Ctrl` key on the keyboard." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:192 +msgid "When :guilabel:`Clear Linux Installer` in boot manager appears, select :kbd:`Enter`. Do not install the bundle `desktop-autostart`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:195 +msgid "Follow the steps in :ref:`bare-metal-install-server` to install |CL| onto the VM virtual disk. Note:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:198 +msgid "In :guilabel:`Configure Installation Media`, navigate top VBOX HARDDISK, and then select :guilabel:`Confirm`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:201 +msgid "In :guilabel:`Advanced options` > :guilabel:`Manage User`, create an administrative user." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:204 +msgid "Do not install the bundle `desktop-autostart`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:206 +msgid "When |CL| installation is complete, select :guilabel:`Exit`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:208 +msgid "At the prompt, enter:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:215 +msgid "Unmount the ISO" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:217 +msgid "The |CL| installer ISO needs to be unmounted to allow the VM to boot from the virtual hard disk." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:220 +msgid "Return to the |VBM|." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:224 +msgid "From the *VM - Settings* window, navigate to the *Storage* pane from the left-hand side." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:227 +msgid "From the middle *Storage Devices* column, click the blue CD disk labeled *clear--live-server.iso* under the *Controller: IDE* from." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:230 +msgid "From the *Attributes* column at right, in *Optical Drive*, select the blue CD icon beside and click *Remove Disk from Virtual Drive*." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:237 +msgid "Figure 8: Remove Disk from Virtual Drive" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:239 +msgid "Click *OK* to exit the *VM Settings* menu and return to the main |VBM|." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:243 +msgid "Install |VB| Linux Guest Additions" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:245 +msgid "|CL| provides Linux Guest Additions drivers for full compatibility using an install script in the **kernel-lts** (Long Term Support) bundle by |CL|." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:248 +msgid "From the |VBM| select the |CL| VM, and select :guilabel:`Start`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:250 +msgid "In the VM Console, log in as the administrative user previously created." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:253 +msgid "A message may appear: \"A kernel update is available: you may wish to reboot the system.\"" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:256 +msgid "To update the kernel, enter:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:262 +msgid "At initial login, enter the administrative user's password and continue." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:264 +msgid "Validate the installed kernel is **kernel-lts** by checking the output of the :command:`uname -r` command. It should end in **.lts** or **.lts2018**." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:272 +msgid "If the running kernel is not **lts**: install the LTS kernel manually, update the bootloader, and check again:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:282 +msgid "Remove any kernel bundles that do not end in *-lts* or *kernel-install* to simplify and avoid conflicts:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:290 +msgid "In the VM Console top menu, click *Devices*, and select *Insert Guest Additions CD image...* to mount the |VB| driver installation to the |CL| VM." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:297 +msgid "Figure 9: Insert Guest Additions CD image" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:299 +msgid "If a dialogue appears, \"VBx_GAs_6.0.8... Would you like to run it?\", select :guilabel:`Cancel`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:302 +msgid "Instead, we provide a script to patch and install |VB| drivers on |CL|." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:304 +msgid "Open a Terminal and enter the script:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:312 +msgid "Successful installation shows: \"Guest Additions installation complete\". If drivers are already installed, don't re-install them." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:315 +msgid "Shut down the system. Select :guilabel:`Machine>ACPI Shutdown`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:321 +msgid "Figure 10: Powering off a VirtualBox VM" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:323 +msgid "Select :guilabel:`Settings`, :guilabel:`Display`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:325 +msgid "In :guilabel:`Graphics Controller`, select :guilabel:`VBoxSVGA` to adjust screen size dynamically." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:332 +msgid "Figure 11: VirtualBox hardware acceleration error" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:334 +msgid "In the |VBM|, select :guilabel:`Start`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:336 +msgid "In the VM console, login and verify the |VB| drivers are loaded:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:342 +msgid "You should see drivers loaded with names beginning with **vbox**: (e.g., vboxvideo, vboxguest)." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:345 +msgid "Add `desktop-autostart` for a full desktop experience." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:351 +msgid "Reboot the VM and log in with the administrative user." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:357 +msgid "The |CL| VM running on |VB| is ready to develop and explore." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:360 +msgid "Troubleshooting" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:362 +msgid "**Problem:** On a Microsoft\\* Windows\\* OS, |VB| encounters an error when trying to start a VM indicating *VT-X/AMD-v hardware acceleration is not available on your system.*" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:370 +msgid "Figure 12: VirtualBox hardware acceleration error" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:372 +msgid "**Solution:** First, double check the `Prerequisites`_ section to make sure *Hardware accelerated virtualization* extensions have been enabled in the host system's EFI/BIOS." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:376 +msgid "*Hardware accelerated virtualization*, may get disabled for |VB| when another hypervisor, such as *Hyper-V* is enabled." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:379 +msgid "To disable *Hyper-V* execute this command in an **Administrator: Command Prompt or Powershell**, and reboot the system:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/virtualbox-cl-installer.rst:386 +msgid "To enable Hyper-V again, execute this command in an **Administrator: Command Prompt or Powershell**, and reboot the system:" +msgstr "" + diff --git a/localization/pot/locale/get-started/virtual-machine-install/vmw-player-preconf.pot b/localization/pot/locale/get-started/virtual-machine-install/vmw-player-preconf.pot new file mode 100644 index 00000000..8ee3aab6 --- /dev/null +++ b/localization/pot/locale/get-started/virtual-machine-install/vmw-player-preconf.pot @@ -0,0 +1,400 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:4 +msgid "Run pre-configured |CL-ATTR| image as a VMware\\* Workstation Player guest OS" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:6 +msgid "`VMware Workstation 14 Player`_ is a type 2 hypervisor. It runs on top of another operating system such as Windows\\* or Linux\\*. With VMware ESXi, you can create, configure, manage, and run |CL-ATTR| :abbr:`VMs (Virtual Machines)` on your local system." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:11 +msgid "This section shows how to deploy a pre-configured |CL| VMware image on VMware Workstation 14 Player." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:14 +msgid "In this tutorial, we perform the following steps:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:21 +msgid "The screenshots on this document show the Windows version of the VMware Workstation 14 Player. The menus and prompts are similar to those in the Linux version save some minor wording differences." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:26 +msgid "Install the VMware Workstation Player hypervisor" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:28 +msgid "Enable :abbr:`Intel® VT (Intel® Virtualization Technology)` and :abbr:`Intel® VT-d (Intel® Virtualization Technology for Directed I/O)` in your system's BIOS." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:32 +msgid "`VMware Workstation 14 Player`_ is available for Windows and Linux. Download your preferred version." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:35 +msgid "Depending on which OS you're running, install it by following one of these instructions:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:38 +msgid "On supported Linux distros:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:40 +msgid "Enable a GUI desktop." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:42 +msgid "Start a terminal emulator." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:44 +msgid "Start the installer by issuing the command below and following the guided steps." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:51 +msgid "On Windows:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:53 +msgid "Start the installer." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:54 +msgid "Follow the setup wizard." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:56 +msgid "For additional help, see the `VMware Workstation Player guide`_." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:59 +msgid "Download the latest |CL| VMware image" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:61 +msgid "Get the latest |CL| VMware image from the `image`_ repository. Look for :file:`clear-[version number]-vmware.vmdk.xz`. You can also use this command:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:69 +msgid "Visit :ref:`image-types` for additional information about all available |CL| images." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:4 +msgid "Verify the integrity of the |CL| image" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:6 +msgid "Before you use a downloaded |CL| image, verify its integrity. This action eliminates the small chance of a corrupted image due to download issues. To support verification, each released |CL| image has a corresponding SHA512 checksum file designated with the suffix `-SHA512SUMS`." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:11 +msgid "Download the corresponding SHA512 checksum file of your |CL| image." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:12 +msgid "Start Command Prompt." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:13 +msgid "Go to the directory with the downloaded image and checksum files." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:14 +msgid "Get the SHA512 checksum of the image with the command:" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:20 +msgid "Manually compare the output with the original checksum value shown in the downloaded checksum file and make sure they match." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:24 +msgid "Decompress the |CL| image" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:26 +msgid "Released |CL| images are compressed with either GNU zip (*.gz*) or XZ (*.xz*). The compression type depends on the target platform or environment. To decompress the image, follow these steps:" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:30 +msgid "Download and install `7-Zip`_." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:31 +msgid "Go to the directory with the downloaded image and right-click it." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:32 +msgid "From the pop-up menu, select :guilabel:`7-Zip` and select :guilabel:`Extract Here` as shown in Figure 1." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:39 +msgid "Figure 1: Windows 7-Zip extract file." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:74 +msgid "We also provide instructions for other operating systems:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:76 +msgid ":ref:`download-verify-decompress-linux`" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:77 +msgid ":ref:`download-verify-decompress-mac`" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:80 +msgid "Create and configure a new VM" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:82 +msgid "Start the `VMware Workstation Player` app." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:83 +msgid "On the home screen, click :guilabel:`Create a New Virtual Machine`. See figure 1." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:90 +msgid "Figure 1: VMware Workstation 14 Player - Create a new virtual machine" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:92 +msgid "On the :guilabel:`Welcome to the New Virtual Machine Wizard` screen, select the :guilabel:`I will install the operating system later` option. See figure 2." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:100 +msgid "Figure 2: VMware Workstation 14 Player - Select install operating system later." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:103 +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:119 +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:130 +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:229 +msgid "Click the :guilabel:`Next` button." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:105 +msgid "On the :guilabel:`Select a Guest Operating System` screen, set the :guilabel:`Guest operating system` setting to :guilabel:`Linux`. See figure 3." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:113 +msgid "Figure 3: VMware Workstation 14 Player - Select guest operating system type" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:116 +msgid "Set :guilabel:`Version` setting to :guilabel:`Other Linux 3.x or later kernel 64-bit`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:121 +msgid "On the :guilabel:`Name the Virtual Machine` screen, give your new VM a name. See figure 4." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:128 +msgid "Figure 4: VMware Workstation 14 Player - Name virtual machine" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:132 +msgid "On the :guilabel:`Specify Disk Capacity` screen, click the :guilabel:`Next` button. Keep the default disk settings unchanged. When we attach the pre-configured |CL| VMware image, we will remove the default virtual disk and replace it with the pre-configured one. See figure 5." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:142 +msgid "Figure 5: VMware Workstation 14 Player - Set disk capacity" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:144 +msgid "On the :guilabel:`Ready to Create Virtual Machine` screen, click the :guilabel:`Customize Hardware...` button. See figure 6." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:151 +msgid "Figure 6: VMware Workstation 14 Player - Customize hardware" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:153 +msgid "Under the :guilabel:`Device` list, select :guilabel:`Processors`. See figure 7." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:160 +msgid "Figure 7: VMware Workstation 14 Player - Set virtualization engine option" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:163 +msgid "Under the :guilabel:`Virtualization engine` section, check :guilabel:`Virtualize Intel VT-x/EPT or AMD-V/RVI`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:166 +msgid "To disconnect the virtual CD/DVD (IDE) since it is not needed, under the :guilabel:`Device` list, select :guilabel:`New CD/DVD (IDE)`. See figure 8." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:173 +msgid "Figure 8: VMware Workstation 14 Player - Disconnect CD/DVD (IDE)" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:175 +msgid "Under the :guilabel:`Device status` section, uncheck :guilabel:`Connect at power on`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:178 +msgid "Click the :guilabel:`Close` button." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:180 +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:257 +msgid "Click the :guilabel:`Finish` button." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:183 +msgid "Attach the pre-configured |CL| VMware image" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:185 +msgid "Move the downloaded and decompressed pre-configured |CL| VMware image file :file:`clear-[version number]-basic.vmdk` to the directory where your newly-created VM resides." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:191 +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:276 +msgid "Depending on the OS, you can typically find the VMware VM files under:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:193 +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:278 +msgid "On Linux distros: :file:`/home/username/vmware`" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:194 +msgid "On Windows: :file:`C:\\Users\\username\\Documents\\Virtual Machines`" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:196 +msgid "On the :guilabel:`VMware Workstation Player` home screen, select your newly-created VM. See figure 9." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:203 +msgid "Figure 9: VMware Workstation 14 Player - Edit virtual machine settings" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:205 +msgid "Click :guilabel:`Edit virtual machine settings`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:207 +msgid "To remove the default hard disk, under the :guilabel:`Device` list, select :guilabel:`Hard Disk (SCSI)`. See figure 10." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:214 +msgid "Figure 10: VMware Workstation 14 Player - Remove hard drive" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:216 +msgid "Click the :guilabel:`Remove` button." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:218 +msgid "To add a new hard disk and attach the pre-configured |CL| VMware image, click the :guilabel:`Add...` button. See Figure 11." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:225 +msgid "Figure 11: VMware Workstation 14 Player - Add new hard drive" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:227 +msgid "Under the :guilabel:`Hardware types` section, select :guilabel:`Hard Disk`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:231 +msgid "Select your preferred :guilabel:`Virtual disk type`. See figure 12." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:237 +msgid "Figure 12: VMware Workstation 14 Player - Select virtual disk type" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:239 +msgid "Select the :guilabel:`Use an existing virtual disk` option. See figure 13." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:245 +msgid "Figure 13: VMware Workstation 14 Player - Use existing virtual disk" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:247 +msgid "Click the :guilabel:`Browse` button and select the pre-configured |CL| VMware image file. See figure 14." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:254 +msgid "Figure 14: VMware Workstation 14 Player - Select ready-made VMware |CL| image file" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:261 +msgid "When asked to convert the existing virtual disk to a newer format, selecting either option works." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:265 +msgid "Enable UEFI boot support" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:267 +msgid "|CL| needs UEFI support to boot.To enable it, add the following line to the end of your VM's :file:`.vmx` file:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:279 +msgid "On Windows: :file:`C:\\\\Users\\\\username\\\\Documents\\\\Virtual Machines`" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:282 +msgid "Power on the VM" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:284 +msgid "After configuring the settings above, power on your |CL| virtual machine." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:286 +msgid "On the :guilabel:`VMware Workstation Player` home screen, select your VM. See figure 15." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:293 +msgid "Figure 15: VMware Workstation 14 Player - Power on virtual machine" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:295 +msgid "Click :guilabel:`Play virtual machine`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:298 +msgid "Related topics" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:300 +msgid "For other guides on using the VMWare Player and ESXi, see:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:302 +msgid ":ref:`vmw-player`" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:303 +msgid ":ref:`vmware-esxi-install-cl`" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player-preconf.rst:304 +msgid ":ref:`vmware-esxi-preconfigured-cl-image`" +msgstr "" + diff --git a/localization/pot/locale/get-started/virtual-machine-install/vmw-player.pot b/localization/pot/locale/get-started/virtual-machine-install/vmw-player.pot new file mode 100644 index 00000000..b6af50b9 --- /dev/null +++ b/localization/pot/locale/get-started/virtual-machine-install/vmw-player.pot @@ -0,0 +1,401 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:4 +msgid "Install |CL-ATTR| as a VMware\\* Workstation Player guest OS" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:6 +msgid "`VMware Workstation 14 Player`_ is a type 2 hypervisor. It runs on top of another operating system such as Windows\\* or Linux\\*. With VMware ESXi, you can create, configure, manage, and run |CL-ATTR| :abbr:`VMs (Virtual Machines)` on your local system." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:11 +msgid "This section shows how to create a new VM and install |CL| into it with the VMware Workstation 14 Player hypervisor. Installing |CL| into a new VM provides you flexibility when configuring the VM. You can configure the VM's size, number of partitions, installed bundles, etc." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:16 +msgid "In this tutorial, we perform the following steps:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:21 +msgid "If you prefer to use a pre-configured |CL| VMware image instead, see our :ref:`vmw-player-preconf` guide." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:24 +msgid "VMware offers a type 1 hypervisor called `VMware ESXi`_ designed for the cloud environment. For information on how to install |CL| as guest OS on it, see :ref:`vmware-esxi-install-cl`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:30 +msgid "The screenshots on this document show the Windows version of the VMware Workstation 14 Player. The menus and prompts are similar to those in the Linux version save some minor wording differences." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:35 +msgid "Install the VMware Workstation Player hypervisor" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:37 +msgid "Enable :abbr:`Intel® VT (Intel® Virtualization Technology)` and :abbr:`Intel® VT-d (Intel® Virtualization Technology for Directed I/O)` in your system's BIOS." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:41 +msgid "`VMware Workstation 14 Player`_ is available for Windows and Linux. Download your preferred version." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:44 +msgid "Install VMware Workstation 14 Player following the instructions appropriate for your system's OS:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:47 +msgid "On supported Linux distros:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:49 +msgid "Enable a GUI desktop." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:50 +msgid "Start a terminal emulator." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:51 +msgid "Start the installer by issuing the command below and follow the guided steps." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:58 +msgid "On Windows:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:60 +msgid "Start the installer." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:61 +msgid "Follow the setup wizard." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:63 +msgid "For additional help, see the `VMware Workstation Player guide`_." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:66 +msgid "Download the latest |CL| installer ISO" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:68 +msgid "Get the latest |CL| installer ISO image from the `image`_ repository. Look for :file:`clear-[version number]-installer.iso.xz`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:71 +msgid "Visit :ref:`image-types` for additional information about all available |CL| images." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:4 +msgid "Verify the integrity of the |CL| image" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:6 +msgid "Before you use a downloaded |CL| image, verify its integrity. This action eliminates the small chance of a corrupted image due to download issues. To support verification, each released |CL| image has a corresponding SHA512 checksum file designated with the suffix `-SHA512SUMS`." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:11 +msgid "Download the corresponding SHA512 checksum file of your |CL| image." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:12 +msgid "Start Command Prompt." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:13 +msgid "Go to the directory with the downloaded image and checksum files." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:14 +msgid "Get the SHA512 checksum of the image with the command:" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:20 +msgid "Manually compare the output with the original checksum value shown in the downloaded checksum file and make sure they match." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:24 +msgid "Decompress the |CL| image" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:26 +msgid "Released |CL| images are compressed with either GNU zip (*.gz*) or XZ (*.xz*). The compression type depends on the target platform or environment. To decompress the image, follow these steps:" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:30 +msgid "Download and install `7-Zip`_." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:31 +msgid "Go to the directory with the downloaded image and right-click it." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:32 +msgid "From the pop-up menu, select :guilabel:`7-Zip` and select :guilabel:`Extract Here` as shown in Figure 1." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:39 +msgid "Figure 1: Windows 7-Zip extract file." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:76 +msgid "We also provide instructions for other operating systems:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:78 +msgid ":ref:`download-verify-decompress-linux`" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:79 +msgid ":ref:`download-verify-decompress-mac`" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:82 +msgid "Create and configure a new VM" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:84 +msgid "Start the `VMware Workstation Player` app." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:86 +msgid "On the home screen, click :guilabel:`Create a New Virtual Machine`. See Figure 1." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:93 +msgid "Figure 1: VMware Workstation 14 Player - Create a new virtual machine" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:96 +msgid "On the :guilabel:`Welcome to the New Virtual Machine Wizard` screen, select the :guilabel:`Installer disc image file (iso)` option. See Figure 2." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:104 +msgid "Figure 2: VMware Workstation 14 Player - Select |CL| installer ISO" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:106 +msgid "Click the :guilabel:`Browse` button and select the decompressed |CL| installer ISO." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:109 +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:125 +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:136 +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:151 +msgid "Click the :guilabel:`Next` button." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:111 +msgid "On the :guilabel:`Select a Guest Operating System`, set the :guilabel:`Guest operating system` setting to :guilabel:`Linux`. See Figure 3." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:119 +msgid "Figure 3: VMware Workstation 14 Player - Select guest operating system type" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:122 +msgid "Set the :guilabel:`Version` setting to :guilabel:`Other Linux 3.x or later kernel 64-bit`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:127 +msgid "On the :guilabel:`Name the Virtual Machine` screen, name the new VM. See Figure 4." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:134 +msgid "Figure 4: VMware Workstation 14 Player - Name virtual machine" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:138 +msgid "On the :guilabel:`Specify Disk Capacity` screen, set the VM's maximum disk size. See Figure 5." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:145 +msgid "Figure 5: VMware Workstation 14 Player - Set disk capacity" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:148 +msgid "A minimal |CL| installation can exist on 600MB of drive space. See :ref:`system-requirements` for more details." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:153 +msgid "On the :guilabel:`Ready to Create Virtual Machine` screen, click the :guilabel:`Customize Hardware...` button. See Figure 6." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:160 +msgid "Figure 6: VMware Workstation 14 Player - Customize hardware" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:162 +msgid "Select :guilabel:`Memory` and set the size to 2GB. See Figure 7." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:168 +msgid "Figure 7: VMware Workstation 14 Player - Set memory size" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:171 +msgid "The |CL| installer ISO needs a minimum of 2GB of RAM. After completing installation, |CL| can run on as little as 128MB of RAM. Thus, you can reduce the memory size if needed. See :ref:`system-requirements` for more details." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:176 +msgid "Under the :guilabel:`Device` list, select :guilabel:`Processors`. See Figure 8." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:183 +msgid "Figure 8: VMware Workstation 14 Player - Set virtualization engine option" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:186 +msgid "Under the :guilabel:`Virtualization engine` section, check :guilabel:`Virtualize Intel VT-x/EPT or AMD-V/RVI`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:189 +msgid "Click the :guilabel:`Close` button." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:191 +msgid "Click the :guilabel:`Finish` button." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:194 +msgid "Install |CL| into the new VM" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:196 +msgid "Select the newly-created VM and click the :guilabel:`Play virtual machine` button. See Figure 9." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:203 +msgid "Figure 9: VMware Workstation 14 Player - Power on virtual machine" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:205 +msgid "Follow the :ref:`install-on-target-start` guide to complete the installation of |CL|." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:208 +msgid "After the installation completes, reboot the VM. This reboot restarts the |CL| installer." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:212 +msgid "Detach the |CL| installer ISO from the VM" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:214 +msgid "To enable the mouse pointer so you access VMware Workstation Player's menus, press :kbd:`` + :kbd:`` on the keyboard." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:217 +msgid "To disconnect the CD/DVD to stop it from booting the |CL| installer ISO again, click the :guilabel:`Player` menu. See Figure 10." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:224 +msgid "Figure 10: VMware Workstation 14 Player - Edit CD/DVD settings" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:226 +msgid "Go to :menuselection:`Removable Devices-->CD/DVD (IDE)-->Settings`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:228 +msgid "On the :guilabel:`Device status` section, uncheck the :guilabel:`Connected` and the :guilabel:`Connect at power on` settings. See Figure 11." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:236 +msgid "Figure 11: VMware Workstation 14 Player - Disconnect CD/DVD" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:238 +msgid "Click the :guilabel:`OK` button." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:240 +msgid "To power off the VM, click the :guilabel:`Player` menu. See Figure 12." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:246 +msgid "Figure 12: VMware Workstation 14 Player - Power off virtual machine" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:248 +msgid "Go to :guilabel:`Power` and select :guilabel:`Shut Down Guest`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:251 +msgid "Enable UEFI boot support" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:253 +msgid "|CL| needs UEFI support to boot. To enable UEFI, add the following line to the end of your VM's :file:`.vmx` file:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:262 +msgid "Depending on the OS, you can typically find the VMware VM files under:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:264 +msgid "On Linux distros: :file:`/home/username/vmware`" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:265 +msgid "On Windows: :file:`C:\\\\Users\\\\username\\\\Documents\\\\Virtual Machines`" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:268 +msgid "Power on the VM" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:270 +msgid "After configuring the settings above, power on your |CL| virtual machine." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:272 +msgid "On the :guilabel:`VMware Workstation Player` home screen, select your VM. See Figure 13." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:279 +msgid "Figure 13: VMware Workstation 14 Player - Power on virtual machine" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:281 +msgid "Click :guilabel:`Play virtual machine`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:284 +msgid "Related topics" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:286 +msgid "For other guides on using the VMWare Player and ESXi, see:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:288 +msgid ":ref:`vmw-player-preconf`" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:289 +msgid ":ref:`vmware-esxi-install-cl`" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmw-player.rst:290 +msgid ":ref:`vmware-esxi-preconfigured-cl-image`" +msgstr "" + diff --git a/localization/pot/locale/get-started/virtual-machine-install/vmware-esxi-install-cl.pot b/localization/pot/locale/get-started/virtual-machine-install/vmware-esxi-install-cl.pot new file mode 100644 index 00000000..72d4655e --- /dev/null +++ b/localization/pot/locale/get-started/virtual-machine-install/vmware-esxi-install-cl.pot @@ -0,0 +1,399 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:4 +msgid "Install |CL-ATTR| as a VMware\\* ESXi guest OS" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:6 +msgid "`VMware ESXi`_ is a type 1 bare-metal hypervisor which runs directly on top of server hardware. With VMware ESXi, you can create, configure, manage, and run |CL-ATTR| virtual machines in the cloud." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:10 +msgid "This section shows you how to create a new :abbr:`VM (Virtual Machine)` and manually install |CL| into it with VMware ESXi 6.5." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:13 +msgid "Manually installing |CL| into a new VM provides you some additional configuration flexibility during installation. For example: alternate disk sizes, number of partitions, pre-installed bundles, etc." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:17 +msgid "If you would prefer to use a preconfigured |CL| VMware image instead, see :ref:`vmware-esxi-preconfigured-cl-image`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:22 +msgid "VMware also offers a type 2 hypervisor called `VMware Workstation Player`_ which is designed for the desktop environment." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:25 +msgid "See :ref:`vmw-player-preconf` or see :ref:`vmw-player`" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:27 +msgid "Visit :ref:`image-types` to learn more about all available images." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:29 +msgid "Install steps:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:36 +msgid "Download the latest |CL| installer ISO" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:38 +msgid "Get the latest |CL| installer ISO image from the `image`_ repository. Look for :file:`clear-[version number]-installer.iso.xz`." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:4 +msgid "Decompress the |CL| image" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:6 +msgid "Released |CL| images are compressed with either GNU zip (*.gz*) or XZ (*.xz*). The compression type depends on the target platform or environment. To decompress the image, follow these steps:" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:10 +msgid "Start a terminal emulator." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:11 +msgid "Go to the directory with the downloaded image." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:13 +msgid "To decompress an XZ image, enter:" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:19 +msgid "To decompress a GZ image, enter:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:45 +msgid "For alternative instructions on other operating systems, see:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:47 +msgid ":ref:`download-verify-decompress-mac`" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:48 +msgid ":ref:`download-verify-decompress-windows`" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:51 +msgid "Upload the |CL| installer ISO to the VMware server" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:53 +msgid "Connect to the VMware server and log into an account with sufficient permission to create and manage VMs." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:55 +msgid "Under the :guilabel:`Navigator` window, select :guilabel:`Storage`. See Figure 1." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:57 +msgid "Under the :guilabel:`Datastores` tab, click the :guilabel:`Datastore browser` button." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:64 +msgid "Figure 1: VMware ESXi - Navigator > Storage" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:66 +msgid "Click the :guilabel:`Create directory` button and name the directory `ISOs`. See Figure 2." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:73 +msgid "Figure 2: VMware ESXi - Datastore > Create directory" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:75 +msgid "Select the newly-created directory and click the :guilabel:`Upload` button. See Figure 3." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:82 +msgid "Figure 3: VMware ESXi - Datastore > Upload ISO" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:84 +msgid "Select the decompressed |CL| installer ISO file :file:`clear-[version number]-installer.iso` and upload it." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:88 +msgid "Create and configure a new VM" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:90 +msgid "In this section, you will create a new VM, configure its basic parameters such as drive size, number of CPUs, memory size, and then attach the |CL| installer ISO." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:93 +msgid "Under the :guilabel:`Navigator` window, select :guilabel:`Virtual Machines`. See Figure 4." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:95 +msgid "In the right window, click the :guilabel:`Create / Register VM` button." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:101 +msgid "Figure 4: VMware ESXi - Navigator > Virtual Machines" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:103 +msgid "On the :guilabel:`Select creation type` step:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:105 +msgid "Select the :guilabel:`Create a new virtual machine` option. See Figure 5." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:107 +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:121 +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:132 +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:185 +msgid "Click the :guilabel:`Next` button." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:113 +msgid "Figure 5: VMware ESXi - Create a new virtual machine" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:115 +msgid "On the :guilabel:`Select a name and guest OS` step:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:117 +msgid "Give the new VM a name in the :guilabel:`Name` field. See Figure 6." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:118 +msgid "Set the :guilabel:`Compatability` option to :guilabel:`ESXi 6.5 virtual machine`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:119 +msgid "Set the :guilabel:`Guest OS family` option to :guilabel:`Linux`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:120 +msgid "Set the :guilabel:`Guest OS version` option to :guilabel:`Other 3.x or later Linux (64-bit)`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:127 +msgid "Figure 6: VMware ESXi - Give a name and select guest OS type" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:129 +msgid "On the :guilabel:`Select storage` step:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:131 +msgid "Accept the default option." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:134 +msgid "On the :guilabel:`Customize settings` step:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:136 +msgid "Click the :guilabel:`Virtual Hardware` button. See Figure 7." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:137 +msgid "Expand the :guilabel:`CPU` setting and enable :guilabel:`Hardware virtualization` by checking :guilabel:`Expose hardware assisted virtualization to the guest OS`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:144 +msgid "Figure 7: VMware ESXi - Enable hardware virtualization" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:146 +msgid "Set :guilabel:`Memory` size to 2048MB (2GB). See Figure 8." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:152 +msgid "Figure 8: VMware ESXi - Set memory size" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:156 +msgid "The |CL| installer ISO needs a minimum of 2GB of RAM to work properly. You can reduce the memory size after the installation completes if you want, because a minimum |CL| installation can function on as little as 128MB of RAM. See :ref:`system-requirements` for more details." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:161 +msgid "Set :guilabel:`Hard disk 1` to the desired capacity. See Figure 9." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:167 +msgid "Figure 9: VMware ESXi - Set hard disk size" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:171 +msgid "A minimum |CL| installation can exist on 600MB of drive space. See :ref:`system-requirements` for more details." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:174 +msgid "Attach the |CL| installer ISO. For the :guilabel:`CD/DVD Drive 1` setting, click the drop-down list to the right of it and select the :guilabel:`Datastore ISO file` option. Then select the |CL| installer ISO :file:`clear-[version number]-installer.iso` that you previously uploaded to the VMware server. See Figure 10." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:183 +msgid "Figure 10: VMware ESXi - Set CD/DVD to boot installer ISO" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:186 +msgid "Click the :guilabel:`Finish` button." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:189 +msgid "Install |CL| into the new VM" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:191 +msgid "Power on the VM." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:193 +msgid "Under the :guilabel:`Navigator` window, select :guilabel:`Virtual Machines`. See Figure 11." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:195 +msgid "In the right window, select the newly-created VM." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:196 +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:276 +msgid "Click the :guilabel:`Power on` button." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:197 +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:277 +msgid "Click on the icon representing the VM to bring it into view and maximize its window." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:204 +msgid "Figure 11: VMware ESXi - Navigator > Virtual Machines > Power on VM" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:206 +msgid "Follow the :ref:`install-on-target-start` guide to complete the installation of |CL|." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:208 +msgid "After the installation is complete, follow the |CL| instruction to reboot it. This will restart the installer again." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:212 +msgid "Reconfigure the VM's settings to boot the newly-installed |CL|" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:214 +msgid "After |CL| has been installed using the installer ISO, it must be detached so it will not run again. Also, in order to boot the newly-installed |CL|, you must enable UEFI support." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:218 +msgid "Power off the VM." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:220 +msgid "Click the :guilabel:`Actions` button - located on the top-right corner of the VM's windows - and go to the :guilabel:`Power` setting and select the :guilabel:`Power off` option. See Figure 12." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:228 +msgid "Figure 12: VMware ESXi - Actions > Power off" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:230 +msgid "Edit the VM settings." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:232 +msgid "Click the :guilabel:`Actions` button again and select :guilabel:`Edit settings`. See Figure 13." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:239 +msgid "Figure 13: VMware ESXi - Actions > Edit settings" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:241 +msgid "Disconnect the CD/DVD to stop it from booting the |CL| installer ISO again." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:243 +msgid "Click the :guilabel:`Virtual Hardware` button. See Figure 14." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:244 +msgid "For the :guilabel:`CD/DVD Drive 1` setting, uncheck the :guilabel:`Connect` checkbox." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:251 +msgid "Figure 14: VMware ESXi - Disconnect the CD/DVD drive" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:253 +msgid "|CL| needs UEFI support in order to boot. Enable it." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:255 +msgid "Click the :guilabel:`VM Options` button. See Figure 15." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:256 +msgid "Expand the :guilabel:`Boot Options` setting." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:257 +msgid "For the :guilabel:`Firmware` setting, click the drop-down list to the right of it and select the :guilabel:`EFI` option." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:264 +msgid "Figure 15: VMware ESXi - Set boot firmware to EFI" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:266 +msgid "Click the :guilabel:`Save` button." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:269 +msgid "Power on the VM and boot |CL|" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:271 +msgid "After configuring the settings above, power on the VM." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:273 +msgid "Under the :guilabel:`Navigator` window, select :guilabel:`Virtual Machines`. See Figure 16." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:275 +msgid "In the right window, select the VM." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:284 +msgid "Figure 16: VMware ESXi - Navigator > Virtual Machines > Power on VM" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:287 +msgid "Related topics" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-install-cl.rst:289 +msgid ":ref:`vmware-esxi-preconfigured-cl-image`" +msgstr "" + diff --git a/localization/pot/locale/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.pot b/localization/pot/locale/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.pot new file mode 100644 index 00000000..7b0505a8 --- /dev/null +++ b/localization/pot/locale/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.pot @@ -0,0 +1,377 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:4 +msgid "Run preconfigured |CL-ATTR| image as a VMware\\* ESXi guest OS" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:6 +msgid "`VMware ESXi`_ is a type 1 bare-metal hypervisor which runs directly on top of server hardware. With VMware ESXi, you can create, configure, manage, and run |CL-ATTR| virtual machines at scale." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:10 +msgid "This section shows you how to deploy a preconfigured |CL| VMware :abbr:`VM (Virtual Machine)` image on a VMware ESXi 6.5 host." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:13 +msgid "If you would prefer to perform a manual installation of |CL| into a new VMware ESXi :abbr:`VM (Virtual Machine)` instead, see :ref:`vmware-esxi-install-cl`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:19 +msgid "VMware also offers a type 2 hypervisor called `VMware Workstation Player` which is designed for the desktop environment." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:22 +msgid "See :ref:`vmw-player-preconf` or see :ref:`vmw-player`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:25 +msgid "Install steps:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:31 +msgid "Download the latest |CL| VMware image" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:33 +msgid "Get the latest |CL| VMware prebuilt image from the `image`_ repository. Look for :file:`clear-[version number]-vmware.vmdk.xz`. You can also use this command:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:41 +msgid "Visit :ref:`image-types` for additional information about all available |CL| images." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:4 +msgid "Decompress the |CL| image" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:6 +msgid "Released |CL| images are compressed with either GNU zip (*.gz*) or XZ (*.xz*). The compression type depends on the target platform or environment. To decompress the image, follow these steps:" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:10 +msgid "Start a terminal emulator." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:11 +msgid "Go to the directory with the downloaded image." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:13 +msgid "To decompress an XZ image, enter:" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:19 +msgid "To decompress a GZ image, enter:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:47 +msgid "For alternative instructions on other operating systems, see:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:49 +msgid ":ref:`download-verify-decompress-mac`" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:50 +msgid ":ref:`download-verify-decompress-windows`" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:53 +msgid "Upload the |CL| image to the VMware server" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:55 +msgid "Once the |CL| VMware prebuilt image has been downloaded and decompressed on your local system, it must be uploaded to a datastore on the VMware ESXi server." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:59 +msgid "The steps in this section can also be referenced from the `VMware documentation on Using the Datastore File Browser`_" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:61 +msgid "Connect to the VMware ESXi server and login to an account with sufficient permission to create and manage VMs." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:64 +msgid "Under the :guilabel:`Navigator` window on the left side, select :guilabel:`Storage`. See Figure 1" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:68 +msgid "Under the :guilabel:`Datastores` tab, click the :guilabel:`Datastore browser` button." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:75 +msgid "Figure 1: VMware ESXi - Navigator > Storage" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:77 +msgid "Click the :guilabel:`Create directory` button and name the directory `Clear Linux VM`. See Figure 2." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:84 +msgid "Figure 2: VMware ESXi - Datastore > Create directory" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:86 +msgid "Select the newly-created directory and click the :guilabel:`Upload` button. See Figure 3." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:93 +msgid "Figure 3: VMware ESXi - Datastore > Upload VMware image" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:95 +msgid "Select the decompressed |CL| VMware image file :file:`clear-[version number]-vmware.vmdk` and upload it." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:99 +msgid "Convert the |CL| image to an ESXi-supported format" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:101 +msgid "Once the |CL| VMware prebuilt image has been uploaded to the VMware ESXi datastore, it must be converted to a format for usable with VMware's ESXi hypervisor." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:105 +msgid "The steps in this section can also be referenced from the `VMware documentation on Cloning and converting virtual machine disks with vmkfstools`_" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:107 +msgid "SSH into the `vSphere Management Assistant`_ appliance that is managing the ESXi host or connect to the vSphere hosting using the `vSphere CLI`_." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:112 +msgid "If there is no :abbr:`vMA (vSphere Management Assistant)` appliance or :abbr:`vCLI (vSphere CLI)` configured and available, you can temporarily enable SSH directly on the ESXi host by referencing the `VMware documentation on Enable the Secure Shell (SSH)`_ ." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:116 +msgid "As a security best practice, remember to disable SSH access after following the steps in this section." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:119 +msgid "Locate the uploaded image, which is typically found in :file:`/vmfs/volumes/datastore1`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:122 +msgid "Use the :command:`vmkfstools` command to perform the conversion, as shown below:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:129 +msgid "Two files should result from this:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:131 +msgid ":file:`clear-[version number]-esxi-flat.vmdk`" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:132 +msgid ":file:`clear-[version number]-esxi.vmdk`" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:134 +msgid "The :file:`clear-[version number]-esxi.vmdk` file will be used in the next section when you create a new VM." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:138 +msgid "Create and configure a new VM" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:140 +msgid "In this section, you will create a new VM, configure its basic parameters such as number of CPUs, memory size, and then attach the converted |CL| VMware image. Also, in order to boot |CL|, you must enable UEFI support." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:144 +msgid "Under the :guilabel:`Navigator` window, select :guilabel:`Virtual Machines`. See Figure 4." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:147 +msgid "In the right window, click the :guilabel:`Create / Register VM` button." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:153 +msgid "Figure 4: VMware ESXi - Navigator > Virtual Machines" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:155 +msgid "On the :guilabel:`Select creation type` step:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:157 +msgid "Select the :guilabel:`Create a new virtual machine` option. See Figure 5." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:160 +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:177 +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:188 +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:259 +msgid "Click the :guilabel:`Next` button." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:166 +msgid "Figure 5: VMware ESXi - Create a new virtual machine" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:168 +msgid "On the :guilabel:`Select a name and guest OS` step:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:170 +msgid "Give the new VM a name in the :guilabel:`Name` field. See Figure 6." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:172 +msgid "Set the :guilabel:`Compatability` option to :guilabel:`ESXi 6.5 virtual machine`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:174 +msgid "Set the :guilabel:`Guest OS family` option to :guilabel:`Linux`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:175 +msgid "Set the :guilabel:`Guest OS version` option to :guilabel:`Other 3.x or later Linux (64-bit)`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:183 +msgid "Figure 6: VMware ESXi - Give a name and select guest OS type" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:185 +msgid "On the :guilabel:`Select storage` step:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:187 +msgid "Accept the default option." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:190 +msgid "On the :guilabel:`Customize settings` step:" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:192 +msgid "Click the :guilabel:`Virtual Hardware` button. See Figure 7." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:193 +msgid "Expand the :guilabel:`CPU` setting and enable :guilabel:`Hardware virtualization` by checking :guilabel:`Expose hardware assisted virtualization to the guest OS`." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:201 +msgid "Figure 7: VMware ESXi - Enable hardware virtualization" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:203 +msgid "Remove the default :guilabel:`Hard drive 1` setting by clicking the `X` icon on the right side. See Figure 8." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:210 +msgid "Figure 8: VMware ESXi - Remove hard drive" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:212 +msgid "Since a preconfigured image will be used, the :guilabel:`CD/DVD Drive 1` setting will not be needed. Disable it by unchecking the :guilabel:`Connect` checkbox. See Figure 9." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:220 +msgid "Figure 9: VMware ESXi - Disconnect the CD/DVD drive" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:222 +msgid "Attach the :file:`clear-[version number]-esxi.vmdk` file that was converted from the preconfigured |CL| VMware image." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:225 +msgid "Click the :guilabel:`Add hard disk` button and select the :guilabel:`Existing hard drive` option. See Figure 10." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:232 +msgid "Figure 10: VMware ESXi - Add an existing hard drive" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:234 +msgid "Select the converted :file:`clear-[version number]-esxi.vmdk` file. Do not use the original unconverted :file:`clear-[version number]-vmware.vmdk` file. See Figure 11." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:242 +msgid "Figure 11: VMware ESXi - Select the converted :file:`clear-[version number]-esxi.vmdk` file" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:245 +msgid "|CL| needs UEFI support in order to boot. Enable UEFI boot support." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:247 +msgid "Click the :guilabel:`VM Options` button. See Figure 12." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:248 +msgid "Expand the :guilabel:`Boot Options` setting." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:249 +msgid "For the :guilabel:`Firmware` setting, click the drop-down list to the right of it and select the :guilabel:`EFI` option." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:256 +msgid "Figure 12: VMware ESXi - Set boot firmware to EFI" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:258 +msgid "Click the :guilabel:`Save` button." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:260 +msgid "Click the :guilabel:`Finish` button." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:263 +msgid "Power on the VM and boot |CL|" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:265 +msgid "After configuring the settings above, power on the VM." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:267 +msgid "Under the :guilabel:`Navigator` window, select :guilabel:`Virtual Machines`. See Figure 13." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:269 +msgid "In the right window, select the newly-created VM." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:270 +msgid "Click the :guilabel:`Power on` button." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:271 +msgid "Click on the icon representing the VM to bring it into view and maximize its window." +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:278 +msgid "Figure 13: VMware ESXi - Navigator > Virtual Machines > Power on VM" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:281 +msgid "Related topics" +msgstr "" + +#: ../../../source/get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.rst:283 +msgid ":ref:`vmware-esxi-install-cl`" +msgstr "" + diff --git a/localization/pot/locale/guides/deploy-at-scale.pot b/localization/pot/locale/guides/deploy-at-scale.pot new file mode 100644 index 00000000..0ba361ba --- /dev/null +++ b/localization/pot/locale/guides/deploy-at-scale.pot @@ -0,0 +1,274 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/guides/deploy-at-scale.rst:4 +msgid "Deploy at Scale" +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:6 +msgid "Once you are comfortable with |CL-ATTR| :ref:`concepts `, your next step as a system administrator is to understand how to deploy |CL| at scale in your environment." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:10 +msgid "In this document the term *endpoint* refers to a system targeted for |CL| installation, whether that is a datacenter system or unit deployed in field." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:16 +msgid "This is not a replacement or blueprint for designing your own IT operating environment." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:19 +msgid "Your |CL| deployment should complement the existing environment and available tools. It is assumed foundational core IT dependencies of your environment, such as your network, are healthy and scaled to suit the deployment." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:28 +msgid "Pick a |CL| usage and update strategy" +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:30 +msgid "Different business scenarios call for different deployment methodologies. |CL| offers the flexibility to continue consuming the upstream |CL| distribution or the option to fork away from the |CL| distribution and act as your own :abbr:`OSV (Operating System Vendor)`." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:35 +msgid "Below is an overview of some considerations." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:38 +msgid "Create your own Linux distribution (mix)" +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:40 +msgid "This approach forks away from the |CL| upstream and has you act as your own :abbr:`OSV (Operating System Vendor)` by leveraging the `mixer process`_ to create customized images based on |CL|. This is a level of responsibility that requires having more infrastructure and processes to adopt. In return, this approach *offers you a high degree of control and customization*." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:46 +msgid "Development systems which are generating bundles and updates should be sufficiently performant for the task and separate from the swupd update webservers which are serving update content to production machines." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:50 +msgid "swupd update webservers which are serving update content to production machines (see `mixer process`_ for more information) should be appropriately scaled." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:54 +msgid "Your swupd update server is just like any other web application. |WEB-SERVER-SCALE|" +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:58 +msgid "Adopt an agile methodology" +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:59 +msgid "The cloud, and other scaled deployments, are all about flexibility and speed. It only makes sense that any |CL| deployment strategy should follow suit." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:62 +msgid "Manually rebuilding your own bundles or mix for every release is not sustainable at a large scale. A |CL| deployment pipeline should be agile enough to validate and produce new versions with speed. Whether or not those updates actually make their way to your production can be separate business decision. However this *ability to frequently roll new versions* of software to your endpoints is an important prerequisite." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:69 +msgid "You own the validation and lifecycle of the OS and should treat it like any other software development lifecycle. Below are some pointers:" +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:72 +msgid "Thoroughly understand the custom software packages that you will need to integrate with |CL| and maintain along with their dependencies." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:75 +msgid "Setup a path to production for building |CL| based images. At minimum this should include:" +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:78 +msgid "A development clr-on-clr environment to test building packages and bundles for |CL| systems." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:81 +msgid "A pre-production environment to deploy |CL| versions to before production" +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:84 +msgid "Employ a continuous integration and continuous deployment (CI/CD) philosophy in order to:" +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:87 +msgid "Automatically pull custom packages as they are updated from their upstream projects or vendors." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:90 +msgid "Generate |CL| bundles and potentially bootable images with your customizations, if any." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:93 +msgid "Measure against metrics and indicators which are relevant to your business (e.g. performance, power, etc) from release to release." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:96 +msgid "Integrate with your organization's governance processes, such as change control." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:100 +msgid "Versioning Infrastructure" +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:102 +msgid "|CL| version numbers are very important as they apply to the whole infrastructure stack from OS components to libraries and applications." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:106 +msgid "Good record keeping is important, so you should keep a detailed registry and history of previously deployed versions and their contents." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:109 +msgid "With a glance at the |CL| version numbers deployed, you should be able to tell if your Clear systems are patched against a particular security vulnerability or incorporate a critical new feature." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:114 +msgid "Pick an image distribution strategy" +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:116 +msgid "Once you have decided on a usage and update strategy, you should understand *how* |CL| will be deployed to your endpoints. In a large scale deployment, interactive installers should be avoided in favor of automated installations or prebuilt images." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:121 +msgid "There are many well-known ways to install an operating system at scale. Each have their own benefits, and one may lend itself easier in your environment depending on the resources available to you." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:125 +msgid "See the available :ref:`image-types`." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:127 +msgid "Below are some common ways to install |CL| to systems at scale:" +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:130 +msgid "Baremetal" +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:132 +msgid "Preboot Execution Environments (PXE) or other out-of-band booting options are one way to distribute |CL| to physical baremetal systems on a LAN." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:136 +msgid "This option works well if your customizations are fairly small in size and infrastructure can be stateless." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:139 +msgid "The |CL| `downloads page`_ offers a live image that can be deployed as a PXE boot server if one doesn't already exist in your environment. Also see documentation on how to :ref:`bare-metal-install-server`." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:144 +msgid "Cloud Instances or Virtual Machines" +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:146 +msgid "Image templates in the form of cloneable disks are an effective way to distribute |CL| for virtual machine environments, whether on-premises or hosted by a Cloud Solution Provider (CSP)." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:150 +msgid "When used in concert with cloud VM migration features, this can be a good option for allowing your applications a degree of high availability and workload mobility; VMs can be restarted on a cluster of hypervisor host or moved between datacenters transparently." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:155 +msgid "The |CL| `downloads page`_ offers example prebuilt VM images and is readily available on popular CSPs. Also see documentation on how to :ref:`virtual-machine-install`." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:160 +msgid "Containers" +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:162 +msgid "Containerization platforms allow images to be pulled from a repository and deployed repeatedly as isolated containers." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:165 +msgid "Containers with a |CL| image can be a good option to blueprint and ship your application, including all its dependencies, as an artifact while allowing you or your customers to dynamically orchestrate and scale applications." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:170 +msgid "|CL| is capable of running a Docker host, has a container image which can be pulled from DockerHub, or can be built as a customized container. For more information visit the `containers page`_." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:175 +msgid "Considerations with stateless systems" +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:176 +msgid "An important |CL| concept is statelessness and partitioning of system data from user data. This concept can change the way you think about an at scale deployment." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:181 +msgid "Backup strategy" +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:183 +msgid "A |CL| system and its infrastructure should be considered a commodity and be easily reproducible. Avoid focusing on backing up the operating system itself or default values." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:187 +msgid "Instead, focus on backing up what's important and unique - the application and data. In other words, only focus on backing up critical areas like `/home`, `/etc`, and `/var`." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:192 +msgid "Meaningful Logging & Telemetry" +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:194 +msgid "Offload logging and telemetry from endpoints to external servers, so it is persistent and can be accessed on another server when an issue occurs." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:197 +msgid "Remote syslogging in |CL| is available through the `systemd journal-remote service`_" +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:200 +msgid "|CL| offers a `native telemetry solution`_ which can be a powerful tool for a large deployment to quickly crowdsource issues of interest. Take advantage of this feature with careful consideration of the target audience and the kind of data that would be valuable, and expose events appropriately." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:206 +msgid "Your telemetry server is just like any other web application. |WEB-SERVER-SCALE|" +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:210 +msgid "Orchestration and Configuration Management" +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:212 +msgid "In cloud environments, where systems can be ephemeral, being able to configure and maintain generic instances is valuable." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:215 +msgid "|CL| offers an efficient cloud-init style solution, `micro-config-drive`_, through the *os-cloudguest* bundles which allow you to configure many Day 1 tasks such as setting hostname, creating users, or placing SSH keys in an automated way at boot. For more information on automating configuration during deployment of |CL| endpoints see the `documentation on bulk provisioning`_ ." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:222 +msgid "A configuration management tool is useful for maintaining consistent system and application-level configuration. Ansible\\* is offered through the *sysadmin-hostmgmt* bundle as a configuration management and automation tool." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:228 +msgid "Cloud-native applications" +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:230 +msgid "An Infrastructure OS can design for good behavior, but it is ultimately up to applications to make agile design choices. Applications deployed on |CL| should aim to be host-aware but not depend on any specific host to run. References should be relative and dynamic when possible." +msgstr "" + +#: ../../../source/guides/deploy-at-scale.rst:235 +msgid "The application architecture should incorporate an appropriate tolerance for infrastructure outages. Don't just keep stateless design as a noted feature. Continuously test its use; Automate its use by redeploying |CL| and application on new hosts. This naturally minimizes configuration drift, challenges your monitoring systems, and business continuity plans." +msgstr "" + diff --git a/localization/pot/locale/guides/guides.pot b/localization/pot/locale/guides/guides.pot new file mode 100644 index 00000000..69a0f234 --- /dev/null +++ b/localization/pot/locale/guides/guides.pot @@ -0,0 +1,42 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/guides/guides.rst:4 +msgid "Guides" +msgstr "" + +#: ../../../source/guides/guides.rst:6 +msgid "The following guides provide step-by-step instructions on using |CL|." +msgstr "" + +#: ../../../source/guides/guides.rst:10 +msgid "As of 22 May 2019 :file:`mixin` is no longer supported." +msgstr "" + +#: ../../../source/guides/guides.rst:13 +msgid "Maintenance" +msgstr "" + +#: ../../../source/guides/guides.rst:23 +msgid "Network" +msgstr "" + +#: ../../../source/guides/guides.rst:33 +msgid "Kernel" +msgstr "" + diff --git a/localization/pot/locale/guides/kernel/kernel-development.pot b/localization/pot/locale/guides/kernel/kernel-development.pot new file mode 100644 index 00000000..0008bc0c --- /dev/null +++ b/localization/pot/locale/guides/kernel/kernel-development.pot @@ -0,0 +1,396 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/guides/kernel/kernel-development.rst:4 +msgid "Kernel development" +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:6 +msgid "This document shows how to obtain and compile a Linux* kernel source using |CL-ATTR| development tooling." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:9 +msgid "The `kernels available`_ in |CL| aim to be performant and practical. In some cases, it may be necessary to modify the kernel to suit your specific needs or test new kernel code as a developer." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:18 +msgid "Source RPM files (SRPM) are also available for all |CL| kernels, and can be used for development instead. Select this link to view the latest `source RPM files`_." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:22 +msgid "Request changes be included with the |CL| kernel" +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:24 +msgid "If the kernel modification you need is already open source and likely to be useful to others, consider submitting a request to include it in the |CL| kernels.If your change request is accepted, you do not need to maintain your own modified kernel." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:28 +msgid "Make enhancement requests to the |CL| `distribution on GitHub`_ ." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:31 +msgid "Set up kernel development environment" +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:33 +msgid "In some cases, it may be necessary to modify the kernel to suit your specific needs or to test new kernel code." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:36 +msgid "You can build and install a custom kernel; however you must:" +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:38 +msgid "Disable Secure Boot" +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:39 +msgid "Maintain any updates to the kernel going forward" +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:41 +msgid "To create a custom kernel, start with the |CL| development environment. Then make changes to the kernel, build it, and install it." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:46 +msgid "Install the |CL| development tooling framework" +msgstr "" + +#: ../../../source/tooling/autospec.rst:3 +msgid "Setup of the workspace and tooling used for building source in |CL| is mostly automated for you with a setup script. It uses tools from the :command:`os-clr-on-clr` bundle." +msgstr "" + +#: ../../../source/tooling/autospec.rst:7 +msgid "The setup script creates a workspace in the :file:`clearlinux` folder, with the subfolders :file:`Makefile`, :file:`packages`, and :file:`projects`. The :file:`projects` folder contains the main tools used for making packages in |CL| :file:`autospec` and :file:`common`." +msgstr "" + +#: ../../../source/tooling/autospec.rst:12 +msgid "Follow these steps to setup the workspace and tooling for building source:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:14 +msgid "Install the :command:`os-clr-on-clr` bundle:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:20 +msgid "Download the :file:`user-setup.sh` script:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:26 +msgid "Make :file:`user-setup.sh` executable:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:32 +msgid "Run the script as an unprivileged user:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:38 +msgid "After the script completes, log out and log in again to complete the setup process." +msgstr "" + +#: ../../../source/tooling/autospec.rst:41 +msgid "Set your Git user email and username for the repos on your system:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:48 +msgid "This global setting is used by |CL| tools that make use of Git." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:53 +msgid "Clone the kernel package" +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:54 +msgid "Clone the existing kernel package repository from |CL| as a starting point." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:56 +msgid "Clone the Linux kernel package from |CL|. Using the :command:`make clone_` command in the :file:`clearlinux/` directory clones the package from the `clearlinux-pkgs GitHub`_." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:66 +msgid "Navigate into the cloned package directory." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:73 +msgid "The \"linux\" package is the kernel that comes with |CL| in the `kernel-native` bundle. Alternatively, you can use a different kernel variant as the base for modification. For a list of kernel package names which you can clone instead, see the `clearlinux-pkgs GitHub`_." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:80 +msgid "The latest version of the |CL| kernel package is pulled as a starting point. An older version can pulled by switching to different git tag by using :command:`git checkout tag/`." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:84 +msgid "Change the kernel version" +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:86 +msgid "|CL| tends to use the latest kernel available from `kernel.org`_, the Linux upstream. The kernel version that will be built can be changed in the RPM SPEC file. While most packages in Clear Linux are typically packaged using :ref:`autospec-about`, the kernel is not. This means control files provided by autospec are not available and changes must be made manually." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:92 +#: ../../../source/guides/kernel/kernel-development.rst:285 +msgid "Open the Linux kernel package RPM SPEC file in an editor." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:98 +msgid "Modify the Version, Release, and Source0 URL entries at the top of the file to change the version of Linux kernel that will be compiled." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:101 +msgid "A list of current and available kernel release can be found on `kernel.org`_." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:120 +msgid "Consider changing the Name from *linux* in the RPM spec file to easily identify a modified kernel." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:122 +msgid "Consider changing the ktarget from *native* in the RPM spec file to easily identify a modified kernel." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:124 +msgid "Commit and save the changes to the file." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:127 +msgid "Pull a copy of the Linux kernel source code" +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:129 +msgid "Obtain a local copy of the source code to make modifications against." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:131 +msgid "Run make sources to pull the kernel source code specified in the RPM SPEC file. In the example, it downloads the :file:`linux-4.20.8.tar.xz` file." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:139 +msgid "Extract the kernel source code archive. This will create a working copy of the Linux source that you can modify." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:146 +msgid "Navigate to the extracted directory. In this example, it has been extracted into a :file:`linux-4.20.8` directory." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:155 +msgid "Customize the Linux kernel source" +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:157 +msgid "After the kernel sources have been obtained, customizations to the kernel configuration or source code can be made for inclusion with the kernel build. These customizations are optional." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:162 +msgid "Modify kernel configuration" +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:164 +msgid "The kernel source has many configuration options available to pick support for different hardware and software features." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:166 +msgid "These configuration values must be provided in the :file:`.config` file at compile time. You will need to make modifications to the :file:`.config` file, and include it in the kernel package." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:171 +#: ../../../source/guides/kernel/kernel-development.rst:228 +msgid "Make sure you have followed the steps to `Pull a copy of the Linux kernel source code`_ and are in the kernel source working directory." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:176 +msgid "If you have an existing :file:`.config` file from an old kernel, copy it into the working directory as :file:`.config` for comparison. Otherwise, use the |CL| kernel configuration file as template" +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:185 +msgid "Make any desired changes to the :file:`.config` using a kernel configuration tool. Below are some popular options:" +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:188 +msgid ":command:`$EDITOR .config` - the .config file can be directly edited for simple changes with names that are already known." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:191 +msgid ":command:`make config` - a text-based tool that asks questions one-by-one to decide configuration options." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:194 +msgid ":command:`make menuconfig` - a terminal user interface that provides menus to decide configuration options." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:197 +msgid ":command:`make xconfig` - a graphical user interface that provides tree views to decide configuration options." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:201 +msgid "More configuration tools can be found by looking at the make help: :command:`make help | grep config`" +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:204 +msgid "Commit and save the changes to the :file:`.config` file." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:206 +msgid "Copy the :file:`.config` file from the kernel source directory into the kernel package directory as :file:`config` for inclusion in the build." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:214 +msgid "Modify kernel source code" +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:216 +msgid "Changes to kernel code are applied with patch files. Patch files are formatted git commits that can be applied to the main source code." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:219 +msgid "You will need to obtain a copy of the source code, make modifications, generate patch file(s), and add them to the RPM SPEC file for inclusion during the kernel build." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:223 +msgid "If you have a large number of patches or a more complex workflow, consider using a patch management tool in addition to Git such as `Quilt`_." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:233 +msgid "Initialize the kernel source directory as a new git repo and create a commit with all the existing source files to begin tracking changes." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:243 +msgid "Apply patches provided by the |CL| kernel package to the kernel source in the working directory." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:251 +msgid "Make any of your desired code changes to the Linux source code files." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:254 +msgid "Track and commit your changes to the local git repo." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:262 +msgid "Generate a patch file based on your git commits. represents the number of local commits to create patch file. See the `git-format-patch Documentation`_ for detailed information on using :command:`git format-patch`" +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:271 +msgid "Copy the patch files from the patches directory in the linux source tree to the RPM build directory." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:279 +msgid "Navigate back to the RPM build directory." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:291 +msgid "Locate the section of the SPEC file that contains existing patch variable definitions and append your patch file name. Ensure the patch number does not collide with an existing patch. In this example, the patch file is called :file:`2001-my-patch-for-driver-A.patch`" +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:314 +msgid "Locate the section of the SPEC file further down that contains patch application and append your patch file number used in the step above. In this example, patch2001 is added." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:333 +msgid "Commit and save the changes to the RPM SPEC file." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:336 +msgid "Modify kernel boot parameters" +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:337 +msgid "The kernel boot options are passed from the bootloader to the kernel with command-line parameters." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:340 +msgid "While temporary changes can be made to kernel parameters on a running system or on a during boot, you can also modify the default parameters that are persistent and distributed with a customized kernel." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:345 +msgid "Open the kernel :file:`cmdline` file in an editor." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:352 +msgid "Make any desired change to the kernel parameters. For example, you can remove the :command:`quiet` parameter to see more verbose output of kernel log messages during the boot process." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:356 +msgid "Commit and save the changes to the :file:`cmdline` file." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:358 +msgid "See the `Kernel parameters documentation`_ for a list of available parameters." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:362 +msgid "Build and install the kernel" +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:363 +msgid "After changes have been made to the kernel source and RPM SPEC file, the kernel is ready to be compiled and packaged into an RPM." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:366 +msgid "The |CL| development tooling makes use of :command:`mock` environments to isolate building of packages in a sanitized workspace." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:369 +msgid "Start the compilation process by issuing the :command:`make build` command. This process is typically resource intensive and will take a while." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:377 +msgid "The `ccache plugin for mock`_ can be enabled to help speed up any future rebuilds of the kernel package by caching compiler outputs and reusing them." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:380 +msgid "The result will be multiple :file:`.rpm` files in the :file:`rpms` directory as output." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:387 +msgid "The kernel RPM will be named :file:`linux--.x86_64.rpm`" +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:391 +msgid "The kernel RPM file can be input to the :ref:`mixer` to create a custom bundle and mix of |CL|." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:394 +msgid "Alternatively, the kernel RPM bundle can be installed manually on a local machine for testing. This approach works well for individual development or testing. For a more scalable and customizable approach, consider using the :ref:`mixer` to provide a custom kernel with updates." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:399 +msgid "Install the kernel onto the local system by extracting the RPM with the :command:`rpm2cpio` command." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:407 +msgid "Update the |CL| boot manager using :command:`clr-boot-manager` and reboot." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:417 +msgid "After a reboot, verify the customized kernel is running." +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:424 +msgid "Related topics" +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:426 +msgid ":ref:`kernel-modules`" +msgstr "" + +#: ../../../source/guides/kernel/kernel-development.rst:427 +msgid ":ref:`mixer`" +msgstr "" + diff --git a/localization/pot/locale/guides/kernel/kernel-modules-dkms.pot b/localization/pot/locale/guides/kernel/kernel-modules-dkms.pot new file mode 100644 index 00000000..3dc9b2af --- /dev/null +++ b/localization/pot/locale/guides/kernel/kernel-modules-dkms.pot @@ -0,0 +1,354 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:4 +msgid "Add kernel modules with DKMS" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:6 +msgid "Certain kernel modules are enabled by default in |CL-ATTR|. To use additional kernel modules that are not part of the Linux source tree, you may need to build out-of-tree kernel modules. Use this guide to add kernel modules with :abbr:`DKMS (Dynamic Kernel Module System)` or refer to :ref:`kernel-modules`." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:18 +msgid "Description" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:20 +msgid "Kernel modules are additional pieces of software capable of being inserted into the Linux kernel to add functionality, such as a hardware driver. Kernel modules may already be part of the Linux source tree (in-tree) or may come from an external source, such as directly from a vendor (out-of-tree)." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:25 +msgid ":abbr:`DKMS (Dynamic Kernel Module System)` is a framework that facilitates the building and installation of kernel modules. DKMS allows |CL| to provide hooks that automatically rebuild modules against new kernel versions." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:4 +msgid "Kernel module availability" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:6 +msgid "|CL| comes with many upstream kernel modules available for use. Using an existing module is significantly easier to maintain and retains signature verification of the |CL| kernel. For more information on |CL| security practices, see the :ref:`security` page." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:11 +msgid "Before continuing, check if the kernel module you're looking for is already available in |CL| or submit a request to add the module." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:16 +msgid "Check if the module is already available" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:19 +msgid "You can search for kernel module file names, which end with the :file:`.ko` file extension, using the :command:`swupd search` command, as shown in the following example. See :ref:`swupd-guide` for more information." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:29 +msgid "Submit a request to add the module" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:31 +msgid "If the kernel module you need is already open source (for example, in the Linux upstream) and likely to be useful to others, consider submitting a request to add or enable it in the |CL| kernel." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:35 +msgid "Make enhancement requests to the |CL| distribution `on GitHub`_." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:39 +msgid "Install DKMS" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:43 +msgid "The *kernel-native-dkms* bundle provides the :command:`dkms` program and Linux kernel headers, which are required for compiling kernel modules." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:46 +msgid "The *kernel-native-dkms* bundle also:" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:48 +msgid "Adds a systemd update trigger (:file:`/usr/lib/systemd/system/dkms-new-kernel.service`) to automatically run DKMS to rebuild modules after a kernel upgrade occurs with :ref:`swupd update `." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:53 +msgid "Disables kernel module signature verification by appending a kernel command-line parameter (:command:`module.sig_unenforce`) from the :file:`/usr/share/kernel/cmdline.d/clr-ignore-mod-sig.conf` file." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:57 +msgid "Adds a notification to the Message of the Day (MOTD) indicating kernel module signature verification is disabled." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:62 +msgid "We recommend that you always review the :command:`swupd update` output to make sure kernel modules were successfully rebuilt against the new kernel. This is especially important for systems where a successful boot relies on a kernel module." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:68 +msgid "Install the :command:`kernel-native-dkms` or :command:`kernel-lts-dkms` bundle:" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:71 +msgid "Determine which kernel variant is running on |CL|. Only the *native* and *lts* kernels are enabled to build and load out-of-tree kernel modules with DKMS." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:80 +msgid "Ensure *.native* or *.lts* is in the kernel name." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:82 +msgid "Install the DKMS bundle corresponding to the installed kernel. Use :command:`kernel-native-dkms` for the native kernel or :command:`kernel-lts-dkms` for the lts kernel." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:90 +msgid "or" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:97 +msgid "Update the |CL| bootloader and reboot." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:108 +msgid "Build, install, and load an out-of-tree module" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:110 +msgid "Follow the steps in this section if you are an individual user or testing, and you need an out-of-tree kernel module that is not available through |CL|. For a more scalable and customizable approach, we recommend using the `mixer tool`_ to provide a custom kernel and updates." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:117 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:119 +msgid "Before you begin, you must:" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:121 +msgid "Disable Secure Boot in UEFI/BIOS. The loading of new out-of-tree modules modifies the signatures that Secure Boot relies on for trust." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:124 +msgid "Obtain a kernel module package in the form of source code and/or precompiled binaries." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:130 +msgid "Obtain kernel module source" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:132 +msgid "A required :file:`dkms.conf` file inside of the kernel module's source code directory informs DKMS how the kernel module should be compiled." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:135 +msgid "Kernel modules may come packaged as:" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:137 +msgid "Source code without a :file:`dkms.conf` file" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:138 +msgid "Source code with a premade :file:`dkms.conf` file" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:139 +msgid "Source code with a premade :file:`dkms.conf` file and precompiled module binaries" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:141 +msgid "Precompiled module binaries only (without source code)" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:143 +msgid "Of the package types listed above, only precompiled kernel module binaries will not work, because |CL| requires kernel modules to be built against the same kernel source tree before they can be loaded. If you are only able to obtain source code without a :file:`dkms.conf` file, you must manually create a :file:`dkms.conf` file, described later in this document." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:149 +msgid "Download the kernel module's source code." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:151 +msgid "Review the available download options. Some kernel modules provide separate archives that are specifically enabled for DKMS support." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:154 +msgid "Review the README documentation, because it often provides required information to build the module with DKMS support." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:166 +msgid "Build kernel module with an existing dkms.conf" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:168 +msgid "If the kernel module maintainer packaged the source archive with the :command:`dkms mktarball` command, the entire archive can be passed to the :command:`dkms ldtarball` which completes many steps for you." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:172 +msgid "The archive contains the required :file:`dkms.conf` file, and may contain a :file:`dkms_source_tree` directory and a :file:`dkms_binaries_only` directory." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:177 +msgid "Run the :command:`dkms ldtarball` command against the kernel module archive." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:184 +msgid ":command:`dkms ldtarball` places the kernel module source under :file:`/usr/src/-/`, builds it if necessary, and adds the module into the DKMS tree." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:189 +msgid "Verify the kernel module is detected by checking the output of the :command:`dkms status` command." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:197 +msgid "Install the kernel module." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:206 +msgid "Build kernel module without an existing dkms.conf" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:208 +msgid "If the kernel module source does not contain a :file:`dkms.conf` file or the :command:`dkms ldtarball` command encounters errors, you must manually create the file." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:212 +msgid "Review the kernel module README documentation for guidance on what needs to be in the :file:`dkms.conf` file, including special variables that may be required to build successfully." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:216 +msgid "Here are some additional resources that can be used for reference:" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:218 +msgid "DKMS manual page (:command:`man dkms`) shows detailed syntax in the DKMS.CONF section." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:221 +msgid "`Ubuntu community wiki`_ shows an example where a single package contains multiple modules." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:224 +msgid "`Sample dkms.conf file`_ in the GitHub\\* repository for the DKMS project." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:228 +msgid ":command:`AUTOINSTALL=yes` must be set in the dkms.conf for the module to be automatically recompiled with |CL| updates." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:231 +msgid "The instructions below show a generic example:" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:233 +msgid "Create or modify the :file:`dkms.conf` file inside of the extracted source code directory." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:249 +msgid "This example identifies a kernel module named *custom_module* with version *1.0*." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:252 +msgid "Copy the kernel module source code into the :file:`/usr/src/` directory." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:261 +msgid "** and ** must match the entries in the :file:`dkms.conf` file." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:265 +msgid "Add the kernel module to the DKMS tree so that it is tracked by DKMS." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:271 +msgid "Build the kernel module using DKMS. If the build encounters errors, you may need to edit the :file:`dkms.conf` file." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:278 +msgid "Install the kernel module using DKMS." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:287 +msgid "Load kernel module" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:289 +msgid "By default, DKMS installs modules \"in-tree\" under :file:`/lib/modules` so the :command:`modprobe` command can be used to load them." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:292 +msgid "Load the installed module with the :command:`modprobe` command." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:298 +msgid "Validate the kernel module is loaded." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:306 +msgid "Examples" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:4 +msgid "Optional: Specify module options and aliases" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:6 +msgid "Use the :command:`modprobe` command to load a module and set options." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:8 +msgid ":command:`modprobe` may add or remove more than one module due to module interdependencies. You can specify which options to use with individual modules, by using configuration files under the :file:`/etc/modprobe.d` directory." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:16 +msgid "All files underneath the :file:`/etc/modprobe.d` directory that end with the :file:`.conf` extension specify module options to use when loading. You can use :file:`.conf` files to create convenient aliases for modules or to override the normal loading behavior altogether for those with special requirements." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:21 +msgid "Learn more about :command:`modprobe` on the modprobe.d manual page:" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:28 +msgid "Optional: Configure kernel modules to load at boot" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:30 +msgid "Use the :file:`/etc/modules-load.d` configuration directory to specify kernel modules to load automatically at boot." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:37 +msgid "All files underneath the :file:`/etc/modules-load.d` directory that end with the :file:`.conf` extension contain a list of module names of aliases (one per line) to load at boot." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:41 +msgid "Learn more about module loading in the modules-load.d manual page:" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:316 +msgid "Related topics" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:318 +msgid "`Dynamic Kernel Module System (DKMS) project on GitHub `_" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:320 +msgid "`Dell Linux Engineering Dynamic Kernel Module Support: From Theory to Practice `_" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:322 +msgid "`Linux Journal: Exploring Dynamic Kernel Module Support `_" +msgstr "" + diff --git a/localization/pot/locale/guides/kernel/kernel-modules.pot b/localization/pot/locale/guides/kernel/kernel-modules.pot new file mode 100644 index 00000000..6410c1da --- /dev/null +++ b/localization/pot/locale/guides/kernel/kernel-modules.pot @@ -0,0 +1,202 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/guides/kernel/kernel-modules.rst:4 +msgid "Add kernel modules manually" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:6 +msgid "Certain kernel modules are enabled by default in |CL-ATTR|. To use additional kernel modules that are not part of the Linux source tree, you may need to build out-of-tree kernel modules. Use this guide to add kernel modules manually, or refer to :ref:`kernel-modules-dkms`." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:17 +msgid "Description" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:19 +msgid "Kernel modules are additional pieces of software capable of being inserted into the Linux kernel to add functionality, such as a hardware driver. Kernel modules may already be part of the Linux source tree (in-tree) or may come from an external source, such as directly from a vendor (out-of-tree)." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:28 +msgid "Kernel module availability" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:30 +msgid "|CL| comes with many upstream kernel modules available for use. Using an existing module is significantly easier to maintain and retains signature verification of the |CL| kernel. For more information on |CL| security practices, see the :ref:`security` page." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:35 +msgid "Before continuing, check if the kernel module you're looking for is already available in |CL| or submit a request to add the module." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:40 +msgid "Check if the module is already available" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:43 +msgid "You can search for kernel module file names, which end with the :file:`.ko` file extension, using the :command:`swupd search` command, as shown in the following example. See :ref:`swupd-guide` for more information." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:53 +msgid "Submit a request to add the module" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:55 +msgid "If the kernel module you need is already open source (for example, in the Linux upstream) and likely to be useful to others, consider submitting a request to add or enable it in the |CL| kernel." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:59 +msgid "Make enhancement requests to the |CL| distribution `on GitHub`_." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:65 +msgid "Build, install, and load an out-of-tree module" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:67 +msgid "Follow the steps in this section if you are an individual user or testing, and you need an out-of-tree kernel module that is not available through |CL|. For a more scalable and customizable approach, we recommend using the `mixer tool`_ to provide a custom kernel and updates." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:74 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:76 +msgid "Before you begin, you must:" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:78 +msgid "Disable Secure Boot." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:79 +msgid "Disable kernel module integrity checking." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:80 +msgid "Have a kernel module package in the form of source code." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:81 +msgid "Rebuild the module against new versions of the Linux kernel." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:85 +msgid "Any time the kernel is upgraded on your Clear Linux system, you must rebuild your out-of-tree modules." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:90 +msgid "Build and install kernel module" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:92 +msgid "Determine which kernel variant is running on |CL|. In the example below, the *native* kernel is in use." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:100 +msgid "Install the kernel dev bundle corresponding to the installed kernel. The kernel dev bundle contains the kernel headers, which are required for compiling kernel modules. For example:" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:104 +msgid "`linux-dev` for developing against the native kernel." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:105 +msgid "`linux-lts-dev` for developing against the LTS kernel." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:111 +msgid "Follow instructions from the kernel module source code to compile the kernel module. For example:" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:124 +msgid "Load kernel module" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:126 +msgid "Disable Secure Boot in your system's UEFI settings, if you have enabled it. The loading of new out-of-tree modules modifies the signatures that Secure Boot relies on for trust." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:130 +msgid "Disable signature checking for the kernel by modifying the kernel boot parameters and reboot the system." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:133 +msgid "All kernel modules from |CL| have been signed to enforce kernel security. However, out-of-tree modules break this chain of trust so this mechanism needs to be disabled." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:142 +msgid "Update the boot manager and reboot the system to implement the changed kernel parameters." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:152 +msgid "If successful, the :command:`clr-boot-manager update` command does not return any console output." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:155 +msgid "After rebooting, manually load out-of-tree modules using the :command:`insmod` command." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:163 +msgid "Examples" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:168 +msgid "Optional: Specify module options and aliases" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:170 +msgid "Use the :command:`modprobe` command to load a module and set options." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:172 +msgid ":command:`modprobe` may add or remove more than one module due to module interdependencies. You can specify which options to use with individual modules, by using configuration files under the :file:`/etc/modprobe.d` directory." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:180 +msgid "All files underneath the :file:`/etc/modprobe.d` directory that end with the :file:`.conf` extension specify module options to use when loading. You can use :file:`.conf` files to create convenient aliases for modules or to override the normal loading behavior altogether for those with special requirements." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:185 +msgid "Learn more about :command:`modprobe` on the modprobe.d manual page:" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:192 +msgid "Optional: Configure kernel modules to load at boot" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:194 +msgid "Use the :file:`/etc/modules-load.d` configuration directory to specify kernel modules to load automatically at boot." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:201 +msgid "All files underneath the :file:`/etc/modules-load.d` directory that end with the :file:`.conf` extension contain a list of module names of aliases (one per line) to load at boot." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:205 +msgid "Learn more about module loading in the modules-load.d manual page:" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:215 +msgid "Related topic" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules.rst:217 +msgid ":ref:`kernel-modules-dkms`" +msgstr "" + diff --git a/localization/pot/locale/guides/maintenance/architect-lifecycle.pot b/localization/pot/locale/guides/maintenance/architect-lifecycle.pot new file mode 100644 index 00000000..491ed1b9 --- /dev/null +++ b/localization/pot/locale/guides/maintenance/architect-lifecycle.pot @@ -0,0 +1,106 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/guides/maintenance/architect-lifecycle.rst:4 +msgid "Architect the life-cycle of |CL-ATTR|" +msgstr "" + +#: ../../../source/guides/maintenance/architect-lifecycle.rst:6 +msgid "This guide provides DevOps with a model to architect the life-cycle of a |CL| derivative that integrates custom software and content using distinct workflows." +msgstr "" + +#: ../../../source/guides/maintenance/architect-lifecycle.rst:10 +msgid "Maintaining a |CL| derivative requires:" +msgstr "" + +#: ../../../source/guides/maintenance/architect-lifecycle.rst:12 +msgid "Monitoring upstream |CL| for new releases" +msgstr "" + +#: ../../../source/guides/maintenance/architect-lifecycle.rst:13 +msgid "Building software packages and staging" +msgstr "" + +#: ../../../source/guides/maintenance/architect-lifecycle.rst:14 +msgid "Employing CI/CD automation for building releases" +msgstr "" + +#: ../../../source/guides/maintenance/architect-lifecycle.rst:15 +msgid "Integrating Quality Assurance for testing and validation" +msgstr "" + +#: ../../../source/guides/maintenance/architect-lifecycle.rst:17 +msgid "This guide provides the foundation of the recommended infrastructure." +msgstr "" + +#: ../../../source/guides/maintenance/architect-lifecycle.rst:24 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/guides/maintenance/architect-lifecycle.rst:26 +msgid "A repository with software RPM artifacts and a CI/CD system with a |CL| machine for building `mixes`" +msgstr "" + +#: ../../../source/guides/maintenance/architect-lifecycle.rst:29 +msgid "Experience using :ref:`mixer ` to create a |CL|-based distro" +msgstr "" + +#: ../../../source/guides/maintenance/architect-lifecycle.rst:31 +msgid "Experience using :ref:`swupd ` for maintaining the |CL| build environment" +msgstr "" + +#: ../../../source/guides/maintenance/architect-lifecycle.rst:34 +msgid "Familiarity with |CL| architecture and reuse of its content in releases" +msgstr "" + +#: ../../../source/guides/maintenance/architect-lifecycle.rst:37 +msgid "Description" +msgstr "" + +#: ../../../source/guides/maintenance/architect-lifecycle.rst:39 +msgid "Coordinated infrastructure is deployed to automate the life-cycle of your |CL| derivative. We divide deployment of this infrastucture in two parts: *Content Workflow*; and *Release Workflow*, shown in Figure 1. Distro Factory manages the *Release Workflow* while capturing the requirements for maintaining a long-term release cadence." +msgstr "" + +#: ../../../source/guides/maintenance/architect-lifecycle.rst:48 +msgid "Figure 1: Architect the life-cycle" +msgstr "" + +#: ../../../source/guides/maintenance/architect-lifecycle.rst:51 +msgid "Content workflow" +msgstr "" + +#: ../../../source/guides/maintenance/architect-lifecycle.rst:53 +msgid "The *Content Workflow* (Figure 1) orchestrates the processes used to manage the creation of content for the distribution. This includes everything from detecting a new release in a custom software repository to generating RPM package files. The RPM files serve as intermediary artifacts that track software dependencies and provide file-level data consumed in a *Release Workflow*. The `Watcher Pipeline`_ checks |CL| and a content provider, such as Koji, to determine if a new release is necessary." +msgstr "" + +#: ../../../source/guides/maintenance/architect-lifecycle.rst:57 +msgid "Release workflow" +msgstr "" + +#: ../../../source/guides/maintenance/architect-lifecycle.rst:59 +msgid "The *Release Workflow* (Figure 1) gathers the content of the RPMs and ensures it can be consumed by :ref:`mixer `. A content web server hosts the |CL| derivative, to which targets connect for updating their OSes. As an integral part of this toolchain, the *Release Pipeline* enables these derivatives to incorporate |CL| content into their own custom content. The *Watcher Pipeline* triggers the `Release Pipeline`_ to create new releases." +msgstr "" + +#: ../../../source/guides/maintenance/architect-lifecycle.rst:68 +msgid "Implementation" +msgstr "" + +#: ../../../source/guides/maintenance/architect-lifecycle.rst:70 +msgid "Distro factory implements the *Release workflow*. To get started on a full implementation, visit |CL| `Distro factory documentation`_." +msgstr "" + diff --git a/localization/pot/locale/guides/maintenance/assign-static-ip.pot b/localization/pot/locale/guides/maintenance/assign-static-ip.pot new file mode 100644 index 00000000..27feebc1 --- /dev/null +++ b/localization/pot/locale/guides/maintenance/assign-static-ip.pot @@ -0,0 +1,151 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:4 +msgid "Assign a static IP address" +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:6 +msgid "By default, your |CL-ATTR| system automatically gets an IP address from your network via DHCP. If you do not have a DHCP server on your network or simply want to use a static IP address, follow the steps in this guide." +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:15 +msgid "Identify which program is managing the interface" +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:17 +msgid "New installations of |CL| use NetworkManager as the default network interface manager for all network connections." +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:22 +msgid "The *cloud* |CL| images continue to use systemd-networkd to manage network connections." +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:25 +msgid "In earlier |CL| versions, systemd-network was used to manage Ethernet interfaces and NetworkManager was used for wireless interfaces." +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:29 +msgid "Before defining a configuration for assigning a static IP address, you should verify which program is managing the network interface." +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:32 +msgid "Check the output of :command:`nmcli device` to see if NetworkManager is managing the device." +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:39 +msgid "If the STATE column for the device shows *connected* or *disconnected*, the network configuration is being managed by NetworkManager and the instructions for :ref:`using NetworkManager ` should be used." +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:43 +msgid "If the STATE column for the device shows *unmanaged*, check to see if the device is being managed by systemd-networkd" +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:47 +msgid "Check the output of :command:`networkctl list` to see if systemd-networkd is managing the device." +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:54 +msgid "If the SETUP column for the device shows *configured*, the network configuration is being managed by systemd-networkd and the instructions for :ref:`using systemd-networkd ` should be used." +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:62 +msgid "Using NetworkManager" +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:64 +msgid "Network connections managed by NetworkManager are stored as files with the :file:`.nmconnection` file extension in the :file:`/etc/NetworkManager/system-connections/` directory." +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:68 +msgid "A few tools exists to aid to manipulate network connections managed by NetworkManager:" +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:71 +msgid "nmcli - a command-line tool" +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:73 +msgid "nmtui - a text user interface that provides a pseudo graphical menu in the terminal" +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:76 +msgid "nm-connection-editor - a graphical user interface" +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:78 +msgid "The method below uses the command line tool *nmcli* to modify network connection." +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:82 +msgid "Identify the existing connection name:" +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:88 +msgid "The output will look like this:" +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:95 +msgid "If a connection does not exist, it will need to be created with :command:`nmcli connection add`." +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:99 +msgid "Modify the connection to use a static IP address. Replace the variables in brackets with the appropriate values. *[CONNECTION_NAME]* should be replaced with the NAME from the command above." +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:112 +msgid "See the `nmcli developer page `_ for more configuration options. For advanced configurations, the :file:`/etc/NetworkManager/system-connections/*.nmconnection`. can be edited directly." +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:118 +msgid "Restart the NetworkManager server to reload the DNS servers:" +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:125 +#: ../../../source/guides/maintenance/assign-static-ip.rst:179 +msgid "Verify your static IP address details have been set:" +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:136 +msgid "Using systemd-networkd" +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:138 +msgid "Network connections managed by systemd-networkd are stored as files with the :file:`.network` file extension the :file:`/etc/systemd/network/` directory." +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:141 +msgid "Files to manipulate network connections managed by systemd-networkd must be created manually." +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:144 +msgid "Create the :file:`/etc/systemd/network` directory if it doesn't exist already:" +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:150 +msgid "Create a :file:`.network` file and add the following content. Replace the variables in brackets with the appropriate values. *[INTERFACE_NAME]* should be replaced with LINK from the output of :command:`networkctl list` ran previously." +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:168 +msgid "See the `systemd-network man page `_ for more configuration options." +msgstr "" + +#: ../../../source/guides/maintenance/assign-static-ip.rst:172 +msgid "Restart the systemd-networkd service:" +msgstr "" + diff --git a/localization/pot/locale/guides/maintenance/bulk-provision.pot b/localization/pot/locale/guides/maintenance/bulk-provision.pot new file mode 100644 index 00000000..df12479f --- /dev/null +++ b/localization/pot/locale/guides/maintenance/bulk-provision.pot @@ -0,0 +1,138 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/guides/maintenance/bulk-provision.rst:4 +msgid "Bulk provision" +msgstr "" + +#: ../../../source/guides/maintenance/bulk-provision.rst:6 +msgid "The |CL-ATTR| can be automatically provisioned in bulk using a combination of the |CL| installer, **Ister**, and :abbr:`ICIS (Ister Cloud Init Service)`. This guide covers how to perform a bulk provision of |CL| using **Ister** and **ICIS**." +msgstr "" + +#: ../../../source/guides/maintenance/bulk-provision.rst:11 +msgid "To configure a bulk provision, Ister configuration files and cloud-init files must be defined. Hosting the configuration files in **ICIS** allows **Ister** to use them during the installation. The Ister configuration files allow us to customize the installation process. The cloud-init\\* files allow us to customize the instance of the installation." +msgstr "" + +#: ../../../source/guides/maintenance/bulk-provision.rst:17 +msgid "Figure 1 depicts the flow of information between a PXE server and a PXE client that needs to be set up to perform a bulk provision." +msgstr "" + +#: ../../../source/guides/maintenance/bulk-provision.rst:23 +msgid "Figure 1: Bulk provision information flow" +msgstr "" + +#: ../../../source/guides/maintenance/bulk-provision.rst:26 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/guides/maintenance/bulk-provision.rst:28 +msgid "Before performing a bulk provision, verify you have a PXE server capable of performing network boots of |CL|. Please refer to our :ref:`guide on how to perform an iPXE boot` using :abbr:`NAT (network address translation)` for details." +msgstr "" + +#: ../../../source/guides/maintenance/bulk-provision.rst:33 +msgid "Because a bulk provision relies on a reboot, ensure the following preparations have been made:" +msgstr "" + +#: ../../../source/guides/maintenance/bulk-provision.rst:36 +msgid "No existing disks are bootable." +msgstr "" + +#: ../../../source/guides/maintenance/bulk-provision.rst:37 +msgid "The network boot option must come immediately after the disk boot option on any computer performing the installation." +msgstr "" + +#: ../../../source/guides/maintenance/bulk-provision.rst:41 +msgid "Configuration" +msgstr "" + +#: ../../../source/guides/maintenance/bulk-provision.rst:43 +msgid "Install **ICIS** by following the getting started guide on the `ICIS GitHub repository`_." +msgstr "" + +#: ../../../source/guides/maintenance/bulk-provision.rst:46 +msgid "Create an Ister installation file and save it to the :file:`static/ister` directory within the web hosting directory for **ICIS**. The installation file is a JSON block and provides **Ister** with the steps it needs to perform an installation. The file outlines what partitions, file systems, and mount points **Ister** should set up. Lastly, the file outlines which bundles to install. See our :ref:`bundles` document for the list of available bundles. The following example shows the contents of an Ister installation file:" +msgstr "" + +#: ../../../source/guides/maintenance/bulk-provision.rst:85 +msgid "Every Ister installation file hosted on **ICIS** must contain the the ``IsterCloudInitSvc`` parameter as well as the ``os-cloudguest`` bundle. These entries allow **Ister** to customize an instance of of an install." +msgstr "" + +#: ../../../source/guides/maintenance/bulk-provision.rst:90 +msgid "Create an Ister configuration file to define the location of the Ister installation file. Save it to the :file:`static/ister` directory within the web hosting directory of **ICIS**. The following example shows an Ister configuration file:" +msgstr "" + +#: ../../../source/guides/maintenance/bulk-provision.rst:99 +msgid "Modify the iPXE boot script by adding a kernel parameter to the command line for booting the network image. Add the kernel parameter ``isterconf`` with the location of the Ister configuration file hosted on **ICIS** as the kernel parameter value. The following example shows an iPXE boot script with the ``isterconf`` parameter:" +msgstr "" + +#: ../../../source/guides/maintenance/bulk-provision.rst:114 +msgid "After the network image of |CL| boots, **Ister** inspects the parameters used during boot in :file:`/proc/cmdline` to find the location of the Ister configuration file." +msgstr "" + +#: ../../../source/guides/maintenance/bulk-provision.rst:118 +msgid "Write a cloud-init document to customize the instance of the installation according to your requirements. The `cloud-init Read the Docs`_ provides a guide on how to write a cloud-init document. The guide covers the customization options provided by cloud-init after an installation." +msgstr "" + +#: ../../../source/guides/maintenance/bulk-provision.rst:123 +msgid "Save the cloud-init document to the :file:`static/roles` directory within the web hosting directory for **ICIS** with the name of a role you would like to create. For example, a role may be \"database\", \"web\", or \"ciao\"." +msgstr "" + +#: ../../../source/guides/maintenance/bulk-provision.rst:127 +msgid "After creating the roles, also known as cloud-init files, assign roles to MAC addresses of PXE clients. To do so, modify the :file:`config.txt` file in the ``static`` directory within the web hosting directory of **ICIS**. The following example shows one such assignment:" +msgstr "" + +#: ../../../source/guides/maintenance/bulk-provision.rst:137 +msgid "If MAC addresses of PXE clients are not listed within the :file:`config.txt` file, a default role for those MAC address may be defined as follows:" +msgstr "" + +#: ../../../source/guides/maintenance/bulk-provision.rst:146 +msgid "Verify the following URLs are accessible on your local network:" +msgstr "" + +#: ../../../source/guides/maintenance/bulk-provision.rst:148 +msgid "``http://192.168.1.1:60000/icis/static/ister/ister.conf``" +msgstr "" + +#: ../../../source/guides/maintenance/bulk-provision.rst:149 +msgid "``http://192.168.1.1:60000/icis/static/ister/ister.json``" +msgstr "" + +#: ../../../source/guides/maintenance/bulk-provision.rst:150 +msgid "``http://192.168.1.1:60000/icis/get_config/``" +msgstr "" + +#: ../../../source/guides/maintenance/bulk-provision.rst:151 +msgid "``http://192.168.1.1:60000/icis/get_role/``" +msgstr "" + +#: ../../../source/guides/maintenance/bulk-provision.rst:152 +msgid "``http://192.168.1.1:60000/ipxe/ipxe_boot_script.txt``" +msgstr "" + +#: ../../../source/guides/maintenance/bulk-provision.rst:154 +msgid "Power on the PXE client and watch it boot and install |CL|." +msgstr "" + +#: ../../../source/guides/maintenance/bulk-provision.rst:156 +msgid "Power-cycle the PXE client and watch it customize the |CL| installation." +msgstr "" + +#: ../../../source/guides/maintenance/bulk-provision.rst:158 +msgid "**Congratulations!** You have successfully performed a bulk provision of |CL|." +msgstr "" + diff --git a/localization/pot/locale/guides/maintenance/cpu-performance.pot b/localization/pot/locale/guides/maintenance/cpu-performance.pot new file mode 100644 index 00000000..0185749d --- /dev/null +++ b/localization/pot/locale/guides/maintenance/cpu-performance.pot @@ -0,0 +1,178 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/guides/maintenance/cpu-performance.rst:4 +msgid "CPU Power and Performance" +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:6 +msgid "Modern x86 :abbr:`CPUs (central processing units)` employ a number of features and technologies to balance performance, energy, and thermal efficiencies." +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:9 +msgid "By default, |CL| prioritizes maximum CPU performance with the philosophy that the faster the program finishes execution, the faster the CPU can return to a low energy idle state. It is important to understand and evaluate all of these technologies when troubleshooting or considering changing the defaults." +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:18 +msgid "CPU power saving mechanisms" +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:20 +msgid "C-states and P-states are both CPU power saving mechanisms that are entered under different operating conditions. The tradeoff is a slightly longer time to exit these states when the CPU is needed once again." +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:27 +msgid "C-states (idle states)" +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:29 +msgid "C-states are hardware sleep states that are entered when it is determined that the CPU is idle and not executing instructions." +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:32 +msgid "C-states aim to reduce power utilization by increasingly reducing clock frequency, voltages, and features in each state." +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:35 +msgid "Although C-states can typically be limited or disabled in a system's UEFI or BIOS configuration, these settings are overridden when the `intel_idle driver`_ is in use." +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:39 +msgid "To view the current cpuidle driver run this command in a terminal:" +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:45 +msgid "For troubleshooting, C-states can be limited with a kernel command line boot parameter by adding :command:`processor.max_cstate=N intel_idle.max_cstate=N` or completely disabled with :command:`idle=poll`." +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:51 +msgid ":command:`processor.max_cstate=0` is changed to :command:`processor.max_cstate=1` by the kernel to be a valid value." +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:53 +msgid ":command:`intel_idle.max_cstate=0` disables the Intel Idle driver, not set it to C-state 0." +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:59 +msgid "P-states (performance states)" +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:61 +msgid "P-states, also known as *SpeedStep* on Intel processors or *Cool'n'Quiet* on AMD processors, are states entered while the CPU is active and executing instructions." +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:65 +msgid "P-states aim to reduce power utilization by adjusting CPU clock frequency and voltages based on CPU demand." +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:68 +msgid "P-states can typically be limited or disabled in a system's firmware (UEFI/BIOS)." +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:71 +msgid "Turbo boost" +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:73 +msgid "`Turbo Boost technology`_, found on some modern Intel CPUs, allows core(s) on a processor to temporarily operate at a higher than rated CPU clock frequency to accommodate demanding workloads if the CPU is under defined power and thermal thresholds." +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:78 +msgid "Turbo boost is an extension of P-states. As such, changing or limiting C-states or P-states impact the ability of a process to enter Turbo boost." +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:81 +msgid "Turbo boost can be disabled in a system's UEFI or BIOS. Turbo boost can also be disabled within |CL| with the command:" +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:89 +msgid "Linux CPU clock frequency scaling" +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:91 +msgid "The CPUFreq subsystem in Linux allows the OS to control :ref:`C-states ` and :ref:`P-states ` via CPU drivers and governors that provide algorithms that define how and when to enter these states." +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:97 +msgid "Scaling driver" +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:99 +msgid "Linux uses the `Intel P-state driver`_, *intel_pstate*, for modern Intel processors from the Sandy Bridge generation or newer. Other processors may default to the *acpi-cpufreq* driver which reads values from the systems UEFI or BIOS." +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:104 +msgid "To view the current CPU frequency scaling driver run this command in a terminal:" +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:111 +msgid "Scaling governor" +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:113 +msgid "|CL| sets the CPU governor to *performance* which calls for the CPU to operate at maximum clock frequency. In other words, P-state P0. While this may sound wasteful at first, it is important to remember that power utilization does not increase significantly simply because of a locked clock frequency without a workload." +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:119 +msgid "To view the current CPU frequency scaling governor run this command in a terminal:" +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:125 +msgid "To change the CPU frequency scaling governor:" +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:127 +msgid "Disable |CL| enforcement of certain power and performance settings:" +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:133 +msgid "Change the governor. In the example below, the governor is set to *performance*:" +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:140 +msgid "The list of all governors can be found in the `Linux kernel documentation on CPUFreq Governors`_." +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:145 +msgid "The intel_pstate driver only supports *performance* and *powersave* governors." +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:148 +msgid "Thermal management" +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:150 +msgid "`thermald`_ is a Linux thermal management daemon used to prevent the overheating of platforms. When temperature thresholds are exceeded, thermald forces a C-state by inserting CPU sleep cycles and adjusts available cooling methods. This can be especially desirable for laptops." +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:155 +msgid "By default, thermald is disabled in |CL| and starts automatically if battery power is detected. thermald can be manually enabled using the systemd service by running the command:" +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:164 +msgid "For more information, see the thermald man page:" +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:170 +msgid "`ThermalMonitor`_ is a GUI application that can visually graph and log temperatures from thermald. To use ThermalMonitor, add the desktop-apps-extras bundle and add your user account to the power group:" +msgstr "" + +#: ../../../source/guides/maintenance/cpu-performance.rst:182 +msgid "After adding a new group you must log out and log back in for the new group to take affect." +msgstr "" + diff --git a/localization/pot/locale/guides/maintenance/developer-workstation.pot b/localization/pot/locale/guides/maintenance/developer-workstation.pot new file mode 100644 index 00000000..4bc3d7a2 --- /dev/null +++ b/localization/pot/locale/guides/maintenance/developer-workstation.pot @@ -0,0 +1,172 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/guides/maintenance/developer-workstation.rst:4 +msgid "Developer Workstation" +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:6 +msgid "*Developer Workstation* helps you find the :ref:`bundles-about` you need to start your |CL-ATTR| development project." +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:9 +msgid "Before continuing, we recommend that you learn how to use :ref:`swupd `. Visit our :ref:`swupd-about` page to understand how |CL| simplifies software versioning compared to other Linux\\* distributions." +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:15 +msgid "Workstation Setup" +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:17 +msgid "This guide helps you understand the minimum bundles required to get started. After installing them, you can add more bundles relevant to your use case. To run any process required for |CL| development, you can add the large bundle :ref:`*os-clr-on-clr* `. However, given how many packages this bundle contains, you may want instead to deploy a leaner OS with only those bundles relevant to your project. Developer Workstation responds to this need." +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:25 +msgid "Use Table 1, *Developer Profiles*, to identify the *minimum required bundles* to get started developing based on your role or project. While your role may not neatly fit in one of these categories, consider using Table 1 as a starting point." +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:29 +msgid "**Table 1. Developer Profiles**" +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:33 +msgid "|CL| Bundle" +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:34 +msgid "*Internet of Things (IoT)*" +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:35 +msgid "*System Administrator*" +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:36 +msgid "*Client/Cloud/Web Developer*" +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:38 +msgid "`editors`" +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:39 +#: ../../../source/guides/maintenance/developer-workstation.rst:40 +#: ../../../source/guides/maintenance/developer-workstation.rst:41 +#: ../../../source/guides/maintenance/developer-workstation.rst:44 +#: ../../../source/guides/maintenance/developer-workstation.rst:45 +#: ../../../source/guides/maintenance/developer-workstation.rst:46 +#: ../../../source/guides/maintenance/developer-workstation.rst:49 +#: ../../../source/guides/maintenance/developer-workstation.rst:50 +#: ../../../source/guides/maintenance/developer-workstation.rst:51 +#: ../../../source/guides/maintenance/developer-workstation.rst:55 +#: ../../../source/guides/maintenance/developer-workstation.rst:56 +#: ../../../source/guides/maintenance/developer-workstation.rst:60 +#: ../../../source/guides/maintenance/developer-workstation.rst:61 +#: ../../../source/guides/maintenance/developer-workstation.rst:65 +#: ../../../source/guides/maintenance/developer-workstation.rst:66 +#: ../../../source/guides/maintenance/developer-workstation.rst:69 +#: ../../../source/guides/maintenance/developer-workstation.rst:70 +#: ../../../source/guides/maintenance/developer-workstation.rst:71 +#: ../../../source/guides/maintenance/developer-workstation.rst:76 +msgid "✓" +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:43 +msgid "`network-basic`" +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:48 +msgid "`openssh-server`" +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:53 +msgid "`webserver-basic`" +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:58 +msgid "`application-server`" +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:63 +msgid "`database-basic`" +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:68 +msgid "`desktop-autostart`" +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:73 +msgid "`dev-utils`" +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:79 +msgid "`swupd` search" +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:81 +msgid "We recommend learning about :ref:`swupd `, to learn the commands to search for and add bundles relevant to your project." +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:84 +msgid "The guide provides an :ref:`example ` that shows you how to:" +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:87 +msgid "Use `swupd` to search for bundles" +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:88 +msgid "Use `swupd` to add bundles" +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:91 +msgid "Core Concepts" +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:93 +msgid "We recommend that you understand these core concepts in |CL| *before* developing your project." +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:96 +msgid ":ref:`Bundles `" +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:97 +msgid ":ref:`Software update `" +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:98 +msgid ":ref:`Mixer `" +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:99 +msgid ":ref:`Autospec `" +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:102 +msgid "Other resources for developers" +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:104 +msgid "`Developer Tooling Framework`_ for |CL|" +msgstr "" + +#: ../../../source/guides/maintenance/developer-workstation.rst:105 +msgid "`Bundle definition files`_" +msgstr "" + diff --git a/localization/pot/locale/guides/maintenance/download-verify-decompress-linux.pot b/localization/pot/locale/guides/maintenance/download-verify-decompress-linux.pot new file mode 100644 index 00000000..2f0d4e10 --- /dev/null +++ b/localization/pot/locale/guides/maintenance/download-verify-decompress-linux.pot @@ -0,0 +1,241 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:4 +msgid "Download, verify, and decompress a |CL-ATTR| image on Linux" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:6 +msgid "This guide describes the types of |CL| images available, where to download them, how to verify the integrity of an image, and how to decompress it." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:9 +msgid "Instructions for other operating systems are available:" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:11 +msgid ":ref:`download-verify-decompress-mac`" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:12 +msgid ":ref:`download-verify-decompress-windows`" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:15 +msgid "Image types" +msgstr "" + +#: ../../../source/reference/image-types.rst:3 +msgid "|CL-ATTR| offers many types of `images`_ for different platforms and environments." +msgstr "" + +#: ../../../source/reference/image-types.rst:7 +msgid "The naming convention of a |CL| image filename is:" +msgstr "" + +#: ../../../source/reference/image-types.rst:13 +msgid "The *[version number]* field specifies the version number." +msgstr "" + +#: ../../../source/reference/image-types.rst:15 +msgid "The *[image type]* field specifies the type of image and its corresponding file format." +msgstr "" + +#: ../../../source/reference/image-types.rst:18 +msgid "The *[compression type]* field specifies the compression type. Two types of compressions are used: GNU\\* zip (*.gz*) and XZ (*.xz*)." +msgstr "" + +#: ../../../source/reference/image-types.rst:23 +msgid "Table 1 lists the currently available images that are platform independent. Table 2 lists the currently available images that are platform specific." +msgstr "" + +#: ../../../source/reference/image-types.rst:26 +msgid "Table 1: Types of platform-independent |CL| images" +msgstr "" + +#: ../../../source/reference/image-types.rst:30 +#: ../../../source/reference/image-types.rst:43 +msgid "Image Type" +msgstr "" + +#: ../../../source/reference/image-types.rst:31 +#: ../../../source/reference/image-types.rst:44 +msgid "Description" +msgstr "" + +#: ../../../source/reference/image-types.rst:33 +msgid "live-desktop.img or live-desktop.iso" +msgstr "" + +#: ../../../source/reference/image-types.rst:34 +msgid "Image for booting to GNOME\\* desktop to preview or install the OS." +msgstr "" + +#: ../../../source/reference/image-types.rst:36 +msgid "live-server.img or live-server.iso" +msgstr "" + +#: ../../../source/reference/image-types.rst:37 +msgid "Image for booting to server command prompt to preview or install the OS." +msgstr "" + +#: ../../../source/reference/image-types.rst:39 +msgid "Table 2: Types of platform-specific |CL| images" +msgstr "" + +#: ../../../source/reference/image-types.rst:46 +msgid "aws.img" +msgstr "" + +#: ../../../source/reference/image-types.rst:47 +msgid "Image suitable for use with Amazon\\* AWS\\*." +msgstr "" + +#: ../../../source/reference/image-types.rst:49 +msgid "azure.vhd" +msgstr "" + +#: ../../../source/reference/image-types.rst:50 +msgid "Virtual Hard Disk for use on Microsoft\\* Azure\\* cloud platform." +msgstr "" + +#: ../../../source/reference/image-types.rst:52 +msgid "azure-docker.vhd" +msgstr "" + +#: ../../../source/reference/image-types.rst:53 +msgid "Virtual Hard Disk for use on Microsoft Azure cloud platform with Docker\\* pre-installed." +msgstr "" + +#: ../../../source/reference/image-types.rst:55 +msgid "azure-machine-learning.vhd" +msgstr "" + +#: ../../../source/reference/image-types.rst:56 +msgid "Virtual Hard Disk for use on Microsoft Azure cloud platform with the `machine-learning-basic` bundle installed." +msgstr "" + +#: ../../../source/reference/image-types.rst:58 +msgid "cloudguest.img" +msgstr "" + +#: ../../../source/reference/image-types.rst:59 +msgid "Image with generic cloud guest virtual machine (VM) requirements installed." +msgstr "" + +#: ../../../source/reference/image-types.rst:61 +msgid "gce.tar" +msgstr "" + +#: ../../../source/reference/image-types.rst:62 +msgid "Image with the Google Compute Engine (GCE) specific kernel." +msgstr "" + +#: ../../../source/reference/image-types.rst:64 +msgid "hyperv.vhdx" +msgstr "" + +#: ../../../source/reference/image-types.rst:65 +msgid "Virtual Hard Disk for use with Microsoft Hyper-V\\* hypervisor. Includes `optimized kernel`_ for Hyper-V." +msgstr "" + +#: ../../../source/reference/image-types.rst:67 +msgid "kvm.img" +msgstr "" + +#: ../../../source/reference/image-types.rst:68 +msgid "Image for booting in a simple VM with start_qemu.sh. Includes `optimized kernel`_ for KVM." +msgstr "" + +#: ../../../source/reference/image-types.rst:71 +msgid "kvm-legacy.img" +msgstr "" + +#: ../../../source/reference/image-types.rst:72 +msgid "Image for booting in a simple VM using legacy BIOS, if using start_qemu.sh make sure to remove -bios parameter." +msgstr "" + +#: ../../../source/reference/image-types.rst:74 +msgid "pxe.tar" +msgstr "" + +#: ../../../source/reference/image-types.rst:75 +msgid "Image suitable for use with PXE server." +msgstr "" + +#: ../../../source/reference/image-types.rst:77 +msgid "vmware.vmdk" +msgstr "" + +#: ../../../source/reference/image-types.rst:78 +msgid "Virtual Machine Disk for VMware\\* platforms inclduing Player, Workstation, and ESXi." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:23 +msgid "Verify the integrity of the |CL| image" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:25 +msgid "Before you use a downloaded |CL| image, verify its integrity. This action eliminates the small chance of a corrupted image due to download issues. To support verification, each released |CL| image has a corresponding SHA512 checksum file designated with the suffix `-SHA512SUMS`." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:30 +msgid "Download the corresponding SHA512 checksum file of your |CL| image." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:31 +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:57 +msgid "Start a terminal emulator." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:32 +msgid "Go to the directory with the downloaded image and checksum files." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:33 +msgid "Verify the integrity of the image and compare it to its original checksum with the command:" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:40 +msgid "If the checksum of the downloaded image is different than the original checksum, a warning is displayed with a message indicating the computed checksum does **not** match. Otherwise, the name of the image is printed on the screen followed by `OK`." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:45 +msgid "For a more in-depth discussion of image verification including checking the certificate see :ref:`image-content-validation`." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:51 +msgid "Decompress the |CL| image" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:53 +msgid "Released |CL| images are compressed with either GNU zip (*.gz*) or XZ (*.xz*). The compression type depends on the target platform or environment. To decompress the image, follow these steps:" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:58 +msgid "Go to the directory with the downloaded image." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:60 +msgid "To decompress an XZ image, enter:" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-linux.rst:66 +msgid "To decompress a GZ image, enter:" +msgstr "" + diff --git a/localization/pot/locale/guides/maintenance/download-verify-decompress-mac.pot b/localization/pot/locale/guides/maintenance/download-verify-decompress-mac.pot new file mode 100644 index 00000000..85c7b797 --- /dev/null +++ b/localization/pot/locale/guides/maintenance/download-verify-decompress-mac.pot @@ -0,0 +1,233 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/guides/maintenance/download-verify-decompress-mac.rst:4 +msgid "Download, verify, and decompress a |CL-ATTR| image on macOS\\*" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-mac.rst:6 +msgid "This guide describes the types of |CL| images available, where to download them, how to verify the integrity of an image, and how to decompress it." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-mac.rst:9 +msgid "Instructions for other operating systems are available:" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-mac.rst:11 +msgid ":ref:`download-verify-decompress-linux`" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-mac.rst:12 +msgid ":ref:`download-verify-decompress-windows`" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-mac.rst:15 +msgid "Image types" +msgstr "" + +#: ../../../source/reference/image-types.rst:3 +msgid "|CL-ATTR| offers many types of `images`_ for different platforms and environments." +msgstr "" + +#: ../../../source/reference/image-types.rst:7 +msgid "The naming convention of a |CL| image filename is:" +msgstr "" + +#: ../../../source/reference/image-types.rst:13 +msgid "The *[version number]* field specifies the version number." +msgstr "" + +#: ../../../source/reference/image-types.rst:15 +msgid "The *[image type]* field specifies the type of image and its corresponding file format." +msgstr "" + +#: ../../../source/reference/image-types.rst:18 +msgid "The *[compression type]* field specifies the compression type. Two types of compressions are used: GNU\\* zip (*.gz*) and XZ (*.xz*)." +msgstr "" + +#: ../../../source/reference/image-types.rst:23 +msgid "Table 1 lists the currently available images that are platform independent. Table 2 lists the currently available images that are platform specific." +msgstr "" + +#: ../../../source/reference/image-types.rst:26 +msgid "Table 1: Types of platform-independent |CL| images" +msgstr "" + +#: ../../../source/reference/image-types.rst:30 +#: ../../../source/reference/image-types.rst:43 +msgid "Image Type" +msgstr "" + +#: ../../../source/reference/image-types.rst:31 +#: ../../../source/reference/image-types.rst:44 +msgid "Description" +msgstr "" + +#: ../../../source/reference/image-types.rst:33 +msgid "live-desktop.img or live-desktop.iso" +msgstr "" + +#: ../../../source/reference/image-types.rst:34 +msgid "Image for booting to GNOME\\* desktop to preview or install the OS." +msgstr "" + +#: ../../../source/reference/image-types.rst:36 +msgid "live-server.img or live-server.iso" +msgstr "" + +#: ../../../source/reference/image-types.rst:37 +msgid "Image for booting to server command prompt to preview or install the OS." +msgstr "" + +#: ../../../source/reference/image-types.rst:39 +msgid "Table 2: Types of platform-specific |CL| images" +msgstr "" + +#: ../../../source/reference/image-types.rst:46 +msgid "aws.img" +msgstr "" + +#: ../../../source/reference/image-types.rst:47 +msgid "Image suitable for use with Amazon\\* AWS\\*." +msgstr "" + +#: ../../../source/reference/image-types.rst:49 +msgid "azure.vhd" +msgstr "" + +#: ../../../source/reference/image-types.rst:50 +msgid "Virtual Hard Disk for use on Microsoft\\* Azure\\* cloud platform." +msgstr "" + +#: ../../../source/reference/image-types.rst:52 +msgid "azure-docker.vhd" +msgstr "" + +#: ../../../source/reference/image-types.rst:53 +msgid "Virtual Hard Disk for use on Microsoft Azure cloud platform with Docker\\* pre-installed." +msgstr "" + +#: ../../../source/reference/image-types.rst:55 +msgid "azure-machine-learning.vhd" +msgstr "" + +#: ../../../source/reference/image-types.rst:56 +msgid "Virtual Hard Disk for use on Microsoft Azure cloud platform with the `machine-learning-basic` bundle installed." +msgstr "" + +#: ../../../source/reference/image-types.rst:58 +msgid "cloudguest.img" +msgstr "" + +#: ../../../source/reference/image-types.rst:59 +msgid "Image with generic cloud guest virtual machine (VM) requirements installed." +msgstr "" + +#: ../../../source/reference/image-types.rst:61 +msgid "gce.tar" +msgstr "" + +#: ../../../source/reference/image-types.rst:62 +msgid "Image with the Google Compute Engine (GCE) specific kernel." +msgstr "" + +#: ../../../source/reference/image-types.rst:64 +msgid "hyperv.vhdx" +msgstr "" + +#: ../../../source/reference/image-types.rst:65 +msgid "Virtual Hard Disk for use with Microsoft Hyper-V\\* hypervisor. Includes `optimized kernel`_ for Hyper-V." +msgstr "" + +#: ../../../source/reference/image-types.rst:67 +msgid "kvm.img" +msgstr "" + +#: ../../../source/reference/image-types.rst:68 +msgid "Image for booting in a simple VM with start_qemu.sh. Includes `optimized kernel`_ for KVM." +msgstr "" + +#: ../../../source/reference/image-types.rst:71 +msgid "kvm-legacy.img" +msgstr "" + +#: ../../../source/reference/image-types.rst:72 +msgid "Image for booting in a simple VM using legacy BIOS, if using start_qemu.sh make sure to remove -bios parameter." +msgstr "" + +#: ../../../source/reference/image-types.rst:74 +msgid "pxe.tar" +msgstr "" + +#: ../../../source/reference/image-types.rst:75 +msgid "Image suitable for use with PXE server." +msgstr "" + +#: ../../../source/reference/image-types.rst:77 +msgid "vmware.vmdk" +msgstr "" + +#: ../../../source/reference/image-types.rst:78 +msgid "Virtual Machine Disk for VMware\\* platforms inclduing Player, Workstation, and ESXi." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-mac.rst:23 +msgid "Verify the integrity of the |CL| image" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-mac.rst:25 +msgid "Before you use a downloaded |CL| image, verify its integrity. This action eliminates the small chance of a corrupted image due to download issues. To support verification, each released |CL| image has a corresponding SHA512 checksum file designated with the suffix `-SHA512SUMS`." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-mac.rst:30 +msgid "Download the corresponding SHA512 checksum file of your |CL| image." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-mac.rst:31 +#: ../../../source/guides/maintenance/download-verify-decompress-mac.rst:51 +msgid "Start the Terminal app." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-mac.rst:32 +msgid "Go to the directory with the downloaded image and checksum files." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-mac.rst:33 +msgid "Verify the integrity of the image and compare it to its original checksum with the command:" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-mac.rst:40 +msgid "If the checksum of the downloaded image is different than the original checksum, the differences will be displayed. Otherwise, an empty output indicates a match and your downloaded image is good." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-mac.rst:45 +msgid "Decompress the |CL| image" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-mac.rst:47 +msgid "We compress all released |CL| images by default with either GNU zip (`.gz`) or xz (`.xz`). The compression type we use depends on the target platform or environment. To decompress the image, follow these steps:" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-mac.rst:52 +msgid "Go to the directory with the downloaded image." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-mac.rst:53 +msgid "Use the :command:`gunzip` command to decompress either compression type. For example:" +msgstr "" + diff --git a/localization/pot/locale/guides/maintenance/download-verify-decompress-windows.pot b/localization/pot/locale/guides/maintenance/download-verify-decompress-windows.pot new file mode 100644 index 00000000..e8831a3f --- /dev/null +++ b/localization/pot/locale/guides/maintenance/download-verify-decompress-windows.pot @@ -0,0 +1,240 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:4 +msgid "Download, verify, and decompress a |CL-ATTR| image on Windows\\*" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:6 +msgid "This guide describes the types of |CL-ATTR| images available, where to download them, how to verify the integrity of an image, and how to decompress it." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:9 +msgid "Instructions for other operating systems are available:" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:11 +msgid ":ref:`download-verify-decompress-linux`" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:12 +msgid ":ref:`download-verify-decompress-mac`" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:15 +msgid "Image types" +msgstr "" + +#: ../../../source/reference/image-types.rst:3 +msgid "|CL-ATTR| offers many types of `images`_ for different platforms and environments." +msgstr "" + +#: ../../../source/reference/image-types.rst:7 +msgid "The naming convention of a |CL| image filename is:" +msgstr "" + +#: ../../../source/reference/image-types.rst:13 +msgid "The *[version number]* field specifies the version number." +msgstr "" + +#: ../../../source/reference/image-types.rst:15 +msgid "The *[image type]* field specifies the type of image and its corresponding file format." +msgstr "" + +#: ../../../source/reference/image-types.rst:18 +msgid "The *[compression type]* field specifies the compression type. Two types of compressions are used: GNU\\* zip (*.gz*) and XZ (*.xz*)." +msgstr "" + +#: ../../../source/reference/image-types.rst:23 +msgid "Table 1 lists the currently available images that are platform independent. Table 2 lists the currently available images that are platform specific." +msgstr "" + +#: ../../../source/reference/image-types.rst:26 +msgid "Table 1: Types of platform-independent |CL| images" +msgstr "" + +#: ../../../source/reference/image-types.rst:30 +#: ../../../source/reference/image-types.rst:43 +msgid "Image Type" +msgstr "" + +#: ../../../source/reference/image-types.rst:31 +#: ../../../source/reference/image-types.rst:44 +msgid "Description" +msgstr "" + +#: ../../../source/reference/image-types.rst:33 +msgid "live-desktop.img or live-desktop.iso" +msgstr "" + +#: ../../../source/reference/image-types.rst:34 +msgid "Image for booting to GNOME\\* desktop to preview or install the OS." +msgstr "" + +#: ../../../source/reference/image-types.rst:36 +msgid "live-server.img or live-server.iso" +msgstr "" + +#: ../../../source/reference/image-types.rst:37 +msgid "Image for booting to server command prompt to preview or install the OS." +msgstr "" + +#: ../../../source/reference/image-types.rst:39 +msgid "Table 2: Types of platform-specific |CL| images" +msgstr "" + +#: ../../../source/reference/image-types.rst:46 +msgid "aws.img" +msgstr "" + +#: ../../../source/reference/image-types.rst:47 +msgid "Image suitable for use with Amazon\\* AWS\\*." +msgstr "" + +#: ../../../source/reference/image-types.rst:49 +msgid "azure.vhd" +msgstr "" + +#: ../../../source/reference/image-types.rst:50 +msgid "Virtual Hard Disk for use on Microsoft\\* Azure\\* cloud platform." +msgstr "" + +#: ../../../source/reference/image-types.rst:52 +msgid "azure-docker.vhd" +msgstr "" + +#: ../../../source/reference/image-types.rst:53 +msgid "Virtual Hard Disk for use on Microsoft Azure cloud platform with Docker\\* pre-installed." +msgstr "" + +#: ../../../source/reference/image-types.rst:55 +msgid "azure-machine-learning.vhd" +msgstr "" + +#: ../../../source/reference/image-types.rst:56 +msgid "Virtual Hard Disk for use on Microsoft Azure cloud platform with the `machine-learning-basic` bundle installed." +msgstr "" + +#: ../../../source/reference/image-types.rst:58 +msgid "cloudguest.img" +msgstr "" + +#: ../../../source/reference/image-types.rst:59 +msgid "Image with generic cloud guest virtual machine (VM) requirements installed." +msgstr "" + +#: ../../../source/reference/image-types.rst:61 +msgid "gce.tar" +msgstr "" + +#: ../../../source/reference/image-types.rst:62 +msgid "Image with the Google Compute Engine (GCE) specific kernel." +msgstr "" + +#: ../../../source/reference/image-types.rst:64 +msgid "hyperv.vhdx" +msgstr "" + +#: ../../../source/reference/image-types.rst:65 +msgid "Virtual Hard Disk for use with Microsoft Hyper-V\\* hypervisor. Includes `optimized kernel`_ for Hyper-V." +msgstr "" + +#: ../../../source/reference/image-types.rst:67 +msgid "kvm.img" +msgstr "" + +#: ../../../source/reference/image-types.rst:68 +msgid "Image for booting in a simple VM with start_qemu.sh. Includes `optimized kernel`_ for KVM." +msgstr "" + +#: ../../../source/reference/image-types.rst:71 +msgid "kvm-legacy.img" +msgstr "" + +#: ../../../source/reference/image-types.rst:72 +msgid "Image for booting in a simple VM using legacy BIOS, if using start_qemu.sh make sure to remove -bios parameter." +msgstr "" + +#: ../../../source/reference/image-types.rst:74 +msgid "pxe.tar" +msgstr "" + +#: ../../../source/reference/image-types.rst:75 +msgid "Image suitable for use with PXE server." +msgstr "" + +#: ../../../source/reference/image-types.rst:77 +msgid "vmware.vmdk" +msgstr "" + +#: ../../../source/reference/image-types.rst:78 +msgid "Virtual Machine Disk for VMware\\* platforms inclduing Player, Workstation, and ESXi." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:23 +msgid "Verify the integrity of the |CL| image" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:25 +msgid "Before you use a downloaded |CL| image, verify its integrity. This action eliminates the small chance of a corrupted image due to download issues. To support verification, each released |CL| image has a corresponding SHA512 checksum file designated with the suffix `-SHA512SUMS`." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:30 +msgid "Download the corresponding SHA512 checksum file of your |CL| image." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:31 +msgid "Start Command Prompt." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:32 +msgid "Go to the directory with the downloaded image and checksum files." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:33 +msgid "Get the SHA512 checksum of the image with the command:" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:39 +msgid "Manually compare the output with the original checksum value shown in the downloaded checksum file and make sure they match." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:43 +msgid "Decompress the |CL| image" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:45 +msgid "Released |CL| images are compressed with either GNU zip (*.gz*) or XZ (*.xz*). The compression type depends on the target platform or environment. To decompress the image, follow these steps:" +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:49 +msgid "Download and install `7-Zip`_." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:50 +msgid "Go to the directory with the downloaded image and right-click it." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:51 +msgid "From the pop-up menu, select :guilabel:`7-Zip` and select :guilabel:`Extract Here` as shown in Figure 1." +msgstr "" + +#: ../../../source/guides/maintenance/download-verify-decompress-windows.rst:58 +msgid "Figure 1: Windows 7-Zip extract file." +msgstr "" + diff --git a/localization/pot/locale/guides/maintenance/enable-user-space.pot b/localization/pot/locale/guides/maintenance/enable-user-space.pot new file mode 100644 index 00000000..fc2b14f6 --- /dev/null +++ b/localization/pot/locale/guides/maintenance/enable-user-space.pot @@ -0,0 +1,126 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/guides/maintenance/enable-user-space.rst:4 +msgid "Create and enable a new user space" +msgstr "" + +#: ../../../source/guides/maintenance/enable-user-space.rst:6 +msgid "This section provides steps to complete the following basic setup tasks for a newly installed |CL-ATTR| system:" +msgstr "" + +#: ../../../source/guides/maintenance/enable-user-space.rst:14 +msgid "Create a new user" +msgstr "" + +#: ../../../source/guides/maintenance/enable-user-space.rst:16 +msgid "To create a new user and set a password for that user, enter the following commands as a `root` user:" +msgstr "" + +#: ../../../source/guides/maintenance/enable-user-space.rst:24 +msgid "Replace the with the name of the user account you want to create including the password for that user. The :command:`passwd` command prompts you to enter a new password. Retype the new password for the new user account just created." +msgstr "" + +#: ../../../source/guides/maintenance/enable-user-space.rst:30 +msgid "Add the new user to the `wheel` group" +msgstr "" + +#: ../../../source/guides/maintenance/enable-user-space.rst:32 +msgid "Before logging off as root and logging into your new user account, enable the :command:`sudo` command for your new ``." +msgstr "" + +#: ../../../source/guides/maintenance/enable-user-space.rst:35 +msgid "To be able to execute all applications with root privileges, add the `` to the `wheel group`_." +msgstr "" + +#: ../../../source/guides/maintenance/enable-user-space.rst:38 +msgid "Add `` to the `wheel` group:" +msgstr "" + +#: ../../../source/guides/maintenance/enable-user-space.rst:44 +msgid "Log out of root and into the new ``." +msgstr "" + +#: ../../../source/guides/maintenance/enable-user-space.rst:46 +msgid "To log off as root, enter :command:`exit`." +msgstr "" + +#: ../../../source/guides/maintenance/enable-user-space.rst:48 +msgid "Enter the new `` and the password created earlier." +msgstr "" + +#: ../../../source/guides/maintenance/enable-user-space.rst:50 +msgid "You will now be in the home directory of ``." +msgstr "" + +#: ../../../source/guides/maintenance/enable-user-space.rst:53 +msgid "Install and update the OS software to its current version" +msgstr "" + +#: ../../../source/guides/maintenance/enable-user-space.rst:55 +msgid "The |CL| software utility :ref:`swupd ` allows you to perform system updates while reaping the benefits of upstream development." +msgstr "" + +#: ../../../source/guides/maintenance/enable-user-space.rst:57 +msgid "To update your newly installed OS, run:" +msgstr "" + +#: ../../../source/guides/maintenance/enable-user-space.rst:64 +msgid "Add a bundle" +msgstr "" + +#: ../../../source/guides/maintenance/enable-user-space.rst:66 +msgid "Software applications are installed as bundles using the command :command:`swupd bundle-add`. Experienced Linux* users might compare `swupd` to running :command:`apt-get` or :command:`yum install` for package management. Yet |CL| manages packages at the level of bundles, which are integrated stacks of packages." +msgstr "" + +#: ../../../source/guides/maintenance/enable-user-space.rst:72 +msgid "For example, the `sysadmin-basic` bundle installs the majority of applications useful to a system administrator. To install it, enter:" +msgstr "" + +#: ../../../source/guides/maintenance/enable-user-space.rst:78 +msgid "View a full list of bundles and packages installed with the `sysadmin-basic`_ bundle. You can also view `all bundles`_ for |CL|, active or deprecated." +msgstr "" + +#: ../../../source/guides/maintenance/enable-user-space.rst:80 +msgid "Expand your knowledge of :command:`swupd` and check out our developer resources:" +msgstr "" + +#: ../../../source/guides/maintenance/enable-user-space.rst:82 +msgid ":ref:`swupd-guide`" +msgstr "" + +#: ../../../source/guides/maintenance/enable-user-space.rst:83 +msgid ":ref:`developer-workstation`" +msgstr "" + +#: ../../../source/guides/maintenance/enable-user-space.rst:86 +msgid "Next steps" +msgstr "" + +#: ../../../source/guides/maintenance/enable-user-space.rst:88 +msgid "Check out our guides and tutorials." +msgstr "" + +#: ../../../source/guides/maintenance/enable-user-space.rst:90 +msgid ":ref:`guides`" +msgstr "" + +#: ../../../source/guides/maintenance/enable-user-space.rst:91 +msgid ":ref:`tutorials`" +msgstr "" + diff --git a/localization/pot/locale/guides/maintenance/fix-broken-install.pot b/localization/pot/locale/guides/maintenance/fix-broken-install.pot new file mode 100644 index 00000000..e6ae96ca --- /dev/null +++ b/localization/pot/locale/guides/maintenance/fix-broken-install.pot @@ -0,0 +1,138 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/guides/maintenance/fix-broken-install.rst:4 +msgid "Fix a broken installation of |CL-ATTR|" +msgstr "" + +#: ../../../source/guides/maintenance/fix-broken-install.rst:6 +msgid "This guide explains how to fix a broken installation of |CL| using a live desktop image on a USB. It's assumed you already installed |CL| on a target system, but your operating system does not boot or function properly." +msgstr "" + +#: ../../../source/guides/maintenance/fix-broken-install.rst:10 +msgid "This process can only verify and fix files that :ref:`swupd` owns in :file:`/usr`. Files outside of this path, such as /home/, /etc, /var, etc., cannot be repaired by this process." +msgstr "" + +#: ../../../source/guides/maintenance/fix-broken-install.rst:15 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/guides/maintenance/fix-broken-install.rst:17 +msgid ":ref:`Download and install the live desktop image on a USB `" +msgstr "" + +#: ../../../source/guides/maintenance/fix-broken-install.rst:20 +msgid "Boot a live desktop image to fix target system" +msgstr "" + +#: ../../../source/guides/maintenance/fix-broken-install.rst:22 +msgid "Boot the |CL| live desktop image." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:4 +msgid "Install from live image" +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:6 +msgid "After you download and burn the live desktop image on a USB drive, follow these steps." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:9 +msgid "Insert the USB drive into an available USB slot." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:11 +msgid "Power on the system." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:13 +msgid "Open the system BIOS setup menu by pressing the :kbd:`F2` key. Your BIOS setup menu entry point may vary." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:16 +msgid "In the setup menu, enable the UEFI boot and set the USB drive as the first option in the device boot order." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:19 +msgid "Save these settings, e.g. :kbd:`F10`, and exit." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:21 +msgid "Reboot the target system." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:23 +msgid "Select :guilabel:`Clear Linux OS` in the boot menu, shown in Figure 1." +msgstr "" + +#: ../../../source/get-started/bare-metal-install-desktop/bare-metal-install-desktop.rst:29 +msgid "Figure 1: Clear Linux OS in boot menu" +msgstr "" + +#: ../../../source/guides/maintenance/fix-broken-install.rst:29 +msgid "Mount root partition, verify, and fix" +msgstr "" + +#: ../../../source/guides/maintenance/fix-broken-install.rst:31 +msgid "Open a Terminal window." +msgstr "" + +#: ../../../source/guides/maintenance/fix-broken-install.rst:33 +msgid "Assure the system is connected to the network." +msgstr "" + +#: ../../../source/guides/maintenance/fix-broken-install.rst:35 +msgid "Mount the system’s root partition." +msgstr "" + +#: ../../../source/guides/maintenance/fix-broken-install.rst:37 +msgid "To find the root partition, run:" +msgstr "" + +#: ../../../source/guides/maintenance/fix-broken-install.rst:43 +msgid "We'll use `/dev/sda3/` as the root partition example." +msgstr "" + +#: ../../../source/guides/maintenance/fix-broken-install.rst:45 +msgid "Next, mount the partition to the `/mnt` folder." +msgstr "" + +#: ../../../source/guides/maintenance/fix-broken-install.rst:51 +msgid "Verify that you mounted the correct root partition by checking for some files commonly found on |CL| systems." +msgstr "" + +#: ../../../source/guides/maintenance/fix-broken-install.rst:59 +msgid "Next, run swupd to fix any issues on the target system." +msgstr "" + +#: ../../../source/guides/maintenance/fix-broken-install.rst:65 +msgid ":ref:`Learn more about how swupd works `." +msgstr "" + +#: ../../../source/guides/maintenance/fix-broken-install.rst:67 +msgid "After the process is complete, unmount the root partition:" +msgstr "" + +#: ../../../source/guides/maintenance/fix-broken-install.rst:73 +msgid "Reboot the system, remove the live desktop USB drive, and boot into the repaired system." +msgstr "" + +#: ../../../source/guides/maintenance/fix-broken-install.rst:80 +msgid "**Congratulations!** You successfully restored |CL|." +msgstr "" + diff --git a/localization/pot/locale/guides/maintenance/hostname.pot b/localization/pot/locale/guides/maintenance/hostname.pot new file mode 100644 index 00000000..260ab372 --- /dev/null +++ b/localization/pot/locale/guides/maintenance/hostname.pot @@ -0,0 +1,82 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/guides/maintenance/hostname.rst:4 +msgid "Modify hostname on |CL-ATTR|" +msgstr "" + +#: ../../../source/guides/maintenance/hostname.rst:6 +msgid "This guide describes how to modify and view the hostname of your |CL-ATTR| system." +msgstr "" + +#: ../../../source/guides/maintenance/hostname.rst:9 +msgid "By default, |CL| installations have a machine generated name, which is a long string of letters and numbers. The generated name is fine for computers but is not human-friendly. Administrators and users will often want to rename their machines with a name that is easier to remember, type, and search for. Renaming a machine also makes it easier to identify, by including meaningful data in the name. The following examples show human-friendly machine names:" +msgstr "" + +#: ../../../source/guides/maintenance/hostname.rst:17 +msgid "*regression-test*" +msgstr "" + +#: ../../../source/guides/maintenance/hostname.rst:18 +msgid "*sally-test-box1*" +msgstr "" + +#: ../../../source/guides/maintenance/hostname.rst:19 +msgid "*az-bldg2-lab*" +msgstr "" + +#: ../../../source/guides/maintenance/hostname.rst:22 +msgid "Set your hostname" +msgstr "" + +#: ../../../source/guides/maintenance/hostname.rst:24 +msgid "|CL| uses the :command:`hostnamectl` command to display and modify the machine name. :command:`hostnamectl` is part of the **os-core** bundle, which provides a basic Linux\\* user space and utilities." +msgstr "" + +#: ../../../source/guides/maintenance/hostname.rst:28 +msgid "This example sets the hostname to *telemetry-test-2-h15*, to identify a |CL| telemetry test machine on the second floor at grid location H15. Make sure to reboot after setting a new hostname." +msgstr "" + +#: ../../../source/guides/maintenance/hostname.rst:39 +msgid "There are three types of hostname: *static*, *transient*, and *pretty*. The most common is the static hostname. Static hostnames must be between two and 63 characters long, must start and end with a letter or number, and may contain letters (case-insensitive), numbers, dashes, or dots." +msgstr "" + +#: ../../../source/guides/maintenance/hostname.rst:44 +msgid "If the static hostname exists, it is used to generate the transient hostname, which is maintained by the kernel. The transient hostname can be changed by DHCP or mDNS at runtime." +msgstr "" + +#: ../../../source/guides/maintenance/hostname.rst:48 +msgid "The pretty hostname is a free-form UTF8 name used for presentation to the user." +msgstr "" + +#: ../../../source/guides/maintenance/hostname.rst:51 +msgid "View your hostname" +msgstr "" + +#: ../../../source/guides/maintenance/hostname.rst:53 +msgid "View your current hostname using the following command:" +msgstr "" + +#: ../../../source/guides/maintenance/hostname.rst:59 +msgid "You should see output similar to:" +msgstr "" + +#: ../../../source/guides/maintenance/hostname.rst:74 +msgid "**Congratulations!** You successfully modified the hostname of your |CL| system." +msgstr "" + diff --git a/localization/pot/locale/guides/maintenance/increase-virtual-disk-size.pot b/localization/pot/locale/guides/maintenance/increase-virtual-disk-size.pot new file mode 100644 index 00000000..9daf10df --- /dev/null +++ b/localization/pot/locale/guides/maintenance/increase-virtual-disk-size.pot @@ -0,0 +1,202 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:4 +msgid "Increase virtual disk size of a |CL-ATTR| image" +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:6 +msgid "|CL-ATTR| prebuilt images come in different sizes, ranging from 300 MB to 20 GB. This guide describes how to increase the size of your prebuilt |CL| image if you need more capacity." +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:10 +msgid "This guide will cover:" +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:13 +msgid "Determine the partition order and sizes of the prebuilt image" +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:15 +msgid "There are two methods to find the order and sizes of partitions virtual disk of your prebuilt |CL| image." +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:18 +msgid "In both examples, the prebuilt Hyper-V image has a disk size of 8.5 GB with / dev/sda3 being the partition for the root filesystem (/)" +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:22 +msgid "Checking :command:`lsblk` on the VM" +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:24 +msgid "The first method is to boot up your :abbr:`VM (Virtual Machine)` and execute the :command:`lsblk` command as shown below:" +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:31 +msgid "An example output of the :command:`lsblk` command:" +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:41 +msgid "An example of this can also be seen in Figure 1." +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:44 +msgid "Checking :file:`config.json` used to build the image" +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:46 +msgid "The second method to determine partition to check the :file:`config.json` file used to create prebuilt image, located in the `releases`_ repository. For example, to find the size of the Hyper-V\\* image version number 20450, follow these steps:" +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:51 +msgid "Go to the `releases`_ repository." +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:52 +msgid "Drill down into the `20450 > clear > config > image` directory." +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:53 +msgid "Open the :file:`hyperv-config.json` file." +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:54 +msgid "Locate the `PartitionLayout` key." +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:56 +msgid "The example shows 512 MB for the EFI partition, 32 MB for the swap partition, and 8 GB for the root partition." +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:76 +msgid "Increase virtual disk size" +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:77 +msgid "Once you have determined the disk and partition to be increased, you are ready to perform the actual increase of the disk, partition, and filesystem." +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:81 +msgid "Power off VM and increase virtual disk size:" +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:83 +msgid "To increase the virtual disk size for a prebuilt image, perform the steps below:" +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:86 +msgid "Shut down your VM if it is running." +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:87 +msgid "Use the process defined by your hypervisor or cloud provider to increase the virtual disk size of your |CL| VM." +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:90 +msgid "Power up the VM." +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:94 +msgid "Resize the partition of the virtual disk:" +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:96 +msgid "Log in to an account with root privileges." +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:97 +msgid "Open a terminal emulator." +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:98 +msgid "Add the |CL| `storage-utils` bundle to install the :command:`parted` and :command:`resize2fs` tools." +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:105 +msgid "Launch the `parted` tool." +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:111 +msgid "In the `parted` tool, perform these steps:" +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:113 +msgid "Press :command:`p` to print the partitions table." +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:114 +msgid "If the warning message below is displayed, enter :command:`Fix`." +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:124 +msgid "Enter :command:`resizepart [partition number]` where *[partition number]* is the partition number of the partition to modify." +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:126 +msgid "Enter :command:`yes` when prompted." +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:127 +msgid "Enter the new `End` size." +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:131 +msgid "If you want a partition to take up the remaining disk space, then enter the total size of the disk. When you print the partitions table with the :command:`p` command, the total disk size is shown after the `Disk` label." +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:136 +msgid "An example of this can be seen in Figure 1." +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:138 +msgid "Enter :command:`q` to exit `parted` when you are finished resizing the image." +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:141 +msgid "Figure 1 depicts the described steps to resize the partition of the virtual disk from 8.5GB to 20GB." +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:147 +msgid "Figure 1: Increase root partition size." +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:150 +msgid "Resize the filesytem" +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:152 +msgid "Enter :command:`sudo resize2fs -p /dev/[modified partition name]` where *[modified partition name]* is the partition that was changed in `parted`." +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:155 +msgid "Run the :command:`df -h` to verify that the filesystem size has increased." +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:158 +msgid "Figure 2 depicts the described steps to resize the partition of the virtual disk from 8.5GB to 20GB." +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:164 +msgid "Figure 2: Increase root filesystem size after partition has been expanded." +msgstr "" + +#: ../../../source/guides/maintenance/increase-virtual-disk-size.rst:166 +msgid "Congratulations! You have resized the disk, partition, and filesystem. At this point, the increase in disk capacity is usable." +msgstr "" + diff --git a/localization/pot/locale/guides/maintenance/time.pot b/localization/pot/locale/guides/maintenance/time.pot new file mode 100644 index 00000000..2cf84a9d --- /dev/null +++ b/localization/pot/locale/guides/maintenance/time.pot @@ -0,0 +1,66 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/guides/maintenance/time.rst:4 +msgid "Set the time" +msgstr "" + +#: ../../../source/guides/maintenance/time.rst:6 +msgid "|CL-ATTR| uses the `systemd-timesyncd.service` daemon to synchronize time." +msgstr "" + +#: ../../../source/guides/maintenance/time.rst:8 +msgid "This guide describes how to reset the time in your |CL| system when the default :abbr:`NTP (Network Time Protocol)` servers cannot be reached." +msgstr "" + +#: ../../../source/guides/maintenance/time.rst:11 +msgid "Install the `sysadmin-basic` bundle." +msgstr "" + +#: ../../../source/guides/maintenance/time.rst:17 +msgid "Set your time zone. This example uses Los Angeles." +msgstr "" + +#: ../../../source/guides/maintenance/time.rst:25 +msgid "To see a list of time zones, use the command: :command:`timedatectl list-timezones | grep `" +msgstr "" + +#: ../../../source/guides/maintenance/time.rst:28 +msgid "Create a :file:`/etc/systemd/` directory." +msgstr "" + +#: ../../../source/guides/maintenance/time.rst:34 +msgid "Create a new file named :file:`/etc/systemd/timesyncd.conf` and enter the following text." +msgstr "" + +#: ../../../source/guides/maintenance/time.rst:43 +msgid "Enable the `systemd-timesyncd` service." +msgstr "" + +#: ../../../source/guides/maintenance/time.rst:51 +msgid "To check the service status, use the :command:`timedatectl status` command." +msgstr "" + +#: ../../../source/guides/maintenance/time.rst:53 +msgid "To restart the `timesyncd` daemon, enter :command:`systemctl restart systemd-timesyncd` into your terminal emulator." +msgstr "" + +#: ../../../source/guides/maintenance/time.rst:56 +msgid "**Congratulations!** You successfully set up the time in your |CL| system." +msgstr "" + diff --git a/localization/pot/locale/guides/maintenance/validate-signatures.pot b/localization/pot/locale/guides/maintenance/validate-signatures.pot new file mode 100644 index 00000000..764ed39e --- /dev/null +++ b/localization/pot/locale/guides/maintenance/validate-signatures.pot @@ -0,0 +1,99 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/guides/maintenance/validate-signatures.rst:4 +msgid "Validate signatures" +msgstr "" + +#: ../../../source/guides/maintenance/validate-signatures.rst:6 +msgid "|CL-ATTR| offers a way to validate the content of an image or an update. All validation of content works by creating and signing a hash. A valid signature creates a chain of trust. A broken chain of trust, seen as an invalid signature, means the content is not valid." +msgstr "" + +#: ../../../source/guides/maintenance/validate-signatures.rst:11 +msgid "This guide covers how to validate the contents of an image, which is a manual process and is the same process ``swupd`` performs internally to validate an update." +msgstr "" + +#: ../../../source/guides/maintenance/validate-signatures.rst:18 +msgid "Image content validation" +msgstr "" + +#: ../../../source/guides/maintenance/validate-signatures.rst:20 +msgid "For the outlined steps, the installer image of the latest release of |CL| is used for illustrative purposes. You may use any image of |CL| you choose." +msgstr "" + +#: ../../../source/guides/maintenance/validate-signatures.rst:23 +msgid "Download the image, the signature of the SHA512 sum of the image, and the |CL| certificate used for signing the SHA512 sum." +msgstr "" + +#: ../../../source/guides/maintenance/validate-signatures.rst:35 +msgid "Generate the SHA256 sum of the |CL| certificate." +msgstr "" + +#: ../../../source/guides/maintenance/validate-signatures.rst:41 +msgid "Ensure the generated SHA256 sum of the |CL| certificate matches the following SHA256 sum to verify the integrity of the certificate." +msgstr "" + +#: ../../../source/guides/maintenance/validate-signatures.rst:48 +msgid "Generate the SHA512 sum of the image and save it to a file." +msgstr "" + +#: ../../../source/guides/maintenance/validate-signatures.rst:54 +msgid "Ensure the signature of the SHA512 sum of the image was created using the |CL| certificate. This validates the image is trusted and it has not been modified." +msgstr "" + +#: ../../../source/guides/maintenance/validate-signatures.rst:64 +#: ../../../source/guides/maintenance/validate-signatures.rst:115 +msgid "The `-purpose any` option is required when using OpenSSL 1.1. If using an earlier version of OpenSSL, omit this option to perform signature validation. The `openssl version` command may be used to determine the version of OpenSSL in use." +msgstr "" + +#: ../../../source/guides/maintenance/validate-signatures.rst:69 +msgid "The output should contain ``Verification successful``. If the output contains ``bad_signature`` anywhere, then the image is not trustworthy." +msgstr "" + +#: ../../../source/guides/maintenance/validate-signatures.rst:73 +msgid "Update content validation" +msgstr "" + +#: ../../../source/guides/maintenance/validate-signatures.rst:75 +msgid "``swupd`` validates all update content automatically before applying the update content. The process ``swupd`` follows internally is illustrated here with manual steps using the latest |CL| release. There is no need to perform these steps manually when performing a ``swupd update``." +msgstr "" + +#: ../../../source/guides/maintenance/validate-signatures.rst:80 +msgid "Download the :abbr:`MoM (top-level manifest)`, the signature of the MoM, and the Swupd certificate used for signing the signature of the MoM." +msgstr "" + +#: ../../../source/guides/maintenance/validate-signatures.rst:92 +msgid "Generate the SHA256 sum of the Swupd certificate." +msgstr "" + +#: ../../../source/guides/maintenance/validate-signatures.rst:98 +msgid "Ensure the generated SHA256 sum of the Swupd certificate matches following SHA256 sum to verify the integrity of the certificate." +msgstr "" + +#: ../../../source/guides/maintenance/validate-signatures.rst:105 +msgid "Ensure the signature of the MoM was created using the Swupd certificate. This signature validates the update content is trustworthy and has not been modified." +msgstr "" + +#: ../../../source/guides/maintenance/validate-signatures.rst:122 +msgid "The SHA512 sum of the MoM is not generated and then signed. Instead, the MoM is signed directly because it is small in size compared to an image of |CL|." +msgstr "" + +#: ../../../source/guides/maintenance/validate-signatures.rst:126 +msgid "The output should contain ``Verification successful``. If the output contains ``bad_signature`` anywhere, then the MoM cannot be trusted. Because the MoM contains a list of hashes for bundle manifests, if the MoM cannot be trusted, then the bundle content cannot be trusted." +msgstr "" + diff --git a/localization/pot/locale/guides/network/custom-clear-container.pot b/localization/pot/locale/guides/network/custom-clear-container.pot new file mode 100644 index 00000000..776df72e --- /dev/null +++ b/localization/pot/locale/guides/network/custom-clear-container.pot @@ -0,0 +1,154 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/guides/network/custom-clear-container.rst:4 +msgid "Build a custom |CL-ATTR| based Docker container image" +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:6 +msgid "The official base |CL-ATTR| container image is published on Docker\\* Hub and is updated on a regular basis. This guide contains the steps to build a custom container image." +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:11 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:13 +msgid "You must perform these steps on a |CL| system because the :abbr:`swupd (software updater)` is used to manage bundles in the container." +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:16 +msgid "You must install the :file:`containers-basic` bundle on the |CL| system or Docker will not work." +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:18 +msgid "You have a basic understanding of Docker." +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:21 +msgid "Build the base container image" +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:23 +msgid "Log in and get root privileges." +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:29 +msgid "Verify Docker is installed and running." +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:35 +msgid "If Docker is installed and running, the output is similar to this example:" +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:78 +msgid "If Docker is not installed, enter the commands:" +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:85 +msgid "Use `os-install` to download and install the bundles." +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:92 +msgid "The `swupd` example uses the following flags:" +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:94 +msgid ":command:`os-install` tells `swupd` to download and install." +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:95 +msgid ":command:`-V / --version` specifies the version of the |CL| bundles." +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:96 +msgid ":command:`--url` specifies the URL of the bundles repository." +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:97 +msgid ":command:`--statedir` specifies the state directory where downloaded bundles and any state information are stored." +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:99 +msgid ":command:`--no-boot-update` tells `swupd` to skip updating boot files because boot files are not required for a container." +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:102 +msgid "For more information on `swupd` flags, enter the :command:`swupd os-install -h` command." +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:104 +#: ../../../source/guides/network/custom-clear-container.rst:167 +#: ../../../source/guides/network/custom-clear-container.rst:194 +#: ../../../source/guides/network/custom-clear-container.rst:228 +#: ../../../source/guides/network/custom-clear-container.rst:290 +msgid "Example output:" +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:141 +msgid "The `WARNING` message is expected and can be ignored." +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:143 +msgid "Create a tarball and compress it." +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:150 +msgid "Create the Dockerfile to build the image." +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:161 +msgid "Build the |CL| container image." +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:188 +msgid "List the newly created |CL| container image." +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:201 +msgid "Launch the built |CL| container." +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:208 +msgid "Manage bundles in a container" +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:210 +msgid "You can add and remove bundles from a |CL| container using the :command:`RUN swupd` command in the Dockerfile." +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:214 +msgid "Add a bundle" +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:216 +msgid "This example Dockerfile adds the :file:`pxe-server` bundle to an existing |CL| Docker image:" +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:272 +msgid "The `WARNING` message can be ignored because systemd does not run inside a container." +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:276 +msgid "Remove a bundle" +msgstr "" + +#: ../../../source/guides/network/custom-clear-container.rst:278 +msgid "This example Dockerfile removes the :file:`pxe-server` bundle from an existing |CL| Docker image:" +msgstr "" + diff --git a/localization/pot/locale/guides/network/dpdk.pot b/localization/pot/locale/guides/network/dpdk.pot new file mode 100644 index 00000000..6ffd58b4 --- /dev/null +++ b/localization/pot/locale/guides/network/dpdk.pot @@ -0,0 +1,308 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/guides/network/dpdk.rst:4 +msgid "Use DPDK to send packets between platforms" +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:6 +msgid "This document describes how to send packets between two platforms in the simple configuration shown in :ref:`Figure 1 `. The example uses the :abbr:`Data Plane Development Kit (DPDK)`, which is a set of libraries, drivers, sample applications, and tools for fast packet processing." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:17 +msgid "Figure 1: Environment for l3fwd DPDK application" +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:19 +msgid "This example uses the following DPDK components:" +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:21 +msgid "pktgen: Traffic generator. See `pktgen documentation`_ for details." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:22 +msgid "l3fwd: Layer 3 forwarding example application. See `l3fwd documentation`_ for details." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:26 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:28 +msgid "Two platforms using |CL-ATTR| release `13330`_ or higher." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:29 +msgid "Both images must include the :file:`kernel-native bundle`." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:30 +msgid "Install the :file:`network-basic-dev` bundle with the command:" +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:36 +msgid "Each platform must have at least one :abbr:`NIC (Network Interface Card)`. Check the `DPDK project`_ for the list of supported `dpdk.org NICs`_." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:39 +msgid "Two network cables." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:42 +msgid "Install dpdk and build l3fwd example (Platform B)" +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:44 +msgid "Change to the :file:`l3fwd` example directory." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:50 +msgid "Assign :envvar:`RTE_SDK` variable to the makefiles path." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:56 +msgid "Assign :envvar:`RTE_TARGET` variable to the location of the gcc\\* config file." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:63 +msgid "Build the `l3fwd` application and add the configuration header to the :makevar:`CFLAGS` variable." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:72 +msgid "Build pktgen (Platform A)" +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:74 +msgid "Download the `pktgen tar package`_ v3.1.2 or newer." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:76 +msgid "Decompress packages and move to uncompressed source directory." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:78 +msgid "Assign :envvar:`RTE_SDK` variable to the path where makefiles are located." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:84 +msgid "Assign :envvar:`RTE_TARGET` to the location of the gcc config file." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:90 +msgid "Build the `pktgen` project and set the :makevar:`CONFIG_RTE_BUILD_SHARED_LIB` variable to \"n\"." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:98 +msgid "Bind NICs to DPDK kernel drivers (Platforms A and B)" +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:100 +msgid "The `l3fwd` application uses two NICs. The DPDK includes tools for binding NICs to DPDK modules to run DPDK applications." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:103 +msgid "Load the DPDK I/O kernel module." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:109 +msgid "Check the NIC status to determine which network cards are not busy. When another application is using them, the status shows `Active`, and those NICs cannot be bound." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:117 +msgid "Bind two available NICs. The general syntax for binding is: :command:`dpdk-devbind --bind=vfio-pci `. A working example is shown below:" +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:125 +msgid "Check the NIC status to verify that the NICs are bound correctly. If successful, `drv` displays the value `igb_uio`, which confirms that the NICs are using the DPDK modules." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:131 +msgid "Set hugepages (Platforms A and B)" +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:133 +msgid "|CL| supports `hugepages` for the large memory pool allocation used for packet buffers." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:136 +msgid "Set the number of hugepages." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:142 +msgid "Allocate pages on NUMA machines." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:149 +msgid "Make memory available for DPDK." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:155 +msgid "For more information, refer to the `DPDK guide`_ System Requirements section." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:160 +msgid "Set up the physical environment (Platforms A and B)" +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:162 +msgid "Connect the NICs on Platform A to the NICs on Platform B using the network cables as shown in :ref:`Figure 2`." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:169 +msgid "Figure 2: Physical network environment" +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:173 +msgid "Run l3fwd application (Platform B)" +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:175 +msgid "The `l3fwd` application is one of the DPDK examples available when you install the :file:`dpdk-dev` bundle. `l3fwd` forwards packets from one NIC to another. For details, refer to the `l3fwd documentation`_." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:179 +msgid "Open the l3fwd example directory." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:185 +msgid "**This step is very important.**" +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:187 +msgid "DPDK needs poll mode drivers to operate." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:188 +msgid "Poll mode drivers are shared objects in :file:`/usr/lib64`." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:189 +msgid "See the full list of supported NICs at `dpdk.org NICs`_." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:190 +msgid "You must know which kernel module each NIC is using and choose a poll mode driver that corresponds to your NICs." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:193 +msgid "NIC binding and `pktgen` configuration depends upon network use cases and available system resources. Use the :command:`-d` flag to set the poll mode driver." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:197 +msgid "The following example assumes that the NICs use the `e1000` network driver and the `e1000` poll mode driver. The :file:`librte_pmd_e1000.so` is located in :file:`/usr/lib64` in |CL|." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:205 +msgid "The `l3fwd` application shows port initialization details at startup. After port 0 initialization completes, `l3fwd` shows a MAC address and information for port 1." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:209 +msgid "Save the MAC address for configuring the `pktgen` project." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:212 +msgid "Run pktgen application (Platform A)" +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:214 +msgid "`pktgen` is a network traffic generator included in the DPDK." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:216 +msgid "`pktgen` configuration depends upon the network setup and the available system resources. The following example shows a basic configuration." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:224 +msgid "Enable active colorful output (optional)." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:230 +msgid "Use the MAC addresses shown by the `l3fwd` application during initialization. The command to set the MAC addresses in `pktgen` has the format:" +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:237 +#: ../../../source/guides/network/dpdk.rst:296 +#: ../../../source/guides/network/dpdk.rst:314 +msgid "Here is a working example:" +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:244 +msgid "Send packets." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:250 +msgid "For more details, see the `pktgen documentation`_." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:253 +msgid "Appendix A: Use pass-through for virtual machines" +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:255 +msgid "This section explains how to set up a virtual environment where virtual machines control the NICs on the host." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:258 +msgid "Create a new directory and move to it." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:260 +msgid "Download or create a :file:`start_qemu.sh` script for running a kvm virtual machine:" +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:267 +msgid "Download a bare-metal image of |CL| and rename it as :file:`clear.img`." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:269 +msgid "Look for an Ethernet\\* device entry that contains vendor and device ID:" +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:275 +msgid "An example output:" +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:281 +msgid "where `03:00.0` is the device entry and `8086:1521` is the `vendor:device ID`. Record this information, because you need it to unbind the NICs from a host." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:286 +msgid "Unbind the NICs from the host to do pass-through with virtual machines. |CL| supports this action. The commands take the format:" +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:305 +msgid "Assign the unbound NICs to the KVM virtual machine (guest). Modify the :file:`start_qemu.sh` script in `qemu-system-x86_64` arguments, and add the lines with the host's NICs information in the format:" +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:321 +msgid "Add more NUMA machines to the virtual machine by adding lines to the Makefile boot target in the format:" +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:328 +msgid "Here is a working example for a virtual machine with 4096 memory and four CPUs:" +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:336 +msgid "Each NUMA machine must use the same quantity of memory." +msgstr "" + +#: ../../../source/guides/network/dpdk.rst:338 +msgid "Run the :file:`start_qemu.sh` script." +msgstr "" + diff --git a/localization/pot/locale/guides/network/ipxe-install.pot b/localization/pot/locale/guides/network/ipxe-install.pot new file mode 100644 index 00000000..9e1299e9 --- /dev/null +++ b/localization/pot/locale/guides/network/ipxe-install.pot @@ -0,0 +1,226 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/guides/network/ipxe-install.rst:4 +msgid "Install |CL-ATTR| over the network with iPXE" +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:6 +msgid "This guide describes how to install |CL-ATTR| using :abbr:`PXE (Pre-boot Execution Environment)`." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:9 +msgid "PXE is an industry standard that describes client-server interaction with network-boot software and uses the DHCP and TFTP protocols. This guide shows one method of using the PXE environment to install |CL|." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:13 +msgid "The PXE extension called `iPXE`_ adds support for additional protocols such as HTTP, :abbr:`iSCSI (Internet Small Computer Systems Interface)`, :abbr:`AoE (ATA over Ethernet\\*)`, and :abbr:`FCoE (Fiber Channel over Ethernet\\*)`. iPXE enables network booting on computers with no built-in PXE support." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:18 +msgid "To install |CL| through iPXE, you must create a PXE client. Figure 1 depicts the flow of information between a PXE server and a PXE client." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:24 +msgid "Figure 1: PXE information flow." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:28 +msgid "The |CL| image that boots through the PXE process automatically erases all data and partitions on the PXE client system and creates 3 new partitions to install onto." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:33 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:35 +msgid "Before booting with iPXE, make the following preparations." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:37 +msgid "Connect the PXE server and PXE clients to a switch on a private network, as shown in Figure 2." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:43 +msgid "Figure 2: Network topology." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:45 +msgid "Your PXE client must have a boot order where the network boot option is prioritized before the disk boot option." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:48 +msgid "Your PXE server must have:" +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:50 +msgid "Ethernet/LAN boot option." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:51 +msgid "At least two network adapters." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:52 +msgid "Connection to a public network." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:53 +msgid "Secure boot option disabled." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:57 +msgid "You must disable the secure boot option in the BIOS because the UEFI binaries used to boot |CL| are not signed." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:62 +msgid "Configuration" +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:64 +msgid "To set up |CL| using iPXE automatically, use the :file:`configure-ipxe.sh` script included with :abbr:`ICIS (Ister Cloud Init Service)`. For additional instructions on the script, refer to the guide on the `ICIS GitHub repository`_." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:68 +msgid "To set up |CL| manually, perform the steps below." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:70 +msgid "Define the variables used for iPXE boot configuration." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:86 +msgid "Log in and get root privilege." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:92 +msgid "Add the `pxe-server` bundle to your |CL| system. The bundle contains all files needed to run a PXE server." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:99 +msgid "Download the latest network-bootable release of |CL| and extract the files." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:113 +msgid "Ensure that the initial ramdisk file is named :file:`initrd` and the kernel file is named :file:`linux`, which is a symbolic link to the actual kernel file." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:117 +msgid "Create an iPXE boot script with the following contents. During an iPXE boot, the iPXE boot script directs the PXE client to download the files to boot and install |CL|. Use the names previously given to the initial ramdisk and kernel files." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:133 +msgid "The `pxe-server` bundle contains a lightweight web-server known as `nginx`. Create a configuration file for `nginx` to serve |CL| to PXE clients with the following contents:" +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:155 +msgid "Create a separate `nginx` configuration file to serve network-bootable images on a non-standard port number. This action saves existing `nginx` configurations." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:159 +msgid "Start `nginx` and enable the startup on boot option." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:166 +msgid "The `pxe-server` bundle contains a lightweight DNS server which conflicts with the DNS stub listener provided in `systemd-resolved`. Disable the DNS stub listener and temporarily stop `systemd-resolved`." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:180 +msgid "Assign a static IP address to the network adapter for the private network and restart `systemd-networkd` with the following commands:" +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:196 +msgid "Configure :abbr:`NAT (Network Address Translation)` to route traffic from the private network to the public network. This action makes the PXE server act as a router. To make these changes persistent during reboots, save the changes to the firewall with the following commands:" +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:212 +msgid "The firewall masks packets to make them appear as coming from the PXE server and hides PXE clients from the public network." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:215 +msgid "Configure the kernel to forward network packets to different interfaces. Otherwise, NAT will not work." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:224 +msgid "The `pxe-server` bundle contains iPXE firmware images that allow computers without an iPXE implementation to perform an iPXE boot. Create a TFTP hosting directory and populate the directory with the iPXE firmware images with the following commands:" +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:234 +msgid "The `pxe-server` bundle contains a lightweight TFTP, DNS, and DHCP server known as `dnsmasq`. Create a configuration file for `dnsmasq` to listen on a dedicated IP address for those functions. PXE clients on the private network will use this IP address." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:245 +msgid "Add the options to serve iPXE firmware images to PXE clients over TFTP to the `dnsmasq` configuration file." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:255 +msgid "Add the options to host a DHCP server for PXE clients to the `dnsmasq` configuration file." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:277 +msgid "The configuration provides the following important functions:" +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:279 +msgid "Directs PXE clients without an iPXE implementation to the TFTP server to acquire architecture-specific iPXE firmware images that allow them to perform an iPXE boot." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:282 +msgid "Activates only on the network adapter that has an IP address on the defined subnet." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:284 +msgid "Directs PXE clients to the DNS server." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:285 +msgid "Directs PXE clients to the PXE server for routing via NAT." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:286 +msgid "Divides the private network into two pools of IP addresses. One pool is for network boot and one pool is used after boot. Each pool has their own lease times." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:290 +msgid "Create a file for `dnsmasq` to record the IP addresses it provides to PXE clients." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:298 +msgid "Start `dnsmasq` and enable startup on boot." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:305 +msgid "Start `systemd-resolved`." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:313 +msgid "`systemd-resolved` dynamically updates the list of DNS servers for the private network if you use the `dnsmasq` DNS server. The setup creates a pass-through DNS server that relies on the DNS servers listed in :file:`/etc/resolv.conf`." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:318 +msgid "Power on the PXE client and watch the client boot and install |CL|." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:320 +msgid "After booting, |CL| automatically partitions the hard drive, installs itself, updates to the latest version, and reboots." +msgstr "" + +#: ../../../source/guides/network/ipxe-install.rst:324 +msgid "**Congratulations!** You have successfully installed and configured a PXE server that enables PXE clients to boot and install |CL| over the network." +msgstr "" + diff --git a/localization/pot/locale/guides/network/network-bonding.pot b/localization/pot/locale/guides/network/network-bonding.pot new file mode 100644 index 00000000..357535d3 --- /dev/null +++ b/localization/pot/locale/guides/network/network-bonding.pot @@ -0,0 +1,114 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/guides/network/network-bonding.rst:4 +msgid "Combine multiple interfaces with network bonding" +msgstr "" + +#: ../../../source/guides/network/network-bonding.rst:6 +msgid "Network bonding combines multiple network interfaces into a single logical interface to provide redundancy and bandwidth aggregation." +msgstr "" + +#: ../../../source/guides/network/network-bonding.rst:9 +msgid "|CL-ATTR| includes Linux bonding_ and team_ drivers. This guide describes how to configure systemd to use the `bonding` driver." +msgstr "" + +#: ../../../source/guides/network/network-bonding.rst:12 +msgid "The example demonstrates how to:" +msgstr "" + +#: ../../../source/guides/network/network-bonding.rst:14 +msgid "Bond all four ports of a quad-port NIC in `802.3ad` mode." +msgstr "" + +#: ../../../source/guides/network/network-bonding.rst:16 +msgid "Enable jumbo frames to optimize large data transfers on the local network." +msgstr "" + +#: ../../../source/guides/network/network-bonding.rst:18 +msgid "Your NICs and network switch must support `802.3ad` mode and jumbo frames. The example explains how to configure your NICs for both features. Your switch may require additional configuration. See your switch documentation for details." +msgstr "" + +#: ../../../source/guides/network/network-bonding.rst:24 +msgid "You must run all commands in this guide as root." +msgstr "" + +#: ../../../source/guides/network/network-bonding.rst:26 +msgid "Log in and get root privileges." +msgstr "" + +#: ../../../source/guides/network/network-bonding.rst:32 +msgid "Create the :file:`/etc/systemd/network` directory." +msgstr "" + +#: ../../../source/guides/network/network-bonding.rst:38 +msgid "The :file:`/etc/systemd/network` directory contains configuration files and network settings for the virtual device and its underlying physical interfaces." +msgstr "" + +#: ../../../source/guides/network/network-bonding.rst:42 +msgid "Configure systemd to create a virtual network device called `bond1`. Use a text editor to create a file named :file:`30-bond1.netdev`." +msgstr "" + +#: ../../../source/guides/network/network-bonding.rst:57 +msgid "Refer to the systemd.netdev_ manpage for :file:`30-bond1.netdev` file syntax. This example is based on Example 9 on the manpage. Modify the example for your configuration." +msgstr "" + +#: ../../../source/guides/network/network-bonding.rst:61 +msgid "Configure the slave interfaces. Create a text file named :file:`30-bond1-enp1s0.network`. Assign the slave interfaces to the virtual `bond1` device and use the syntax shown in systemd.network_." +msgstr "" + +#: ../../../source/guides/network/network-bonding.rst:76 +msgid "The example bonds all four ports of a quad-port NIC as a slave of `bond1`. The example uses a wildcard match because the NIC names are in the range `enp1s0f0-enp1s0f3`. If your NIC names are not wildcard-compatible, create a separate :file:`.network` file for each NIC." +msgstr "" + +#: ../../../source/guides/network/network-bonding.rst:81 +msgid "For best results, do not assign addresses or DHCP support to the individual NICs." +msgstr "" + +#: ../../../source/guides/network/network-bonding.rst:84 +msgid "The `MTUBytes` setting enables jumbo frames of up to 9000 bytes. Your switch may require additional configuration to support this setting." +msgstr "" + +#: ../../../source/guides/network/network-bonding.rst:87 +msgid "Configure the bonded interface in a file named :file:`30-bond1.network`." +msgstr "" + +#: ../../../source/guides/network/network-bonding.rst:101 +msgid "`bond1` is a virtual interface with no physical link status." +msgstr "" + +#: ../../../source/guides/network/network-bonding.rst:103 +msgid "`BindCarrier` indicates that the `bond1` link status is determined by the status of the listed slave devices." +msgstr "" + +#: ../../../source/guides/network/network-bonding.rst:106 +msgid "`Address` contains an IP address that you assign to the logical interface. DHCP bonded interfaces are complex and outside the scope of this example." +msgstr "" + +#: ../../../source/guides/network/network-bonding.rst:109 +msgid "`MTUBytes` must be set to 9000 on all slave interfaces and on the bonded interface for successful jumbo frames operation. If `MTUBytes` is not the same on all interfaces, then the lowest value is used." +msgstr "" + +#: ../../../source/guides/network/network-bonding.rst:113 +msgid "Apply the new network configuration with the command:" +msgstr "" + +#: ../../../source/guides/network/network-bonding.rst:119 +msgid "The `MTUBytes` settings do not take effect until you reboot or manually apply the settings with a utility such as `ifconfig`." +msgstr "" + diff --git a/localization/pot/locale/guides/network/vnc.pot b/localization/pot/locale/guides/network/vnc.pot new file mode 100644 index 00000000..5383982f --- /dev/null +++ b/localization/pot/locale/guides/network/vnc.pot @@ -0,0 +1,773 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/guides/network/vnc.rst:4 +msgid "Remote-desktop to a |CL-ATTR| host using VNC" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:6 +msgid ":abbr:`VNC (Virtual Network Computing)` is a client-server GUI-based tool that allows you to connect via remote-desktop to your |CL-ATTR| host." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:9 +msgid "This guide shows you how to:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:11 +msgid "Install the VNC server and misc. components on your |CL| host." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:12 +msgid "Configure a VNC-server-start method on your |CL| host." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:13 +msgid "Install a VNC viewer app and an SSH client on your client system." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:14 +msgid "Establish a VNC connection to your |CL| host." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:15 +msgid "Terminate a VNC connection to your |CL| host." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:16 +msgid "Encrypt VNC traffic through an SSH tunnel." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:19 +msgid "Install the VNC server and misc. components on your host" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:21 +msgid "To configure VNC to work on your |CL| host, install these bundles:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:23 +msgid "`desktop-autostart`: Installs :abbr:`GDM (Gnome Desktop Manager)`, sets it to start automatically on boot, and installs TigerVNC Viewer." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:25 +msgid "`vnc-server`: Installs the TigerVNC server." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:27 +msgid "Follow these steps:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:29 +msgid "Log into your |CL| host and get root privileges." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:35 +msgid "Install the |CL| bundles." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:41 +msgid "Reboot your |CL| host." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:44 +msgid "Configure a VNC-server-start method on your host" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:46 +msgid "There are three methods you can use to configure and start the VNC server on your |CL| host:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:49 +msgid "Table 1: VNC-server-start Configuration Methods" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:53 +msgid "Attribute" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:54 +msgid "`Method 1`: Manually start a VNC session" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:55 +msgid "`Method 2`: Automatically start a VNC session via a systemd service script" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:56 +msgid "`Method 3`: Create multi-user logins with authentication through GDM" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:57 +msgid "Description" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:58 +msgid "This is the traditional method where you SSH into the |CL| host, manually start a VNC session to get a display ID, and connect to it by supplying the display ID." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:61 +msgid "The system administrator sets up a systemd service script for you with a pre-assigned display ID. You make a VNC connection and supply your pre-assigned display ID." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:64 +msgid "The system adminstrator configures GDM to accept connection requests. When you make a VNC connection to the |CL| host, you see the GDM login screen and authenticate as if you are local." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:67 +msgid "Who configures VNC settings?" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:68 +#: ../../../source/guides/network/vnc.rst:72 +#: ../../../source/guides/network/vnc.rst:76 +#: ../../../source/guides/network/vnc.rst:77 +msgid "You" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:69 +#: ../../../source/guides/network/vnc.rst:70 +msgid "System adminstrator" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:71 +msgid "Who starts VNC session?" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:73 +#: ../../../source/guides/network/vnc.rst:74 +msgid "Set to start automatically on boot by system administrator" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:75 +msgid "Who ends VNC sesssion?" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:78 +msgid "System administrator can disable VNC service altogether" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:79 +msgid "Requires VNC password to authenticate?" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:80 +#: ../../../source/guides/network/vnc.rst:81 +msgid "Yes" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:82 +msgid "No. Use |CL| account username and password through GDM" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:85 +msgid "Although all three methods can coexist on the same |CL| host, we recommend you pick a method that suits your needs." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:88 +msgid "For simplicity, the rest of this guide refers to these methods as `Method 1`, `Method 2`, and `Method 3`." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:92 +msgid "Method 1: Manually start a VNC session" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:94 +msgid "You (and each user) must perform these steps to initialize your VNC settings." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:96 +msgid "Log in." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:97 +#: ../../../source/guides/network/vnc.rst:557 +msgid "Open a terminal emulator." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:98 +msgid "Start VNC with the :command:`vncserver` command. Since this is your first time starting VNC, it adds default configuration files and asks you to set a VNC password." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:106 +#: ../../../source/guides/network/vnc.rst:431 +msgid "Example output:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:126 +msgid "Upon completion, you can find the default configuration files and the password file hidden in the `.vnc` directory in your home directory." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:129 +msgid "Also, a VNC session starts and shows a unique display ID, which is the number following the hostname and the colon `:`. In the above example, the display ID is 2. In a later step, you will supply the display ID to your VNC viewer app for connection." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:133 +msgid "Kill the active VNC session for the time being with the :command:`vncserver -kill :[display ID]` command. Substitute [display ID] with your active VNC session display ID. For example:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:143 +msgid "If you do not recall the active session display ID, use the :command:`vncserver -list` command to find it." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:146 +msgid "Optional configurations:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:148 +msgid "To customize settings such as screen size, security type, etc., modify the :file:`$HOME/.vnc/config` file." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:150 +msgid "To customize the applications to run at startup, modify the :file:`$HOME/.vnc/xstartup` file." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:154 +msgid "Method 2: Automatically start a VNC session via a systemd service script" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:156 +msgid "To configure VNC for this method, you must have root privileges. You will set up a systemd service file for all intended VNC users with their own preassigned unique display ID." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:160 +#: ../../../source/guides/network/vnc.rst:244 +msgid "Log in and get root privileges." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:166 +msgid "Make sure the user accounts already exist. Use the following command to list all users." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:174 +#: ../../../source/guides/network/vnc.rst:250 +msgid "Create the path :file:`/etc/systemd/system`." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:180 +msgid "Create a systemd service script file :file:`vncserver@:[X].service`, where [X] is the display ID, for each user in :file:`/etc/systemd/system` Each user must be assigned a unique display ID. Be sure the correct username is entered in the `User` field. The example below shows user `vnc-user-b` who is assigned the display ID `5`." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:208 +msgid "Have each user log into their account and set a VNC password with the :command:`vncpasswd` command before proceeding to the next step." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:211 +msgid "Start the VNC service script and set it to start automatically on boot for each user. Replace the [X] with the display ID." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:220 +msgid "After starting the services, verify they are running." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:226 +msgid "The example below shows 2 VNC sessions that were successfully started for users `vnc-user-b` with display ID 5 and `vnc-user-c` with display ID 6." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:238 +msgid "Method 3: Multi-user logins with authentication through GDM" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:240 +msgid "For this method, VNC is configured as a systemd service that listens on port 5900 and GDM is configured to accept access requests from VNC. When you make a VNC connection to your |CL| host, you are presented with the GDM login screen and you authenticate as if you are local. You must have root privileges to perform this configuration." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:256 +msgid "Create a systemd socket file :file:`xvnc.socket` and add the following:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:274 +msgid "Create a systemd service file :file:`xvnc@.service` and add the following:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:291 +msgid "Create the path :file:`/etc/gdm`." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:298 +msgid "Create a GDM :file:`custom.conf` file and add the following:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:310 +msgid "Start the VNC socket script and set it to start automatically on boot." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:318 +msgid "After starting the socket, verify it is running." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:324 +msgid "The example below shows the xvnc.socket is running." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:333 +msgid "See the `vncserver` Man page for additional information." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:336 +msgid "Install a VNC viewer app and an SSH client on your client system" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:338 +msgid "You need a VNC viewer app on your client system to connect to your |CL| host. An SSH client is only needed if you chose to use `Method 1` or you plan to encrypt your VNC traffic, which is discussed later in this guide." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:342 +msgid "Perform the steps below to add these apps to your client system." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:345 +msgid "Install a VNC viewer app" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:347 +msgid "On |CL|:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:353 +msgid "On Ubuntu, Mint:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:359 +msgid "On Fedora:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:365 +#: ../../../source/guides/network/vnc.rst:407 +msgid "On Windows:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:367 +msgid "Install `RealVNC for Windows`_" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:369 +msgid "On macOS:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:371 +msgid "Install `RealVNC for macOS`_" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:374 +msgid "Install an SSH client" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:376 +msgid "On most Linux distros (|CL|, Ubuntu, Mint, Fedora, etc.) and macOS, SSH is built-in so you don't need to install it." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:378 +msgid "On Windows, you can install `Putty`_." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:381 +msgid "Establish a VNC connection to your host" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:383 +msgid "Depending on the VNC-server-configuration method chosen, use the appropriate VNC connection:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:385 +msgid "If you chose `Method 1`, you must take a few extra steps by using SSH to connect to your |CL| host and then manually launching VNC." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:388 +msgid "If you chose `Method 2`, get your preassigned VNC display ID from your system administrator first and then proceed to the :ref:`connect-to-vnc-session` section below." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:392 +msgid "If you chose `Method 3`, proceed to the :ref:`connect-to-vnc-session` below." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:397 +msgid "SSH into your host and launch VNC" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:399 +msgid "SSH into your |CL| host" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:401 +msgid "On Linux distros and macOS:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:409 +#: ../../../source/guides/network/vnc.rst:724 +msgid "Launch Putty." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:410 +#: ../../../source/guides/network/vnc.rst:727 +msgid "Under the :guilabel:`Category` section, select :guilabel:`Session`. See Figure 1." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:412 +#: ../../../source/guides/network/vnc.rst:729 +msgid "Enter the IP address of your |CL| host in the :guilabel:`Host Name (or IP address)` field." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:414 +#: ../../../source/guides/network/vnc.rst:731 +msgid "Set the :guilabel:`Connection type` option to :guilabel:`SSH`." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:415 +#: ../../../source/guides/network/vnc.rst:753 +msgid "Click the :guilabel:`Open` button." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:421 +msgid "Figure 1: Putty - configure SSH session settings" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:423 +msgid "Log in with your |CL| username and password. Do not use your VNC password." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:425 +msgid "Start a VNC session." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:442 +msgid "Take note of the generated display ID because you will input it into the VNC viewer app to establish the connection. The above example shows the display ID is 3." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:448 +msgid "VNC automatically picks a unique display ID unless you specify one. To specify a display ID, enter a unique number that is not already in use after the colon. For example:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:456 +msgid "You can now end the SSH connection by logging out. This does not terminate your active VNC session." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:462 +msgid "Connect to your VNC session" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:464 +msgid "For `Method 1` and `Method 2`, you must connect to a specific active session or display ID using one of two options:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:467 +msgid "Use a fully-qualified VNC port number, which consists of the default VNC server port (5900) plus the display ID" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:469 +msgid "Use the display ID" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:471 +msgid "For example, if the display ID is 3, it can be specified as `5903` or just as `3`. For `Method 3`, VNC does not expect a display ID. Use `5900`. For simplicity, the instructions below use the fully-qualified VNC port number." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:475 +#: ../../../source/guides/network/vnc.rst:762 +msgid "**On Linux distros:**" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:477 +msgid "Open a terminal emulator and enter:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:483 +#: ../../../source/guides/network/vnc.rst:512 +msgid "Enter your credentials." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:485 +#: ../../../source/guides/network/vnc.rst:514 +msgid "For `Method 1` and `Method 2`, enter your VNC password. No username is required." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:487 +#: ../../../source/guides/network/vnc.rst:516 +msgid "For `Method 3`, enter your |CL| account username and password through GDM." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:492 +#: ../../../source/guides/network/vnc.rst:521 +msgid "With `Method 3`, you cannot remotely log into your |CL| host through VNC if you are logged in locally and vice versa." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:495 +msgid "**On Windows and macOS using `RealVNC` app:**" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:497 +msgid "Start the RealVNC viewer app. See Figure 2." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:498 +msgid "Enter the IP address of the |CL| host and the fully-qualified VNC port number." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:501 +msgid "The following screenshot shows connecting to |CL| host 192.168.25.54 with a fully-qualified VNC port number 5902." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:508 +msgid "Figure 2: RealVNC Viewer" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:510 +msgid "Press the :kbd:`Enter` key." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:525 +msgid "`Optional: Configure RealVNC Image Quality`" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:527 +msgid "To increase the RealVNC viewer image quality, manually change the `ColorLevel` value. Follow these steps:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:529 +msgid "Right-click a connection node and select :guilabel:`Properties...`. See Figure 3." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:536 +msgid "Figure 3: RealVNC Viewer - change connection node properties" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:538 +msgid "Select the :guilabel:`Expert` tab. See Figure 4." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:540 +msgid "Select the :guilabel:`ColorLevel` setting and change it to your preferred setting." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:547 +msgid "Figure 4: RealVNC Viewer - change :guilabel:`ColorLevel`" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:550 +msgid "Terminate a VNC connection to your host" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:552 +msgid "For `Method 1` and `Method 2`, once started, a VNC session remains active on your |CL| host even if you close your VNC viewer app. If you want to truly terminate an active VNC session, follow these steps:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:556 +msgid "SSH into your |CL| host." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:558 +msgid "Find the active VNC session display ID with the command :command:`vncserver -list`." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:565 +msgid "Terminate it with the :command:`vncserver -kill` command followed by a colon and the display ID." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:572 +msgid "For `Method 3`, only the system administrator can stop and disable the VNC service by using these commands:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:582 +msgid "Encrypt VNC traffic through an SSH tunnel" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:584 +msgid "By default, VNC traffic is not encrypted. Figure 6 shows an example warning from RealVNC Viewer." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:591 +msgid "Figure 6: RealVNC Viewer - Connection not encrypted warning" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:593 +msgid "To add security, VNC traffic can be routed through an SSH tunnel. This is accomplished by following these steps:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:595 +msgid "Configure the VNC server to only accept connection from localhost by adding the `-localhost` option." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:597 +msgid "Set up an SSH tunnel between your client system and your |CL| host. Your client system will forward traffic from the localhost (the client) destined for a specified fully-qualified VNC port number (on the client) to your |CL| host with the same port number." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:601 +msgid "The VNC viewer app on your client system will now connect to localhost, instead of the IP address of your |CL| host." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:605 +msgid "Configure VNC to only accept connection from localhost" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:607 +msgid "For `Method 1`:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:609 +msgid "Edit the :file:`config` file located in :file:`$HOME/.vnc` and uncomment the `# localhost` line. It should look like this:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:625 +msgid "If an active session exists, kill it, and then restart it." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:627 +msgid "For `Method 2`:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:629 +msgid "Edit the systemd service script :file:`vncserver@:[X].service` located in :file:`/etc/systemd/system` and add `-localhost` to the `ExecStart` line. The example below uses vncserver@:5.service:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:651 +msgid "Restart the service script:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:658 +msgid "For `Method 3`:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:660 +msgid "No change is needed to the :file:`xvnc@service` script." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:662 +msgid "After you have restarted your VNC session, you can verify that it only accepts connections from localhost by using the :command:`netstat` command like this:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:672 +msgid "Add the |CL| `network-basic` bundle to get the :command:`netstat` command." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:675 +msgid "Figure 7 shows two VNC sessions (5901 and 5905) accepting connections from any host as specified by the `0.0.0.0`'s. This is before the `-localhost` option was used." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:682 +msgid "Figure 7: VNC sessions (5901 and 5905) accepting connections from any host" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:684 +msgid "Figure 8 shows two VNC sessions (5901 and 5905) only accepting connections from localhost as specified by `127.0.0.1`'s. This is after the `-localhost` option was used." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:690 +msgid "Figure 8: VNC sessions (5901 and 5905) only accepting connections from localhost" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:693 +msgid "Set up an SSH tunnel from your client system to your |CL| host" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:695 +msgid "**On Linux distros and macOS:**" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:697 +#: ../../../source/guides/network/vnc.rst:764 +msgid "Open terminal emulator and enter:" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:704 +#: ../../../source/guides/network/vnc.rst:754 +msgid "Enter your |CL| account password (not your VNC password)." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:708 +msgid "`-L` specifies that [client port number] on the localhost (on the client side) is forwarded to [fully-qualified VNC port number] (on the server side)." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:711 +msgid "Replace `[client port number]` with an available client port number (for example: 1234). For simplicity, you can make the `[client port number]` the same as the `[fully-qualified VNC port number]`." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:714 +msgid "Replace `[fully-qualified VNC port number]` with 5900 (default VNC port) plus the display ID. For example, if the display ID is 2, the fully-qualified VNC port number is is 5902." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:717 +msgid "`-N` tells SSH to only forward ports and not execute a remote command." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:719 +msgid "`-f` tells SSH to go into the background before command execution." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:720 +msgid "`-l` specifies the username to log in as." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:722 +msgid "**On Windows:**" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:725 +msgid "Specify the |CL| VNC host to connect to." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:733 +msgid "Configure the SSH tunnel. See Figure 9 for an example." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:735 +msgid "Under the :guilabel:`Category` section, go to :guilabel:`Connection` > :guilabel:`SSH` > :guilabel:`Tunnels`." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:738 +msgid "In the :guilabel:`Source port` field, enter an available client port number (for example: 1234). For simplicity, you can make the `Source port` the same as the fully-qualified VNC port number." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:742 +msgid "In the :guilabel:`Destination` field, enter `localhost:` plus the fully-qualified VNC port number." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:745 +msgid "Click the :guilabel:`Add` button." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:751 +msgid "Figure 9: Putty - configure SSH tunnel" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:757 +msgid "Connect to a VNC session through an SSH tunnel" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:759 +msgid "After you have set up an SSH tunnel, follow these instructions to connect to your VNC session." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:770 +msgid "**On Windows and macOS using `RealVNC`:**" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:772 +msgid "Start the RealVNC viewer app." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:773 +msgid "Enter `localhost` and the fully-qualified VNC port number. See Figure 10 for an example." +msgstr "" + +#: ../../../source/guides/network/vnc.rst:780 +msgid "Figure 10: RealVNC viewer app connecting to `localhost:1234`" +msgstr "" + +#: ../../../source/guides/network/vnc.rst:784 +msgid "RealVNC will still warn that the connection is not encrypted even though its traffic is going through the SSH tunnel. You can ignore this warning." +msgstr "" + diff --git a/localization/pot/locale/guides/telemetrics/telem-guide.pot b/localization/pot/locale/guides/telemetrics/telem-guide.pot new file mode 100644 index 00000000..c6a06773 --- /dev/null +++ b/localization/pot/locale/guides/telemetrics/telem-guide.pot @@ -0,0 +1,636 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/guides/telemetrics/telem-guide.rst:4 +msgid "Telemetrics" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:6 +msgid "Telemetrics in |CL-ATTR| is a client and server solution used to collect data from running |CL| systems to help quickly identify and fix bugs in the OS. Both client and server are customizable, and an API is available on the client side for instrumenting your code for debug and analysis." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:10 +msgid "Telemetry in |CL| is **opt-in**. The telemetry client is **not** active and sends **no** data until you explicitly enable it." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:14 +msgid "The telemetry functionality adheres to `Intel privacy policies`_ regarding the collection and use of :abbr:`PII (Personally Identifiable Information)` and is open source. Specifically, no intentionally identifiable information about the user or system owner is collected." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:23 +msgid "Description" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:25 +msgid "Telemetry, one of the key features of |CL|, enables developers to observe and proactively address issues in the OS before end users are impacted." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:27 +msgid "Telemetrics is a combination word made from:" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:29 +msgid "Telemetry, which is sensing and reporting data." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:30 +msgid "Analytics, which is using visualization and statistical inferencing to make sense of the reported data." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:32 +msgid "|CL| telemetry reports system-level debug/crash information using specialized probes. The probes monitor system tasks such as swupd, kernel oops, machine error checks, and the BIOS error report table for unhandled hardware failures. Telemetry enables real-time issue reporting to allow system developers to quickly focus on an issue and monitor corrective actions." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:34 +msgid "|CL| telemetry is fully customizable and can be used during software development for debugging purposes. You can use the libtelemetry library in your code to create custom telemetry records. You can also use the telem-record-gen utility in script files for light touch record creation where instrumenting code files doesn't make sense." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:36 +msgid "The |CL| telemetrics solution is an **opt-in** choice on the client side. By default, the telemetry client is disabled until you choose to enable it. Enabling the client is covered in this guide." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:39 +msgid "Architecture" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:41 +msgid "|CL| telemetry has two fundamental components, which are shown in figure 1:" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:43 +msgid "Client: generates and delivers records to the backend server via the network" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:45 +msgid "Backend: receives records sent from the client and displays the cumulative content through a specialized web interface." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:50 +msgid "Figure 1: :guilabel:`|CL| Telemetry Architecture`" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:52 +msgid "The telemetry client provides the front end of the telemetrics solution and includes the following components:" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:54 +msgid "telemprobd, a daemon that receives and prepares telemetry records from probes and spools them to disk." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:55 +msgid "telempostd, a daemon that manages spooled telemetry records and delivers these records according to configurable settings." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:56 +msgid "probes, that collect specific types of data from the operating system." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:57 +msgid "libtelemetry, the API that telemetrics probes use to create records." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:59 +msgid "The telemetry backend provides the server-side component of the telemetrics solution and consists of:" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:61 +msgid "Nginx web server." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:62 +msgid "Two Flask apps: * Collector, an ingestion web app for records received from client probes. * TelemetryUI, a web app that exposes different views to visualize the telemetry data." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:65 +msgid "PostgreSQL as the underlying database server." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:69 +msgid "The default telemetry backend server is hosted by the Intel |CL| development team and is not viewable outside the Intel firewall. To collect your own records, you must set up your own telemetry backend server." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:74 +msgid "How To Use" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:76 +msgid "From a workflow perspective, the |CL| telemetrics system is straightforward. On the client side, the main decisions after installation and enabling telemetry concern what to do with the record data generated by the probes. You can send the data to the default or a custom backend server, keep the data local to the system, or both. The backend server has a more complex setup, but once it's running, it is simple to use and configure." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:78 +msgid "This section walks through some of the possible scenarios for configuring the |CL| telemetrics system, and suggests which make sense according to your needs." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:81 +msgid "Scenarios" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:82 +msgid "Enable telemetry" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:84 +msgid "Before probes can generate records, the telemetry client daemons must be enabled. You can configure the client before enabling by creating a custom :file:`telemetrics.conf` file that you place in the :file:`/etc/telemetrics` directory. If you choose to use the default settings, records will be sent to the telemetrics backend server managed by the |CL| development team at Intel." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:86 +msgid "Save record data locally" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:88 +msgid "You can configure the telemetry client to save records locally. This is convenient when you want instant feedback during a development cycle, or to track system issues if you believe there is a machine specific problem. The client can be set to not send records at all, or to both keep the records locally and send to the backend server." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:90 +msgid "Set up a server to collect data" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:92 +msgid "Whether you are managing a network of |CL| systems or you don't want to send records to the default telemetry server, you can set up a backend server to collect your records. The backend server can be installed on any Linux system and will give you the same dashboard as the default server." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:95 +#: ../../../source/guides/telemetrics/telem-guide.rst:362 +msgid "Instrument your code with the libtelemetry API" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:97 +msgid "The ``telemetrics`` bundle includes the libtelemetry C library, which exposes an API used by the telemprobd and telempostd daemons. You can use these in your applications as well. The API documentation is found in the :file:`telemetry.h` file in `Telemetrics client`_ repository." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:101 +msgid "Examples" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:108 +msgid "Enable or Disable Telemetry" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:110 +msgid "Enabling during installation" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:112 +msgid "During the initial installation of |CL|, you are requested to join the stability enhancement program and allow |CL| to collect anonymous reports to improve system stability. If you choose not to join this program, then the telemetry software bundle is not added to your system. Choosing to join will automatically enable telemetry on your system after installation is commplete." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:114 +msgid "Enabling after install" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:116 +msgid "To start telemetry on your system, run the following command:" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:122 +msgid "This enables and starts the :command:`telemprobd` and :command:`telempostd` daemons. Your system will begin to send telemetry data to the server defined in the file :file:`/etc/telemetrics/telemetrics.conf`. If this file does not exist, the :command:`telemprobd` and :command:`telempostd` daemons will use the file :file:`/usr/share/defaults/telemetrics/telemetrics.conf`." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:124 +msgid "Disabling after install" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:126 +msgid "To disable both of the telemetry daemons, run the following command:" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:132 +msgid "Opt in to telemetry" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:134 +msgid "To opt-in to the telemetry services, simply enter the opt-in command and start the service:" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:140 +msgid "This removes the :file:`/etc/telemetrics/opt-out` file, if it exists, and starts the telemetry services." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:144 +msgid "To opt-in but not immediately start telemetry services, you will need to run the command :command:`sudo telemctl stop` after the :command:`opt-in` command is entered. Once you are ready to start the service, enter the command :command:`sudo telemctl start`." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:146 +msgid "Opt out of telemetry" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:148 +msgid "To stop sending telemetrics data from your system, opt out of the telemetry service:" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:154 +msgid "This creates the file :file:`/etc/telemetrics/opt-out` and stops the telemetry services." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:158 +msgid "Saving Data Locally" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:160 +msgid "This example requires |CL| to be installed, and telemetry to be enabled on the system." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:162 +msgid "To change how records are managed, we will be copying the default :file:`/usr/share/defaults/telemetrics/telemetrics.conf` file to :file:`/etc/telemetrics/telemetrics.conf` and editing it. The changes in the :file:`/etc/telemetrics/telemetrics.conf` file will override the defaults in the :file:`/usr/share/defaults/telemetrics/telemetrics.conf` file. You may need ``root`` permissions to create and edit files in :file:`/etc`. For each example, and for any time you make changes to the configuration file, you will need to restart the client daemons to pick up the changes:" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:169 +msgid "The :command:`telemctl journal` command gives you access to features and options of the telemetry journal to assist with system analytics and debug. :command:`telemctl journal` has a number of options to help filter records. Use :command:`-h` or :command:`--help` to view usage options." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:172 +msgid "Keep local copy and send records to backend server" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:174 +msgid "To keep a local copy of the telemetry record and also send it on to the backend server, we will need to change the :guilabel:`record_retention_enabled` configuration key value to :guilabel:`true`." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:177 +msgid "Keep all records -- don't send to backend server" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:179 +msgid "To keep records on the system without sending them to a backend server, set the :guilabel:`record_server_delivery_enabled` key value to :guilabel:`false`. Note that you will also need to ensure the :guilabel:`record_retention_enabled` configuration key value is set to :guilabel:`true` or the system will not keep local copies." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:181 +msgid "Keep and send records to custom server" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:183 +msgid "This assumes you have set up a custom server according to the next example." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:185 +msgid "The server is identified by the :guilabel:`server` setting, and by default records will be sent to the |CL| server :guilabel:`server=https://clr.telemetry.intel.com/v2/collector`. To change this, you can use an IP address or fully qualified domain name." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:190 +msgid "Set up a backend server to collect telemetry records" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:192 +msgid "For this example, start with a clean installation of |CL| on a new system using the :ref:`bare-metal-install-server` getting started guide and:" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:195 +msgid "Join the :guilabel:`Stability Enhancement Program` to install and enable the telemetrics components." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:197 +msgid "Select the manual installation method with the following settings:" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:199 +msgid "Set the hostname to :guilabel:`clr-telem-server`," +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:200 +msgid "Create an administrative user named :guilabel:`clear` and add this user to sudoers" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:203 +msgid "Log in with your administrative user, from your :file:`$HOME` directory, run :command:`git` to clone the :guilabel:`telemetrics-backend` repository into the :file:`$HOME/telemetrics-backend` directory:" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:211 +msgid "You may need to set up the :envvar:`https_proxy` environment variable if you have issues reaching github.com." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:213 +msgid "Change your current working directory to :file:`telemetrics-backend/scripts`." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:214 +msgid "We will install the telemetrics backend with the :file:`deploy.sh` script file. We will set the following options and leave the remainder as default:" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:216 +msgid "*-a install* to perform an install" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:217 +msgid "*-d clr* to install to a |CL| distro" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:218 +msgid "*-H localhost* to set the domain to localhost" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:221 +msgid "The :file:`deploy.sh` shell script has minimal error checking and makes several changes to your system. Be sure that the options you define on the cmdline are correct before proceeding." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:224 +msgid "Run the shell script from the :file:`$HOME/telemetrics-backend/scripts` directory:" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:232 +msgid "The script will start and list all the defined options and prompt you for the :guilabel:`PostgreSQL` database password" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:245 +msgid "For the :guilabel:`DB password:`, press the :kbd:`Enter` key to accept the default password `postgres`." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:249 +msgid "The :file:`deploy.sh` script uses :command:`sudo` to run commands and you may be prompted to enter your user password at any time while the script is executing. If this occurs, enter your user password to execute the :command:`sudo` command." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:252 +msgid "Once all the server components have been installed you are prompted to enter the :guilabel:`PostgreSQL` database password to change it as illustrated below:" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:261 +msgid "Enter `postgres` for the current value of the password and then enter a new password, retype it to verify the new password and the :guilabel:`PostgreSQL` database password will be updated." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:263 +msgid "Once the installation is complete you can use your web browser to view the new server by opening the browser on the system and typing in ``localhost`` in the address bar. You should see a web page similar to the one shown in figure 1:" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:268 +msgid "Figure 1: :guilabel:`Telemetry UI`" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:273 +msgid "Create records with telem-record-gen" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:275 +msgid "The telemetrics bundle provides a record generator tool called ``telem-record-gen``. This tool can be used to create records from shell scripts or the command line when writing a probe in C is not desirable. Records are sent to the backend server, and can also be echoed to stdout." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:277 +msgid "There are three ways to supply the payload to the record." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:279 +msgid "On the command line, use the :command:`-p ` option:" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:305 +msgid "Specify a file that contains the payload with the option :command:`-P path/to/file`." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:331 +msgid "If the :command:`-p` or :command:`-P` options are absent, the tool reads from stdin so you can use it in a :file:`heredoc` in scripts." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:365 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:366 +msgid "Confirm that the telemetrics header file is located on the system at :file:`usr/include/telemetry.h` The `latest version`_ of the file can also be found on github for reference, but installing the `telemetry` bundle will install the header file that matches your |CL| version." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:368 +msgid "Includes and variables" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:370 +msgid "You will need to include the following headers in your code to use the API:" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:381 +msgid "Use the following code to create the variables we need to hold the data for the record we will be creating:" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:396 +msgid "Severity:" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:0 +#: ../../../source/guides/telemetrics/telem-guide.rst:0 +msgid "Type: uint32_t" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:0 +msgid "Value: Severity field value. Accepted values are in the range 1-4, with 1 being the lowest severity, and 4 being the highest severity. Values provided outside of this range are clamped to 1 or 4. [low, med, high, crit]" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:400 +msgid "Payload_version:" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:0 +msgid "Value: Payload format version. The only supported value right now is 1, which indicates that the payload is a freely-formatted (unstructured) string. Values greater than 1 are reserved for future use." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:404 +msgid "Classification:" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:0 +msgid "Type: char array" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:0 +msgid "Value: It should have the form, DOMAIN/PROBENAME/REST: DOMAIN is the reverse domain to use as a namespace for the probe (e.g. org.clearlinux); PROBENAME is the name of the probe; and REST is an arbitrary value that the probe should use to classify the record. The maximum length for the classification string is 122 bytes. Each sub-category may be no longer than 40 bytes long. Two / delimiters are required." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:408 +msgid "Tm_handle:" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:0 +msgid "Type: Telem_ref struct pointer" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:0 +msgid "Value: Struct pointer declared by the caller, The struct is initialized if the function returns success." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:414 +msgid "Payload:" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:0 +msgid "Type: char pointer" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:0 +msgid "Value: The payload to set" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:416 +msgid "For this example, we'll set the payload to “hello” by using ``asprintf()``" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:426 +msgid "The functions ``asprintf()`` and ``vasprintf()`` are analogs of ``sprintf(3)`` and ``vsprintf(3)``, except that they allocate a string large enough to hold the output including the terminating null byte ('\\0'), and return a pointer to it via the first argument. This pointer should be passed to ``free(3)`` to release the allocated storage when it is no longer needed." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:428 +msgid "Create the new telemetry record" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:430 +msgid "The function ``tm_create_record()`` initializes a telemetry record and sets the severity and classification of that record, as well as the payload version number. The memory needed to store the telemetry record is allocated and should be freed with ``tm_free_record()`` when no longer needed." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:440 +msgid "Set the payload field of a telemetrics record" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:442 +msgid "The function ``tm_set_payload()`` attaches the provided telemetry record data to the telemetry record. The current maximum payload size is 8192b." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:453 +msgid "The ``free()`` function frees the memory space pointed to by ptr, which must have been returned by a previous call to ``malloc()``, ``calloc()``, or ``realloc()``. Otherwise, or if ``free(ptr)`` has already been called before, undefined behavior occurs. If ptr is NULL, no operation is performed." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:455 +msgid "Send a record to the telemetrics daemon" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:457 +msgid "The function ``tm_send_record()`` delivers the record to the local ``telemprobd(1)`` service. Since the telemetry record was allocated by the program it should be freed with ``tm_free_record()`` when it is no longer needed." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:476 +msgid "Full sample application with compiling flags" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:478 +msgid "Create a new file test.c add the following code." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:533 +msgid "Compile with the gcc compiler, using this command:" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:540 +msgid "Test to ensure the program is working:" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:549 +msgid "A full example of the `heartbeat probe`_ in C is documented in the source code." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:552 +msgid "Reference" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:559 +msgid "The Telemetry API" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:561 +msgid "Installing the ``telemetrics`` bundle includes the libtelemetry C library, which exposes an API used by the telemprobd and telempostd daemons. You can use these in your applications as well. The API documentation is found in the :file:`telemetry.h` file in `Telemetrics client`_ repository." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:564 +msgid "Client Configuration" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:566 +msgid "The telemetry client will look for the configuration file located at :file:`/etc/telemetrics/telemetrics.conf` and use it if it exists. If the file does not exist, the client will use the default configuration located at :file:`/usr/share/defaults telemetrics/telemetrics.conf`. To modify or customize the configuration, copy the file from :file:`/usr/share/defaults/telemetrics` to :file:`/etc/telemetrics` and edit it." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:569 +msgid "Configuration Options" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:570 +msgid "The client uses the following configuration options from the config file:" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:572 +msgid "**server**: This specifies the web server to which telempostd sends the telemetry records." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:573 +msgid "**socket_path**: This specifies the path of the unix domain socket that the telemprobd listens on for connections from the probes." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:574 +msgid "**spool_dir**: This configuration option is related to spooling. If the daemon is not able to send the telemetry records to the backend server due to reasons such as the network availability, then it stores the records in a spool directory. This option specifies that path of the spool directory. This directory should be owned by the same user as the daemon." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:575 +msgid "**record_expiry**: This is the time in minutes after which the records in the spool directory are deleted by the daemon." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:576 +msgid "**spool_process_time**: This specifies the time interval in seconds that the daemon waits for before checking the spool directory for records. The daemon picks up the records in the order of modification date and tries to send the record to the server. It sends a maximum of 10 records at a time. If it was able to send a record successfully, it deletes the record from the spool. If the daemon finds a record older than the \"record_expiry\" time, then it deletes that record. The daemon looks at a maximum of 20 records in a single spool run loop." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:577 +msgid "**rate_limit_enabled**: This determines whether rate-limiting is enabled or disabled. When enabled, there is a threshold on both records sent within a window of time, and record bytes sent within a window a time." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:578 +msgid "**record_burst_limit**: This is the maximum amount of records allowed to be passed by the daemon within the record_window_length of time. If set to -1, the rate-limiting for record bursts is disabled." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:579 +msgid "**record_window_length**: The time in minutes (0-59) that establishes the window length for the record_burst_limit. EX: if record_burst_window=1000 and record_window_length=15, then no more than 1000 records can be passed within any given fifteen minute window." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:580 +msgid "**byte_burst_limit**: This is the maximum amount of bytes that can be passed by the daemon within the byte_window_length of time. If set to -1, the rate-limiting for byte bursts is disabled." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:582 +msgid "**byte_window_length**: This is the time, in minutes (0-59), that establishes the window length for the byte_burst_limit." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:583 +msgid "**rate_limit_strategy**: This is the strategy chosen once the rate-limiting threshold has been reached. Currently the options are 'drop' or 'spool', with spool being the default. If spool is chosen, records will be spooled and sent at a later time." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:584 +msgid "**record_retention_enabled**: When this key is enabled (true) the daemon saves a copy of the payload on disk from all valid records. To avoid the excessive use of disk space only the latest 100 records are kept. The default value for this configuration key is false." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:585 +msgid "**record_server_delivery_enabled**: This key controls the delivery of records to server; when enabled (default value), the record will be posted to the address in the configuration file. If this configuration key is disabled (false), records will not be spooled or posted to backend. This configuration key can be used in combination with record_retention_enabled to keep copies of telemetry records locally only." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:589 +msgid "Configuration options may change as the telemetry client evolves. Please use the comments in the file itself as the most accurate reference for configuration." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:595 +msgid "Client Run-time Options" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:596 +msgid "The |CL| telemetry client provides an admin tool called :guilabel:`telemctl` for managing the telemetry services and probes. The tool is located in :file:`/usr/bin`. Running it with no argument results in the following:" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:615 +msgid "start/stop/restart" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:617 +msgid "The commands to start, stop and restart the telemetry services manage all required services and probes on the system. There is no need to separately start/stop/restart the two client daemons **telemprobd** and **telempostd**. The **restart** command option will call **telemctl stop** followed by **telemctl start** ." +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:620 +msgid "is-active" +msgstr "" + +#: ../../../source/guides/telemetrics/telem-guide.rst:622 +msgid "The `is-active` option reports whether the two client daemons are active. This is useful to verify that the **opt-in** and **opt-out** options have taken effect, or to ensure that telemetry is functioning on the system. Note that both daemons are verified." +msgstr "" + diff --git a/localization/pot/locale/index.pot b/localization/pot/locale/index.pot new file mode 100644 index 00000000..25370c93 --- /dev/null +++ b/localization/pot/locale/index.pot @@ -0,0 +1,78 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/index.rst:4 +msgid "|CL-PRJ|" +msgstr "" + +#: ../../../source/index.rst:6 +msgid "Welcome to the |CL-ATTR| documentation pages, the source for |CL| documentation." +msgstr "" + +#: ../../../source/index.rst:12 +msgid "Our documentation is divided into the following sections:" +msgstr "" + +#: ../../../source/index.rst:15 +msgid ":ref:`get-started`" +msgstr "" + +#: ../../../source/includes/get-started.txt:1 +msgid "If you are new to |CL|, get started fast with tutorials for installing |CL| on bare metal, in a virtual environment, or as a live image on a USB stick." +msgstr "" + +#: ../../../source/index.rst:19 +msgid ":ref:`tooling`" +msgstr "" + +#: ../../../source/index.rst:18 +msgid "Clear Linux is a little different from other distros. Here are some important tools and concept for managing your install." +msgstr "" + +#: ../../../source/index.rst:24 +msgid ":ref:`guides`" +msgstr "" + +#: ../../../source/index.rst:22 +msgid "Guides show how to complete common tasks that help you leverage |CL| native features effectively. From basic system configuration to advanced management of a cloud installation, there is a guide for you." +msgstr "" + +#: ../../../source/index.rst:28 +msgid ":ref:`tutorials`" +msgstr "" + +#: ../../../source/index.rst:27 +msgid "|CL| tutorials provide step-by-step instructions on how |CL| features can be used and extended, frequently with third-party tools." +msgstr "" + +#: ../../../source/index.rst:32 +msgid ":ref:`reference`" +msgstr "" + +#: ../../../source/index.rst:31 +msgid "Find the detailed information you need to enable your configuration or task in our |CL| reference section." +msgstr "" + +#: ../../../source/index.rst:35 +msgid ":ref:`faq`" +msgstr "" + +#: ../../../source/index.rst:35 +msgid "Refer to our FAQ section to read commonly asked questions and answers." +msgstr "" + diff --git a/localization/pot/locale/reference/bundle-commands.pot b/localization/pot/locale/reference/bundle-commands.pot new file mode 100644 index 00000000..ce06cc5f --- /dev/null +++ b/localization/pot/locale/reference/bundle-commands.pot @@ -0,0 +1,54 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/reference/bundle-commands.rst:4 +msgid "Useful bundle commands" +msgstr "" + +#: ../../../source/reference/bundle-commands.rst:6 +msgid "To see a list of currently installed bundles, enter:" +msgstr "" + +#: ../../../source/reference/bundle-commands.rst:12 +msgid "To see the list of all available bundles, enter:" +msgstr "" + +#: ../../../source/reference/bundle-commands.rst:18 +msgid "Alternatively, you can view our :ref:`available bundles ` webpage." +msgstr "" + +#: ../../../source/reference/bundle-commands.rst:21 +msgid "To search for bundles and their contents, enter:" +msgstr "" + +#: ../../../source/reference/bundle-commands.rst:27 +msgid "To add a bundle, enter:" +msgstr "" + +#: ../../../source/reference/bundle-commands.rst:34 +msgid "Additional information" +msgstr "" + +#: ../../../source/reference/bundle-commands.rst:36 +msgid "For additional :command:`swupd` commands, enter:" +msgstr "" + +#: ../../../source/reference/bundle-commands.rst:42 +msgid "To reference the :command:`swupd` man page, enter:" +msgstr "" + diff --git a/localization/pot/locale/reference/bundles/bundles.pot b/localization/pot/locale/reference/bundles/bundles.pot new file mode 100644 index 00000000..a327bad4 --- /dev/null +++ b/localization/pot/locale/reference/bundles/bundles.pot @@ -0,0 +1,34 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/reference/bundles/bundles.rst:4 +msgid "Available bundles" +msgstr "" + +#: ../../../source/reference/bundles/bundles.rst:6 +msgid "This document provides a current list of available bundles. View the `clr-bundles repo`_ on GitHub\\*, or select the bundle :file:`Name` for more details." +msgstr "" + +#: ../../../source/reference/bundles/bundles.rst:9 +msgid "To learn more about how |CL-ATTR| uses bundles for software deployment, visit :ref:`bundles-about`." +msgstr "" + +#: ../../../source/reference/bundles/bundles.rst:13 +msgid "Bundle list" +msgstr "" + diff --git a/localization/pot/locale/reference/bundles/openssh-server.pot b/localization/pot/locale/reference/bundles/openssh-server.pot new file mode 100644 index 00000000..e1b785e9 --- /dev/null +++ b/localization/pot/locale/reference/bundles/openssh-server.pot @@ -0,0 +1,152 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/reference/bundles/openssh-server.rst:4 +msgid "openssh-server" +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:6 +msgid "The **openssh-server** bundle provides the OpenSSH\\* package needed to enable an SSH service in |CL-ATTR|. Remote users require an SSH service to be able to use an encrypted login shell." +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:10 +msgid "|CL| enables the `sshd.socket` unit, which will listen on port 22 by default and start the OpenSSH service as required. The first time OpenSSH starts, it generates the server SSH keys needed for the service." +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:15 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:17 +msgid "Assure the bundle :file:`openssh-server` is installed." +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:19 +msgid "To check it it's on your host, enter:" +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:25 +msgid "To add it, enter:" +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:32 +msgid "Change default port" +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:34 +msgid "Perform the following steps to change the default listening port for the OpenSSH service:" +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:37 +msgid "Open the sshd.socket file:" +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:43 +msgid "Add the `[Socket]` section and `ListenStream` option to the sshd.socket file as shown below. The first `ListenStream` entry removes the |CL| default listen port value. The second `ListenStream` entry sets the new default listen port value. In this example, we set the new default port to 4200:" +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:56 +msgid "Make sure to include a new line after the last line of text in the sshd.socket file." +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:58 +msgid "Verify your changes:" +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:64 +msgid "You should see the following output:" +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:72 +msgid "Reload the systemd daemon configurations:" +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:78 +msgid "Restart the sshd.socket unit:" +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:84 +msgid "Confirm the the sshd.socket unit is listening on your new port:" +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:92 +msgid "Output should show :guilabel:`Active:` as `active(listening)`." +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:95 +msgid "Enable SFTP" +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:97 +msgid "|CL| *disables* the :abbr:`SFTP (SSH File Transfer Protocol)` subsystem by default due to security considerations. To enable the SFTP subsystem, perform the following configuration of the :abbr:`SSHD (SSH Daemon)` service file:" +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:101 +msgid "Create a systemd drop-in directory for the SSHD service:" +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:107 +msgid "Create the following file: :file:`/etc/systemd/system/sshd@.service.d/sftp.conf`" +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:110 +msgid "Add the OPTIONS environment variable to the sftp.conf file." +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:117 +msgid "Reload systemd configuration:" +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:123 +msgid "Congratulations! The SFTP subsystem is enabled." +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:126 +msgid "Enable root login" +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:128 +msgid "To enable root login via SSH, perform the following steps:" +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:130 +#: ../../../source/reference/bundles/openssh-server.rst:153 +msgid "Create a *ssh* directory in :file:`/etc`, if it does not already exist." +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:136 +#: ../../../source/reference/bundles/openssh-server.rst:159 +msgid "Create the following file, if it does not already exist: :file:`/etc/ssh/sshd_config`" +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:139 +msgid "Set the configuration variable in /etc/ssh/sshd_config" +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:146 +msgid "Enable X11-forwarding" +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:148 +msgid "X11 forwarding allows you to securely run graphical applications (i.e., X clients) over the ssh conection. This will alow for remote gui apps without the need for full VNC/remotedesktop. To enable X11-forwarding via SSH, perform the following steps:" +msgstr "" + +#: ../../../source/reference/bundles/openssh-server.rst:162 +msgid "Set the configuration variables." +msgstr "" + diff --git a/localization/pot/locale/reference/collaboration/collaboration.pot b/localization/pot/locale/reference/collaboration/collaboration.pot new file mode 100644 index 00000000..1b81fa35 --- /dev/null +++ b/localization/pot/locale/reference/collaboration/collaboration.pot @@ -0,0 +1,130 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/reference/collaboration/collaboration.rst:4 +msgid "Documentation guidelines" +msgstr "" + +#: ../../../source/reference/collaboration/collaboration.rst:6 +msgid "See a missing topic in the documentation? Find an existing document that could be improved? Help us out by contributing! If you haven't contributed before, take a moment to review our `Contribution guidelines`_." +msgstr "" + +#: ../../../source/reference/collaboration/collaboration.rst:10 +msgid "Do you have questions about the documentation that were not answered by these guidelines? Send your question to the `mailing list`_." +msgstr "" + +#: ../../../source/reference/collaboration/collaboration.rst:14 +msgid "Contribution guidelines" +msgstr "" + +#: ../../../source/reference/collaboration/collaboration.rst:16 +msgid "The |CL| documentation is hosted in GitHub and is written using reStructuredText. Use our guidelines and best practices to write consistent, readable documentation." +msgstr "" + +#: ../../../source/reference/collaboration/collaboration.rst:27 +msgid "How to contribute" +msgstr "" + +#: ../../../source/reference/collaboration/collaboration.rst:29 +msgid "There are multiple ways to contribute and help improve our documentation:" +msgstr "" + +#: ../../../source/reference/collaboration/collaboration.rst:31 +msgid "**Make a suggestion**: Have a documentation suggestion but no time to write it yourself? Send your suggestion to the `mailing list`_." +msgstr "" + +#: ../../../source/reference/collaboration/collaboration.rst:33 +msgid "**Log an issue**: If you find a problem in our documentation (such as typos or out-of-date information), log an issue in the `documentation repository`_." +msgstr "" + +#: ../../../source/reference/collaboration/collaboration.rst:35 +msgid "**Contribute directly via GitHub**: Whether you've found a typo, have better instructions or examples, or have a new page to add, submit your improvement or addition as a pull request on the `documentation repository`_." +msgstr "" + +#: ../../../source/reference/collaboration/collaboration.rst:38 +msgid "**Test documentation**: Step through our instructional guides and tutorials to verify the instructions. Log or correct any out-of-date information." +msgstr "" + +#: ../../../source/reference/collaboration/collaboration.rst:41 +msgid "All contributions must follow our `code of conduct`_." +msgstr "" + +#: ../../../source/reference/collaboration/collaboration.rst:44 +msgid "Contribute via GitHub" +msgstr "" + +#: ../../../source/reference/collaboration/collaboration.rst:46 +msgid "Our documentation is hosted in GitHub and we follow the standard `GitHub flow`_:" +msgstr "" + +#: ../../../source/reference/collaboration/collaboration.rst:48 +msgid "Clone the `documentation repository`_." +msgstr "" + +#: ../../../source/reference/collaboration/collaboration.rst:50 +msgid "Create your own fork of the repository." +msgstr "" + +#: ../../../source/reference/collaboration/collaboration.rst:52 +msgid "Create a branch for your contribution." +msgstr "" + +#: ../../../source/reference/collaboration/collaboration.rst:54 +msgid "Add your commits." +msgstr "" + +#: ../../../source/reference/collaboration/collaboration.rst:56 +msgid "Open a pull request." +msgstr "" + +#: ../../../source/reference/collaboration/collaboration.rst:58 +msgid "Discuss, review, and update your contributions." +msgstr "" + +#: ../../../source/reference/collaboration/collaboration.rst:60 +msgid "Once the maintainer approves, your contribution is merged and published as part of the documentation." +msgstr "" + +#: ../../../source/reference/collaboration/collaboration.rst:66 +msgid "References" +msgstr "" + +#: ../../../source/reference/collaboration/collaboration.rst:68 +msgid "We use the following references to guide the grammar, style, and formatting of our documentation:" +msgstr "" + +#: ../../../source/reference/collaboration/collaboration.rst:71 +msgid "`Microsoft Writing Style Guide`_" +msgstr "" + +#: ../../../source/reference/collaboration/collaboration.rst:72 +msgid "`Merriam-Webster Dictionary`_" +msgstr "" + +#: ../../../source/reference/collaboration/collaboration.rst:73 +msgid "The Chicago Manual of Style (15th edition), The University of Chicago Press" +msgstr "" + +#: ../../../source/reference/collaboration/collaboration.rst:74 +msgid "Microsoft Press Computer Dictionary, Microsoft Press" +msgstr "" + +#: ../../../source/reference/collaboration/collaboration.rst:75 +msgid "Read Me First!, Oracle Technical Publications" +msgstr "" + diff --git a/localization/pot/locale/reference/collaboration/structure-formatting.pot b/localization/pot/locale/reference/collaboration/structure-formatting.pot new file mode 100644 index 00000000..1468fdb8 --- /dev/null +++ b/localization/pot/locale/reference/collaboration/structure-formatting.pot @@ -0,0 +1,739 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/reference/collaboration/structure-formatting.rst:4 +msgid "Structure and formatting" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:6 +msgid "Content should be organized to support scanning. Consistent organization, formatting, and writing style helps readers quickly find what they need and to understand the content more effectively. This document describes our organization and formatting guidelines." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:11 +msgid "Refer to :ref:`writing-guide` to learn how we keep our documents clear and concise." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:18 +msgid "Markup" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:20 +msgid "Our documentation is written in the reStructuredText markup language, using Sphinx roles and directives. We use Sphinx to generate the final documentation. You can read more about reStructuredText and Sphinx on their respective websites:" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:25 +msgid "`Sphinx documentation`_" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:26 +msgid "`reStructuredText Primer`_" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:28 +msgid "You can view the content directly in the .rst markup files, or generate the HTML content by installing and building the documentation locally. To run the documentation locally, follow the instructions found in the `documentation repository`_ README." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:34 +msgid "New pages" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:36 +msgid "There are a few additional steps to consider when adding a new page to the documentation. First, identify where your new page should be located within the existing `Documentation organization`_. Second, make sure the new page is picked up in the Sphinx build and easily linkable from other content." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:41 +msgid "Each page must be included in a `Sphinx toctree`_ in order to be included in the documentation content tree. Typically, pages are added to the section landing page toctree." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:45 +msgid "For example, the :ref:`collaboration` page toctree looks like:" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:55 +msgid "Additionally, each page must include a uniquely named reST label directly before the page title, to enable the `Sphinx ref role`_ for linking to a page." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:58 +msgid "For example, this page \"Structure and formating\" has the label ``.. _structure-formatting``:" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:68 +msgid "This page can then be referenced from other pages in the documentation using the `:ref:` role:" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:76 +msgid "Documentation organization" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:78 +msgid "The documentation is organized into five general sections:" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:80 +msgid "**Concepts**: Introduction and overview of |CL| specific concepts or features." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:82 +msgid "**Get started**: Information about getting started with |CL|." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:83 +msgid "**Guides**: Detailed information and instruction on using |CL| features." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:84 +msgid "**Tutorials**: Step-by-step instruction for using |CL| in specific use cases." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:85 +msgid "**Reference**: Supplementary and reference information for |CL|." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:88 +msgid "Page structure" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:90 +msgid "Each page in the documentation should follow the basic format of:" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:92 +msgid "Overview: 1-2 sentences describing what this page shows and why it matters" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:93 +msgid "Prerequisites: Describe any pre-work necessary to the content (if appropriate)" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:94 +msgid "Content" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:95 +msgid "Next steps: List links to next steps (if appropriate)" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:96 +msgid "Related topics: List links to related content (if appropriate)" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:99 +msgid "Headings" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:101 +msgid "Use headings to section and organize your content for better readability and clarity." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:104 +msgid "All files must have a top level heading, which is the title for the page." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:105 +msgid "Up to three additional levels of headings are allowed under the title heading." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:106 +msgid "Each heading should be followed by at least one paragraph of content. Avoid two or more consecutive headings." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:109 +msgid "Refer to the :ref:`writing-guide` for tips on using headings to create :ref:`scannable content `." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:112 +msgid "To mark up headings in the .rst file:" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:114 +msgid "Use hash-tags to underline the file's main title:" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:121 +msgid "Use asterisks to underline the file's first level headings:" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:128 +msgid "Use equal signs to underline the file's second level of headings:" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:135 +msgid "Use dashes to underline the file's third level of headings:" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:143 +msgid "In-page navigation" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:145 +msgid "If a page has three or more sections, provide quick links to each section. Place the quick links after the overview section." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:148 +msgid "Use the standard `reST contents directive`_ with depth: 1 for quick links." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:151 +msgid "Inline text formatting" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:153 +msgid "We use the `Microsoft Writing Style Guide`_ as our starting point for text formatting. We apply the formatting using reST and Sphinx markup." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:156 +msgid "Use our quick reference for the most commonly used inline text elements:" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:159 +msgid "**Element**" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:159 +msgid "**Convention**" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:159 +msgid "**reST/Sphinx**" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:161 +msgid "Acronyms" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:161 +msgid "Define acronym when first used. After first use and definition, use the acronym only." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:161 +msgid "Use the ``:abbr:`` role, in the following format:" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:164 +msgid "``:abbr:`Acronym (Def)```" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:166 +msgid "Bundle names" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:166 +#: ../../../source/reference/collaboration/structure-formatting.rst:174 +#: ../../../source/reference/collaboration/structure-formatting.rst:176 +msgid "Bold" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:166 +#: ../../../source/reference/collaboration/structure-formatting.rst:174 +#: ../../../source/reference/collaboration/structure-formatting.rst:176 +msgid "Use the ``:command:`` role." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:168 +msgid "Callouts" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:168 +msgid "Use ``.. note::``" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:170 +msgid "Code/command examples" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:170 +msgid "Monospace, visually distinct from rest of text. Use an indented call-out box." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:170 +msgid "Use ``.. code-block::`` with the correct language setting." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:174 +msgid "Commands" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:176 +msgid "Command flags" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:178 +msgid "Console output" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:178 +msgid "Monospace, visual distinction from rest of text. Use an indented call-out box." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:178 +msgid "Use ``.. code-block::`` with console as the language setting." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:182 +msgid "Emphasis" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:182 +msgid "Italic" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:182 +msgid "``*strong*``" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:184 +msgid "Environment variables" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:184 +msgid "Use the case format of the environment variable." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:184 +msgid "Use ``:envvar:``" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:187 +msgid "Example commands with optional or replaceable parts" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:187 +msgid "Use angle brackets for swapping in the specific name, e.g. ." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:191 +msgid "Use square brackets for optional parts, e.g. [--build]." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:195 +msgid "Example URLs (not linked)" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:195 +msgid "Plain text" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:197 +msgid "File extensions" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:197 +msgid "Lowercase" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:199 +msgid "File names, directories, paths" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:199 +msgid "Title style capitalization" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:199 +msgid "Use the ``:file:`` role." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:201 +msgid "GUI labels" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:201 +msgid "Use ``:guilabel:``" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:203 +msgid "Inline comments" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:203 +msgid "Use ``..``" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:205 +msgid "Keystrokes" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:205 +msgid "Use ``:kbd:``" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:207 +msgid "Local navigation" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:207 +msgid "``.. contents:: :local:`` with a depth of 1" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:210 +msgid "Menu selection" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:210 +msgid "Use ``:menuselection:``" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:212 +msgid "New terms" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:212 +msgid "Italic for first use, normal for all subsequent uses." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:215 +msgid "If it is used outside of the source of definition, link the term." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:212 +msgid "``*term*``" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:218 +msgid "Product name" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:218 +msgid "Follow correct trademark and attribution guidelines." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:221 +msgid "Tool names" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:221 +msgid "Correctly capitalized, no quotes, bold, or italics as the basic rule." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:224 +msgid "If the tool name is the command, like most Linux tools, treat it like a command." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:228 +msgid "If the tool name is lowercase and used at the start of a sentence, use bold." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:234 +msgid "White space and line length" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:236 +msgid "Limit line length to 78 characters. The GitHub web interface forces this limitation for readability." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:239 +msgid "Remove trailing whitespace from your documents." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:242 +msgid "Code blocks and examples" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:244 +msgid "When providing example code or commands use the `Sphinx code-block directive`_. Select the appropriate syntax highlighting for the example command or code." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:247 +msgid "For example, if showing console output, use console highlighting:" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:253 +msgid "Sphinx provides other ways of `marking up example code`_ if needed." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:256 +msgid "Lists and instructions" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:258 +msgid "Use a numbered list when the order or priority of the items is important, such as step-by-step instructions." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:261 +msgid "Use a bulleted list when the order of the items is not important." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:263 +msgid "For both list types, keep all items in the list parallel. See :ref:`parallelism`." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:266 +msgid "Use standard `reST list markup`_." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:269 +msgid "Numbered lists" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:271 +msgid "Numbered lists are most frequently used for procedures. Use numbered lists to show sequence for the items. Follow our guidelines for numbered lists:" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:274 +msgid "Make sure the list is sequential and not just a collection of items." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:275 +msgid "Introduce a numbered list with a sentence. End the setup text with a colon. Example: \"To configure the unit, perform the following steps:\"" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:277 +#: ../../../source/reference/collaboration/structure-formatting.rst:299 +msgid "Each item in the list should be parallel." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:278 +msgid "Treat numbered list items as full sentences with correct ending punctuation." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:280 +msgid "You may interrupt numbered lists with other content, if relevant, e.g. explanatory text, commands, or code." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:282 +msgid "Second-level steps are acceptable; avoid third-level steps." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:283 +msgid "Avoid single-step procedures; the minimum number of steps in a procedure is two." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:285 +msgid "Do not create numbered lists that emulate flowcharts. The reader should be able to execute the list of steps from first to last without branching or looping." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:288 +msgid "Avoid over-using numbered lists, except in procedural documents such as tutorials and step-by-step guides." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:292 +msgid "Bulleted lists" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:294 +msgid "Use bulleted lists to reduce wordiness and paragraph density, especially when a sequence is not required. Here are some guidelines for bulleted lists:" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:297 +msgid "Introduce a bulleted list with a sentence. End the setup text with a colon. Example: \"To repair the unit, you will need the following items:\"" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:300 +msgid "Avoid interrupting bulleted lists with other paragraph styles." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:301 +msgid "Second-level bullets are acceptable; avoid third-level bullets." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:303 +msgid "Use the correct ending punctuation for sentence style bullet lists. For example:" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:305 +msgid "**Use this:**" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:315 +msgid "**Not this:**" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:327 +msgid "Instructions" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:329 +msgid "When presenting instructions, such as in a tutorial, present them in a numbered list according to these guidelines:" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:332 +msgid "Each step (list item) should describe one action." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:334 +msgid "If the same steps are repeated, refer to the earlier steps rather than repeating them." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:337 +msgid "When a step includes a command or code block as an example, put the command or code block after the step that includes them." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:340 +msgid "Use supporting images where appropriate. If the series of steps is supported by one figure, refer to the figure in the introductory text." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:343 +msgid "For example: \"See Figure 15 and do the following:\"" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:345 +msgid "When a series of steps is supported by two or more figures, refer to the specific figure in the relevant step and show the figure immediately after the reference. **Do not write**: \"See figures 15 through 22 and do the following:\"" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:351 +msgid "Notices" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:353 +msgid "We use four special types of notices: notes, cautions, warnings, and dangers. Here are some specific rules and tips regarding use of these notices:" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:356 +msgid "Do not use a notice directly after a heading. Notices must follow a variant of body text." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:358 +msgid "Do not include more than one notice in a single notice block." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:359 +msgid "Avoid back-to-back notices." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:360 +msgid "If back-to-back notices are not avoidable, make sure each distinct notice in the notice block is clearly defined." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:363 +msgid "Use the standard `reST admonition directive`_." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:366 +msgid "Notes, cautions, and warnings" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:368 +msgid "Use notes sparingly. Avoid having more than one note per section. If you exceed this number consistently, consider rewriting the notes as main body text." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:371 +msgid "Use cautions and warnings to alert readers of potential problems or pitfalls. Use conditional phrases in cautions and warnings, such as \"If you do X, then Y will occur.\"" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:375 +msgid "These are examples of typical notices and the conditions for their usage:" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:378 +msgid "Notes are extra bits of information that supplement the main content. Notes should be relatively short." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:382 +msgid "Cautions are low-level hazard messages that alert the user of possible equipment, product, and software damage, including loss of data." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:386 +msgid "Warnings are mid-level hazards that are likely to cause product damage." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:389 +msgid "Links" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:391 +msgid "Use the standard `reST markup for links`_." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:393 +msgid "To add a cross-reference to another documentation page, use the `:ref:` role:" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:399 +msgid "To add an external link, we use named references that refer to a defined link/label at the bottom of the page." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:402 +msgid "For example, an external link is defined at the bottom of the page like this:" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:408 +msgid "The defined link is then used in the content like this:" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:415 +msgid "Images" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:417 +msgid "Use images or figures to convey information that may be difficult to explain using words alone. Well-planned graphics reduce the amount of text required to explain a topic or example." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:421 +msgid "Follow these guidelines when using graphics in support of your documentation:" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:423 +msgid "Keep it simple. Use images that serve a specific purpose in your document, and contain only the information the reader needs." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:426 +msgid "Avoid graphics that will need frequent updating. Don't include information in a graphic that might change with each release, such as product versions." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:429 +msgid "Use either PNG or JPEG bitmap files for screenshots and SVG files for vector graphics." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:432 +msgid "Place the image immediately after the text it helps clarify, or as close as possible." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:435 +msgid "Use the `Sphinx figure directive`_ to insert images and figures into the document. Include both alt text, a figure name, and caption." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:438 +msgid "For example:" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:447 +msgid "Include at least one direct reference to an image from the main text, using the figure number. For example:" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:450 +msgid "**Use this:** ::" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:454 +msgid "**Not this:** ::" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:458 +msgid "Images should follow these naming and location conventions:" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:460 +msgid "Save the image files in a :file:`figures` folder at the same level as the file that will reference the image." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:462 +msgid "Name image files according to the following rules:" +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:464 +msgid "Use only lower case letters." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:465 +msgid "Separate multiple words in filenames using dashes." +msgstr "" + +#: ../../../source/reference/collaboration/structure-formatting.rst:466 +msgid "Name images using the filename of the file they appear on and add a number to indicate their place in the file. For example, the third figure added to the :file:`welcome.rst` file must be named :file:`welcome-3.png`." +msgstr "" + diff --git a/localization/pot/locale/reference/collaboration/writing-guide.pot b/localization/pot/locale/reference/collaboration/writing-guide.pot new file mode 100644 index 00000000..dbfea895 --- /dev/null +++ b/localization/pot/locale/reference/collaboration/writing-guide.pot @@ -0,0 +1,561 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/reference/collaboration/writing-guide.rst:4 +msgid "Writing guide" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:6 +msgid "We want our documentation to be easy to read and understand. This document describes guidelines for writing documentation that is clear, concise, confident, and courteous." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:10 +msgid "Refer to :ref:`structure-formatting` for details on organizing content and how we use reStructuredText and Sphinx." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:17 +msgid "Use simple English" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:19 +msgid "Write using simple English: Be brief and communicate only the information that is needed. Be friendly and informative. Emphasize clarity and avoid unecessary complicated or technical terms. Make the content accessible to non-native speakers." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:25 +msgid "Be brief" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:27 +msgid "Use short sentences and paragraphs. Stick to the principle of one main idea per sentence, plus one additional point if needed. Each paragraph should address one main idea. Remember the basic structure of a paragraph: Introduction, body, and conclusion." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:33 +msgid "Be friendly" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:35 +msgid "We write for our peers and want to be familiar. Take a personal tone as if you were speaking directly to the reader. Use \"you\" to address the reader and \"we\" to refer to our view. Be professional, respectful, and cooperative." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:39 +msgid "Assume your audience has the same level of technical understanding and expertise as you did when you first started collaborating. Do not talk down to our readers, but also do not assume they know everything about the subject. Offer brief explanations or summaries of common knowledge if a significant portion of readers might benefit." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:46 +msgid "Use simple words" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:48 +msgid "Use simple words to increase reader comprehension and reduce ambiguity. Follow our tips for making good word choices:" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:51 +msgid "**Avoid jargon**: Write for your audience, using everyday language where possible, and technical terms where appropriate. Avoid clichés, idioms, and metaphors." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:54 +msgid "**Be consistent**: Use one term for each concept or action and use it consistently." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:56 +msgid "**Avoid \"fancy\" words and phrases**: If there is a simpler word or phrase, use it." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:59 +#: ../../../source/reference/collaboration/writing-guide.rst:151 +#: ../../../source/reference/collaboration/writing-guide.rst:202 +#: ../../../source/reference/collaboration/writing-guide.rst:213 +#: ../../../source/reference/collaboration/writing-guide.rst:258 +#: ../../../source/reference/collaboration/writing-guide.rst:368 +msgid "For example:" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:62 +msgid "Use this" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:62 +msgid "Not this" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:64 +msgid "start, begin" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:64 +msgid "commence" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:65 +msgid "so" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:65 +msgid "consequently" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:66 +msgid "more than" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:66 +msgid "in excess of" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:67 +msgid "if" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:67 +msgid "in the event of" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:68 +msgid "before" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:68 +msgid "prior to" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:69 +msgid "if you want" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:69 +msgid "should one wish" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:70 +msgid "use" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:70 +msgid "utilize" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:71 +msgid "example" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:71 +msgid "instance" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:75 +msgid "Avoid overuse of product name" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:77 +msgid "Use product names only when necessary. Typically, you can rewrite sentences to remove the product name with no change in meaning, which keeps the content concise and scannable." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:81 +msgid "Avoid using the product name in page titles and headings." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:86 +msgid "Make content scannable" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:88 +msgid "Organize your content to make it scannable for the reader, which helps them find what they need quickly, and to understand the information more efficiently." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:91 +msgid "**Put the most important content first.** Make sure your introduction clearly communicates what the reader can find on the page. Present the point of the document first, and organize supporting information towards the end of the page." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:95 +msgid "**Write scannable headings.** Expect readers of documentation to skim and scan the content, and to leave if they dont find what they need quickly. Good headings add organization to your content and help the reader to find and understand content more effectively. Follow our guidelines for writing effective `Headings`_." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:100 +msgid "**Write great link text.** Great link text tells the reader what they can expect when they click on a link. It also helps make the page more scannable. Follow our guidelines for writing `Link text`_." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:105 +msgid "Headings" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:107 +msgid "Use these guidelines to write effective headings:" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:109 +msgid "**Be concise and descriptive.** Use only the words necessary to describe the section." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:111 +msgid "**Use sentence case.** Capitalize only the first word and proper nouns in a heading." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:113 +msgid "**Avoid punctuation.** Unless your heading is a question, don't use sentence punctuation in headings." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:115 +msgid "**Use parallel structure.** Headings at the same level should use the same grammatical pattern. This provides structure to the document and helps users find information more easily. See :ref:`parallelism`." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:118 +msgid "**Use strong verbs.** Strong, active verbs get to the point. Avoid -ing verbs, such as *Running*, *Testing*, etc." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:121 +msgid "For example, two headings at the same level:" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:123 +#: ../../../source/reference/collaboration/writing-guide.rst:153 +#: ../../../source/reference/collaboration/writing-guide.rst:173 +#: ../../../source/reference/collaboration/writing-guide.rst:189 +#: ../../../source/reference/collaboration/writing-guide.rst:215 +#: ../../../source/reference/collaboration/writing-guide.rst:225 +#: ../../../source/reference/collaboration/writing-guide.rst:239 +#: ../../../source/reference/collaboration/writing-guide.rst:260 +#: ../../../source/reference/collaboration/writing-guide.rst:270 +#: ../../../source/reference/collaboration/writing-guide.rst:285 +#: ../../../source/reference/collaboration/writing-guide.rst:401 +msgid "**Use this:** ::" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:129 +#: ../../../source/reference/collaboration/writing-guide.rst:157 +#: ../../../source/reference/collaboration/writing-guide.rst:177 +#: ../../../source/reference/collaboration/writing-guide.rst:193 +#: ../../../source/reference/collaboration/writing-guide.rst:219 +#: ../../../source/reference/collaboration/writing-guide.rst:229 +#: ../../../source/reference/collaboration/writing-guide.rst:243 +#: ../../../source/reference/collaboration/writing-guide.rst:264 +#: ../../../source/reference/collaboration/writing-guide.rst:274 +#: ../../../source/reference/collaboration/writing-guide.rst:289 +#: ../../../source/reference/collaboration/writing-guide.rst:405 +msgid "**Not this:** ::" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:136 +msgid "Link text" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:138 +msgid "All links in content should follow these guidelines:" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:140 +msgid "**Write descriptive link text**: Link text should describe where the link goes, without having to read the surrounding text." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:142 +msgid "**Keep link text concise**: Use only the words needed to accurately describe the destination." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:144 +msgid "**Use unique link text**: Each link on a page should be unique. If users see the same link text twice on a page, they'll assume it goes to the same place." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:146 +msgid "**Start link text with keywords**: Frontload the link text with the most important words to help users scan the text." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:148 +msgid "**Avoid generic text**: Don't use generic, uninformative link text such as \"click here\" or \"read more\"." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:162 +msgid "Use strong verbs" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:164 +msgid "Passive verbs make writing stuffy and formal. Use strong verbs to get to the point and avoid unnecessary words and phrases." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:168 +msgid "Use imperatives" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:170 +msgid "Commands, also called imperatives, are the fastest and most direct way of giving someone instructions. For example:" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:182 +msgid "Use present tense" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:184 +msgid "Use simple present tense instead of future tense for most text. Search for the words \"will\" or \"shall\" to find future tense instances. Future tense is acceptable for conditional statements, such as in a caution or a warning. For example:" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:198 +msgid "Avoid nominalizations" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:200 +msgid "Avoid nominalizations, which are nouns formed from verbs." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:205 +msgid "Verb" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:205 +msgid "Nominalization" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:207 +msgid "complete" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:207 +msgid "completion" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:208 +msgid "provide" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:208 +msgid "provision" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:209 +msgid "fail" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:209 +msgid "failure" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:210 +msgid "install" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:210 +msgid "installation" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:223 +#: ../../../source/reference/collaboration/writing-guide.rst:268 +msgid "Or:" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:234 +msgid "Avoid words ending in -ing" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:236 +msgid "Avoid using words ending in -ing unless they are part of a technical name. For example:" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:248 +msgid "Use the active voice" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:250 +msgid "Use active voice whenever possible to show who or what is performing an action." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:253 +msgid "Active voice follows standard English word order: SUBJECT–VERB–OBJECT (where the OBJECT is optional)." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:255 +msgid "Passive voice reverses the order and weakens the verb: OBJECT–be VERB–by SUBJECT (where the OBJECT is optional)." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:279 +msgid "Avoid long noun phrases" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:281 +msgid "Noun phrases (a noun and other words that describe or modify it) can be difficult to understand. Try to limit the number of modifiers in a noun phrase to two. For example:" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:296 +msgid "Parallelism" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:298 +msgid "Parallelism refers to the practice of using similar patterns of grammar, and sometimes length, to coordinate words, phrases, and clauses." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:301 +msgid "Use parallel construction in lists. The table below shows some unparallel structures and how they can be made parallel with a little rewording." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:305 +msgid "Parallel (do)" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:305 +msgid "Unparallel (don't)" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:307 +#: ../../../source/reference/collaboration/writing-guide.rst:307 +msgid "Mount the panel." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:308 +msgid "Install the battery." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:309 +msgid "Wire the keypad." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:308 +msgid "Battery installation." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:309 +msgid "Wiring the keypad." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:311 +msgid "I like practicing my accordion, reading sci-fi, and eating peanut butter and pickle sandwiches." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:311 +msgid "I like practicing my accordion, reading sci-fi, and to eat peanut butter and pickle sandwiches." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:316 +msgid "For breakfast he likes coffee and bacon." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:316 +msgid "For breakfast he likes coffee and to fry bacon." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:319 +msgid "Apples or bananas are a good snack." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:319 +msgid "Apples or a banana are a good snack." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:324 +msgid "Grammar and punctuation" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:326 +msgid "This section covers common grammatical topics relevant to our documentation. For detailed explanations of correct grammar and punctuation, use one of our :ref:`preferred references `." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:331 +msgid "Capitalization" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:333 +msgid "The capitalization style for all documentation is sentence case. Words should only be capitalized when they are proper nouns or refer to trademarked product names." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:338 +msgid "Do not capitalize a word to indicate it is more important than other words. Never change the case of variable, function or file names - always keep the original case." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:343 +msgid "Menu capitalization" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:345 +msgid "When referring to software menu items by name, use the same capitalization as seen in the actual menu." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:348 +msgid "A few other tips when referring to menu items:" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:350 +msgid "Reference the specific menu item using \"Select :menuselection:`File --> New`.\"" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:352 +msgid "Put the option to be selected last. \"Select :menuselection:`View --> Side Bar --> Hide Side Bar`\"" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:355 +msgid "Do not include more than 3 navigation steps in a menu selection. If more than three steps are needed, divide the steps using ``:guilabel:`` or ``:menuselection:``." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:359 +msgid "For example: \"Go to :guilabel:`File` and select :menuselection:`Print --> Print Preview --> Set Up`.\"" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:363 +msgid "Software version capitalization" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:365 +msgid "When listing software or hardware version numbers, the word “version” or letter \"v\" are lowercase. The v is closed with the number (no period)." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:370 +msgid "Widget Pro version 5.0" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:371 +msgid "Widget Master v2.1.12" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:374 +msgid "Contractions" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:376 +msgid "Avoid using contractions, such as it's, they're, and you're, because they may be unclear to non-native English-speaking audiences." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:380 +msgid "Quotation marks" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:382 +msgid "Follow these guidelines for quotation marks:" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:384 +msgid "Restrict use of quotation marks to terms as terms." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:385 +msgid "Do not use quotation marks for emphasis; use *italics* for emphasis." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:386 +msgid "Avoid using single-quote marks." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:389 +msgid "Commas and colons" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:391 +msgid "This section addresses common use of commas, semicolons, and colons in our documentation. Refer to one of our :ref:`preferred references ` for further details." +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:396 +msgid "Use the serial comma" +msgstr "" + +#: ../../../source/reference/collaboration/writing-guide.rst:398 +msgid "When writing a series of items, use the serial comma before the final *and* and *or* to avoid confusion and ambiguity. For example:" +msgstr "" + diff --git a/localization/pot/locale/reference/compatible-hardware.pot b/localization/pot/locale/reference/compatible-hardware.pot new file mode 100644 index 00000000..1dd79c33 --- /dev/null +++ b/localization/pot/locale/reference/compatible-hardware.pot @@ -0,0 +1,257 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/reference/compatible-hardware.rst:4 +msgid "Compatible Hardware" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:6 +msgid "This document describes hardware that has been tested and confirmed as compatible with |CL-ATTR|. This list is not comprehensive and will continue to grow." +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:10 +msgid "**Table 1. Compatible Hardware**" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:14 +msgid "Processor SKU" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:15 +msgid "Platform" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:17 +#: ../../../source/reference/compatible-hardware.rst:98 +#: ../../../source/reference/compatible-hardware.rst:110 +msgid "Intel® Core™ i5-6260U" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:20 +msgid "Intel® Core™ i5-6560U" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:21 +msgid "Dell XPS\\* 13 9350" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:23 +#: ../../../source/reference/compatible-hardware.rst:92 +msgid "Intel® Celeron® J3455" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:24 +msgid "NUC6CAYS" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:26 +#: ../../../source/reference/compatible-hardware.rst:65 +msgid "Intel® Core™ i5-4250U" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:29 +#: ../../../source/reference/compatible-hardware.rst:101 +#: ../../../source/reference/compatible-hardware.rst:107 +msgid "Intel® Core™ i7-5557U" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:32 +msgid "Intel® Core™ i9-7900X" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:33 +msgid "Gigabyte\\* X299" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:35 +msgid "Intel® Core™ i3-4130" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:36 +msgid "Lenovo Thinkserver\\* TS140" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:38 +msgid "Intel® Core™ i7-7567U" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:39 +msgid "NUC7i7BNH" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:41 +msgid "Intel® Core™ i7-8809G" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:42 +msgid "NUC8i7HVK" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:44 +msgid "Intel® Core™ i5-7260U" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:45 +msgid "NUC7i5BNH" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:47 +msgid "Intel® Core™ i7-8650U" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:48 +msgid "NUC7i7DNKE" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:50 +msgid "Intel® Core™ i5-7300U" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:51 +msgid "NUC7i5DNHE" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:53 +msgid "Intel® Xeon® Gold 6138" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:56 +msgid "Intel® Xeon® E5-2699A v4" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:57 +msgid "Dell PowerEdge\\* R630" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:59 +msgid "Intel® Xeon® E5-2620 v3" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:62 +msgid "Intel® Core™ i5-6600" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:63 +msgid "Gigabyte\\* Z170X-UD5" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:66 +msgid "D54250WYK" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:68 +msgid "Intel® Xeon® E5-2699 v3" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:69 +msgid "S2600WT2" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:71 +msgid "Intel® Atom™ J3455" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:72 +#: ../../../source/reference/compatible-hardware.rst:93 +msgid "NUC6CAYB" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:74 +msgid "Intel® Xeon® Bronze 3104" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:75 +msgid "0W23H8" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:77 +msgid "Intel® Atom™ C2750" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:78 +msgid "SuperMicro\\* A1SAi" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:80 +msgid "Intel® Atom™ E3825" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:81 +msgid "CircuitCo MinnowBoard MAX\\*" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:83 +msgid "Intel® Core™ i7-8700" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:84 +msgid "Gigabyte\\* H370 WIFI" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:86 +msgid "Intel® Core™ i7-3667U" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:87 +msgid "Lenovo ThinkPad\\* X1 Carbon laptop" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:89 +msgid "Intel® Core™ i5-4210U" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:90 +msgid "Dell XPS\\* 13 laptop" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:95 +msgid "Intel® Core™ i7-4790" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:96 +msgid "Gigabyte\\* desktop" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:99 +msgid "NUC6I6SYH" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:102 +msgid "NUC5I7RYH" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:104 +msgid "Intel® Core™ i7-4700MQ" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:105 +msgid "Lenovo ThinkPad\\* T540p" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:108 +msgid "NUC5I7RYB" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:111 +msgid "NUC6I5SYH" +msgstr "" + +#: ../../../source/reference/compatible-hardware.rst:113 +msgid "\\* Other names and brands may be claimed as the property of others." +msgstr "" + diff --git a/localization/pot/locale/reference/how-to-clear-overview.pot b/localization/pot/locale/reference/how-to-clear-overview.pot new file mode 100644 index 00000000..4ee65ea3 --- /dev/null +++ b/localization/pot/locale/reference/how-to-clear-overview.pot @@ -0,0 +1,62 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/reference/how-to-clear-overview.rst:4 +msgid "How to Clear training overview" +msgstr "" + +#: ../../../source/reference/how-to-clear-overview.rst:6 +msgid "The existing Linux\\* ecosystem can be challenging to users because of long intervals between :abbr:`OS (operating system)` updates, which leads to large update downloads. Users can also be frustrated when managing complicated component dependencies. |CL-ATTR| solves these problems by:" +msgstr "" + +#: ../../../source/reference/how-to-clear-overview.rst:11 +msgid "Allowing you to update frequently, even multiple times per day" +msgstr "" + +#: ../../../source/reference/how-to-clear-overview.rst:12 +msgid "Preventing you from combining incompatible components" +msgstr "" + +#: ../../../source/reference/how-to-clear-overview.rst:14 +msgid "The |CL| team delivers technology advances with the |CL| OS and its tooling, concepts, and content. The team has created training materials as a GitHub\\* project to get you up and running quickly." +msgstr "" + +#: ../../../source/reference/how-to-clear-overview.rst:18 +msgid "The training provides complete details on the methods used to create updates and how to deploy the updates to targets. The following items provide an overview of these |CL| mechanisms:" +msgstr "" + +#: ../../../source/reference/how-to-clear-overview.rst:22 +msgid "Update server: an https-enabled web server where the content files are served as static content. |CL| periodically queries the data on the update server and determines whether updates are available. The update content files provide the data and metadata to perform the required actions." +msgstr "" + +#: ../../../source/reference/how-to-clear-overview.rst:27 +msgid "Software delivery mechanism: :abbr:`swupd (software updater)` queries metadata from the update server and calculates what to do and which content to use." +msgstr "" + +#: ../../../source/reference/how-to-clear-overview.rst:31 +msgid "Tools: `mixer-tools` software suite generates the update server content using |CL| official software update content, local bundle definitions, and local RPM files." +msgstr "" + +#: ../../../source/reference/how-to-clear-overview.rst:34 +msgid "The training helps you create a customized OS that is based on |CL|. The training content is self-contained and hosted on GitHub. You need a clean |CL| installation and a functional network connection to complete the training. For convenience, the project includes the training files you need for the exercises." +msgstr "" + +#: ../../../source/reference/how-to-clear-overview.rst:40 +msgid "We appreciate your feedback and comments, especially in the form of Pull Requests. Please visit the `how-to-clear project`_ page to access the training materials, open a ticket, or clone/branch the training and help us improve |CL|." +msgstr "" + diff --git a/localization/pot/locale/reference/image-types.pot b/localization/pot/locale/reference/image-types.pot new file mode 100644 index 00000000..54732f56 --- /dev/null +++ b/localization/pot/locale/reference/image-types.pot @@ -0,0 +1,168 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/reference/image-types.rst:4 +msgid "|CL-ATTR| image types" +msgstr "" + +#: ../../../source/reference/image-types.rst:8 +msgid "|CL-ATTR| offers many types of `images`_ for different platforms and environments." +msgstr "" + +#: ../../../source/reference/image-types.rst:12 +msgid "The naming convention of a |CL| image filename is:" +msgstr "" + +#: ../../../source/reference/image-types.rst:18 +msgid "The *[version number]* field specifies the version number." +msgstr "" + +#: ../../../source/reference/image-types.rst:20 +msgid "The *[image type]* field specifies the type of image and its corresponding file format." +msgstr "" + +#: ../../../source/reference/image-types.rst:23 +msgid "The *[compression type]* field specifies the compression type. Two types of compressions are used: GNU\\* zip (*.gz*) and XZ (*.xz*)." +msgstr "" + +#: ../../../source/reference/image-types.rst:28 +msgid "Table 1 lists the currently available images that are platform independent. Table 2 lists the currently available images that are platform specific." +msgstr "" + +#: ../../../source/reference/image-types.rst:31 +msgid "Table 1: Types of platform-independent |CL| images" +msgstr "" + +#: ../../../source/reference/image-types.rst:35 +#: ../../../source/reference/image-types.rst:48 +msgid "Image Type" +msgstr "" + +#: ../../../source/reference/image-types.rst:36 +#: ../../../source/reference/image-types.rst:49 +msgid "Description" +msgstr "" + +#: ../../../source/reference/image-types.rst:38 +msgid "live-desktop.img or live-desktop.iso" +msgstr "" + +#: ../../../source/reference/image-types.rst:39 +msgid "Image for booting to GNOME\\* desktop to preview or install the OS." +msgstr "" + +#: ../../../source/reference/image-types.rst:41 +msgid "live-server.img or live-server.iso" +msgstr "" + +#: ../../../source/reference/image-types.rst:42 +msgid "Image for booting to server command prompt to preview or install the OS." +msgstr "" + +#: ../../../source/reference/image-types.rst:44 +msgid "Table 2: Types of platform-specific |CL| images" +msgstr "" + +#: ../../../source/reference/image-types.rst:51 +msgid "aws.img" +msgstr "" + +#: ../../../source/reference/image-types.rst:52 +msgid "Image suitable for use with Amazon\\* AWS\\*." +msgstr "" + +#: ../../../source/reference/image-types.rst:54 +msgid "azure.vhd" +msgstr "" + +#: ../../../source/reference/image-types.rst:55 +msgid "Virtual Hard Disk for use on Microsoft\\* Azure\\* cloud platform." +msgstr "" + +#: ../../../source/reference/image-types.rst:57 +msgid "azure-docker.vhd" +msgstr "" + +#: ../../../source/reference/image-types.rst:58 +msgid "Virtual Hard Disk for use on Microsoft Azure cloud platform with Docker\\* pre-installed." +msgstr "" + +#: ../../../source/reference/image-types.rst:60 +msgid "azure-machine-learning.vhd" +msgstr "" + +#: ../../../source/reference/image-types.rst:61 +msgid "Virtual Hard Disk for use on Microsoft Azure cloud platform with the `machine-learning-basic` bundle installed." +msgstr "" + +#: ../../../source/reference/image-types.rst:63 +msgid "cloudguest.img" +msgstr "" + +#: ../../../source/reference/image-types.rst:64 +msgid "Image with generic cloud guest virtual machine (VM) requirements installed." +msgstr "" + +#: ../../../source/reference/image-types.rst:66 +msgid "gce.tar" +msgstr "" + +#: ../../../source/reference/image-types.rst:67 +msgid "Image with the Google Compute Engine (GCE) specific kernel." +msgstr "" + +#: ../../../source/reference/image-types.rst:69 +msgid "hyperv.vhdx" +msgstr "" + +#: ../../../source/reference/image-types.rst:70 +msgid "Virtual Hard Disk for use with Microsoft Hyper-V\\* hypervisor. Includes `optimized kernel`_ for Hyper-V." +msgstr "" + +#: ../../../source/reference/image-types.rst:72 +msgid "kvm.img" +msgstr "" + +#: ../../../source/reference/image-types.rst:73 +msgid "Image for booting in a simple VM with start_qemu.sh. Includes `optimized kernel`_ for KVM." +msgstr "" + +#: ../../../source/reference/image-types.rst:76 +msgid "kvm-legacy.img" +msgstr "" + +#: ../../../source/reference/image-types.rst:77 +msgid "Image for booting in a simple VM using legacy BIOS, if using start_qemu.sh make sure to remove -bios parameter." +msgstr "" + +#: ../../../source/reference/image-types.rst:79 +msgid "pxe.tar" +msgstr "" + +#: ../../../source/reference/image-types.rst:80 +msgid "Image suitable for use with PXE server." +msgstr "" + +#: ../../../source/reference/image-types.rst:82 +msgid "vmware.vmdk" +msgstr "" + +#: ../../../source/reference/image-types.rst:83 +msgid "Virtual Machine Disk for VMware\\* platforms inclduing Player, Workstation, and ESXi." +msgstr "" + diff --git a/localization/pot/locale/reference/reference.pot b/localization/pot/locale/reference/reference.pot new file mode 100644 index 00000000..890caccf --- /dev/null +++ b/localization/pot/locale/reference/reference.pot @@ -0,0 +1,30 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/reference/reference.rst:4 +msgid "Reference" +msgstr "" + +#: ../../../source/reference/reference.rst:6 +msgid "This section provides additional information on the |CL| project and features." +msgstr "" + +#: ../../../source/reference/reference.rst:24 +msgid "Clear Linux concepts" +msgstr "" + diff --git a/localization/pot/locale/reference/system-requirements.pot b/localization/pot/locale/reference/system-requirements.pot new file mode 100644 index 00000000..f8f55321 --- /dev/null +++ b/localization/pot/locale/reference/system-requirements.pot @@ -0,0 +1,110 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/reference/system-requirements.rst:4 +msgid "Recommended minimum system requirements" +msgstr "" + +#: ../../../source/reference/system-requirements.rst:6 +msgid "|CL-ATTR| can run on very minimal hardware. For example, it can run on a system with a single core CPU, 128MB of memory, and 600MB of disk space." +msgstr "" + +#: ../../../source/reference/system-requirements.rst:9 +msgid "Different use cases and applications will require different configurations. For general |CL| use, in addition to a supported processor, the recommended minimum requirements include:" +msgstr "" + +#: ../../../source/reference/system-requirements.rst:13 +msgid "Processors:" +msgstr "" + +#: ../../../source/reference/system-requirements.rst:15 +msgid "|CL-ATTR| can run on any Intel® 64bit processors which support UEFI\\* and SSE\\* v4.1 streaming SIMD\\* instructions." +msgstr "" + +#: ../../../source/reference/system-requirements.rst:18 +msgid "The following processor families have been verified to run |CL|:" +msgstr "" + +#: ../../../source/reference/system-requirements.rst:20 +msgid "2nd Generation, or later, Intel® Core™ processor family." +msgstr "" + +#: ../../../source/reference/system-requirements.rst:21 +msgid "Intel® Xeon® Processor E3" +msgstr "" + +#: ../../../source/reference/system-requirements.rst:22 +msgid "Intel® Xeon® Processor E5" +msgstr "" + +#: ../../../source/reference/system-requirements.rst:23 +msgid "Intel® Xeon® Processor E7" +msgstr "" + +#: ../../../source/reference/system-requirements.rst:24 +msgid "Intel® Atom™ processor C2000 product family for servers -- Q3 2013 version or later." +msgstr "" + +#: ../../../source/reference/system-requirements.rst:26 +msgid "Intel® Atom™ processor E3800 series -- Q4 2013 version or later." +msgstr "" + +#: ../../../source/reference/system-requirements.rst:28 +msgid "To help determine if a processor is supported, you can run a :ref:`compatibility check` or go to http://ark.intel.com and check for these features:" +msgstr "" + +#: ../../../source/reference/system-requirements.rst:32 +msgid "Instruction Set = 64-bit" +msgstr "" + +#: ../../../source/reference/system-requirements.rst:33 +msgid "Instruction Set Extensions = SSSE3" +msgstr "" + +#: ../../../source/reference/system-requirements.rst:34 +msgid "Instruction Set Extensions = SSE 4.1" +msgstr "" + +#: ../../../source/reference/system-requirements.rst:35 +msgid "Instruction Set Extensions = SSE 4.2" +msgstr "" + +#: ../../../source/reference/system-requirements.rst:36 +msgid "Instruction Set Extensions = AES" +msgstr "" + +#: ../../../source/reference/system-requirements.rst:37 +msgid "Instruction Set Extensions = PCLMUL" +msgstr "" + +#: ../../../source/reference/system-requirements.rst:39 +msgid "Memory: 4GB RAM" +msgstr "" + +#: ../../../source/reference/system-requirements.rst:41 +msgid "Hard Disk: 20GB HDD" +msgstr "" + +#: ../../../source/reference/system-requirements.rst:43 +msgid "Network: Active Internet connection" +msgstr "" + +#: ../../../source/reference/system-requirements.rst:45 +msgid "Graphics: Intel HD Graphics (required if running a GUI desktop)" +msgstr "" + diff --git a/localization/pot/locale/tooling/autoproxy.pot b/localization/pot/locale/tooling/autoproxy.pot new file mode 100644 index 00000000..69c98e52 --- /dev/null +++ b/localization/pot/locale/tooling/autoproxy.pot @@ -0,0 +1,110 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/tooling/autoproxy.rst:4 +msgid "Autoproxy" +msgstr "" + +#: ../../../source/tooling/autoproxy.rst:6 +msgid "Autoproxy is provided to enable |CL-ATTR| to work smoothly behind a corporate proxy." +msgstr "" + +#: ../../../source/tooling/autoproxy.rst:14 +msgid "Description" +msgstr "" + +#: ../../../source/tooling/autoproxy.rst:16 +msgid "Autoproxy tries to detect a Proxy Auto-Config (PAC) script and use it to automatically resolve the proxy needed for a given connection. With Autoproxy, you can use |CL| inside any proxy environment without having to manually configure the proxies." +msgstr "" + +#: ../../../source/tooling/autoproxy.rst:21 +msgid "Corporate and private networks can be very complex, needing to restrict and control network connections for security reasons. The typical side effects are limited or blocked connectivity, and require manual configuration of proxies to perform the most mundane tasks, such as cloning a repo or checking for updates. With |CL|, all of the work is done behind the scenes to effortlessly use your network and have connections “just work”." +msgstr "" + +#: ../../../source/tooling/autoproxy.rst:28 +msgid "This feature removes severe complications with network connectivity due to proxy issues. You can automate tasks, such as unit testing, without worrying about the proxy not being set, and you can remove unset proxies from the equation when dealing with network unavailability across systems." +msgstr "" + +#: ../../../source/tooling/autoproxy.rst:34 +msgid "How it works" +msgstr "" + +#: ../../../source/tooling/autoproxy.rst:36 +msgid "We designed Autoproxy around tools provided by most Linux\\* distributions with a few minor additions and modifications. We leveraged the DHCP and network information obtained from systemd and created a PAC-discovery daemon. The daemon uses the information to resolve a URL for a PAC file. The daemon then passes the URL into PACrunner\\*. PACrunner downloads the PAC file and uses the newly implemented Duktape\\* engine to parse it." +msgstr "" + +#: ../../../source/tooling/autoproxy.rst:47 +msgid "Figure 1: Autoproxy Flow" +msgstr "" + +#: ../../../source/tooling/autoproxy.rst:49 +msgid "From that point on, any cURL\\* or network requests query PACrunner for the correct proxy to use. We modified the cURL library to communicate with PACrunner over DBus. However, cURL will ignore PACrunner and run normally if no PAC file is loaded or if you manually set any proxies. Thus, your environment settings are respected and no time is wasted trying to resolve a proxy. All these steps happen in the background with no user interaction." +msgstr "" + +#: ../../../source/tooling/autoproxy.rst:57 +msgid "Troubleshooting" +msgstr "" + +#: ../../../source/tooling/autoproxy.rst:59 +msgid "Autoproxy allows |CL| to operate seamlessly behind a proxy because :ref:`swupd ` and other |CL| tools are implemented on top of libcurl. Tools that do not use libcurl, like git, must be configured independently." +msgstr "" + +#: ../../../source/tooling/autoproxy.rst:64 +msgid "If you are familiar with PAC files and WPAD, you can use :command:`pacdiscovery` and :command:`FindProxyForURL` to troubleshoot problems with autproxy." +msgstr "" + +#: ../../../source/tooling/autoproxy.rst:70 +msgid "Learn more about WPAD, PAC files, and PAC functions at `findproxyforurl`_." +msgstr "" + +#: ../../../source/tooling/autoproxy.rst:74 +msgid "Run :command:`pacdiscovery` with no arguments to indicate" +msgstr "" + +#: ../../../source/tooling/autoproxy.rst:76 +msgid "if there is a problem resolving the :command:`WPAD` host name resolution:" +msgstr "" + +#: ../../../source/tooling/autoproxy.rst:87 +msgid "or if the :command:`pacrunner` service is disabled (masked)." +msgstr "" + +#: ../../../source/tooling/autoproxy.rst:98 +msgid "Unmask the :command:`pacrunner` service by running:" +msgstr "" + +#: ../../../source/tooling/autoproxy.rst:104 +msgid ":command:`FindProxyForURL` with :command:`busctl` can also indicate if the :command:`pacrunner.service` is masked." +msgstr "" + +#: ../../../source/tooling/autoproxy.rst:117 +msgid ":command:`FindProxyForURL` returns the URL and port of the proxy server when an external URL and host are provided as arguments." +msgstr "" + +#: ../../../source/tooling/autoproxy.rst:129 +msgid "If a proxy server is not avialable, or if :command:`pacrunner` is running without a PAC file, :command:`FindProxyForURL` will return \"DIRECT\"." +msgstr "" + +#: ../../../source/tooling/autoproxy.rst:141 +msgid "Once :command:`pacdiscovery` is able to look up :command:`WPAD`, restart the :command:`pacrunner` service:" +msgstr "" + +#: ../../../source/tooling/autoproxy.rst:151 +msgid "A \"domain\" or \"search\" entry in :file:`/etc/resolv.conf` is required for short name lookups to resolve. The :file:`resolv.conf` man page has additional details." +msgstr "" + diff --git a/localization/pot/locale/tooling/autospec.pot b/localization/pot/locale/tooling/autospec.pot new file mode 100644 index 00000000..73f36ff7 --- /dev/null +++ b/localization/pot/locale/tooling/autospec.pot @@ -0,0 +1,432 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/tooling/autospec.rst:4 +msgid "autospec" +msgstr "" + +#: ../../../source/tooling/autospec.rst:6 +msgid "**autospec** is a tool used to assist with the automated creation and maintenance of RPM packaging in |CL-ATTR|. Where a standard :abbr:`RPM (RPM Package Manager)` build process using :command:`rpmbuild` requires a tarball and :file:`.spec` file to start, autospec requires only a tarball and package name to start." +msgstr "" + +#: ../../../source/tooling/autospec.rst:16 +msgid "Description" +msgstr "" + +#: ../../../source/tooling/autospec.rst:18 +msgid "The autospec tool attempts to infer the requirements of the :file:`.spec` file by analyzing the source code and :file:`Makefile` information. It continuously runs updated builds based on new information discovered from build failures until it has a complete and valid :file:`.spec` file. If needed, you can influence the behavior of autospec and customize the build by providing optional `control files`_ to the autospec tool." +msgstr "" + +#: ../../../source/tooling/autospec.rst:25 +msgid "autospec uses **mock** as a sandbox to run the builds. Visit the `mock wiki`_ for additional information on using mock." +msgstr "" + +#: ../../../source/tooling/autospec.rst:28 +msgid "For a general understanding of how an RPM works, visit the `rpm website`_ or the `RPM Packaging Guide`_ ." +msgstr "" + +#: ../../../source/tooling/autospec.rst:32 +msgid "How it works" +msgstr "" + +#: ../../../source/tooling/autospec.rst:34 +msgid "Learn the autospec tool set up and process." +msgstr "" + +#: ../../../source/tooling/autospec.rst:41 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/tooling/autospec.rst:43 +msgid "The setup for building source in |CL| must be completed before using the autospec tool." +msgstr "" + +#: ../../../source/tooling/autospec.rst:46 +msgid "Refer to `Setup environment to build source`_ for instructions on completing the setup." +msgstr "" + +#: ../../../source/tooling/autospec.rst:50 +msgid "Create an RPM" +msgstr "" + +#: ../../../source/tooling/autospec.rst:52 +msgid "The basic autospec process is described in the following steps:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:54 +msgid "The :command:`make autospec` command generates a :file:`.spec` file based on the analysis of code and existing control files." +msgstr "" + +#: ../../../source/tooling/autospec.rst:57 +msgid "Any control files should be located in the same directory as the resulting :file:`.spec` file." +msgstr "" + +#: ../../../source/tooling/autospec.rst:60 +msgid "View the `autospec README`_ for more information on `control files`_." +msgstr "" + +#: ../../../source/tooling/autospec.rst:62 +msgid "autospec creates a build root with mock config." +msgstr "" + +#: ../../../source/tooling/autospec.rst:64 +msgid "autospec attempts to build an RPM from the generated :file:`.spec`." +msgstr "" + +#: ../../../source/tooling/autospec.rst:66 +msgid "autospec detects any missed declarations in the :file:`.spec`." +msgstr "" + +#: ../../../source/tooling/autospec.rst:68 +msgid "If build errors occur, autospec scans the build log to try to detect the root cause." +msgstr "" + +#: ../../../source/tooling/autospec.rst:71 +msgid "If autospec detects the root cause and knows how to continue, it restarts the build automatically at step 1 with updated build instructions." +msgstr "" + +#: ../../../source/tooling/autospec.rst:74 +msgid "Otherwise, autospec stops the build for user inspection to resolve the errors. Respond to the build process output by fixing source code issues and/or editing control files to resolve issues, which may include dependencies or exclusions. See `autospec README`_ for more information on control files." +msgstr "" + +#: ../../../source/tooling/autospec.rst:80 +msgid "The user resumes the process at step 1 after errors are resolved." +msgstr "" + +#: ../../../source/tooling/autospec.rst:82 +msgid "If a binary dependency doesn't exist in |CL|, you must build it before running autospec again." +msgstr "" + +#: ../../../source/tooling/autospec.rst:85 +msgid "Following these steps, autospec continues to rebuild the package, based on new information discovered from build failures, until it has a valid :file:`.spec`. If no build errors occur, RPM packages are successfully built." +msgstr "" + +#: ../../../source/tooling/autospec.rst:90 +msgid "Examples" +msgstr "" + +#: ../../../source/tooling/autospec.rst:92 +msgid "Complete `Setup environment to build source`_ before using these examples." +msgstr "" + +#: ../../../source/tooling/autospec.rst:99 +msgid "Example 1: Build RPM with an existing spec file" +msgstr "" + +#: ../../../source/tooling/autospec.rst:101 +msgid "This example shows how to build a RPM from a pre-packaged upstream package with an existing spec file. The example uses the ``dmidecode`` package." +msgstr "" + +#: ../../../source/tooling/autospec.rst:104 +#: ../../../source/tooling/autospec.rst:160 +msgid "Navigate to the autospec workspace and clone the ``dmidecode`` package:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:113 +msgid "You can clone all package repos at once using the following command:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:119 +#: ../../../source/tooling/autospec.rst:216 +msgid "The optional NUM is the number of threads to use." +msgstr "" + +#: ../../../source/tooling/autospec.rst:121 +msgid "For a list of available packages, view the :file:`~/clearlinux/projects/common/packages` file." +msgstr "" + +#: ../../../source/tooling/autospec.rst:124 +msgid "Navigate to the local copy of the ``dmidecode`` package and build it:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:131 +msgid "The resulting RPMs are in :file:`./rpms`. Build logs and additional RPMs are in :file:`./results`." +msgstr "" + +#: ../../../source/tooling/autospec.rst:135 +msgid "Example 2: Build a new RPM" +msgstr "" + +#: ../../../source/tooling/autospec.rst:137 +msgid "This example shows how to build a new RPM with no spec file. The example will create a simple helloclear RPM." +msgstr "" + +#: ../../../source/tooling/autospec.rst:140 +msgid "Navigate to the autospec workspace and build the helloclear RPM. The :file:`Makefile` provides a :command:`make autospecnew` that can automatically generate an RPM package using the autospec tool. You must pass the URL to the source tarball and the NAME of the RPM you wish to create:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:150 +msgid "The resulting RPMs are in :file:`./packages/helloclear/rpms`. Build logs and additional RPMs are in :file:`./packages/helloclear/results`." +msgstr "" + +#: ../../../source/tooling/autospec.rst:154 +msgid "Example 3: Generate a new spec file with a pre-defined package" +msgstr "" + +#: ../../../source/tooling/autospec.rst:156 +msgid "This example shows how to modify an existing package to create a custom RPM. In this example you will make a simple change to the ``dmidecode`` package and rebuild the package." +msgstr "" + +#: ../../../source/tooling/autospec.rst:167 +msgid "Navigate into the *dmidecode* directory:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:173 +msgid "Open the :file:`excludes` file with an editor and add these lines:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:186 +msgid "These files aren't needed by dmidecode, so we can remove them without any issues." +msgstr "" + +#: ../../../source/tooling/autospec.rst:189 +msgid "In the :file:`dmidecode` directory, build the modified ``dmidecode`` package:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:195 +msgid "The resulting RPMs are in :file:`./rpms`. Logs are in :file:`./results`." +msgstr "" + +#: ../../../source/tooling/autospec.rst:198 +msgid "Example 4: Provide control files to autospec" +msgstr "" + +#: ../../../source/tooling/autospec.rst:200 +msgid "This example shows how to modify control files to correct build failures that autospec is unable to resolve. In this example, you will add a missing license and dependencies so autospec can complete a successful build." +msgstr "" + +#: ../../../source/tooling/autospec.rst:204 +msgid "Navigate to the autospec workspace:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:210 +msgid "If you have not already, clone all upstream package repos:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:220 +msgid "In a later step of this example, we will search the cloned package repos for a missing dependency." +msgstr "" + +#: ../../../source/tooling/autospec.rst:223 +msgid "Build the opae-sdk RPM:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:229 +msgid "This results in an error for a missing license file:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:235 +msgid "Navigate to the package with build failures:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:241 +msgid "Add one or more valid license identifiers from the `SPDX License List `_. In the example below, two different licenses are appropriate based on the opae-sdk project licensing:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:250 +msgid "Run autospec again:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:256 +msgid "This results in a generic error:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:262 +msgid "Open the build log to view the error details:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:268 +msgid "The build log contains details for the specific failures. In this instance, there are missing dependencies:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:281 +msgid "Search the spec files of upstream |CL| packages to see if the json-c library is available. In this case, it does exist and we'll add the json-c 'dev' package into the buildreq_add:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:292 +msgid "This search step works only if the user cloned all of the upstream package repos. In this example, upstream package repos were cloned in a previous step." +msgstr "" + +#: ../../../source/tooling/autospec.rst:296 +msgid "Search the spec files of upstream |CL| packages to see if the libuuid library is available. In this case, it exists in the util-linux package, so we'll add util-linux-dev package into the buildreq_add:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:305 +msgid "Run autospec again and find the successfully-generated RPMs in the :file:`rpms` directory:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:314 +msgid "If you need a dependency that does not exist in the |CL| repo, you must first build it manually (see `Example 2: Build a new RPM`_), then add the repo so that autospec knows the package exists. For example:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:324 +msgid "You only need to add the dependency to the :file:`buildreq_add` control file if autospec is not able to automatically find the correct dependency on its own." +msgstr "" + +#: ../../../source/tooling/autospec.rst:329 +msgid "Test packaged software" +msgstr "" + +#: ../../../source/tooling/autospec.rst:331 +msgid "After software has been packaged with autospec, the resulting RPMs can be tested for functionality before being integrated and deployed into a |CL| image with the :ref:`Mixer tool `." +msgstr "" + +#: ../../../source/tooling/autospec.rst:335 +msgid "The |CL| development tooling offers two ways to quickly test autospec generated RPMs." +msgstr "" + +#: ../../../source/tooling/autospec.rst:339 +msgid "The methods outlined below should only be used for temporary testing on development systems." +msgstr "" + +#: ../../../source/tooling/autospec.rst:344 +msgid "Test in a |CL| virtual machine" +msgstr "" + +#: ../../../source/tooling/autospec.rst:346 +msgid "The |CL| development tooling includes a method to install RPMs into a |CL| virtual machine running on the KVM hypervisor. Using a :abbr:`VM (Virtual Machine)` allows testing in a completely isolated environment." +msgstr "" + +#: ../../../source/tooling/autospec.rst:350 +msgid "To test an autospec-created package inside a VM:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:352 +msgid "Download the |CL| KVM image into the :file:`~/clearlinux` directory as :file:`clear.img`. The location and name :file:`clear.img.xz` is important for the tooling to work:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:361 +msgid "Extract the downloaded |CL| KVM image:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:367 +msgid "Copy the QEMU start script and virtual firmware needed for KVM into the :file:`~/clearlinux` directory:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:375 +msgid "Run :command:`make install` from the package's autospec directory. The :command:`make install` command mounts the downloaded |CL| KVM image and installs the autospec-created RPM into it:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:384 +msgid "The code that makes this possible can be viewed by searching for the *install:* target in the `Makefile.common file on GitHub`_." +msgstr "" + +#: ../../../source/tooling/autospec.rst:387 +msgid "Return to the :file:`~/clearlinux` directory and start the |CL| VM:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:394 +msgid "A new |CL| VM will launch in the console. Log into the VM as *root* and set a new pasword for the VM." +msgstr "" + +#: ../../../source/tooling/autospec.rst:397 +msgid "Check that the software is installed in the |CL| VM as expected and perform any relevant tests." +msgstr "" + +#: ../../../source/tooling/autospec.rst:400 +msgid "After testing has been completed, the |CL| VM can be powered off and deleted:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:410 +msgid "Test directly on a development machine" +msgstr "" + +#: ../../../source/tooling/autospec.rst:412 +msgid "The |CL| development tooling also includes a method to extract autospec-created RPMs locally onto a |CL| development system for testing. Extracting an RPM directly onto a system offers quicker testing; however conflicts may occur and responsibility to remove the software after testing is up to the developer." +msgstr "" + +#: ../../../source/tooling/autospec.rst:418 +msgid "To test an autospec created package directly on the |CL| development system:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:420 +msgid "Run :command:`make install-local` from the package's autospec directory. The :command:`make install-local` command extracts the RPM directly onto the filesystem of the running |CL| system:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:429 +msgid "The code that makes this possible can be viewed by searching for the *install-local:* target in the `Makefile.common file on GitHub`_." +msgstr "" + +#: ../../../source/tooling/autospec.rst:432 +msgid "Check that the software is installed as expected and perform any relevant tests." +msgstr "" + +#: ../../../source/tooling/autospec.rst:435 +msgid "After testing has been completed, the software and any related files must be identified and deleted. The :command:`swupd repair --picky` command can help restore the state of the :file:`/usr` directory (see :ref:`swupd `) however any other files must be cleaned up manually." +msgstr "" + +#: ../../../source/tooling/autospec.rst:443 +msgid "References" +msgstr "" + +#: ../../../source/tooling/autospec.rst:445 +msgid "Reference the `autospec README`_ for details regarding `autospec` commands and options." +msgstr "" + +#: ../../../source/tooling/autospec.rst:448 +msgid "Setup environment to build source" +msgstr "" + +#: ../../../source/tooling/autospec.rst:452 +msgid "Setup of the workspace and tooling used for building source in |CL| is mostly automated for you with a setup script. It uses tools from the :command:`os-clr-on-clr` bundle." +msgstr "" + +#: ../../../source/tooling/autospec.rst:456 +msgid "The setup script creates a workspace in the :file:`clearlinux` folder, with the subfolders :file:`Makefile`, :file:`packages`, and :file:`projects`. The :file:`projects` folder contains the main tools used for making packages in |CL| :file:`autospec` and :file:`common`." +msgstr "" + +#: ../../../source/tooling/autospec.rst:461 +msgid "Follow these steps to setup the workspace and tooling for building source:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:463 +msgid "Install the :command:`os-clr-on-clr` bundle:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:469 +msgid "Download the :file:`user-setup.sh` script:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:475 +msgid "Make :file:`user-setup.sh` executable:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:481 +msgid "Run the script as an unprivileged user:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:487 +msgid "After the script completes, log out and log in again to complete the setup process." +msgstr "" + +#: ../../../source/tooling/autospec.rst:490 +msgid "Set your Git user email and username for the repos on your system:" +msgstr "" + +#: ../../../source/tooling/autospec.rst:497 +msgid "This global setting is used by |CL| tools that make use of Git." +msgstr "" + +#: ../../../source/tooling/autospec.rst:502 +msgid "Related topics" +msgstr "" + +#: ../../../source/tooling/autospec.rst:504 +msgid ":ref:`Mixer tool `" +msgstr "" + diff --git a/localization/pot/locale/tooling/compatible-kernels.pot b/localization/pot/locale/tooling/compatible-kernels.pot new file mode 100644 index 00000000..30c999e6 --- /dev/null +++ b/localization/pot/locale/tooling/compatible-kernels.pot @@ -0,0 +1,86 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/tooling/compatible-kernels.rst:4 +msgid "Kernels" +msgstr "" + +#: ../../../source/tooling/compatible-kernels.rst:6 +msgid "The |CL-ATTR| provides the following Linux kernels with a respective bundle. This document describes the specific use cases these `bundles`_ serve and provides links to their source code." +msgstr "" + +#: ../../../source/tooling/compatible-kernels.rst:11 +msgid "Bare metal only" +msgstr "" + +#: ../../../source/tooling/compatible-kernels.rst:17 +msgid "Kernel native" +msgstr "" + +#: ../../../source/tooling/compatible-kernels.rst:14 +msgid "The *kernel-native* bundle focuses on the bare metal platforms. It is optimized for fast booting and performs best on the Intel® architectures described on the :ref:`supported hardware list`. The optimization patches are found in our `Linux`_ GitHub\\* repo." +msgstr "" + +#: ../../../source/tooling/compatible-kernels.rst:24 +msgid "Kernel Container" +msgstr "" + +#: ../../../source/tooling/compatible-kernels.rst:20 +msgid "The *kernel-container* bundle contains the kernel used by the Intel® Clear Containers project. This kernel is optimized for fast booting and performs best on |CC| running on the Intel® architectures described on the :ref:`supported hardware list`. The optimization patches are found in our `Linux-Container`_ GitHub repo." +msgstr "" + +#: ../../../source/tooling/compatible-kernels.rst:29 +msgid "Also compatible with VMs" +msgstr "" + +#: ../../../source/tooling/compatible-kernels.rst:39 +msgid "Kernel LTS" +msgstr "" + +#: ../../../source/tooling/compatible-kernels.rst:32 +msgid "The *kernel-lts* bundle focuses on the bare metal platforms but uses the latest :abbr:`LTS (Long Term Support)` Linux kernel. It is optimized for fast booting and performs best on the Intel® architectures described on the :ref:`supported hardware list`. Additionally, this kernel includes the VirtualBox\\* kernel modules, see our :ref:`instructions on using Virtualbox` for more information. The optimization patches are found in our `Linux-LTS`_ GitHub repo." +msgstr "" + +#: ../../../source/tooling/compatible-kernels.rst:42 +msgid "VM only" +msgstr "" + +#: ../../../source/tooling/compatible-kernels.rst:54 +msgid "Kernel KVM" +msgstr "" + +#: ../../../source/tooling/compatible-kernels.rst:45 +msgid "The *kernel-kvm* bundle focuses on the Linux :abbr:`KVM (Kernel-based Virtual Machine)`. It is optimized for fast booting and performs best on Virtual Machines running on the Intel® architectures described on the :ref:`supported hardware list`. Use this kernel when running |CL| as the guest OS on top of *qemu/kvm*. Use this kernel with **cloud orchestrators** using *qemu/kvm* internally as their **hypervisor** . This kernel can be used as a standalone |CL| VM, see our :ref:`instructions on using KVM` for more information. The optimization patches are found in our `Linux-KVM`_ GitHub repo." +msgstr "" + +#: ../../../source/tooling/compatible-kernels.rst:65 +msgid "Kernel Hyper-V\\*" +msgstr "" + +#: ../../../source/tooling/compatible-kernels.rst:57 +msgid "The *kernel-hyperv* bundle focuses on running Linux on Microsoft\\* Hyper-V. It is optimized for fast booting and performs best on Virtual Machines running on the Intel® architectures described on the :ref:`supported hardware list`. Use this kernel when running |CL| as the guest OS of **Cloud Instances** in projects such as Microsoft `Azure`_\\*. This kernel can be used in a standalone |CL| VM, see our :ref:`instructions on using Hyper-V` for more information. The optimization patches are found in our `Linux-HyperV`_ GitHub repo." +msgstr "" + +#: ../../../source/tooling/compatible-kernels.rst:78 +msgid "Kernel Hyper-V LTS" +msgstr "" + +#: ../../../source/tooling/compatible-kernels.rst:68 +msgid "The *kernel-hyperv-lts* bundle focuses on running Linux on Microsoft Hyper-V but uses the latest :abbr:`LTS (Long Term Support)` Linux kernel. It is optimized for fast booting and performs best on Virtual Machines running on the Intel® architectures described on the :ref:`supported hardware list`. Use this kernel when running |CL| as the guest OS of **Cloud Instances** in projects such as Microsoft `Azure`_. This kernel can be used in a standalone |CL| VM, see our :ref:`instructions on using Hyper-V` for more information. The optimization patches are found in our `Linux-HyperV-LTS`_ GitHub repo." +msgstr "" + diff --git a/localization/pot/locale/tooling/debug.pot b/localization/pot/locale/tooling/debug.pot new file mode 100644 index 00000000..68c51ff1 --- /dev/null +++ b/localization/pot/locale/tooling/debug.pot @@ -0,0 +1,90 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/tooling/debug.rst:4 +msgid "Debug System" +msgstr "" + +#: ../../../source/tooling/debug.rst:6 +msgid "|CL-ATTR| introduces a novel approach to system software debugging using *clr-debug-info*. On the client side, the |CL| debug system obtains any necessary debug information on-the-fly over a network during a debugging session. On the server side, the system curates and compresses debug information into small pieces for efficient downloading." +msgstr "" + +#: ../../../source/tooling/debug.rst:12 +msgid "For developers, this avoids the interruption during debugging that usually happens when debug information is missing. This can be especially useful on systems where storage is limited." +msgstr "" + +#: ../../../source/tooling/debug.rst:22 +msgid "Background" +msgstr "" + +#: ../../../source/tooling/debug.rst:24 +msgid "Software that is compiled and packaged for general usage in an operating system typically only contains components that are used to execute the program, such as binaries and libraries. Extra developer data, such as the actual source code and symbol information, are separated and excluded for efficiency." +msgstr "" + +#: ../../../source/tooling/debug.rst:30 +msgid "The debug information helps relate binary code to human readable source code lines and variables. Most of the time, this auxiliary information is not needed; however without it, debugging a program results in limited visibility." +msgstr "" + +#: ../../../source/tooling/debug.rst:37 +msgid "Usage" +msgstr "" + +#: ../../../source/tooling/debug.rst:39 +msgid "The clr-debug-info system is integrated into |CL| and seamlessly engages once installed." +msgstr "" + +#: ../../../source/tooling/debug.rst:42 +msgid "Install the *dev-utils* bundle." +msgstr "" + +#: ../../../source/tooling/debug.rst:50 +msgid "The *telemetrics* and *performance-tools* bundles also include clr-debug-info." +msgstr "" + +#: ../../../source/tooling/debug.rst:54 +msgid "Start a debugging session against a program using a debugger, such as GDB. For example, to debug *gnome-control-center* execute the following command:" +msgstr "" + +#: ../../../source/tooling/debug.rst:62 +msgid "As you step through the program and debug information is needed, the clr_debug_daemon obtains it in the background." +msgstr "" + +#: ../../../source/tooling/debug.rst:67 +msgid "Implementation" +msgstr "" + +#: ../../../source/tooling/debug.rst:69 +msgid "The implementation of the |CL| debug system is open source and available on GitHub at: https://github.com/clearlinux/clr-debug-info/" +msgstr "" + +#: ../../../source/tooling/debug.rst:76 +msgid "Figure 1: The communication flow of the |CL| debug system" +msgstr "" + +#: ../../../source/tooling/debug.rst:78 +msgid "The |CL| debug system implements a :abbr:`FUSE (filesystem in userspace)` filesystem mounted at :file:`/usr/lib/debug` and :file:`/usr/src/debug`. The FUSE filesystem starts automatically. You can verify its status by executing :command:`systemctl status clr_debug_fuse.service`." +msgstr "" + +#: ../../../source/tooling/debug.rst:83 +msgid "The *clr_debug_daemon* is responsible for fetching the appropriate package debug content from the server and making it available for any debugging programs that need it. It is socket activated whenever a request to the local FUSE filesystem occurs. You can verify its status with :command:`systemctl status clr_debug_daemon.service`." +msgstr "" + +#: ../../../source/tooling/debug.rst:90 +msgid "|CL| hosts debuginfo content packaged for consumption by |CL| debug clients at https://download.clearlinux.org/debuginfo/" +msgstr "" + diff --git a/localization/pot/locale/tooling/ister.pot b/localization/pot/locale/tooling/ister.pot new file mode 100644 index 00000000..2c04e878 --- /dev/null +++ b/localization/pot/locale/tooling/ister.pot @@ -0,0 +1,130 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/tooling/ister.rst:4 +msgid "ister.py image builder" +msgstr "" + +#: ../../../source/tooling/ister.rst:6 +msgid "The `ister.py tool`_ is a template-based installer used by |CL-ATTR| to produce images for each release. The same ister tool is available for use in |CL| to create custom images based on an upstream image." +msgstr "" + +#: ../../../source/tooling/ister.rst:15 +msgid "Description" +msgstr "" + +#: ../../../source/tooling/ister.rst:17 +msgid "|CL| is a rolling release and produces an average of 10 releases per week using the ister tool. With each release we produce multiple :ref:`image types for different environments ` and use cases such as installers, Hyper-V, KVM, or VMWare." +msgstr "" + +#: ../../../source/tooling/ister.rst:22 +msgid "Each image has a JSON configuration file that is used by ister to generate the image. These JSON configuration files describe the image type, partitions, version, and bundles that will be preinstalled by default with the image. For each image type we produce, the corresponding JSON configuration file for the image also is published." +msgstr "" + +#: ../../../source/tooling/ister.rst:28 +msgid "The :ref:`mixer` tool also uses ister to build images for your custom mix. Like upstream images, a JSON configuration file is defined for the image, which ister uses to generate the image. Refer to the :ref:`mixer` guide for instructions on using ister to build an image for a custom mix." +msgstr "" + +#: ../../../source/tooling/ister.rst:34 +msgid "Examples" +msgstr "" + +#: ../../../source/tooling/ister.rst:37 +msgid "Recreate an upstream image" +msgstr "" + +#: ../../../source/tooling/ister.rst:39 +msgid "The published configuration files for upstream images may be used to recreate an image. Here are some examples:" +msgstr "" + +#: ../../../source/tooling/ister.rst:42 +msgid "Use an older version of |CL| and the image is no longer available (only after March 2017)." +msgstr "" + +#: ../../../source/tooling/ister.rst:44 +msgid "Customize the partitions of an image." +msgstr "" + +#: ../../../source/tooling/ister.rst:45 +msgid "Customize the bundles preinstalled in an image." +msgstr "" + +#: ../../../source/tooling/ister.rst:46 +msgid "Run your own post installation script." +msgstr "" + +#: ../../../source/tooling/ister.rst:49 +msgid "Follow these steps to recreate an upstream image based on the image's JSON configuration file:" +msgstr "" + +#: ../../../source/tooling/ister.rst:52 +msgid "Install the :command:`os-installer` bundle. Refer to `Install a bundle`_ for more details." +msgstr "" + +#: ../../../source/tooling/ister.rst:55 +msgid "Download the `ister.py tool`_ and grant it sudo privileges." +msgstr "" + +#: ../../../source/tooling/ister.rst:57 +msgid "Download the JSON configuration file for the desired image:" +msgstr "" + +#: ../../../source/tooling/ister.rst:59 +msgid "`Configuration files for the current release`_" +msgstr "" + +#: ../../../source/tooling/ister.rst:60 +msgid "`Previous releases`_ (only after March 2017)" +msgstr "" + +#: ../../../source/tooling/ister.rst:62 +msgid "For a previous release, navigate to `Previous releases`_, select the version you want, and find the JSON configuration file under :file:`/clear/config/image`. For example: ``https://cdn.download.clearlinux.org/releases/15700/clear/config/image/``" +msgstr "" + +#: ../../../source/tooling/ister.rst:67 +msgid "Download the “PostNonChroot” script (if applicable)." +msgstr "" + +#: ../../../source/tooling/ister.rst:69 +msgid "The JSON configuration file for the image may have an accompanying “PostNonChroot” script that is executed at the end of the image creation process. If it does, download the script and make it executable." +msgstr "" + +#: ../../../source/tooling/ister.rst:73 +msgid "Edit the JSON configuration file as needed." +msgstr "" + +#: ../../../source/tooling/ister.rst:75 +msgid "If your configuration file has an accompanying \"PostNonChroot\" script, change the default path of the script to match your path." +msgstr "" + +#: ../../../source/tooling/ister.rst:78 +msgid "Generate the new image with the following command:" +msgstr "" + +#: ../../../source/tooling/ister.rst:85 +msgid "Related topics" +msgstr "" + +#: ../../../source/tooling/ister.rst:87 +msgid ":ref:`mixer`" +msgstr "" + +#: ../../../source/tooling/ister.rst:88 +msgid ":ref:`bulk-provision`" +msgstr "" + diff --git a/localization/pot/locale/tooling/mixer.pot b/localization/pot/locale/tooling/mixer.pot new file mode 100644 index 00000000..be2144ee --- /dev/null +++ b/localization/pot/locale/tooling/mixer.pot @@ -0,0 +1,787 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/tooling/mixer.rst:4 +msgid "mixer" +msgstr "" + +#: ../../../source/tooling/mixer.rst:6 +msgid "**mixer** is the tool used by the |CL-ATTR| team to generate official update content and releases. The update content generated by mixer is then consumed by swupd on a downstream client. The same mixer tool is available as part of |CL| to create your own customized update content and releases." +msgstr "" + +#: ../../../source/tooling/mixer.rst:16 +msgid "Description" +msgstr "" + +#: ../../../source/tooling/mixer.rst:18 +msgid "mixer uses the following sources as inputs to generate update content:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:20 +msgid "Upstream |CL| bundles with their corresponding RPM packages" +msgstr "" + +#: ../../../source/tooling/mixer.rst:21 +msgid "Locally-defined bundles with their corresponding local RPM packages" +msgstr "" + +#: ../../../source/tooling/mixer.rst:22 +msgid "Locally-defined bundles with upstream RPM packages" +msgstr "" + +#: ../../../source/tooling/mixer.rst:24 +msgid "Using the mixer tool, you select which set of content from these sources will be part of your update. You can select content from each of these sources to make a unique combination of functionality for your custom update content, known as a **mix**." +msgstr "" + +#: ../../../source/tooling/mixer.rst:29 +msgid "The update content that mixer generates consists of various pieces of OS content, update metadata, as well as a complete image. The OS content includes all files in an update, as well as zero- and delta-packs for improved update performance. The update metadata, stored as manifests, describes all of the bundle information for the update. Update content produced by mixer is then published to a web server and consumed by clients via swupd. Refer to :ref:`swupd ` for additional information regarding updates and update content." +msgstr "" + +#: ../../../source/tooling/mixer.rst:39 +msgid "How it works" +msgstr "" + +#: ../../../source/tooling/mixer.rst:41 +msgid "Learn the mixer tool set up and workflow." +msgstr "" + +#: ../../../source/tooling/mixer.rst:48 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/tooling/mixer.rst:50 +msgid ":command:`mixer` bundle" +msgstr "" + +#: ../../../source/tooling/mixer.rst:52 +msgid "Add the mixer tool with the :command:`mixer` bundle. Refer to `Install a bundle`_ for more details." +msgstr "" + +#: ../../../source/tooling/mixer.rst:55 +msgid "Docker\\* container" +msgstr "" + +#: ../../../source/tooling/mixer.rst:57 +msgid "mixer by default runs all build commands in a Docker container to ensure the correct tool versions are used. This also allows custom mixes to automatically perform downstream format bumps when the upstream releases a format bump. See `Format version`_ for additional information regarding format bumps." +msgstr "" + +#: ../../../source/tooling/mixer.rst:63 +msgid "Refer to `Configure and enable Docker`_ for instruction." +msgstr "" + +#: ../../../source/tooling/mixer.rst:65 +msgid "Docker proxy (optional)" +msgstr "" + +#: ../../../source/tooling/mixer.rst:67 +msgid "If you use a proxy server, you must set your proxy environment variables and create a proxy configuration file for the Docker daemon and container." +msgstr "" + +#: ../../../source/tooling/mixer.rst:70 +msgid "Consult your IT department for the correct values if you are behind a corporate proxy." +msgstr "" + +#: ../../../source/tooling/mixer.rst:73 +msgid "Refer to `Configure Docker proxy info`_ for instruction." +msgstr "" + +#: ../../../source/tooling/mixer.rst:75 +msgid "Location to host the update content and images" +msgstr "" + +#: ../../../source/tooling/mixer.rst:77 +msgid "In order for swupd to make use of your mix, the update content for your mix must be hosted on a web server. Your mix will be configured with an update location URL, which swupd will use to pull down updates." +msgstr "" + +#: ../../../source/tooling/mixer.rst:81 +msgid "Refer to `Set up a nginx web server for mixer`_ for an simple example of setting up an update location." +msgstr "" + +#: ../../../source/tooling/mixer.rst:85 +msgid "Mix setup" +msgstr "" + +#: ../../../source/tooling/mixer.rst:87 +msgid "Follow these steps to create and initialize the mixer workspace. Complete the setup before you create a mix." +msgstr "" + +#: ../../../source/tooling/mixer.rst:90 +msgid "Create workspace." +msgstr "" + +#: ../../../source/tooling/mixer.rst:92 +msgid "The mixer tool uses a simple workspace to contain all input and output in a basic directory structure. The workspace is simply an empty folder from which you execute the mixer commands. Each mix uses its own separate workspace." +msgstr "" + +#: ../../../source/tooling/mixer.rst:97 +msgid "Initialize the workspace and mix." +msgstr "" + +#: ../../../source/tooling/mixer.rst:99 +msgid "Before you create a mix, you must explicitly initialize the mixer workspace. During initialization, the mixer workspace is configured and the base for your mix is defined. By default, your mix is based on the latest upstream version and starts with the minimum set of bundles. Your first custom mix version number starts at 10. Alternatively, you can select other versions or bundle sets from which to start." +msgstr "" + +#: ../../../source/tooling/mixer.rst:106 +msgid "Initialization creates the directory structure within the workspace and adds the :file:`builder.conf` file, which is used to configure the mixer tool." +msgstr "" + +#: ../../../source/tooling/mixer.rst:109 +msgid "View the `mixer.init man page`_ for more information on mixer initialization." +msgstr "" + +#: ../../../source/tooling/mixer.rst:112 +msgid "View the list of `suitable versions`_ from which to mix." +msgstr "" + +#: ../../../source/tooling/mixer.rst:114 +msgid "Edit builder.conf." +msgstr "" + +#: ../../../source/tooling/mixer.rst:116 +msgid ":file:`builder.conf` tells the mixer tool how to configure the mix. For example, it allows you to configure where mixer output is located and where swupd update content will be located." +msgstr "" + +#: ../../../source/tooling/mixer.rst:120 +msgid "At minimum, set the URL of your update server so your custom OS knows where to get update content." +msgstr "" + +#: ../../../source/tooling/mixer.rst:123 +msgid "Refer to the `builder.conf`_ section for more information." +msgstr "" + +#: ../../../source/tooling/mixer.rst:126 +msgid "Create a mix" +msgstr "" + +#: ../../../source/tooling/mixer.rst:128 +msgid "A mix is created with the following steps:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:130 +msgid "Add custom RPMs and set up local repo (optional)." +msgstr "" + +#: ../../../source/tooling/mixer.rst:132 +msgid "If you are adding custom RPMs to your mix, you must add the RPMs to your mix workspace and set up a corresponding local repository." +msgstr "" + +#: ../../../source/tooling/mixer.rst:135 +msgid "Go to the :ref:`autospec` guide to learn to build RPMs from scratch. If the RPMs are not built on |CL|, make sure your configuration and toolchain builds them correctly for |CL|. Otherwise there is no guarantee they will be compatible." +msgstr "" + +#: ../../../source/tooling/mixer.rst:140 +msgid "Refer to the :ref:`autospec` guide for more information on using autospec to build RPMs." +msgstr "" + +#: ../../../source/tooling/mixer.rst:143 +msgid "Update and build bundles." +msgstr "" + +#: ../../../source/tooling/mixer.rst:145 +msgid "Add, edit, or remove bundles that will be part of your content and build them. mixer automatically updates the :file:`mixbundles` file when you update the bundles in your mix." +msgstr "" + +#: ../../../source/tooling/mixer.rst:149 +msgid "View the `mixer.bundle man page`_ for more information on configuring bundles in a mix." +msgstr "" + +#: ../../../source/tooling/mixer.rst:152 +msgid "View the `mixer.build man page`_ for more information on building bundles." +msgstr "" + +#: ../../../source/tooling/mixer.rst:154 +msgid "View the `Bundles`_ section for more information on how mixer manages bundles." +msgstr "" + +#: ../../../source/tooling/mixer.rst:157 +msgid "Create the update content." +msgstr "" + +#: ../../../source/tooling/mixer.rst:159 +msgid "mixer creates update content with this step. Zero-packs are created automatically, and delta-packs can be optionally created at the same time (for all builds after version 0)." +msgstr "" + +#: ../../../source/tooling/mixer.rst:163 +msgid "A zero-pack is the full set of content needed to go from mix version 0 (nothing) to the mix version for which you just built content." +msgstr "" + +#: ../../../source/tooling/mixer.rst:166 +msgid "A delta-pack provides the content *delta* between a `PAST_VERSION` to a `MIX_VERSION` that allows the transition from one mix version to another." +msgstr "" + +#: ../../../source/tooling/mixer.rst:169 +msgid "View :ref:`swupd-guide` for more information on update content." +msgstr "" + +#: ../../../source/tooling/mixer.rst:171 +msgid "Create image." +msgstr "" + +#: ../../../source/tooling/mixer.rst:173 +msgid "mixer creates a bootable image from your updated content using the :ref:`ister` tool. In this step you can specify which bundles you want *preinstalled* in the image. Users can later install other bundles available in your mix." +msgstr "" + +#: ../../../source/tooling/mixer.rst:178 +msgid "Make update available." +msgstr "" + +#: ../../../source/tooling/mixer.rst:180 +msgid "Deploy update content and images to your update server." +msgstr "" + +#: ../../../source/tooling/mixer.rst:182 +msgid "View the `Example 3: Deploy updates to target`_ for a simple deployment scenario." +msgstr "" + +#: ../../../source/tooling/mixer.rst:186 +msgid "Maintain or modify mix" +msgstr "" + +#: ../../../source/tooling/mixer.rst:188 +msgid "Update or modify your content to a new version by following the steps to create a mix. Increment the mix version number for the next mix." +msgstr "" + +#: ../../../source/tooling/mixer.rst:192 +msgid "Examples" +msgstr "" + +#: ../../../source/tooling/mixer.rst:194 +msgid "The following examples are designed to work together and in order. The examples use:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:197 +msgid "A stock installation of |CL|." +msgstr "" + +#: ../../../source/tooling/mixer.rst:198 +msgid "A web server that comes with |CL| to host the content updates." +msgstr "" + +#: ../../../source/tooling/mixer.rst:199 +msgid "A simple VM that updates against the locally produced content created in Example 2." +msgstr "" + +#: ../../../source/tooling/mixer.rst:202 +msgid "Complete all `Prerequisites`_ before using these examples." +msgstr "" + +#: ../../../source/tooling/mixer.rst:205 +msgid "Example 1: Mix set up" +msgstr "" + +#: ../../../source/tooling/mixer.rst:207 +msgid "This example shows the basic steps for the first-time setup of mixer for a new mix." +msgstr "" + +#: ../../../source/tooling/mixer.rst:210 +msgid "Create an empty directory to use as a workspace for mixer:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:216 +msgid "In your mixer workspace, generate an initial mix based on the latest upstream |CL| version, with minimum bundles. In the initialization output, be aware that your initial mix version is set to 10 and that the minimum bundles have been added." +msgstr "" + +#: ../../../source/tooling/mixer.rst:226 +msgid "Edit :file:`builder.conf` to set the value of CONTENTURL and VERSIONURL to the IP address of the nginx\\* server you set up in the prerequisite `Set up a nginx web server for mixer`_. For example:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:238 +msgid "Example 2: Create a simple mix" +msgstr "" + +#: ../../../source/tooling/mixer.rst:240 +msgid "This example shows how to create a simple custom mix using upstream content. We'll create an image for a QEMU virtual machine that we can use later to test our mix." +msgstr "" + +#: ../../../source/tooling/mixer.rst:244 +msgid "We can use the default bundles that were added during initialization, but these include the :command:`native-kernel` bundle that is intended to be used on a bare metal system instead of a VM. So we will modify the default bundle set to get a smaller kernel image, which will also be faster to load." +msgstr "" + +#: ../../../source/tooling/mixer.rst:249 +msgid "Update bundles in mix:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:256 +msgid "Build bundles:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:262 +msgid "Look in ~/mixer/update/image//full for the full chroot after the :command:`build` command completes." +msgstr "" + +#: ../../../source/tooling/mixer.rst:265 +msgid "Build update content. Browse to your \\http://localhost site and you'll see the web page is now up, but with no update content. Build the update content:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:272 +msgid "Refresh your \\http://localhost site and now you can see the update content for mix version 10." +msgstr "" + +#: ../../../source/tooling/mixer.rst:275 +#: ../../../source/tooling/mixer.rst:339 +msgid "Look in ~/mixer/update/www/ to see the update content in your workspace." +msgstr "" + +#: ../../../source/tooling/mixer.rst:278 +msgid "Configure image. Edit the ister configuration file for your image to include all of the bundles you want preinstalled in the image. If this is the first time creating an image, first get a copy of the :file:`release-image-config.json` template file:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:287 +msgid "For this example, edit :file:`release-image-config.json` so that the root partition size is \"5G\" and replace the \"kernel-native\" bundle with \"kernel-kvm\"." +msgstr "" + +#: ../../../source/tooling/mixer.rst:307 +msgid "Build the image." +msgstr "" + +#: ../../../source/tooling/mixer.rst:313 +msgid "The output from this step will be :file:`release.img`, which is a live image." +msgstr "" + +#: ../../../source/tooling/mixer.rst:315 +msgid "Make the next mix. Create a new version of your mix, for the live image to update to. Increment your mix version by 10:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:322 +msgid "Repeat steps 1-3 to add the upstream :command:`curl` bundle to the mix:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:330 +msgid "Build optional delta-packs, which helps reduce client update time:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:336 +msgid "Refresh your \\http://localhost site to see the update content for mix version 20." +msgstr "" + +#: ../../../source/tooling/mixer.rst:343 +msgid "Example 3: Deploy updates to target" +msgstr "" + +#: ../../../source/tooling/mixer.rst:345 +msgid "The image created in Example 2 is directly bootable in QEMU. In this example, we'll boot the image from Example 2 to verify it, and update the image from mix version 10 (from which the image was built), to mix version 20." +msgstr "" + +#: ../../../source/tooling/mixer.rst:349 +msgid "Set up the QEMU environment." +msgstr "" + +#: ../../../source/tooling/mixer.rst:351 +msgid "Install the :command:`kvm-host` bundle to your |CL|:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:357 +msgid "Get the virtual EFI firmware, download the image launch script, and make it executable:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:366 +msgid "Start your VM image (created in Example 2):" +msgstr "" + +#: ../../../source/tooling/mixer.rst:372 +msgid "Log in as root and set a password" +msgstr "" + +#: ../../../source/tooling/mixer.rst:374 +msgid "Try out your mix." +msgstr "" + +#: ../../../source/tooling/mixer.rst:376 +msgid "Take a look at the default bundles installed in your mix:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:386 +msgid "You cannot see the curl bundle that you added in Example 2 because your mix is still on version 10." +msgstr "" + +#: ../../../source/tooling/mixer.rst:389 +msgid "Check for updates. You should see that version 20 is available. Use swupd to update your mix:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:398 +msgid "Now your mix should be at version 20 and curl is now available. Try using curl. This will fail because curl is not yet installed:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:406 +msgid "Add the new bundle from your update server to your VM. Retry curl. It works!" +msgstr "" + +#: ../../../source/tooling/mixer.rst:413 +msgid "Shutdown your VM:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:424 +msgid "References" +msgstr "" + +#: ../../../source/tooling/mixer.rst:426 +msgid "Reference the `mixer man page`_ for details regarding mixer commands and options." +msgstr "" + +#: ../../../source/tooling/mixer.rst:435 +msgid "builder.conf" +msgstr "" + +#: ../../../source/tooling/mixer.rst:437 +msgid "mixer initialization creates a :file:`builder.conf` that stores the basic configuration for the mixer tool. The items of primary interest are CONTENTURL and VERSIONURL, which will be used by systems updating against your custom content." +msgstr "" + +#: ../../../source/tooling/mixer.rst:470 +msgid "Additional explanation of variables in :file:`builder.conf` is provided in Table 1." +msgstr "" + +#: ../../../source/tooling/mixer.rst:474 +msgid "**Variable**" +msgstr "" + +#: ../../../source/tooling/mixer.rst:474 +msgid "**Explanation**" +msgstr "" + +#: ../../../source/tooling/mixer.rst:476 +msgid "`CERT`" +msgstr "" + +#: ../../../source/tooling/mixer.rst:476 +msgid "Sets the path where mixer stores the certificate file used to sign content for verification. mixer automatically generates the certificate if you do not provide the path to an existing one, and signs the :file:`Manifest.MoM` file to provide security for the updated content you create." +msgstr "" + +#: ../../../source/tooling/mixer.rst:483 +msgid "chroot-builder uses the certificate file to sign the root :file:`Manifest.MoM` file to provide security for content verification." +msgstr "" + +#: ../../../source/tooling/mixer.rst:487 +msgid "swupd uses this certificate to verify the :file:`Manifest.MoM` file's signature." +msgstr "" + +#: ../../../source/tooling/mixer.rst:490 +msgid "For now, we strongly recommend that you do not modify this variable, as swupd expects a certificate with a very specific configuration to sign and verify properly." +msgstr "" + +#: ../../../source/tooling/mixer.rst:495 +msgid "`CONTENTURL` and `VERSIONURL`" +msgstr "" + +#: ../../../source/tooling/mixer.rst:495 +msgid "Set these variables to the IP address of the web server hosting the update content." +msgstr "" + +#: ../../../source/tooling/mixer.rst:498 +msgid "VERSIONURL is the IP address where the swupd client looks to determine if a new version is available." +msgstr "" + +#: ../../../source/tooling/mixer.rst:501 +msgid "CONTENTURL is the location from which swupd pulls content updates." +msgstr "" + +#: ../../../source/tooling/mixer.rst:504 +msgid "If the web server is on the same machine as the SERVER_STATE_DIR directory, you can create a symlink to the directory in your web server's document root to easily host the content." +msgstr "" + +#: ../../../source/tooling/mixer.rst:509 +msgid "These URLs are embedded in the images created by mixer." +msgstr "" + +#: ../../../source/tooling/mixer.rst:511 +msgid "`DOCKER_IMAGE_PATH`" +msgstr "" + +#: ../../../source/tooling/mixer.rst:511 +msgid "Sets the base name of the docker image that mixer pulls down to run builds in the proper container." +msgstr "" + +#: ../../../source/tooling/mixer.rst:514 +msgid "`LOCAL_BUNDLE_DIR`" +msgstr "" + +#: ../../../source/tooling/mixer.rst:514 +msgid "Sets the path where mixer stores the local bundle definition files. The bundle definition files include any new, original bundles you create, along with any edited versions of upstream bundles." +msgstr "" + +#: ../../../source/tooling/mixer.rst:519 +msgid "`SERVER_STATE_DIR`" +msgstr "" + +#: ../../../source/tooling/mixer.rst:519 +msgid "Sets the path to which mixer outputs content. By default, mixer automatically sets the path." +msgstr "" + +#: ../../../source/tooling/mixer.rst:522 +msgid "`VERSIONS_PATH`" +msgstr "" + +#: ../../../source/tooling/mixer.rst:522 +msgid "Sets the path for the mix version and upstream version's two state files: :file:`mixversion` and :file:`upstreamversion`. mixer creates both files for you when you set up the workspace." +msgstr "" + +#: ../../../source/tooling/mixer.rst:527 +msgid "`YUM_CONF`" +msgstr "" + +#: ../../../source/tooling/mixer.rst:527 +msgid "Sets the path where mixer automatically generates the :file:`.yum-mix.conf` file." +msgstr "" + +#: ../../../source/tooling/mixer.rst:530 +msgid "The yum configuration file points the chroot-builder to where the RPMs are stored." +msgstr "" + +#: ../../../source/tooling/mixer.rst:533 +msgid "**Table 1**: *Variables in builder.conf*" +msgstr "" + +#: ../../../source/tooling/mixer.rst:537 +msgid "Format version" +msgstr "" + +#: ../../../source/tooling/mixer.rst:539 +msgid "Compatible versions of an OS are tracked with an OS *compatibility epoch*. Versions of an OS within an epoch are fully compatible and can update to any other version within that epoch. The compatibility epoch is set as the `Format` variable in the :file:`mixer.state` file. Variables in the :file:`mixer.state` are used by mixer between executions and should not be manually changed." +msgstr "" + +#: ../../../source/tooling/mixer.rst:545 +msgid "If `Format` increments to a new epoch (a \"format bump\"), the OS has changed in such a way that updating from build M in format X to build N in format Y will not work. Generally, this scenario occurs when the software updater or the software has a change such that it is no longer compatible with the previous update scheme, or when a package is removed from the update stream and the update must ensure the files associated with that package are removed from the system." +msgstr "" + +#: ../../../source/tooling/mixer.rst:552 +msgid "Using a format increment, we make sure pre- and co-requisite changes flow out with proper ordering. The updated client will only update to the latest release in its respective format version, unless overridden by command line flags. In this way, we can guarantee that all clients update to the final version in their given format." +msgstr "" + +#: ../../../source/tooling/mixer.rst:558 +msgid "The given format *must* contain all the changes needed to understand the content built in the next format. Only after reaching the final release in the old format can a client continue to update to releases in the new format." +msgstr "" + +#: ../../../source/tooling/mixer.rst:562 +msgid "The format version is incremented only when a compatibility breakage is introduced. Normal updates, such as updating a software package, do not require a format increment." +msgstr "" + +#: ../../../source/tooling/mixer.rst:569 +msgid "Bundles" +msgstr "" + +#: ../../../source/tooling/mixer.rst:571 +msgid "mixer stores information about the bundles included in a mix in a flat file called :file:`mixbundles`, which is located in the path set by the VERSIONS_PATH variable in :file:`builder.conf`. :file:`mixbundles` is automatically created when the mix is initiated. mixer will refresh the file each time you change the bundles in the mix." +msgstr "" + +#: ../../../source/tooling/mixer.rst:577 +msgid "Bundles can include other bundles. Nested bundles can themselves include other bundles. If you see an unexpected bundle in your mix, it is likely a nested bundle in one of the bundles you explicitly added." +msgstr "" + +#: ../../../source/tooling/mixer.rst:581 +msgid "A bundle will fill into one of two categories: upstream or local. Upstream bundles are those provided by |CL|. Local bundles are either modified upstream bundles or new local bundles." +msgstr "" + +#: ../../../source/tooling/mixer.rst:586 +msgid "Upstream bundles" +msgstr "" + +#: ../../../source/tooling/mixer.rst:588 +msgid "mixer automatically downloads and caches upstream bundle definition files. These definition files are stored in the upstream-bundles directory in the workspace. Do not modify the files in this directory. This directory is simply a mirror for mixer to use. mixer will automatically delete the contents of this directory before repopulating it on-the-fly if a new version must be downloaded." +msgstr "" + +#: ../../../source/tooling/mixer.rst:594 +msgid "The mixer tool automatically caches the bundles for the |CL| version configured in the :file:`upstreamversion` file. mixer also cleans up old versions once they are no longer needed." +msgstr "" + +#: ../../../source/tooling/mixer.rst:599 +msgid "Local bundles" +msgstr "" + +#: ../../../source/tooling/mixer.rst:601 +msgid "Local bundles are bundles that you create, or are edited versions of upstream bundles. Local bundle definition files are stored in the local-bundles directory in the workspace. The LOCAL_BUNDLE_DIR variable sets the path of this directory in the :file:`builder.conf` file." +msgstr "" + +#: ../../../source/tooling/mixer.rst:606 +msgid "*mixer always checks for local bundles first and the upstream bundles second.* So bundles in the local-bundles directory will always take precedence over any upstream bundles that have the same name. This precedence enables you to copy upstream bundles locally, and edit into a local variation." +msgstr "" + +#: ../../../source/tooling/mixer.rst:612 +msgid "Bundle configuration" +msgstr "" + +#: ../../../source/tooling/mixer.rst:614 +msgid "mixer provides commands to configure the bundles for a mix, such as to add a bundle to a mix, to create a new bundle for a mix, or to remove a bundle from a mix. View the `mixer.bundle man page`_ for a full list of commands and more information on configuring bundles in a mix." +msgstr "" + +#: ../../../source/tooling/mixer.rst:619 +msgid "Editing an existing local bundle is as simple as opening the bundle definition file in your favorite editor, making the desired edits, and saving your changes." +msgstr "" + +#: ../../../source/tooling/mixer.rst:624 +msgid "Removing bundles from a mix: By default, removing a bundle will only remove the bundle from the mix. The local bundle definition file will still remain. To completely remove a bundle, including its local bundle definition file, use the :command:`--local` flag." +msgstr "" + +#: ../../../source/tooling/mixer.rst:629 +msgid "If you remove the bundle definition file for a local, edited version of an upstream bundle in a mix, the mix reverts to reference the original upstream version of the bundle." +msgstr "" + +#: ../../../source/tooling/mixer.rst:636 +msgid "Configure and enable Docker" +msgstr "" + +#: ../../../source/tooling/mixer.rst:638 +msgid "Use these steps to enable Docker for the mixer tool. Make sure to `Configure Docker proxy info`_ first if needed." +msgstr "" + +#: ../../../source/tooling/mixer.rst:641 +msgid "Start the Docker daemon:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:649 +msgid "Add user to the docker group" +msgstr "" + +#: ../../../source/tooling/mixer.rst:656 +msgid "Pull Docker container manually (optional)" +msgstr "" + +#: ../../../source/tooling/mixer.rst:658 +msgid "By default, mixer automatically pulls a Docker container for mixing if one does not already exist. If you need to troubleshoot the mixer container, it may be useful to manually pull a mixer Docker container." +msgstr "" + +#: ../../../source/tooling/mixer.rst:662 +msgid "Versions of the mixer Docker container are available under the tags for the `clearlinux/mixer repo `_ on Docker Hub. Each version of the mixer Docker container is named after the associated |CL| upstream format version. Refer to `Format version`_ for additional information on upstream format versions." +msgstr "" + +#: ../../../source/tooling/mixer.rst:668 +msgid "Use the following steps to manually pull a mixer Docker container:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:670 +msgid "Find the version of the container you need by viewing the tags for the `clearlinux/mixer repo `_ on Docker Hub." +msgstr "" + +#: ../../../source/tooling/mixer.rst:674 +msgid "Pull the latest container version:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:680 +msgid "View local docker images:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:689 +msgid "Configure Docker proxy info" +msgstr "" + +#: ../../../source/tooling/mixer.rst:691 +msgid "If needed, use these steps to configure the Docker proxy information." +msgstr "" + +#: ../../../source/tooling/mixer.rst:693 +msgid "Create the Docker daemon proxy config directory:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:699 +msgid "Create :file:`/etc/systemd/system/docker.service.d/http-proxy.conf` and add the following using your own proxy values:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:708 +msgid "Reload the Docker daemon:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:714 +msgid "Configure the Docker container proxies, to pass proxy settings to containers:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:717 +msgid "Create a directory for your container config:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:723 +msgid "Create the config file :file:`~/.docker/config.json` and add the following entries, using your own proxy values:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:739 +msgid "Set ownership and permission on the docker config directory:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:746 +msgid "Configure proxies to allow mixer to access upstream content from behind a firewall." +msgstr "" + +#: ../../../source/tooling/mixer.rst:749 +msgid "Open your :file:`$HOME/.bashrc` file and add proxy and port values for the following:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:760 +msgid "Log out and log back in for the proxies to take effect." +msgstr "" + +#: ../../../source/tooling/mixer.rst:765 +msgid "Set up a nginx web server for mixer" +msgstr "" + +#: ../../../source/tooling/mixer.rst:767 +msgid "A web server is needed to host your update content. In this example, we use the nginx web server, which comes with |CL|." +msgstr "" + +#: ../../../source/tooling/mixer.rst:770 +msgid "Set up a nginx web server for mixer with the following steps:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:772 +msgid "Install the :command:`nginx` bundle:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:778 +msgid "Make the directory where mixer updates will reside:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:784 +msgid "Create a symbolic link between your workspace updates and the updates on the local nginx web server. In this example, `$HOME/mixer` is the workspace for the mix." +msgstr "" + +#: ../../../source/tooling/mixer.rst:792 +msgid "Set up ``nginx`` configuration:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:798 +msgid "Copy the default example configuration file:" +msgstr "" + +#: ../../../source/tooling/mixer.rst:804 +msgid "Configure the mixer update server. Create and add the following server configuration content to :file:`/etc/nginx/conf.d/mixer.conf` (sudo required):" +msgstr "" + +#: ../../../source/tooling/mixer.rst:817 +msgid "Restart the daemon, enable nginx on boot, and start the service." +msgstr "" + +#: ../../../source/tooling/mixer.rst:827 +msgid "Verify the web server is running at \\http://localhost. At this point you should no longer see a \"404 Not Found\" message." +msgstr "" + +#: ../../../source/tooling/mixer.rst:831 +msgid "Related topics" +msgstr "" + +#: ../../../source/tooling/mixer.rst:833 +msgid ":ref:`About mixer `" +msgstr "" + +#: ../../../source/tooling/mixer.rst:834 +msgid ":ref:`autospec-about`" +msgstr "" + +#: ../../../source/tooling/mixer.rst:835 +msgid ":ref:`bundles-about`" +msgstr "" + +#: ../../../source/tooling/mixer.rst:836 +msgid ":ref:`swupd-about`" +msgstr "" + diff --git a/localization/pot/locale/tooling/swupd-guide.pot b/localization/pot/locale/tooling/swupd-guide.pot new file mode 100644 index 00000000..bde0315a --- /dev/null +++ b/localization/pot/locale/tooling/swupd-guide.pot @@ -0,0 +1,342 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/tooling/swupd-guide.rst:4 +msgid "swupd" +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:6 +msgid ":command:`swupd` links a |CL-ATTR| installation with upstream updates and software." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:14 +msgid "Description" +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:16 +msgid ":command:`swupd` has two main functions:" +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:18 +msgid "Manage software and replace APT or YUM, by installing bundles rather than packages." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:20 +msgid "Check for system updates and install them." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:22 +msgid ":command:`swupd` manages overlapping dependencies behind the scenes, ensuring that all software is compatible across the system. It can be used to verify the OS, clean cached files, and fix issues." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:26 +msgid ":ref:`Bundles ` contain everything needed to deliver a software capability. They are the smallest granularity component that is managed by |CL|. A bundle comes with all of its dependencies rather than downloading a cascade of package dependencies when installing a piece of software." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:33 +msgid "Versioning" +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:35 +msgid "Using package managers to monitor software version compatibility or compare multiple systems on many Linux distributions can be cumbersome." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:38 +msgid "With |CL| :command:`swupd`, versioning happens at the individual file level. This means |CL| generates an entirely new OS version with any set of software changes to the system, including software downgrades or removals. This rolling release versioning model is similar to :command:`git` internal version tracking, where any of the individual file commits are tracked and move the pointer forward when changed." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:45 +msgid "A number that represents the **current** release of the OS describes the versions of all the software on the OS. Each build is composed of a specific set of bundles made from a particular version of packages. On a daily basis, this matters to system administrators who need to determine which of their systems do not have the latest security fixes, or which combinations of software have been tested. Every release of the same number is guaranteed to contain the same versions of software, so there's no ambiguity between two systems running the same version of |CL|." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:55 +msgid "Updating" +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:57 +msgid "|CL| enforces regular updating of the OS by default and automatically checks for updates against a version server. The content server provides the file and metadata content for all versions and can be the same as the version server. The content url server provides metadata in the form of *manifests*, which list and describe file contents, symlinks, and directories. Additionally, the actual content is provided to clients in the form of archive files." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:65 +msgid "Software updates with |CL| are also efficient. Unlike package-based distributions, :command:`swupd` only updates files that have changed, rather than entire packages. For example, it is quite common for an OS security patch to be as small as 15 KB. Using binary deltas, |CL| is able to apply only what is needed." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:71 +msgid "For details on how to generate update content for |CL|, see the :ref:`mixer ` tool." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:75 +msgid "How it works" +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:78 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:80 +msgid "The device is on a well-connected network." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:81 +msgid "The device is able to connect to an update server. The default server is: http://update.clearlinux.org" +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:85 +msgid "Updates" +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:87 +msgid "|CL| updates are automatic by default, but can be set to occur only on demand. :command:`swupd` makes sure that regular updates are simple and secure. It can also check the validity of currently installed files and software, and can correct any problems." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:93 +msgid "Manifests" +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:95 +msgid "The |CL| software update content consists of data and metadata. The data is the files that end up in the OS. The metadata contains relevant information to properly provision the data to the OS file system, as well as update the system and add or remove additional content to the OS." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:100 +msgid "The manifests are mostly long lists of hashes that describe content. Each bundle gets its own manifest file. There is a master manifest file that describes all manifests to tie it all together." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:105 +msgid "Fullfiles, packs, and delta packs" +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:107 +msgid "To speed up updates and optimize content delivery, update data provisioned to a system is obtained by one of the following methods:" +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:110 +msgid "*Fullfiles* are always generated for every file in every release. This allows any |CL| to obtain the exact copy of the content for each version directly. This is used if the OS verification needs to replace a single file, for instance." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:115 +msgid "*Packs* are available for some releases. They combine many files to speed up the creation of installation media and large updates." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:118 +msgid "*Delta packs* are an optimized version of packs that only contain updates (binary diffs). They cannot be used without having the original file content." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:122 +msgid "Bundle search" +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:124 +msgid ":command:`swupd` searches download manifest data for bundles that match the term. Enter only one term, or hyphenated term, per search. Use the command :command:`man swupd` to learn more." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:128 +msgid "Only the base bundle is returned. Bundles can contain other bundles via includes. For more details, see `Bundle Definition Files`_ and its subdirectory bundles." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:132 +msgid "Bundles that are already installed are marked **(installed)** in search results." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:135 +msgid "Optionally, you can review our `bundles`_ on GitHub\\*." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:138 +msgid "Examples" +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:141 +msgid "Example 1: Disable and enable automatic updates" +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:143 +msgid "|CL| updates are automatic by default, but can be set to occur only on demand." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:146 +msgid "Verify your current auto-update setting." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:156 +msgid "Disable automatic updates." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:170 +msgid "Check manually for updates." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:176 +msgid "Install an update after identifying one that you need." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:182 +msgid "Re-enable automatic installs." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:191 +msgid "Example 2: Find and install Kata Containers\\*" +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:193 +msgid "Kata Containers is a popular container implementation. Unlike other container implementations, each Kata Container has its own kernel instance and runs on its own :abbr:`VM (Virtual Machine)` for improved security." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:198 +msgid "|CL| makes it very easy to install, since you only need to add `one bundle`_ to use `Kata Containers`_: `containers-virt`, despite a number of dependencies. Also, check out our tutorial: :ref:`kata`." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:202 +msgid "Find the correct bundle." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:204 +msgid "To return all possible matches for the search string, enter :command:`swupd search`, followed by 'kata':" +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:211 +msgid "The output should be similar to:" +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:229 +msgid "If your search does not produce results with a specific term, shorten the search term. For example, use *kube* instead of *kubernetes*." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:232 +msgid "Add the bundle." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:240 +msgid "To add multiple bundles, add a space followed by the bundle name." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:242 +msgid "The output of a successful installation should be similar to:" +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:261 +msgid "Example 3: Verify and correct system file mismatch" +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:263 +msgid ":command:`swupd` can determine whether system directories and files have been added to, overwritten, removed, or modified (e.g., permissions)." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:270 +msgid "All directories that are watched by :command:`swupd` are verified according to the manifest data. Hash mismatches are flagged as follows:" +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:287 +msgid "In this case, Python\\* packages that were installed on top of the default install were flagged as mismatched. :command:`swupd` can be directed to ignore or fix issues based on command line options." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:291 +msgid ":command:`swupd` can correct any issues it detects. Additional directives can be added including a white list of directories to be ignored." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:294 +msgid "The following command repairs issues, removes unknown items, and ignores files or directories matching :file:`/usr/lib/python`:" +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:302 +msgid "Quick reference" +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:305 +msgid "swupd info" +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:305 +msgid "Returns the currently installed version and update servers." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:309 +msgid "swupd update " +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:308 +msgid "Updates to a specific version or updates to latest version if no arguments are used." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:312 +msgid "swupd bundle-list [--all]" +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:312 +msgid "Lists installed bundles." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:315 +msgid "swupd bundle-add [-b] " +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:315 +msgid "Finds a bundle that contains your search term." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:318 +msgid "swupd bundle-add " +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:318 +msgid "Adds a bundle." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:321 +msgid "swupd bundle-remove " +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:321 +msgid "Removes a bundle." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:324 +msgid "swupd --help" +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:324 +msgid "Lists additional :command:`swupd` commands." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:327 +msgid "man swupd" +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:327 +msgid "Opens the :command:`swupd` man page." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:329 +msgid "Refer to :command:`swupd` `source documentation`_ on GitHub for more details." +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:332 +msgid "Related topics" +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:334 +msgid ":ref:`autospec`" +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:335 +msgid ":ref:`mixer`" +msgstr "" + +#: ../../../source/tooling/swupd-guide.rst:336 +msgid ":ref:`bundles`" +msgstr "" + diff --git a/localization/pot/locale/tooling/tooling.pot b/localization/pot/locale/tooling/tooling.pot new file mode 100644 index 00000000..08768893 --- /dev/null +++ b/localization/pot/locale/tooling/tooling.pot @@ -0,0 +1,26 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/tooling/tooling.rst:4 +msgid "Tooling" +msgstr "" + +#: ../../../source/tooling/tooling.rst:6 +msgid "Clear Linux is a little different from other distros. Here are some important tools and concepts for managing your install." +msgstr "" + diff --git a/localization/pot/locale/tutorials/aws-web/aws-web.pot b/localization/pot/locale/tutorials/aws-web/aws-web.pot new file mode 100644 index 00000000..4c5788b0 --- /dev/null +++ b/localization/pot/locale/tutorials/aws-web/aws-web.pot @@ -0,0 +1,286 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/tutorials/aws-web/aws-web.rst:4 +msgid "Create and launch |CL-ATTR| from Amazon Web Services" +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:6 +msgid "This tutorial walks you through creating and launching a |CL| :abbr:`AMI (Amazon Machine Image)` instance from the :abbr:`AWS (Amazon Web Services)` console and complete the following tasks:" +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:10 +msgid "Locate and select the |CL| OS Basic AMI in the AWS Marketplace." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:11 +msgid "Create a new public and private key pair to allow you to connect to your |CL| instance securely." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:13 +msgid "Launch the new |CL| instance and connect to it." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:14 +msgid "Update your instance of |CL| using the :command:`swupd` command." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:15 +msgid "Stop the |CL| instance." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:18 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:20 +msgid "This tutorial assumes the following statements are true:" +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:22 +msgid "You are using a linux-based system to access AWS and can run :command:`SSH` to access the remote |CL| AWS image." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:24 +msgid "Your browser puts downloaded files in the :file:`$HOME/Downloads` directory." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:26 +msgid "You have already set up an AWS user account and logged into the AWS console." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:30 +msgid "This tutorial uses a |CL| AMI t2.micro instance that is eligible for the AWS free tier. To learn more about AWS and setting up an account, visit the AWS website at http://aws.amazon.com." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:35 +msgid "Locate, select, and launch the |CL| Basic AMI" +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:37 +msgid "Start from your main AWS services console menu in your browser and select the :guilabel:`EC2` text as shown in figure 1:" +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:44 +msgid "Figure 1: :guilabel:`AWS Console`" +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:46 +msgid "This selection brings up your :guilabel:`EC2 Dashboard` menu." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:48 +msgid "To create a new |CL| instance from the :guilabel:`EC2 Dashboard` menu, select the :guilabel:`Launch Instance` button as shown in figure 2:" +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:55 +msgid "Figure 2: :guilabel:`EC2 Dashboard`" +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:57 +msgid "This selection takes you to the :guilabel:`Step 1: Choose an Amazon Machine Image (AMI)` menu." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:60 +msgid "To find the :guilabel:`Clear Linux OS Basic` AMI in the :guilabel:`Step 1: Choose an Amazon Machine Image (AMI)` menu, do the following:" +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:64 +msgid "In the lefthand navigation window, select the :guilabel:`AWS Marketplace` menu item to bring up the search bar to :guilabel:`Search AWS Marketplace Products`." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:68 +msgid "In the search bar, type \"clear linux os\" and hit the :kbd:`Enter` key to search for and locate the :guilabel:`Clear Linux OS Basic` AMI." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:71 +msgid "Select the :guilabel:`Clear Linux OS Basic` AMI by clicking on the :guilabel:`Select` button as shown in figure 3:" +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:78 +msgid "Figure 3: :guilabel:`Step 1: Choose AMI`" +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:80 +msgid "A pop-up dialog box appears showing you more information about the :guilabel:`Clear Linux OS Basic` AMI along with the pricing details for running |CL| on different platform configurations as shown in figure 4. Select the :guilabel:`Continue` button." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:89 +msgid "Figure 4: :guilabel:`Clear Linux OS Basic`" +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:91 +msgid "The :guilabel:`Choose Instance Type` menu appears as shown in figure 5." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:97 +msgid "Figure 5: :guilabel:`Choose an Instance Type`" +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:99 +msgid "Select the :guilabel:`t2.micro` type by clicking the box on the left side of the instance and then select the :guilabel:`Review and Launch` button to move to the :guilabel:`Step 7: Review the Instance Launch` menu." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:105 +msgid "You can configure the instance details, add additional storage, add tags, and configure the security group before selecting the :guilabel:`Review and Launch` button if you want to further customize this |CL| instance." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:110 +msgid "The :guilabel:`Step 7: Review the Instance Launch` menu, shown in figure 6, allows you to :guilabel:`Cancel` the process, return to the :guilabel:`Previous` screen to change the configuration or :guilabel:`Launch` the instance defined." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:119 +msgid "Figure 6: :guilabel:`Step 7: Review the Instance Launch`" +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:121 +msgid "Select the :guilabel:`Launch` button. A dialog box appears, as shown in figure 7, asking you to :guilabel:`Select an existing key pair or create a new pair`." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:129 +msgid "Figure 7: :guilabel:`Select an existing key pair or create a new pair`" +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:131 +msgid "Select the :guilabel:`Create a new key pair` option." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:133 +msgid "For the :guilabel:`Key pair name` field, enter `AWSClearTestKey`." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:135 +msgid "Select the :guilabel:`Download Key Pair` button to download the :file:`AWSClearTestKey.pem` to your browser's defined :file:`Downloads` directory." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:139 +msgid "When the file finishes downloading, select the :guilabel:`Launch Instances` button to proceed to the :guilabel:`Launch Status` menu shown in figure 8." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:147 +msgid "Figure 8: :guilabel:`Launch Status`" +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:149 +msgid "Once the :guilabel:`Launch Status` page changes to what is shown in figure 9, select the :guilabel:`View Instances` button to view your :guilabel:`Instances` dashboard." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:157 +msgid "Figure 9: :guilabel:`View Instance`" +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:160 +msgid "Connect to your Clear Linux OS Basic instance" +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:162 +msgid "Your :guilabel:`Instances` Dashboard is shown in figure 10 with the new |CL| OS basic instance already selected and in the running state. If there are other instances available, they are also listed but not selected." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:170 +msgid "Figure 10: :guilabel:`Instance Dashboard`" +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:172 +msgid "To connect to your running instance, click the :guilabel:`Connect` button located at the top of your dashboard. AWS brings up the pop-up dialog box shown in figure 11 describing how to connect to your running instance." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:182 +msgid "Figure 11: :guilabel:`Connect to Your Instance`" +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:184 +msgid "Open a terminal on your system. You should be in your :file:`$HOME` directory." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:187 +msgid "Copy the previously downloaded keyfile from the :file:`Downloads` directory to the current directory." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:194 +msgid "Change the attributes of the :file:`AWSClearTestKey.pem` using the :command:`chmod` command as instructed in the dialog box shown in figure 11." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:202 +msgid "Copy the text highlighted in the :guilabel:`Example:` section that is shown in :ref:`figure 11`. Paste the copied text into your terminal, change the text before the `@` sign to the username `clear`, and press the :kbd:`Enter` key to execute the command." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:211 +msgid "A message appears on the terminal stating the authenticity of the host can't be established and prompts you with the message:" +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:220 +msgid "Type `yes` and hit the :kbd:`Enter` key. Another warning is printed to the terminal and you are now at the command prompt of your new |CL| instance." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:229 +msgid "Update the |CL| instance" +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:231 +msgid "Run the :command:`sudo swupd update` command to update the operating system as shown in figure 12:" +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:238 +msgid "Figure 12: :guilabel:`sudo swupd update`" +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:240 +msgid "In this example we updated from version 18940 to 19100." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:243 +msgid "Stop the |CL| instance" +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:245 +msgid "When you are finished using your AWS |CL| instance you need to stop it using the :guilabel:`Instances` dashboard to stop accruing charges. Complete the following steps from the :guilabel:`Instances` dashboard to stop your AWS |CL| instance from running." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:250 +msgid "Select the :guilabel:`Actions` button to bring up a pull-down menu." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:252 +msgid "Select the :guilabel:`Instance State` menu item to expand the options." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:254 +msgid "Select :guilabel:`Stop` menu item to shut down the running instance." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:256 +msgid "Figure 13 illustrates these steps." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:262 +msgid "Figure 13: :guilabel:`Stop Instance`" +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:264 +msgid "A pop-up dialog box appears warning you that any ephemeral storage of your instance will be lost. Select the :guilabel:`Yes, Stop` button to stop your |CL| instance." +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:272 +msgid "Figure 14: :guilabel:`Stop Instances`" +msgstr "" + +#: ../../../source/tutorials/aws-web/aws-web.rst:274 +msgid "Congratulations! You are up and running with |CL| on AWS. To see what you can do with your |CL| instance, visit our :ref:`tutorials ` section for examples on using your |CL| system." +msgstr "" + diff --git a/localization/pot/locale/tutorials/azure.pot b/localization/pot/locale/tutorials/azure.pot new file mode 100644 index 00000000..1bb6c32e --- /dev/null +++ b/localization/pot/locale/tutorials/azure.pot @@ -0,0 +1,314 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/tutorials/azure.rst:4 +msgid "Run |CL-ATTR| using Microsoft Azure CLI 2.0" +msgstr "" + +#: ../../../source/tutorials/azure.rst:6 +msgid "|CL-ATTR| is available for you to use in the Microsoft* Azure* marketplace and is offered with three different images, also known as a :abbr:`SKU (Stock Keeping Unit)`." +msgstr "" + +#: ../../../source/tutorials/azure.rst:10 +msgid "|CL| Basic - This SKU consists of a bare-bones system which can be used as a starting point for those wanting to explore and build out a system with additional software bundles of their choosing." +msgstr "" + +#: ../../../source/tutorials/azure.rst:14 +msgid "|CL| Containers - This SKU comes with the containers-basic software bundle already installed." +msgstr "" + +#: ../../../source/tutorials/azure.rst:17 +msgid "|CL| Machine-learning - This SKU comes pre-loaded with popular open source tools for developing machine learning applications." +msgstr "" + +#: ../../../source/tutorials/azure.rst:20 +msgid "You can access these images directly from your MS Azure dashboard through the `Azure portal`_ or by using the MS Azure :abbr:`CLI (Command Line Interface)` 2.0. If you do not already have an account set up with MS Azure, you can sign up for a `MS Azure free account`_ to access the |CL| :abbr:`VM(Virtual Machine)` images." +msgstr "" + +#: ../../../source/tutorials/azure.rst:26 +msgid "The Azure CLI offers the ability to create and manage resources in MS Azure from the command line. In this tutorial you learn to:" +msgstr "" + +#: ../../../source/tutorials/azure.rst:29 +msgid "Install the latest MS Azure CLI on your |CL| machine." +msgstr "" + +#: ../../../source/tutorials/azure.rst:31 +msgid "Log into MS Azure using the CLI 2.0 interface." +msgstr "" + +#: ../../../source/tutorials/azure.rst:33 +msgid "Create a MS Azure resource group." +msgstr "" + +#: ../../../source/tutorials/azure.rst:35 +msgid "Locate the |CL| images." +msgstr "" + +#: ../../../source/tutorials/azure.rst:37 +msgid "Create and log into the |CL| virtual machine." +msgstr "" + +#: ../../../source/tutorials/azure.rst:39 +msgid "Stop and deallocate the |CL| VM and resources." +msgstr "" + +#: ../../../source/tutorials/azure.rst:41 +msgid "To use the MS Azure CLI 2.0 on your |CL| system, your system must have the following packages installed:" +msgstr "" + +#: ../../../source/tutorials/azure.rst:44 +msgid "Python 2.7 or later" +msgstr "" + +#: ../../../source/tutorials/azure.rst:46 +msgid "libffi" +msgstr "" + +#: ../../../source/tutorials/azure.rst:48 +msgid "OpenSSL 1.0.2" +msgstr "" + +#: ../../../source/tutorials/azure.rst:50 +msgid "You can check to see what versions you have installed on your system by running the individual commands as follows:" +msgstr "" + +#: ../../../source/tutorials/azure.rst:78 +msgid "If you do not have these packages installed on your |CL| system, install the sysadmin-basic software bundle using the :command:`swupd` command:" +msgstr "" + +#: ../../../source/tutorials/azure.rst:87 +msgid "These instructions are for installing the MS Azure CLI 2.0 tools on a |CL| system. If you are installing the CLI on another platform, follow the instructions in the `MS Azure Install Azure CLI tutorial`_ for your specific operating system." +msgstr "" + +#: ../../../source/tutorials/azure.rst:93 +msgid "Install MS Azure CLI 2.0 on |CL|" +msgstr "" + +#: ../../../source/tutorials/azure.rst:95 +msgid "To install the MS Azure CLI 2.0 on |CL|, use the :command:`curl` command as follows:" +msgstr "" + +#: ../../../source/tutorials/azure.rst:102 +msgid "If you get an error message from :command:`curl` related to the -L parameter or an error message is generated that includes the text \"Object Moved\", use the full URL instead of the aka.ms redirect address:" +msgstr "" + +#: ../../../source/tutorials/azure.rst:110 +msgid "The installation script begins and prompts you several times during execution for information." +msgstr "" + +#: ../../../source/tutorials/azure.rst:115 +msgid "The console output from the script displays your username instead of the **[user]** variable shown on this tutorial." +msgstr "" + +#: ../../../source/tutorials/azure.rst:122 +msgid "Press the :kbd:`Enter` key to accept the default or you can chose another directory to install the MS Azure CLI 2.0 tools into." +msgstr "" + +#: ../../../source/tutorials/azure.rst:129 +msgid "Press the :kbd:`Enter` key to accept the default or you can chose another directory to install the :command:`az` executable in." +msgstr "" + +#: ../../../source/tutorials/azure.rst:132 +msgid "The installation downloads and builds all required tools and when complete prompts you with:" +msgstr "" + +#: ../../../source/tutorials/azure.rst:139 +msgid "Type :kbd:`Y` and press the :kbd:`Enter` key to allow this modification." +msgstr "" + +#: ../../../source/tutorials/azure.rst:145 +msgid "Press the :kbd:`Enter` key to accept the default or enter the pathname to your :file:`.bashrc` file. The installation completes with the final output shown below:" +msgstr "" + +#: ../../../source/tutorials/azure.rst:160 +msgid "The installation program finishes and you must restart your shell for the changes to take effect. When the installation is successful, run the following command to restart your shell." +msgstr "" + +#: ../../../source/tutorials/azure.rst:168 +msgid "With the MS Azure CLI 2.0 executable successfully built and installed, run the :command:`az` command." +msgstr "" + +#: ../../../source/tutorials/azure.rst:175 +msgid "The output from the :command:`az` command is shown below:" +msgstr "" + +#: ../../../source/tutorials/azure.rst:254 +msgid "Log into your Microsoft Azure account" +msgstr "" + +#: ../../../source/tutorials/azure.rst:256 +msgid "With the :command:`az` command properly installed and functional, login to your MS Azure account using the :command:`az login` command shown below:" +msgstr "" + +#: ../../../source/tutorials/azure.rst:263 +msgid "The output from this command is:" +msgstr "" + +#: ../../../source/tutorials/azure.rst:269 +msgid "Open your browser and enter the page `https://aka.ms/devicelogin` as shown in figure 1:" +msgstr "" + +#: ../../../source/tutorials/azure.rst:276 +msgid "Figure 1: :guilabel:`Microsoft Device Login`" +msgstr "" + +#: ../../../source/tutorials/azure.rst:278 +msgid "Enter the code `BQ9MG442B` to authenticate your device as shown in figure 2. The code `BQ9MG442B` is a random authentication code generated for each session login and will be different each time you log into MS Azure using the :command:`az login` command." +msgstr "" + +#: ../../../source/tutorials/azure.rst:287 +msgid "Figure 2: :guilabel:`Microsoft Device Login - Azure CLI`" +msgstr "" + +#: ../../../source/tutorials/azure.rst:289 +msgid "Once you enter the authentication code, the website changes to a screen to enter your existing Microsoft Azure credentials." +msgstr "" + +#: ../../../source/tutorials/azure.rst:292 +msgid "Log in with your existing MS Azure account credentials. Once complete, the browser screen changes again as shown in figure 3. The screen shows you have signed into the Microsoft Cross-platform Command Line Interface application on your device and you can close the window." +msgstr "" + +#: ../../../source/tutorials/azure.rst:301 +msgid "Figure 3: :guilabel:`Microsoft Azure Cross-platform CLI`" +msgstr "" + +#: ../../../source/tutorials/azure.rst:303 +msgid "The MS Azure CLI 2.0 interface is now active using your existing MS Azure account credentials." +msgstr "" + +#: ../../../source/tutorials/azure.rst:307 +msgid "Create a MS Azure resource group" +msgstr "" + +#: ../../../source/tutorials/azure.rst:309 +msgid "To learn more about MS Azure resource groups, visit the `Azure Resource Manager overview`_ for an overview and detailed description of resources within MS Azure." +msgstr "" + +#: ../../../source/tutorials/azure.rst:313 +msgid "To create our new resource group, run the :command:`az group create ...` command shown below to create a resource group named `ClearResourceGroup` using the `-n` parameter and locate it in the `westus` region using the `-l` parameter." +msgstr "" + +#: ../../../source/tutorials/azure.rst:322 +msgid "When the command has completed, the output from this command is similar to the following:" +msgstr "" + +#: ../../../source/tutorials/azure.rst:339 +msgid "Create and log into the |CL| virtual machine" +msgstr "" + +#: ../../../source/tutorials/azure.rst:341 +msgid "For this tutorial, we are using the |CL| Basic SKU for our VM." +msgstr "" + +#: ../../../source/tutorials/azure.rst:343 +msgid "To locate the available |CL| Basic VM SKU images in the MS Azure marketplace, run the :command:`az vm image ...` command:" +msgstr "" + +#: ../../../source/tutorials/azure.rst:350 +msgid "This command may take some time to finish. The output lists all available |CL| Basic images available in the Microsoft Azure marketplace as shown below:" +msgstr "" + +#: ../../../source/tutorials/azure.rst:370 +msgid "The output list shows current offerings. New versions are added to the MS Azure marketplace all the time. To reference the latest version of an image, you can use the version label `latest` when specifying an image." +msgstr "" + +#: ../../../source/tutorials/azure.rst:374 +msgid "The information shown in the `Urn` column lists the `Publisher:Offer:Sku:Version` for each image available and this is the information we want to create the |CL| Basic VM. Since we are creating a |CL| Basic VM, highlight the `clear-linux-project:clear-linux-os:basic:` string and copy it to your clipboard. Use the label `latest` instead of referencing a specific version." +msgstr "" + +#: ../../../source/tutorials/azure.rst:381 +msgid "Create the new |CL| Basic VM. Run the :command:`az vm create ...` command using the URN `:clear-linux-project:clear-linux-os:basic:latest` that we copied to the clipboard on the previous step." +msgstr "" + +#: ../../../source/tutorials/azure.rst:391 +msgid "If you have already defined your public/private SSH key pair and they are stored in your :file:`$HOME/.ssh` directory, you do not need to include the *--generate-ssh-keys* option." +msgstr "" + +#: ../../../source/tutorials/azure.rst:395 +msgid "Your output from this command will look similar to this output, where [user] is your user name:" +msgstr "" + +#: ../../../source/tutorials/azure.rst:416 +msgid "Take note of the public IP address from the output." +msgstr "" + +#: ../../../source/tutorials/azure.rst:418 +msgid "Login into the new |CL| Basic VM, run the :command:`ssh` command with the public IP address obtained from the previous step as shown:" +msgstr "" + +#: ../../../source/tutorials/azure.rst:425 +msgid "You may see the following message about the authenticity of the host. If this appears, type `yes` to proceed connecting to your new |CL| VM." +msgstr "" + +#: ../../../source/tutorials/azure.rst:437 +msgid "You are now logged into your new |CL| VM as [user], where [user] is your user name. To check which software bundles are included with this VM image, run the :command:`sudo swupd bundle-list` command inside the VM:" +msgstr "" + +#: ../../../source/tutorials/azure.rst:445 +msgid "The output shown should be similar to:" +msgstr "" + +#: ../../../source/tutorials/azure.rst:467 +msgid "When you are finished using your new |CL| VM, type :command:`exit` to close the :command:`SSH` terminal and logout." +msgstr "" + +#: ../../../source/tutorials/azure.rst:471 +msgid "Stop and deallocate the |CL| VM and resources" +msgstr "" + +#: ../../../source/tutorials/azure.rst:473 +msgid "When you finish using your new |CL| instance, you must stop the VM and deallocate the resources in your resource group. If you only stop a VM, the OS image shuts down but the resources associated with it in your resource group remain allocated and incurring charges. For instance, if you stop and then later start the VM using the :command:`az vm start...` without deallocating the resources, the IP address is retained and you can access the VM using that same IP address. To release the resources associated with the VM and stop incurring charges for them, you must deallocate the resources as well." +msgstr "" + +#: ../../../source/tutorials/azure.rst:482 +msgid "At the command prompt, enter the :command:`az vm stop...` command as follows:" +msgstr "" + +#: ../../../source/tutorials/azure.rst:489 +msgid "This will stop the VM and then output text similar to:" +msgstr "" + +#: ../../../source/tutorials/azure.rst:501 +msgid "Once the VM stops, deallocate the VM resources to stop incurring charges for the |CL| instance. Enter the following command:" +msgstr "" + +#: ../../../source/tutorials/azure.rst:508 +msgid "**Congratulations!**" +msgstr "" + +#: ../../../source/tutorials/azure.rst:510 +msgid "You are up and running with |CL| on MS Azure using the Azure CLI 2.0 command line tools." +msgstr "" + +#: ../../../source/tutorials/azure.rst:514 +msgid "Next steps" +msgstr "" + +#: ../../../source/tutorials/azure.rst:516 +msgid "To see use cases you can fulfill with your |CL| instance, visit our :ref:`tutorials ` section." +msgstr "" + +#: ../../../source/tutorials/azure.rst:519 +msgid "For additional information visit the |CL| `Azure Partner Mini Case Study`_ and the `Azure Partner Datasheet`_." +msgstr "" + +#: ../../../source/tutorials/azure.rst:522 +msgid "To learn more about the MS Azure CLI 2.0 tool and options that are available, visit the `MS Azure documentation and tutorials`_ website." +msgstr "" + diff --git a/localization/pot/locale/tutorials/dars.pot b/localization/pot/locale/tutorials/dars.pot new file mode 100644 index 00000000..f2f273e2 --- /dev/null +++ b/localization/pot/locale/tutorials/dars.pot @@ -0,0 +1,90 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/tutorials/dars.rst:4 +msgid "Data Analytics Reference Stack" +msgstr "" + +#: ../../../source/tutorials/dars.rst:6 +msgid "This tutorial shows you how to use the Data Analytics Reference Stack (DARS), and to optionally build your own images with the baseline Dockerfiles provided in the `DARS repository`_. Our assumption is that |CL-ATTR| is the host. However, any system that supports Docker\\* containers can be used to follow these steps." +msgstr "" + +#: ../../../source/tutorials/dars.rst:17 +msgid "The Data Analytics Reference Stack release" +msgstr "" + +#: ../../../source/tutorials/dars.rst:19 +msgid "The Data Analytics Reference Stack (DARS) provides developers and enterprises a straightforward, highly optimized software stack for storing and processing large amounts of data. More detail is available on the `DARS architecture and performance benchmarks`_." +msgstr "" + +#: ../../../source/tutorials/dars.rst:21 +msgid "The Data Analytics Reference Stack provides two pre-built Docker images, available on `Docker Hub`_:" +msgstr "" + +#: ../../../source/tutorials/dars.rst:23 +msgid "A |CL|-derived `DARS with OpenBlas`_ stack optimized for `OpenBLAS`_" +msgstr "" + +#: ../../../source/tutorials/dars.rst:24 +msgid "A |CL|-derived `DARS with MKL`_ stack optimized for `MKL`_" +msgstr "" + +#: ../../../source/tutorials/dars.rst:26 +msgid "We recommend you view the latest component versions for each image in the :file:`README` found in the `DARS repository`_. Because |CL| is a rolling distribution, the package version numbers in the |CL|-based containers may not be the latest released by |CL|." +msgstr "" + +#: ../../../source/tutorials/dars.rst:34 +msgid "Using the Docker Images" +msgstr "" + +#: ../../../source/tutorials/dars.rst:36 +msgid "To immediately start using the latest stable DARS images, pull directly from `Docker Hub`_. For this tutorial we'll use the `Dars with MKL`_ version of the stack." +msgstr "" + +#: ../../../source/tutorials/dars.rst:39 +msgid "Once you have downloaded the image, you can run it with" +msgstr "" + +#: ../../../source/tutorials/dars.rst:45 +msgid "This will launch the image and drop you into a bash shell inside the container. You will see output similar to the following:" +msgstr "" + +#: ../../../source/tutorials/dars.rst:66 +msgid "The :command:`--ulimit nofile` parameter is currently required in order to increase the number of open files opened at certain point by the spark engine." +msgstr "" + +#: ../../../source/tutorials/dars.rst:71 +msgid "Building DARS Images" +msgstr "" + +#: ../../../source/tutorials/dars.rst:73 +msgid "If you choose to build your own DARS container images, you can customize them as needed. Use the provided Dockerfile as a baseline. To construct images with |CL|, start with a |CL| development platform that has the :command:`containers-basic-dev` bundle installed. Learn more about bundles and installing them by using :ref:`swupd-guide`." +msgstr "" + +#: ../../../source/tutorials/dars.rst:79 +msgid "First, clone the `DARS repository`_ from GitHub." +msgstr "" + +#: ../../../source/tutorials/dars.rst:85 +msgid "Then, inside the DARS directory, run :command:`make` to build OpenBLAS and MKL images, and run :command:`make baseline` to build the baseline CentOS image. Depending on the system, it may take a while to finish building. Once completed, check the resulting images with :command:`Docker`" +msgstr "" + +#: ../../../source/tutorials/dars.rst:94 +msgid "You can use any of the resulting images to launch fully functional containers. If you need to customize the containers, you can edit the provided :file:`Dockerfile`." +msgstr "" + diff --git a/localization/pot/locale/tutorials/dlrs/dlrs.pot b/localization/pot/locale/tutorials/dlrs/dlrs.pot new file mode 100644 index 00000000..3d28306a --- /dev/null +++ b/localization/pot/locale/tutorials/dlrs/dlrs.pot @@ -0,0 +1,481 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/tutorials/dlrs/dlrs.rst:4 +msgid "Deep Learning Reference Stack" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:6 +msgid "This tutorial describes how to run benchmarking workloads for TensorFlow\\*, PyTorch\\*, and Kubeflow in |CL-ATTR| using the Deep Learning Reference Stack." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:14 +msgid "Overview" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:16 +msgid "We created the Deep Learning Reference Stack to help AI developers deliver the best experience on Intel® Architecture. This stack reduces complexity common with deep learning software components, provides flexibility for customized solutions, and enables you to quickly prototype and deploy Deep Learning workloads. Use this tutorial to run benchmarking workloads on your solution." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:22 +msgid "The Deep Learning Reference Stack is available in the following versions:" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:24 +msgid "`Intel MKL-DNN-VNNI`_, which is optimized using Intel® Math Kernel Library for Deep Neural Networks (Intel® MKL-DNN) primitives and introduces support for Intel® AVX-512 Vector Neural Network Instructions (VNNI)." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:27 +msgid "`Intel MKL-DNN`_, which includes the TensorFlow framework optimized using Intel® Math Kernel Library for Deep Neural Networks (Intel® MKL-DNN) primitives." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:30 +msgid "`Eigen`_, which includes `TensorFlow`_ optimized for Intel® architecture." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:31 +msgid "`PyTorch with OpenBLAS`_, which includes PyTorch with OpenBlas." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:32 +msgid "`PyTorch with Intel MKL-DNN`_, which includes PyTorch optimized using Intel® Math Kernel Library (Intel® MKL) and Intel MKL-DNN." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:37 +msgid "To take advantage of the Intel® AVX-512 and VNNI functionality with the Deep Learning Reference Stack, you must use the following hardware:" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:40 +msgid "Intel® AVX-512 images require an Intel® Xeon® Scalable Platform" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:41 +msgid "VNNI requires a 2nd generation Intel® Xeon® Scalable Platform" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:44 +msgid "Stack features" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:46 +msgid "Deep Learning Reference Stack `V3.0 release announcement`_." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:47 +msgid "Deep Learning Reference Stack v2.0 including current `PyTorch benchmark results`_." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:49 +msgid "Deep Learning Reference Stack v1.0 including current `TensorFlow benchmark results`_." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:51 +msgid "`Release notes on Github\\*`_ for the latest release of Deep Learning Reference Stack." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:56 +msgid "The Deep Learning Reference Stack is a collective work, and each piece of software within the work has its own license. Please see the `terms of use`_ for more details about licensing and usage of the Deep Learning Reference Stack." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:61 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:63 +msgid ":ref:`Install ` |CL| on your host system" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:64 +msgid ":command:`containers-basic` bundle" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:65 +msgid ":command:`cloud-native-basic` bundle" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:67 +msgid "In |CL|, :command:`containers-basic` includes Docker\\*, which is required for TensorFlow and PyTorch benchmarking. Use the :command:`swupd` utility to check if :command:`containers-basic` and :command:`cloud-native-basic` are present:" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:76 +msgid "To install the :command:`containers-basic` or :command:`cloud-native-basic` bundles, enter:" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:83 +msgid "Docker is not started upon installation of the :command:`containers-basic` bundle. To start Docker, enter:" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:90 +msgid "To ensure that Kubernetes is correctly installed and configured, follow the instructions in :ref:`kubernetes`." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:94 +msgid "Version compatibility" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:96 +msgid "We validated these steps against the following software package versions:" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:98 +msgid "|CL| 26240 (Minimum supported version)" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:99 +msgid "Docker 18.06.1" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:100 +msgid "Kubernetes 1.11.3" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:101 +msgid "Go 1.11.12" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:106 +msgid "The Deep Learning Reference Stack was developed to provide the best user experience when executed on a |CL| host. However, as the stack runs in a container environment, you should be able to complete the following sections of this tutorial on other Linux* distributions, provided they comply with the Docker*, Kubernetes* and Go* package versions listed above. Look for your distribution documentation on how to update packages and manage Docker services." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:109 +msgid "TensorFlow single and multi-node benchmarks" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:111 +msgid "This section describes running the `TensorFlow benchmarks`_ in single node. For multi-node testing, replicate these steps for each node. These steps provide a template to run other benchmarks, provided that they can invoke TensorFlow." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:118 +msgid "Performance test results for the Deep Learning Reference Stack and for this tutorial were obtained using `runc` as the runtime." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:122 +msgid "Download either the `Eigen`_ or the `Intel MKL-DNN`_ Docker image from `Docker Hub`_." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:125 +#: ../../../source/tutorials/dlrs/dlrs.rst:167 +msgid "Run the image with Docker:" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:134 +#: ../../../source/tutorials/dlrs/dlrs.rst:175 +msgid "Launching the Docker image with the :command:`-i` argument starts interactive mode within the container. Enter the following commands in the running container." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:138 +msgid "Clone the benchmark repository in the container:" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:144 +#: ../../../source/tutorials/dlrs/dlrs.rst:185 +msgid "Execute the benchmark script:" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:152 +msgid "You can replace the model with one of your choice supported by the TensorFlow benchmarks." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:155 +msgid "If you are using an FP32 based model, it can be converted to an int8 model using `Intel® quantization tools`_." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:159 +msgid "PyTorch single and multi-node benchmarks" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:161 +msgid "This section describes running the `PyTorch benchmarks`_ for Caffe2 in single node." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:164 +msgid "Download either the `PyTorch with OpenBLAS`_ or the `PyTorch with Intel MKL-DNN`_ Docker image from `Docker Hub`_." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:179 +msgid "Clone the benchmark repository:" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:195 +msgid "Kubeflow multi-node benchmarks" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:197 +msgid "The benchmark workload runs in a Kubernetes cluster. The tutorial uses `Kubeflow`_ for the Machine Learning workload deployment on three nodes." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:202 +msgid "If you choose the Intel® MKL-DNN or Intel® MKL-DNN-VNNI image, your platform must support the Intel® AVX-512 instruction set. Otherwise, an *illegal instruction* error may appear, and you won’t be able to complete this tutorial." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:206 +msgid "Kubernetes setup" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:208 +msgid "Follow the instructions in the :ref:`kubernetes` tutorial to get set up on |CL|. The Kubernetes community also has `instructions for creating a cluster`_." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:213 +msgid "Kubernetes networking" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:215 +msgid "We used `flannel`_ as the network provider for these tests. If you prefer a different network layer, refer to the Kubernetes `networking documentation`_ for setup." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:220 +msgid "Kubectl" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:222 +msgid "You can use kubectl to run commands against your Kubernetes cluster. Refer to the `kubectl overview`_ for details on syntax and operations. Once you have a working cluster on Kubernetes, use the following YAML script to start a pod with a simple shell script, and keep the pod open." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:227 +msgid "Copy this example.yaml script to your system:" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:244 +msgid "Execute the script with kubectl:" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:250 +msgid "This script opens a single pod. More robust solutions would create a deployment or inject a python script or larger shell script into the container." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:254 +msgid "Images" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:256 +msgid "You must add `launcher.py`_ to the Docker image to include the Deep Learning Reference Stack and put the benchmarks repo in the correct location. Note that this tutorial uses Kubeflow v0.4.0, and cannot guarantee results if you use a different version." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:260 +msgid "From the Docker image, run the following:" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:269 +msgid "Your entry point becomes: :file:`/opt/launcher.py`." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:271 +msgid "This builds an image that can be consumed directly by TFJob from Kubeflow." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:274 +msgid "ksonnet\\*" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:276 +msgid "Kubeflow uses ksonnet\\* to manage deployments, so you must install it before setting up Kubeflow." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:279 +msgid "ksonnet was added to the :command:`cloud-native-basic` bundle in |CL| version 27550. If you are using an older |CL| version (not recommended), you must manually install ksonnet as described below." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:283 +msgid "On |CL|, follow these steps:" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:294 +msgid "After the ksonnet installation is complete, ensure that binary `ks` is accessible across the environment." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:298 +msgid "Kubeflow" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:300 +msgid "Once you have Kubernetes running on your nodes, set up `Kubeflow`_ by following these instructions from the `quick start guide`_." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:318 +msgid "Next, deploy the primary package for our purposes: tf-job-operator." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:328 +msgid "This creates the CustomResourceDefinition (CRD) endpoint to launch a TFJob." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:331 +msgid "Run a TFJob" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:333 +msgid "Select this link for the `ksonnet registries for deploying TFJobs`_." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:335 +msgid "Install the TFJob components as follows:" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:343 +msgid "Export the image name to use for the deployment:" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:351 +msgid "Replace with the image name you specified in previous steps." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:353 +msgid "Generate Kubernetes manifests for the workloads and apply them using these commands:" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:363 +msgid "This replicates and deploys three test setups in your Kubernetes cluster." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:366 +msgid "Results of running this tutorial" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:368 +msgid "You must parse the logs of the Kubernetes pod to retrieve performance data. The pods will still exist post-completion and will be in ‘Completed’ state. You can get the logs from any of the pods to inspect the benchmark results. More information about `Kubernetes logging`_ is available from the Kubernetes community." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:375 +msgid "Use Jupyter Notebook" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:377 +msgid "This example uses the `PyTorch with OpenBLAS`_ container image. After it is downloaded, run the Docker image with :command:`-p` to specify the shared port between the container and the host. This example uses port 8888." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:385 +msgid "After you start the container, launch the Jupyter Notebook. This command is executed inside the container image." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:392 +msgid "After the notebook has loaded, you will see output similar to the following:" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:400 +msgid "From your host system, or any system that can access the host's IP address, start a web browser with the following. If you are not running the browser on the host system, replace :command:`127.0.0.1` with the IP address of the host." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:408 +msgid "Your browser displays the following:" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:414 +msgid "Figure 1: :guilabel:`Jupyter Notebook`" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:417 +msgid "To create a new notebook, click :guilabel:`New` and select :guilabel:`Python 3`." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:423 +msgid "Figure 2: Create a new notebook" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:425 +msgid "A new, blank notebook is displayed, with a cell ready for input." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:432 +msgid "To verify that PyTorch is working, copy the following snippet into the blank cell, and run the cell." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:446 +msgid "When you run the cell, your output will look something like this:" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:452 +msgid "You can continue working in this notebook, or you can download existing notebooks to take advantage of the Deep Learning Reference Stack's optimized deep learning frameworks. Refer to `Jupyter Notebook`_ for details." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:457 +msgid "Uninstallation" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:459 +msgid "To uninstall the Deep Learning Reference Stack, you can choose to stop the container so that it is not using system resources, or you can stop the container and delete it to free storage space." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:461 +msgid "To stop the container, execute the following from your host system:" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:463 +msgid "Find the container's ID" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:469 +msgid "This will result in output similar to the following:" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:476 +msgid "You can then use the ID or container name to stop the container. This example uses the name \"oss\":" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:483 +msgid "Verify that the container is not running" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:490 +msgid "To delete the container from your system you need to know the Image ID:" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:496 +msgid "This command results in output similar to the following:" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:504 +msgid "To remove an image use the image ID:" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:520 +msgid "Note that you can execute the :command:`docker rmi` command using only the first few characters of the image ID, provided they are unique on the system." +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:522 +msgid "Once you have removed the image, you can verify it has been deleted with:" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:530 +msgid "Related topics" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:532 +msgid "Deep Learning Reference Stack `V3.0 release announcement`_" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:533 +msgid "`TensorFlow benchmarks`_" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:534 +msgid "`PyTorch benchmarks`_" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:535 +msgid "`Kubeflow`_" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:536 +msgid ":ref:`kubernetes` tutorial" +msgstr "" + +#: ../../../source/tutorials/dlrs/dlrs.rst:537 +msgid "`Jupyter Notebook`_" +msgstr "" + diff --git a/localization/pot/locale/tutorials/docker/docker.pot b/localization/pot/locale/tutorials/docker/docker.pot new file mode 100644 index 00000000..f240620a --- /dev/null +++ b/localization/pot/locale/tutorials/docker/docker.pot @@ -0,0 +1,214 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/tutorials/docker/docker.rst:4 +msgid "Run Docker\\* on |CL-ATTR|" +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:6 +msgid "|CL-ATTR| supports multiple containerization platforms, including a Docker\\* solution. |CL| has many `unique features`_ including a minimal default installation, which makes it compelling to use as a host for container workloads, management, and orchestration." +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:11 +msgid "This tutorial covers:" +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:18 +msgid "This tutorial focuses on the installaton of the Docker ecosystem. If you want to use |CL| as a Docker container image, refer to the official |CL| container image `published on Docker* Hub `_ and our guide to :ref:`custom-clear-container`." +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:25 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:27 +msgid "This tutorial assumes you have installed |CL| on your host system. For detailed instructions on installing |CL| on a bare metal system, follow the :ref:`bare metal installation instructions`." +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:31 +msgid "Before you install any new packages, update |CL| with the following command:" +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:37 +msgid "Additionally, you should have:" +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:39 +msgid "A basic understanding of Linux and Docker." +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:41 +msgid "|CL| environment that has transparent network access to the Internet. If you are behind a HTTP proxy server, in a corporate setting for example, please refer to the `Docker proxy instructions`_ ." +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:46 +msgid "Install the containers-basic bundle" +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:48 +msgid "Software in |CL| is offered in the form of `bundles`_ to provide a complete function. The *containers-basic* provides all the required software packages to run Docker images as containers." +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:52 +msgid "First, install the *containers-basic* bundle by running this :command:`swupd` command:" +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:59 +msgid "Start the Docker daemon through systemd manager by running this command:" +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:65 +msgid "If you want Docker to start automatically on boot, enable the systemd service by running this command:" +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:72 +msgid "Finally, verify :command:`docker` has been installed by running this command and checking the version output for both *client* and *server*:" +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:79 +msgid "Congratulations! At this point, you have a working installation of Docker on |CL|. You are ready to start using container images on your system." +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:83 +msgid "Integration with Kata Containers (optional)" +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:85 +msgid "`Kata Containers`_, is an open source project aiming to increase security of containers by using a hardware-backed virtual machine container runtime rather than software namespace containers that are provided by the standard Docker *runc* runtime." +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:90 +msgid "|CL| provides easy integration of the *kata-runtime* with Docker. More information on installing and using the *kata-runtime* may be found at :ref:`kata`." +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:96 +msgid "The proceeding sections of this tutorial are standard to Docker setup and configuration. If you are familiar with Docker basics, you do not need to continue reading. The following sections are provided here for sake of completeness." +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:104 +msgid "Additional Docker configuration" +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:106 +msgid "Perform additional Docker daemon configuration via a configuration file typically located at :file:`/etc/docker/daemon.json`. |CL| features a `stateless system`_ so the configuration file :file:`daemon.json` does *NOT* exist by default." +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:111 +msgid "Create the :file:`daemon.json` by running this command:" +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:119 +msgid "Refer to the `Docker documentation on daemon configuration`_ for the full list of available configuration options and examples." +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:122 +msgid "For production systems, we follow Docker's recommendation to use the `OverlayFS storage driver`_ `overlay2`, shown below:" +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:133 +msgid "A testing version is found in `Docker Device Mapper storage driver`_. If using this storage driver, a warning message may appear: \"usage of loopback devices is strongly discouraged for production use\"." +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:137 +msgid "Save and close :file:`daemon.json`." +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:139 +msgid "Once you've made any required changes, be sure to restart the Docker daemon through systemd manager by running this command:" +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:147 +msgid "Pulling and running an image from Docker Hub" +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:149 +msgid "`Docker Hub`_ is a publically available container image repository which comes preconfigured with Docker. In the example below we will pull and run an the official Docker image for nginx, an open source reverse proxy server." +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:153 +msgid "First, pull a container image from Docker Hub using the :command:`docker pull` command. Download the latest nginx Docker container image by running this command:" +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:161 +msgid "Create and launch a new container using the :command:`docker run` command. Launch a nginx container by running this command:" +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:170 +msgid "Below is an explanation of switches used in the command above. For detailed :command:`docker run` switches and syntax, refer to the `Docker Documentation`_ ." +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:174 +msgid "The *--name* switch lets you provide a friendly name to target the container for future operations" +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:177 +msgid "The *-d* switch launches the container in the background" +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:179 +msgid "The *-p* switch allows the container's HTTP port (80) to be accessible from the |CL| host on port 8080" +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:182 +msgid "You can access the Welcome to Nginx! splash page running in the container by browsing to \\http://127.0.0.1:8080 or by running this :command:`curl` command from your |CL| machine:" +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:190 +msgid "Finally, stop and delete the nginx container by running the :command:`docker stop` and :command:`docker rm` commands." +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:198 +msgid "Congratulations! At this point, you have successfully pulled a nginx container image from `Docker Hub`_ and have run an example container." +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:202 +msgid "Creating a Docker swarm cluster" +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:204 +msgid "Clusters of Docker hosts are referred to as *swarms*." +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:206 +msgid "The process in this tutorial can be repeated to install Docker on multiple |CL| hosts with the intent to form a Docker swarm cluster." +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:209 +msgid "The `Docker documentation on swarm key concepts`_ and `Docker documentation on creating a swarm`_ can be referenced for further instructions on setting up a swarm." +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:214 +msgid "Related topics" +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:216 +msgid "`Docker Home`_" +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:217 +msgid "`Docker Documentation`_" +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:218 +msgid "`Docker Hub`_" +msgstr "" + +#: ../../../source/tutorials/docker/docker.rst:219 +msgid "`Kata Containers`_" +msgstr "" + diff --git a/localization/pot/locale/tutorials/flatpak/flatpak.pot b/localization/pot/locale/tutorials/flatpak/flatpak.pot new file mode 100644 index 00000000..c4de406b --- /dev/null +++ b/localization/pot/locale/tutorials/flatpak/flatpak.pot @@ -0,0 +1,94 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/tutorials/flatpak/flatpak.rst:4 +msgid "Use Flatpak\\* to install applications on |CL-ATTR|" +msgstr "" + +#: ../../../source/tutorials/flatpak/flatpak.rst:6 +msgid "This tutorial provides all the required steps to install Flatpak as well as downloading, installing, and running LibreOffice\\* on |CL-ATTR|." +msgstr "" + +#: ../../../source/tutorials/flatpak/flatpak.rst:9 +msgid "Please visit the `Flatpak website`_ for more information about Flatpak and how to use it. You can also `download it here`_." +msgstr "" + +#: ../../../source/tutorials/flatpak/flatpak.rst:13 +msgid "Before you begin" +msgstr "" + +#: ../../../source/tutorials/flatpak/flatpak.rst:15 +msgid "This tutorial assumes you have installed |CL| on your host system. For detailed instructions on installing |CL| on a bare metal system, visit our :ref:`bare metal installation guide `." +msgstr "" + +#: ../../../source/tutorials/flatpak/flatpak.rst:20 +msgid "Install Flatpak on your host system" +msgstr "" + +#: ../../../source/tutorials/flatpak/flatpak.rst:22 +msgid "Flatpak is included as part of the bundle `desktop`. To install the application, log in to your user account and enter the following command:" +msgstr "" + +#: ../../../source/tutorials/flatpak/flatpak.rst:30 +msgid "Install and run the LibreOffice Flatpak image" +msgstr "" + +#: ../../../source/tutorials/flatpak/flatpak.rst:32 +msgid "Application developers have the option to bundle their applications using Flatpak to allow the installation of a single distribution of their application on different distributions of Linux, including |CL|. Flatpak provides a `list of applications`_ available through Flathub." +msgstr "" + +#: ../../../source/tutorials/flatpak/flatpak.rst:37 +msgid "|CL| enables the Flathub repository by default." +msgstr "" + +#: ../../../source/tutorials/flatpak/flatpak.rst:41 +msgid "Installing using gnome software" +msgstr "" + +#: ../../../source/tutorials/flatpak/flatpak.rst:43 +msgid "All you need to do is to launch `gnome software`, search for the LibreOffice app, and click the install button." +msgstr "" + +#: ../../../source/tutorials/flatpak/flatpak.rst:49 +msgid "Figure 1: Installing LibreOffice using gnome-software" +msgstr "" + +#: ../../../source/tutorials/flatpak/flatpak.rst:54 +msgid "Installing using the command line" +msgstr "" + +#: ../../../source/tutorials/flatpak/flatpak.rst:56 +msgid "Open the `gnome-terminal` and type the following command to install the LibreOffice app." +msgstr "" + +#: ../../../source/tutorials/flatpak/flatpak.rst:79 +msgid "Launch LibreOffice" +msgstr "" + +#: ../../../source/tutorials/flatpak/flatpak.rst:80 +msgid "A new set of icons will appear in your Gnome applications list titled :guilabel:`LibreOffice.` To execute the application, highlight the application and click on the :guilabel:`LibreOffice` icon. LibreOffice will start normally." +msgstr "" + +#: ../../../source/tutorials/flatpak/flatpak.rst:87 +msgid "Figure 2: Select :guilabel:`LibreOffice` app" +msgstr "" + +#: ../../../source/tutorials/flatpak/flatpak.rst:90 +msgid "Using the command line" +msgstr "" + diff --git a/localization/pot/locale/tutorials/fmv.pot b/localization/pot/locale/tutorials/fmv.pot new file mode 100644 index 00000000..fee4df7b --- /dev/null +++ b/localization/pot/locale/tutorials/fmv.pot @@ -0,0 +1,126 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/tutorials/fmv.rst:4 +msgid "Use the function multi-version patch generator" +msgstr "" + +#: ../../../source/tutorials/fmv.rst:6 +msgid "CPU architectures often gain interesting new instructions as they evolve but application developers find it difficult to take advantage of those instructions. The reluctance to lose backward-compatibility is one of the main roadblocks slowing developers from using advancements in newer computing architectures. :abbr:`FMV (Function Multi-Versioning)`, which first appeared in `GCC`_ 4.8, is a way to have multiple implementations of a function, each using a different architecture specialized instruction-set extensions. GCC 6 introduces changes to FMV to make it even easier to bring architecture- based optimizations to the application code." +msgstr "" + +#: ../../../source/tutorials/fmv.rst:16 +msgid "In this tutorial we will use FMV on general code and on :abbr:`FFT (Fast Fourier Transform)` library code. Upon completing the tutorial, you will be able to use this technology on your code and use the libraries to deploy architecture-based optimizations to your application code." +msgstr "" + +#: ../../../source/tutorials/fmv.rst:22 +msgid "Install and configure a |CL| host on bare metal" +msgstr "" + +#: ../../../source/tutorials/fmv.rst:23 +msgid "First, follow our guide to :ref:`bare-metal-install-desktop`. Once the bare metal installation and initial configuration are complete, add the `desktop-dev` bundle to the system. `desktop-dev`: contains the necessary development tools like GCC and Perl\\*." +msgstr "" + +#: ../../../source/tutorials/fmv.rst:28 +msgid "To install the bundles, run the following command in the :file:`$HOME` directory:" +msgstr "" + +#: ../../../source/tutorials/fmv.rst:36 +msgid "Detect loop vectorization candidates" +msgstr "" + +#: ../../../source/tutorials/fmv.rst:38 +msgid "Now, we need to detect the loop vectorization candidates to be cloned for multiple platforms with FMV. As an example, we will use the following simple C code:" +msgstr "" + +#: ../../../source/tutorials/fmv.rst:67 +msgid "Save the example code as :file:`example.c` in the current directory and build with the following flags:" +msgstr "" + +#: ../../../source/tutorials/fmv.rst:74 +msgid "The build generates the following output:" +msgstr "" + +#: ../../../source/tutorials/fmv.rst:81 +msgid "The output shows that line 11 is a good candidate for vectorization:" +msgstr "" + +#: ../../../source/tutorials/fmv.rst:89 +msgid "Generate the FMV patch" +msgstr "" + +#: ../../../source/tutorials/fmv.rst:91 +msgid "To generate the FMV patch with the `make-fmv-patch`_ project, we must clone the project and generate a log file with the loop vectorized information:" +msgstr "" + +#: ../../../source/tutorials/fmv.rst:100 +msgid "To generate the patch files, execute:" +msgstr "" + +#: ../../../source/tutorials/fmv.rst:106 +msgid "The :file:`make-fmv-patch.pl` script takes two arguments: `` and ``. Replace `` and `` with the proper values and execute:" +msgstr "" + +#: ../../../source/tutorials/fmv.rst:114 +msgid "The command generates the following :file:`example.c.patch` patch:" +msgstr "" + +#: ../../../source/tutorials/fmv.rst:129 +msgid "We recommend you use the :file:`make-fmv-patch` script to add the attribute generating the target clones on the function `foo`. Thus, we can have the following code:" +msgstr "" + +#: ../../../source/tutorials/fmv.rst:158 +msgid "Changing the value of the `$avx2` variable, we can change the target clones when adding the patches or in the :file:`make-fmv-patch.pl` script:" +msgstr "" + +#: ../../../source/tutorials/fmv.rst:165 +msgid "Compile the code again with FMV and add the option to analyze the `objdump` log:" +msgstr "" + +#: ../../../source/tutorials/fmv.rst:173 +msgid "You can see the multiple clones of the `foo` function:" +msgstr "" + +#: ../../../source/tutorials/fmv.rst:181 +msgid "The cloned functions use AVX2 registers and vectorized instructions. To verify, enter the following commands:" +msgstr "" + +#: ../../../source/tutorials/fmv.rst:190 +msgid "FTT project example" +msgstr "" + +#: ../../../source/tutorials/fmv.rst:192 +msgid "To follow the same approach with a package like FFT, we must use the `-fopt-info-vec` flag to get a build log file similar to:" +msgstr "" + +#: ../../../source/tutorials/fmv.rst:210 +msgid "For example, the :file:`fftw-3.3.6-pl2/tools/fftw-wisdom.c.patch` file generates the following patches:" +msgstr "" + +#: ../../../source/tutorials/fmv.rst:262 +msgid "With these patches, we can select where to apply the FMV technology making bringing architecture-based optimizations to application code even easier." +msgstr "" + +#: ../../../source/tutorials/fmv.rst:265 +msgid "**Congratulations!**" +msgstr "" + +#: ../../../source/tutorials/fmv.rst:267 +msgid "You have successfully installed an FMV development environment on |CL|. Furthermore, you used cutting edge compiler technology to improve the performance of your application based on Intel Architecture technology and profiling of the specific execution of your application." +msgstr "" + diff --git a/localization/pot/locale/tutorials/greengrass.pot b/localization/pot/locale/tutorials/greengrass.pot new file mode 100644 index 00000000..2264f3d3 --- /dev/null +++ b/localization/pot/locale/tutorials/greengrass.pot @@ -0,0 +1,512 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/tutorials/greengrass.rst:4 +msgid "Enable AWS Greengrass\\* and OpenVINO™ toolkit" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:6 +msgid "Hardware accelerated Function-as-a-Service (FaaS) enables cloud developers to deploy inference functionalities [1] on Intel® IoT edge devices with accelerators (CPU, Integrated GPU, Intel® FPGA, and Intel® Movidius™ technology). These functions provide a great developer experience and seamless migration of visual analytics from cloud to edge in a secure manner using a containerized environment. Hardware-accelerated FaaS provides the best-in-class performance by accessing optimized deep learning libraries on Intel® IoT edge devices with accelerators." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:15 +msgid "This tutorial demonstrates how to:" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:17 +msgid "Set up the Intel® edge device with |CL-ATTR|" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:18 +msgid "Install the OpenVINO™ toolkit and Amazon Web Services\\* (AWS\\*) Greengrass\\* software stacks" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:20 +msgid "Use AWS Greengrass\\* and AWS Lambda\\* to deploy the FaaS samples from the cloud" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:22 +msgid "Refer to the following topics:" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:29 +msgid "Supported platforms" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:31 +msgid "Operating System: |CL| latest release" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:32 +msgid "Hardware: Intel® core platforms (This tutorial supports inference on CPU only.)" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:35 +msgid "Sample description" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:37 +msgid "The AWS Greengrass samples are located at `Edge-Analytics-FaaS`_. This tutorial uses the 1.0 version of the source code." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:40 +msgid "|CL| provides the following AWS Greengrass samples:" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:42 +msgid "`greengrass_classification_sample.py`_" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:44 +msgid "This AWS Greengrass sample classifies a video stream using classification networks such as AlexNet and GoogLeNet and publishes top-10 results on AWS\\* IoT Cloud every second." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:48 +msgid "`greengrass_object_detection_sample_ssd.py`_" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:50 +msgid "This AWS Greengrass sample detects objects in a video stream and classifies them using single-shot multi-box detection (SSD) networks such as SSD Squeezenet, SSD Mobilenet, and SSD300. This sample publishes detection outputs such as class label, class confidence, and bounding box coordinates on AWS IoT Cloud every second." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:58 +msgid "Install the OS on the edge device" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:60 +msgid "Start with a clean installation of |CL| on a new system, using the :ref:`bare-metal-install-desktop`, found in :ref:`get-started`." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:64 +msgid "Create user accounts" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:66 +msgid "After |CL| is installed, create two user accounts. Create an administrative user in |CL| and create a user account for the Greengrass services to use ( see Greengrass user below)." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:70 +msgid "Create a new user and set a password for that user. Enter the following commands as ``root``:" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:78 +msgid "Next, enable the :command:`sudo` command for your new ````. Add ```` to the *wheel* group:" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:85 +msgid "Create a :file:`/etc/fstab` file." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:93 +msgid "By default, |CL| does not create an :file:`/etc/fstab` file. You must create this file before the Greengrass service runs." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:97 +msgid "Add required bundles" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:99 +msgid "Use the :command:`swupd` software updater utility to add the prerequisite bundles for the OpenVINO software stack:" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:108 +msgid "Learn more about how to :ref:`swupd-guide`." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:110 +msgid "The :command:`computer-vision-basic` bundle installs the OpenVINO™ toolkit, and the sample models optimized for Intel® edge platforms." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:114 +msgid "Convert deep learning models" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:117 +msgid "Locate sample models" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:119 +msgid "There are two types of provided models that can be used in conjunction with AWS Greengrass for this tutorial: classification or object detection." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:122 +msgid "To complete this tutorial using an image classification model, download the BVLC AlexNet model files `bvlc_alexnet.caffemodel`_ and `deploy.prototxt`_ to the default model_location at :file:`/usr/share/openvino/models`. Any custom pre-trained classification models can be used with the classification sample." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:128 +msgid "For object detection, the sample models optimized for Intel® edge platforms are included with the computer-vision-basic bundle installation at :file:`/usr/share/openvino/models`. These models are provided as an example; however, you may also use a custom SSD model with the Greengrass object detection sample." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:134 +msgid "Run model optimizer" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:136 +msgid "Follow these instructions for `converting deep learning models to Intermediate Representation using Model Optimizer`_. To optimize either of the sample models described above, run one of the following commands." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:138 +msgid "For classification using BVLC AlexNet model:" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:147 +msgid "For object detection using SqueezeNetSSD-5Class model:" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:156 +msgid "In these examples:" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:158 +msgid "```` is :file:`/usr/share/openvino/models`." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:160 +msgid "```` is FP32 or FP16, depending on target device." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:162 +msgid "```` is the directory where the Intermediate Representation (IR) is stored. IR contains .xml format corresponding to the network structure and .bin format corresponding to weights. This .xml file should be passed to :command:``." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:167 +msgid "In the BVLC AlexNet model, the prototxt defines the input shape with batch size 10 by default. In order to use any other batch size, the entire input shape must be provided as an argument to the model optimizer. For example, to use batch size 1, you must provide: ``--input_shape [1,3,227,227]``" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:175 +msgid "Configure AWS Greengrass group" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:177 +msgid "For each Intel® edge platform, you must create a new AWS Greengrass group and install AWS Greengrass core software to establish the connection between cloud and edge." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:181 +msgid "To create an AWS Greengrass group, follow the instructions in `Configure AWS IoT Greengrass on AWS IoT`_." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:184 +msgid "To install and configure AWS Greengrass core on edge platform, follow the instructions in `Start AWS Greengrass on the Core Device`_. In step 8(b), download the x86_64 Ubuntu\\* configuration of the AWS Greengrass core software." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:191 +msgid "You do not need to run the :file:`cgroupfs-mount.sh` script in step #6 of Module 1 of the `AWS Greengrass developer guide`_ because this is enabled already in |CL|." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:195 +msgid "Be sure to download both the security resources and the AWS Greengrass core software." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:200 +msgid "Security certificates are linked to your AWS account." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:204 +msgid "Create and package Lambda function" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:206 +msgid "Complete steps 1-4 of the AWS Greengrass tutorial at `Create and Package a Lambda Function`_." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:210 +msgid "This creates the tarball needed to create the AWS Greengrass environment on the edge device." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:214 +msgid "In step 5, replace :file:`greengrassHelloWorld.py` with the classification or object detection Greengrass sample from `Edge-Analytics-Faas`_:" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:217 +msgid "Classification: `greengrass_classification_sample.py`_" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:219 +msgid "Object Detection: `greengrass_object_detection_sample_ssd.py`_" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:221 +msgid "Zip the selected Greengrass sample with the extracted Greengrass SDK folders from the previous step into :file:`greengrass_sample_python_lambda.zip`." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:224 +msgid "The zip should contain:" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:226 +msgid "greengrasssdk" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:228 +msgid "greengrass classification or object detection sample" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:230 +msgid "For example:" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:237 +msgid "Return to the AWS documentation section called `Create and Package a Lambda Function`_ and complete the procedure." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:242 +msgid "In step 9(a) of the AWS documentation, while uploading the zip file, make sure to name the handler to one of the following, depending on the AWS Greengrass sample you are using:" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:246 +msgid "greengrass_object_detection_sample_ssd.function_handler" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:247 +msgid "greengrass_classification_sample.function_handler" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:251 +msgid "Configure Lambda function" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:253 +msgid "After creating the Greengrass group and the Lambda function, start configuring the Lambda function for AWS Greengrass." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:256 +msgid "Follow steps 1-8 in `Configure the Lambda Function for AWS IoT Greengrass`_ in the AWS documentation." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:259 +msgid "In addition to the details mentioned in step 8, change the Memory limit to 2048 MB to accommodate large input video streams." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:262 +msgid "Add the following environment variables as key-value pairs when editing the Lambda configuration and click on update:" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:265 +msgid "**Table 1. Environment variables: Lambda configuration**" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:269 +msgid "Key" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:270 +msgid "Value" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:271 +msgid "PARAM_MODEL_XML" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:272 +msgid "/, where is user specified and contains IR.xml, the Intermediate Representation file from Intel® Model Optimizer. For this tutorial, should be set to '/usr/share/openvino/models' or one of its subdirectories." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:276 +msgid "PARAM_INPUT_SOURCE" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:277 +msgid "/input.webm to be specified by user. Holds both input and" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:278 +msgid "output data. For webcam, set PARAM_INPUT_SOURCE to ‘/dev/video0’" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:279 +msgid "PARAM_DEVICE" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:280 +msgid "\"CPU\"" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:281 +msgid "PARAM_CPU_EXTENSION_PATH" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:282 +msgid "/usr/lib64/libcpu_extension.so" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:283 +msgid "PARAM_OUTPUT_DIRECTORY" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:284 +msgid " to be specified by user. Holds both input and output data" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:286 +msgid "PARAM_NUM_TOP_RESULTS" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:287 +msgid "User specified for classification sample. (e.g. 1 for top-1 result, 5 for top-5 results)" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:290 +msgid "Add subscription to subscribe, or publish messages from AWS Greengrass Lambda function by completing the procedure in `Configure the Lambda Function for AWS IoT Greengrass`_." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:295 +msgid "The optional topic filter field is the topic mentioned inside the Lambda function. In this tutorial, sample topics include the following: :command:`openvino/ssd` or :command:`openvino/classification`" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:300 +msgid "Add local resources" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:302 +msgid "Refer to the AWS documentation for details about `local resources and access privileges`_." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:304 +msgid "The following table describes the local resources needed for the CPU:" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:306 +msgid "**Local resources**" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:310 +msgid "Name" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:311 +msgid "Resource type" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:312 +msgid "Local path" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:313 +msgid "Access" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:315 +msgid "ModelDir" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:316 +#: ../../../source/tutorials/greengrass.rst:326 +msgid "Volume" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:317 +msgid " to be specified by user" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:318 +#: ../../../source/tutorials/greengrass.rst:323 +msgid "Read-Only" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:320 +msgid "Webcam" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:321 +msgid "Device" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:322 +msgid "/dev/video0" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:325 +msgid "DataDir" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:327 +msgid " to be specified by user. Holds both input and output data." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:329 +msgid "Read and Write" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:332 +msgid "Deploy Lambda function" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:334 +msgid "Refer to the AWS documentation for instructions on how to `deploy the lambda function to AWS Greengrass core device`_. Select *Deployments* on the group page and follow the instructions." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:339 +msgid "Output consumption" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:341 +msgid "There are four options available for output consumption. These options are used to report, stream, upload, or store inference output at an interval defined by the variable :command:`reporting_interval` in the AWS Greengrass samples." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:345 +msgid "IoT cloud output:" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:347 +msgid "This option is enabled by default in the AWS Greengrass samples using the :command:`enable_iot_cloud_output` variable. You can use it to verify the lambda running on the edge device. It enables publishing messages to IoT cloud using the subscription topic specified in the lambda. (For example, topics may include :command:`openvino/classification` for classification and :command:`openvino/ssd` for object detection samples.) For classification, top-1 result with class label are published to IoT cloud. For SSD object detection, detection results such as bounding box coordinates of objects, class label, and class confidence are published." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:357 +msgid "Follow the instructions here to `view the output on IoT cloud`_." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:359 +msgid "Kinesis streaming:" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:361 +msgid "This option enables inference output to be streamed from the edge device to cloud using Kinesis [3] streams when :command:`enable_kinesis_output` is set to True. The edge devices act as data producers and continually push processed data to the cloud. You must set up and specify Kinesis stream name, Kinesis shard, and AWS region in the AWS Greengrass samples." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:368 +msgid "Cloud storage using AWS S3 bucket:" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:370 +msgid "When the :command:`enable_s3_jpeg_output` variable is set to True, it enables uploading and storing processed frames (in jpeg format) in an AWS S3 bucket. You must set up and specify the S3 bucket name in the AWS Greengrass samples to store the JPEG images. The images are named using the timestamp and uploaded to S3." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:376 +msgid "Local storage:" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:378 +msgid "When the :command:`enable_s3_jpeg_output` variable is set to True, it enables storing processed frames (in jpeg format) on the edge device. The images are named using the timestamp and stored in a directory specified by :command:`PARAM_OUTPUT_DIRECTORY`." +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:384 +msgid "References" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:386 +msgid "AWS Greengrass: https://aws.amazon.com/greengrass/" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:387 +msgid "AWS Lambda: https://aws.amazon.com/lambda/" +msgstr "" + +#: ../../../source/tutorials/greengrass.rst:388 +msgid "AWS Kinesis: https://aws.amazon.com/kinesis/" +msgstr "" + diff --git a/localization/pot/locale/tutorials/hadoop.pot b/localization/pot/locale/tutorials/hadoop.pot new file mode 100644 index 00000000..3243599c --- /dev/null +++ b/localization/pot/locale/tutorials/hadoop.pot @@ -0,0 +1,175 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/tutorials/hadoop.rst:4 +msgid "Set up a single node cluster with Hadoop\\*" +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:6 +msgid "This tutorial walks you through the process of installing, configuring, and running Apache\\* Hadoop on |CL-ATTR|. The Apache Hadoop software library is a framework for distributed processing of large data sets across clusters of computers using simple programming models. It is designed to scale up from single servers to thousands of machines, with each machine offering local computation and storage." +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:14 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:16 +msgid "Before following this tutorial, you should follow the :ref:`bare-metal-install-desktop` to ensure you have installed |CL|." +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:19 +msgid "Before you install any new packages, update |CL| with the following command:" +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:25 +msgid "For the purposes of this tutorial, we will install Hadoop in a single machine running both the master and slave daemons." +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:29 +msgid "Install Apache Hadoop" +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:31 +msgid "Apache Hadoop is included in the `big-data-basic` bundle. To install the framework, enter the following command:" +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:39 +msgid "Configure Apache Hadoop" +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:41 +msgid "To create the configuration directory, enter the following command:" +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:47 +msgid "Copy the defaults from :file:`/usr/share/defaults/hadoop` to :file:`/etc/hadoop` with the following command:" +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:54 +msgid "Since |CL| is a stateless system, you should never modify the files under the :file:`/usr/share/defaults` directory. The software updater will overwrite those files." +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:58 +msgid "Once all the configuration files are in :file:`/etc/hadoop`, we must edit them to fit our needs. The `NameNode` server is the master server. It manages the namespace of the files system and regulates the clients' access to files. The first file we edit, :file:`/etc/hadoop/core-site.xml`, informs the Hadoop daemon where `NameNode` is running." +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:64 +msgid "In this tutorial, our `NameNode` runs in our `localhost`. Follow these steps to set it up correctly:" +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:67 +msgid "Open the :file:`/etc/hadoop/core-site.xml` file using the editor of your choice and modify the file as follows:" +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:81 +msgid "Edit the :file:`/etc/hadoop/hdfs-site.xml` file. This file configures the :abbr:`HDFS (Hadoop Distributed File System)` daemons. This configuration includes the list of permitted and excluded data nodes and the size of said blocks. In this example, we are setting the number of block replication to 1 from the default of 3 as follows:" +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:103 +msgid "Edit the :file:`/etc/hadoop/mapred-site.xml` file. This file configures all daemons related to `MapReduce`: `JobTracker` and `TaskTrackers`. With `MapReduce`, Hadoop can process big amounts of data in multiple systems. In our example, we set :abbr:`YARN (Yet Another Resource Manager)` as our runtime framework for executing `MapReduce` jobs as follows:" +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:121 +msgid "Edit the :file:`/etc/hadoop/yarn-site.xml` file. This file configures all daemons related to `YARN`: `ResourceManager` and `NodeManager`. In our example, we implement the `mapreduce_shuffle` service, which is the default as follows:" +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:142 +msgid "Configure your SSH key" +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:144 +msgid "Create a SSH key. If you already have one, skip this step." +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:151 +msgid "Copy the key to your authorized keys." +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:157 +msgid "Log into the localhost. If no password prompt appears, you are ready to run the Hadoop daemons." +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:165 +msgid "Run the Hadoop daemons" +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:167 +msgid "With all the configuration files properly edited, we are ready to start the daemons." +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:170 +msgid "When we format the `NameNode` server, it formats the meta-data related to data nodes. Thus, all the information on the data nodes is lost and the nodes can be reused for new data." +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:174 +msgid "Format the `NameNode` server with the following command:" +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:180 +msgid "Start the DFS in `NameNode` and `DataNodes` with the following command:" +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:186 +#: ../../../source/tutorials/hadoop.rst:211 +msgid "The console output should be similar to:" +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:196 +msgid "Enter `yes` to continue." +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:198 +msgid "Start the `YARN` daemons `ResourceManager` and `NodeManager` with the following command:" +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:205 +msgid "Ensure everything is running as expected with the following command:" +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:223 +msgid "Run the MapReduce wordcount example" +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:225 +msgid "Create the input directory." +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:231 +msgid "Copy a file from the local file system to the HDFS." +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:237 +msgid "Run the `wordcount` example." +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:243 +msgid "Read output file \"part-r-00000\". This file contains the number of times each word appears in the file." +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:250 +msgid "**Congratulations!**" +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:252 +msgid "You successfully installed and setup a single node Hadoop cluster. Additionally, you ran a simple wordcount example." +msgstr "" + +#: ../../../source/tutorials/hadoop.rst:255 +msgid "Your single node Hadoop cluster is up and running!" +msgstr "" + diff --git a/localization/pot/locale/tutorials/kata.pot b/localization/pot/locale/tutorials/kata.pot new file mode 100644 index 00000000..c772dcd9 --- /dev/null +++ b/localization/pot/locale/tutorials/kata.pot @@ -0,0 +1,110 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/tutorials/kata.rst:4 +msgid "Install Kata Containers\\*" +msgstr "" + +#: ../../../source/tutorials/kata.rst:6 +msgid "This tutorial describes how to install, configure, and run `Kata Containers`_ on |CL-ATTR|. Kata Containers is an open source project developing a lightweight implementation of :abbr:`VMs (Virtual Machines)` that offer the speed of containers and the security of VMs." +msgstr "" + +#: ../../../source/tutorials/kata.rst:12 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/tutorials/kata.rst:14 +msgid "This tutorial assumes you have installed |CL| on your host system. For detailed instructions on installing |CL| on a bare metal system, follow the :ref:`bare metal installation tutorial`." +msgstr "" + +#: ../../../source/tutorials/kata.rst:18 +msgid "If you have Clear Containers installed on your |CL| system, then follow the :ref:`migrate Clear Containers to Kata Containers tutorial`." +msgstr "" + +#: ../../../source/tutorials/kata.rst:21 +msgid "Before you install any new packages, update |CL| with the following command:" +msgstr "" + +#: ../../../source/tutorials/kata.rst:28 +msgid "Install Kata Containers" +msgstr "" + +#: ../../../source/tutorials/kata.rst:30 +msgid "Kata Containers is included in the :file:`containers-virt` bundle. To install the framework, enter the following command:" +msgstr "" + +#: ../../../source/tutorials/kata.rst:37 +msgid "Restart the Docker\\* and Kata Containers systemd services." +msgstr "" + +#: ../../../source/tutorials/kata.rst:45 +msgid "Run Kata Containers" +msgstr "" + +#: ../../../source/tutorials/kata.rst:53 +msgid "If you use a proxy server and your proxy environment variables are already set, run the following commands as a shell script to configure Docker:" +msgstr "" + +#: ../../../source/tutorials/kata.rst:70 +msgid "**Congratulations!**" +msgstr "" + +#: ../../../source/tutorials/kata.rst:72 +msgid "You've successfully installed and set up Kata Containers on |CL|." +msgstr "" + +#: ../../../source/tutorials/kata.rst:75 +msgid "More information about Docker" +msgstr "" + +#: ../../../source/tutorials/kata.rst:77 +msgid "Docker on |CL| provides a :file:`docker.service` file to start the Docker daemon. The daemon will use runc or kata-runtime depending on the environment:" +msgstr "" + +#: ../../../source/tutorials/kata.rst:81 +msgid "If you are running |CL| on bare metal or on a VM with Nested Virtualization activated, Docker uses kata-runtime as the default runtime." +msgstr "" + +#: ../../../source/tutorials/kata.rst:84 +msgid "If you are running |CL| on a VM without Nested Virtualization, Docker uses runc as the default runtime." +msgstr "" + +#: ../../../source/tutorials/kata.rst:87 +msgid "You do not need to manually configure the runtime for Docker, because it automatically uses the runtime supported by the system." +msgstr "" + +#: ../../../source/tutorials/kata.rst:91 +msgid "Troubleshooting" +msgstr "" + +#: ../../../source/tutorials/kata.rst:93 +msgid "To change the Docker storage driver, see :ref:`additional-docker-configuration`." +msgstr "" + +#: ../../../source/tutorials/kata.rst:96 +msgid "For some |CL| versions before 27000, you may need to manually configure Docker\\* to use Kata Containers by default." +msgstr "" + +#: ../../../source/tutorials/kata.rst:99 +msgid "To do so, enter:" +msgstr "" + +#: ../../../source/tutorials/kata.rst:109 +msgid "To check the version of |CL| on your system, enter:" +msgstr "" + diff --git a/localization/pot/locale/tutorials/kata_migration.pot b/localization/pot/locale/tutorials/kata_migration.pot new file mode 100644 index 00000000..2bf9bbbb --- /dev/null +++ b/localization/pot/locale/tutorials/kata_migration.pot @@ -0,0 +1,94 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/tutorials/kata_migration.rst:4 +msgid "Migrate Clear Containers to Kata Containers\\*" +msgstr "" + +#: ../../../source/tutorials/kata_migration.rst:6 +msgid "`Clear Containers`_ and `Kata Containers`_ can co-exist in the same system. Both can be installed through the :file:`containers-virt bundle`. However, we recommend that you migrate to Kata Containers because Clear Containers is no longer maintained_ and will soon be deprecated on |CL-ATTR|." +msgstr "" + +#: ../../../source/tutorials/kata_migration.rst:11 +msgid "This guide describes how to migrate to Kata Containers and assumes that:" +msgstr "" + +#: ../../../source/tutorials/kata_migration.rst:13 +msgid "Clear Containers is on a Docker\\* system." +msgstr "" + +#: ../../../source/tutorials/kata_migration.rst:14 +msgid "Kata Containers is installed. See :ref:`kata`." +msgstr "" + +#: ../../../source/tutorials/kata_migration.rst:18 +msgid "Stop Clear Containers instances" +msgstr "" + +#: ../../../source/tutorials/kata_migration.rst:20 +msgid "As an unprivileged user, stop all running instances of Clear Containers:" +msgstr "" + +#: ../../../source/tutorials/kata_migration.rst:28 +msgid "Manually migrate customized configuration files" +msgstr "" + +#: ../../../source/tutorials/kata_migration.rst:30 +msgid "If you have made changes to your `Clear Containers configuration`_, review those changes and decide whether to manually apply those changes to your `Kata Containers configuration`_." +msgstr "" + +#: ../../../source/tutorials/kata_migration.rst:34 +msgid "Make any required changes before continuing this process." +msgstr "" + +#: ../../../source/tutorials/kata_migration.rst:38 +msgid "You do not need to manually remove any Clear Containers packages." +msgstr "" + +#: ../../../source/tutorials/kata_migration.rst:42 +msgid "Enable Kata Containers as default" +msgstr "" + +#: ../../../source/tutorials/kata_migration.rst:44 +msgid "Configure Docker to use the Kata Containers runtime by default." +msgstr "" + +#: ../../../source/tutorials/kata_migration.rst:54 +msgid "Restart the Docker systemd services." +msgstr "" + +#: ../../../source/tutorials/kata_migration.rst:61 +msgid "Verify Docker is using Kata Containers." +msgstr "" + +#: ../../../source/tutorials/kata_migration.rst:69 +msgid "Run Kata Containers" +msgstr "" + +#: ../../../source/tutorials/kata_migration.rst:71 +msgid "Use the following command:" +msgstr "" + +#: ../../../source/tutorials/kata_migration.rst:77 +msgid "**Congratulations!**" +msgstr "" + +#: ../../../source/tutorials/kata_migration.rst:79 +msgid "You've successfully migrated from Clear Containers to Kata Containers." +msgstr "" + diff --git a/localization/pot/locale/tutorials/kubernetes/kubernetes-bp.pot b/localization/pot/locale/tutorials/kubernetes/kubernetes-bp.pot new file mode 100644 index 00000000..47855090 --- /dev/null +++ b/localization/pot/locale/tutorials/kubernetes/kubernetes-bp.pot @@ -0,0 +1,115 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/tutorials/kubernetes/kubernetes-bp.rst:4 +msgid "Kubernetes Best Practices on |CL|" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes-bp.rst:7 +msgid "Use swupd to update clusters" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes-bp.rst:9 +msgid "This tutorial shows you how to manage your Kubernetes cluster while using :command:`swupd` to update |CL-ATTR|." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes-bp.rst:12 +msgid "In our tutorial :ref:`kubernetes`, we explain how to set up a Kubernetes cluster on |CL| using `kubeadm`. `Kubeadm documentation`_ often builds on the assumption that the distribution uses a traditional package manager (e.g., RPM/DEB)." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes-bp.rst:17 +msgid "In contrast, |CL| uses `swupd` to update the OS, which in this case updates all of the kubernetes node and client binaries simultaneously, as part of the `cloud-native-basic` bundle (e.g., kubectl, kubeadm, kubelet). Running :command:`sudo swupd update` requires special care to ensure the OS incorporates the latest Kubernetes upgrades." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes-bp.rst:23 +msgid "This document describes best practices to manage cluster upgrades with `kubeadm` on a |CL|-based cluster." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes-bp.rst:27 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes-bp.rst:29 +msgid "Assure that you:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes-bp.rst:31 +msgid "Completed :ref:`kubernetes`" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes-bp.rst:32 +msgid "Installed the bundle `cloud-native-basic`" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes-bp.rst:36 +msgid "Other Linux\\* distros shown in Kubernetes upgrade documentation reflect `apt-get update`, `apt-mark hold kubeadm`, and similar commands; however, such commands **are not valid** on |CL|." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes-bp.rst:40 +msgid "Update the control plane" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes-bp.rst:42 +msgid "Read kubernetes documentation `before you begin`_." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes-bp.rst:44 +msgid "On your master node, run the command:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes-bp.rst:52 +msgid "If the minor version of Kubernetes changes, |CL| shows a message-of-the-day, or `motd`. When the `motd` appears, you **must postpone** a kubelet restart on master and nodes until the control plane is properly updated. :command:`swupd update` does not restart services automatically unless explicitly configured to do so." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes-bp.rst:54 +msgid "Now follow these instructions in kubernetes documentation." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes-bp.rst:56 +msgid "`Upgrade control plane`_" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes-bp.rst:57 +msgid "`Drain control plane node`_" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes-bp.rst:58 +#: ../../../source/tutorials/kubernetes/kubernetes-bp.rst:73 +msgid "`Restart Kubelet and undrain node`_" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes-bp.rst:61 +msgid "Update worker nodes" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes-bp.rst:63 +msgid "On each worker node, run the command:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes-bp.rst:69 +msgid "Now follow these instructions in kubernetes documentation:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes-bp.rst:71 +msgid "`Drain node`_" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes-bp.rst:72 +msgid "`Update kubelet configuration`_" +msgstr "" + diff --git a/localization/pot/locale/tutorials/kubernetes/kubernetes.pot b/localization/pot/locale/tutorials/kubernetes/kubernetes.pot new file mode 100644 index 00000000..eba3bfac --- /dev/null +++ b/localization/pot/locale/tutorials/kubernetes/kubernetes.pot @@ -0,0 +1,350 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:4 +msgid "Run Kubernetes\\*" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:6 +msgid "This tutorial describes how to install, configure, and run the `Kubernetes container orchestration system`_ on |CL-ATTR| using CRI+O and kata-runtime." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:10 +msgid "Kubernetes\\* is an open source system for automating deployment, scaling, and management of containerized applications. It groups containers that make up an application into logical units for easy management and discovery." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:14 +msgid "Kata Containers\\* kata-runtime adheres to :abbr:`OCI (Open Container Initiative*)` guidelines and work seamlessly with Kubernetes. `Kata Containers`_ provide strong isolation for untrusted workloads or multi-tenant scenarios. Kata Containers can be allocated on a per-pod basis so you can mix and match both on the same host to suit your needs." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:25 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:27 +msgid "This tutorial assumes you have already installed |CL|. For detailed instructions on installing |CL| on a bare metal system, follow the :ref:`bare metal installation tutorial`. Learn about the benefits of having an up-to-date system for cloud orchestration on the :ref:`swupd-about` page." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:33 +msgid "Before you install any new packages, update |CL| with the following command:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:40 +msgid "Install Kubernetes and CRI runtimes" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:42 +msgid "Kubernetes, a set of supported :abbr:`CRI (Container Runtime Interface)` runtimes, and networking plugins, are included in the `cloud-native-basic`_ bundle." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:46 +msgid "To install this framework, enter the following command:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:54 +msgid "For more on networking plugins, see `Install pod network add-on`_." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:57 +msgid "Configure Kubernetes" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:59 +msgid "This tutorial uses the basic default Kubernetes configuration for simplicity. You must define your Kubernetes configuration according to your specific deployment and your security needs." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:63 +msgid "Enable IP forwarding to avoid kubeadm `preflight check`_ errors:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:65 +msgid "Create (or edit if it exists) the file :file:`/etc/sysctl.d/60-k8s.conf` and include the following line:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:72 +msgid "Apply the change:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:78 +msgid "Enable the kubelet service:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:84 +msgid "Disable swap using one of the following methods, either:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:86 +msgid "Temporarily:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:94 +msgid "Swap will be enabled at next reboot, causing failures in your cluster." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:97 +msgid "or:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:99 +msgid "Permanently:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:101 +msgid "Mask the swap partition:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:110 +msgid "On systems with limited resources, some performance degradation may be observed while swap is disabled." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:113 +msgid "Switch to root to modify the `hosts` file:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:119 +msgid "Create (or edit if it exists) the hosts file that Kubernetes will read to locate the master's host:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:126 +msgid "Exit root:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:133 +msgid "Configure and run Kubernetes" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:135 +msgid "This section describes how to configure and run Kubernetes with CRI-O and kata-runtime." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:138 +msgid "Configure and run CRI-O + kata-runtime" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:140 +msgid "Enable the CRI-O service:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:146 +msgid "Enter the commands:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:153 +msgid "Initialize the master control plane with the command below and follow the displayed instructions to set up `kubectl`:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:159 +msgid "Register kata-runtime as a RuntimeClass handler:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:178 +msgid "Install pod network add-on" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:180 +msgid "You must choose and install a `pod network add-on`_ to allow your pods to communicate. Check whether or not your add-on requires special flags when you initialize the master control plane." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:184 +msgid "**Notes about flannel add-on**" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:186 +msgid "If you choose the `flannel` add-on, then you must add the following to the `kubeadm init` command:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:193 +msgid "Furthermore, if you are using CRI-O and `flannel` and you want to use Kata Containers, edit the :file:`/etc/crio/crio.conf` file to add:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:202 +msgid "Use your cluster" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:204 +msgid "Once your master control plane is successfully initialized, instructions on how to use your cluster and its *IP*, *token*, and *hash* values are displayed. It is important that you record the cluster values because they are needed when joining worker nodes to the cluster. Some values have a valid period. The values are presented in a format similar to:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:214 +msgid "**Congratulations!**" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:216 +msgid "You've successfully installed and set up Kubernetes in |CL| using CRI-O and kata-runtime. You are now ready to follow on-screen instructions to deploy a pod network to the cluster and join worker nodes with the displayed token and IP information." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:222 +msgid "Related topics" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:224 +msgid "Read the Kubernetes documentation to learn more about:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:226 +msgid "`Understanding basic Kubernetes architecture`_" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:228 +msgid "`Deploying an application to your cluster`_" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:230 +msgid "Installing a `pod network add-on`_" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:232 +msgid "`Joining your nodes`_" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:235 +msgid "Cloud native setup automation (optional)" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:237 +msgid "Clone the `cloud-native-setup`_ repository on your system and follow the instructions. This repository includes helper scripts to automate configuration." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:240 +msgid "Package configuration customization (optional)" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:242 +msgid "|CL| is a stateless system that looks for user-defined package configuration files in the :file:`/etc/` directory to be used as default. If user-defined files are not found, |CL| uses the distribution-provided configuration files for each package." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:247 +msgid "If you customize any of the default package configuration files, you **must** store the customized files in the :file:`/etc/` directory. If you edit any of the distribution-provided default files, your changes will be lost in the next system update." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:252 +msgid "For example, to customize CRI-O configuration in your system, run the following commands:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:261 +msgid "Learn more about `Stateless`_ in |CL| and view the |CL| `documentation`_." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:264 +msgid "Proxy configuration (optional)" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:266 +msgid "If you use a proxy server, you must set your proxy environment variables and create an appropriate proxy configuration file for both CRI-O services. Consult your IT department if you are behind a corporate proxy for the appropriate values. Ensure that your local IP is **explicitly included** in the environment variable *NO_PROXY*. (Setting *localhost* is not enough.)" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:271 +msgid "If you have already set your proxy environment variables, run the following commands as a shell script to configure all of these services in one step:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:289 +msgid "Next steps" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:291 +msgid ":ref:`kubernetes-bp`" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:295 +msgid "Troubleshooting" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:297 +msgid " not found in message." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:299 +msgid "Your DNS server may not be appropriately configured. Try adding an entry to the :file:`/etc/hosts` file with your host's IP and Name." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:302 +msgid "For example: 100.200.50.20 myhost" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:304 +msgid "Use the commands :command:`hostname` and :command:`hostname -I` to retrieve them." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:306 +msgid "Images cannot be pulled." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:308 +msgid "You may be behind a proxy server. Try configuring your proxy settings, using the environment variables *HTTP_PROXY*, *HTTPS_PROXY*, and *NO_PROXY* as required in your environment." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:312 +msgid "Connection refused error." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:314 +msgid "If you are behind a proxy server, you may need to add the master's IP to the environment variable *NO_PROXY*." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:317 +msgid "Connection timed-out or Access Refused errors." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:319 +msgid "You must ensure that the appropriate proxy settings are available from the same terminal where you will initialize the control plane. To verify the proxy settings that Kubernetes will actually use, run the commands:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:329 +msgid "If the displayed proxy values are different from your assigned values, the cluster initialization will fail. Contact your IT support team to learn how to set the proxy variables permanently, and how to make them available for all the types of access that you will use, such as remote SSH access." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:334 +msgid "If the result of the above commands is blank, you may need to add a ``profile`` to the :file:`/etc` directory. To do so, follow these steps." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:337 +msgid "Create a `profile` in :file:`/etc`" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:343 +msgid "With a preferred editor, open `profile`, and enter your proxy settings. Example shown below." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:355 +msgid " can be obtained by running :command:`ifconfig`." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:357 +msgid "Save and exit the `profile`." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:359 +msgid "Run:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:365 +msgid "To ensure your system isn't running previous session variables, run:" +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:371 +msgid "Continue below while passing `-E` in the command as shown." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:373 +msgid "Missing environment variables." +msgstr "" + +#: ../../../source/tutorials/kubernetes/kubernetes.rst:375 +msgid "If you are behind a proxy server, pass environment variables by adding *-E* to the command that initializes the master control plane." +msgstr "" + diff --git a/localization/pot/locale/tutorials/machine-learning/machine-learning.pot b/localization/pot/locale/tutorials/machine-learning/machine-learning.pot new file mode 100644 index 00000000..6547cc8f --- /dev/null +++ b/localization/pot/locale/tutorials/machine-learning/machine-learning.pot @@ -0,0 +1,238 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:4 +msgid "TensorFlow\\* machine learning on |CL-ATTR|" +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:6 +msgid "This tutorial will demonstrate the installation and execusion of a TensorFlow\\* machine learning example on |CL-ATTR|. It uses a Jupyter\\* Notebook and MNIST data for handwriting recognition." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:10 +msgid "The initial steps will have you set up a Jupyter kernel and run a Notebook on a bare-metal |CL| system." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:14 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:16 +msgid "This tutorial assumes you have installed |CL| on your host system. For detailed instructions on installing |CL| on a bare metal system, follow the :ref:`bare metal installation tutorial`." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:20 +msgid "Before you install any new packages, update |CL| with the following command:" +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:26 +msgid "Once your system is updated, add the following bundles to your system:" +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:28 +msgid "`machine-learning-web-ui`: This bundle contains the Jupyter application." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:30 +msgid "`machine-learning-basic`: This bundle contains TensorFlow and other useful tools." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:33 +msgid "To install the bundles, run the following commands in your :file:`$HOME` directory:" +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:43 +msgid "Set up a Jupyter notebook" +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:45 +msgid "With all required packages and libraries installed, set up the file structure for the Jupyter Notebook." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:48 +msgid "In the :file:`$HOME` directory, create a directory for the Jupyter Notebooks named :file:`Notebooks`." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:55 +msgid "Within :file:`Notebooks`, create a directory named :file:`Handwriting`." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:61 +msgid "Change to the new directory." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:67 +msgid "Copy the :file:`MNIST_example.ipynb` file into the :file:`Handwriting` directory." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:71 +msgid "After installing the `machine-learning basic` bundle, you can find the example code under :file:`/usr/share/doc/tensorflow/MNIST_example.ipynb`." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:76 +msgid "The example code downloads and decompresses the MNIST data directly into the :file:`./mnist` directory. Alternatively, download the four files directly from the Yann LeCun’s `MNIST Database website`_ and save them into a :file:`mnist` directory within the :file:`Handwriting` directory." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:81 +msgid "The files needed are:" +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:83 +msgid "`train-images-idx3-ubyte.gz`_: Training set images (9912422 bytes)" +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:85 +msgid "`train-labels-idx1-ubyte.gz`_: Training set labels (28881 bytes)" +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:87 +msgid "`t10k-images-idx3-ubyte.gz`_: Test set images (1648877 bytes)" +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:89 +msgid "`t10k-labels-idx1-ubyte.gz`_: Test set labels (4542 bytes)" +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:92 +msgid "Run the Jupyter machine learning example code" +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:94 +msgid "With |CL|, Jupyter, and TensorFlow installed and configured, we can run the example code." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:97 +msgid "Go to the :file:`($HOME)/Notebooks` directory and start Jupyter with the following commands:" +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:106 +msgid "The Jupyter server starts and opens a web browser showing the Jupyter file manager with a list of files in the current directory, see figure 1." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:112 +msgid "Figure 1: The Jupyter file manager shows the list of available files." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:114 +msgid "Click on the :file:`Handwriting` directory. The :file:`MNIST_example.ipynb` file created earlier should be listed there, see figure 2." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:120 +msgid "Figure 2: The example file within the Jupyter file manager." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:122 +msgid "To run the hand writing example, click on the :file:`MNIST_example.ipynb` file to load the notebook, see figure 3." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:128 +msgid "Figure 3: The loaded MNIST_example notebook within the Jupyter file manager." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:131 +msgid "Click the |run-cell| button to execute the code in the current cell and move to the next." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:134 +msgid "Select the :guilabel:`In [2]` cell and click the |run-cell| button to load the MNIST data. The successful output is shown on figure 4." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:140 +msgid "Figure 4: Output after successfully importing the MNIST data." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:143 +msgid "After the MNIST data was successfully downloaded and extracted into the :file:`mnist` directory within the :file:`($HOME)/Notebooks/Handwriting` directory, four .gz files are present and the four data sets were created: `trainX`, `trainY`, `testX` and `testY`." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:148 +msgid "To inspect the imported data, the function in :guilabel:`In [3]` first instructs Jupyter to reshape the data into an array of 28 x 28 images and to plot the area in a 28 x 28 grid. Click the |run-cell| button twice to show the first two digits in the `trainX` dataset, see figure 5." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:156 +msgid "Figure 5: A function reshapes the data and displays the first two digits in the `trainX` dataset." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:159 +msgid "The :guilabel:`In [4]` cell defines the neural network. It provides the inputs, defines the hidden layers, runs the training model, and sets up the output layer, see figure 6. Click the |run-cell| button four times to perform these operations." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:167 +msgid "Figure 6: Defining, building and training the neural network model." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:169 +msgid "To test the accuracy of the prediction the system makes, select the :guilabel:`In [8]` cell and click the |run-cell| button. In this example, the number 6 was predicted with a 99% accuracy, see figure 7." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:176 +msgid "Figure 7: The system predicts a number providing the accuracy of the prediction." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:181 +msgid "To retest the accuracy of a random data point's prediction, run the cell :guilabel:`In [8]` again. It will take another random data point and predict its value." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:185 +msgid "To check the accuracy for the whole dataset, select the :guilabel:`In [10]` cell and click the |run-cell| button. Our example's accuracy is calculated as 97.17%, see figure 8." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:192 +msgid "Figure 8: The system's accuracy for the entire data set." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:194 +msgid "For more in-depth information on the model used and the mathematics it entails, visit the TensorFlow tutorials `TensorFlow MNIST beginners demo`_ and `TensorFlow MNIST pros demo`_." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:198 +msgid "**Congratulations!**" +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:200 +msgid "You have successfully installed a Jupyter kernel on |CL|. In addition, you trained a neural network to successfully predict the values contained in a data set of hand-written number images." +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:205 +msgid "Related topics" +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:207 +msgid "`MNIST Database website`_" +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:208 +msgid "`TensorFlow MNIST beginners demo`_" +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:209 +msgid "`TensorFlow MNIST pros demo`_" +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:210 +msgid "`Jupyter main website`_" +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:211 +msgid "`Jupyter documentation`_" +msgstr "" + +#: ../../../source/tutorials/machine-learning/machine-learning.rst:212 +msgid "`MNIST at Wikipedia`_" +msgstr "" + diff --git a/localization/pot/locale/tutorials/nvidia.pot b/localization/pot/locale/tutorials/nvidia.pot new file mode 100644 index 00000000..7c1f2dc3 --- /dev/null +++ b/localization/pot/locale/tutorials/nvidia.pot @@ -0,0 +1,310 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/tutorials/nvidia.rst:4 +msgid "Install NVIDIA\\* Drivers" +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:6 +msgid "NVIDIA manufactures graphics processing units (GPU), also known as graphics cards." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:9 +msgid "NVIDIA devices on Linux\\* have two popular device driver options: the opensource drivers from the `nouveau project`_ or the proprietary drivers published by NVIDIA. The nouveau drivers are built into the |CL-ATTR| kernel and are loaded automatically at system boot if a compatible card is detected." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:15 +msgid "These instructions show how to use the proprietary NVIDIA drivers, which require a manual installation." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:20 +msgid "Software installed outside of :ref:`swupd ` is not updated with |CL| updates and must be updated and maintained manually." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:23 +msgid "For example, the file :file:`/usr/lib/libGL.so` conflicts between the one provided by the mesa package in |CL| and the one NVIDIA provides. If a |CL| update overwrites these files, a reinstallation of the NVIDIA driver might be required." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:36 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:38 +msgid "A |CL| system with a desktop installed" +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:39 +msgid "An NVIDIA device installed" +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:43 +msgid "Install DKMS" +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:45 +msgid "The :ref:`Dynamic Kernel Module System (DKMS) ` allows the NVIDIA kernel modules to be automatically integrated when kernel updates occur in |CL|." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:49 +msgid "Install the appropriate DKMS bundle using the instructions below:" +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:52 +msgid "The Long Term Support (LTS) kernel variant is more likely to remain compatible between updates with NVIDIA drivers." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:3 +msgid "The *kernel-native-dkms* bundle provides the :command:`dkms` program and Linux kernel headers, which are required for compiling kernel modules." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:6 +msgid "The *kernel-native-dkms* bundle also:" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:8 +msgid "Adds a systemd update trigger (:file:`/usr/lib/systemd/system/dkms-new-kernel.service`) to automatically run DKMS to rebuild modules after a kernel upgrade occurs with :ref:`swupd update `." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:13 +msgid "Disables kernel module signature verification by appending a kernel command-line parameter (:command:`module.sig_unenforce`) from the :file:`/usr/share/kernel/cmdline.d/clr-ignore-mod-sig.conf` file." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:17 +msgid "Adds a notification to the Message of the Day (MOTD) indicating kernel module signature verification is disabled." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:22 +msgid "We recommend that you always review the :command:`swupd update` output to make sure kernel modules were successfully rebuilt against the new kernel. This is especially important for systems where a successful boot relies on a kernel module." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:28 +msgid "Install the :command:`kernel-native-dkms` or :command:`kernel-lts-dkms` bundle:" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:31 +msgid "Determine which kernel variant is running on |CL|. Only the *native* and *lts* kernels are enabled to build and load out-of-tree kernel modules with DKMS." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:40 +msgid "Ensure *.native* or *.lts* is in the kernel name." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:42 +msgid "Install the DKMS bundle corresponding to the installed kernel. Use :command:`kernel-native-dkms` for the native kernel or :command:`kernel-lts-dkms` for the lts kernel." +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:50 +msgid "or" +msgstr "" + +#: ../../../source/guides/kernel/kernel-modules-dkms.rst:57 +msgid "Update the |CL| bootloader and reboot." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:62 +msgid "Download and install the NVIDIA Drivers" +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:66 +msgid "Download the NVIDIA Drivers for Linux" +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:68 +msgid "Identify the model of NVIDIA GPU that is installed." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:75 +msgid "Go to the `NVIDIA Driver Downloads website`_ . Search for and download the appropriate driver based on the model of NVIDIA GPU you have with *Linux 64-bit* selected as the Operating System ." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:80 +msgid "Open a terminal and navigate to where the :file:`NVIDIA-Linux-x86_64-.run` file was saved. In this example, it was saved in the Downloads folder." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:88 +msgid "Make the :file:`NVIDIA-Linux-x86_64-.run` file executable." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:96 +msgid "Disable the nouveau Driver" +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:98 +msgid "The proprietary NVIDIA driver is incompatible with the nouveau driver and must be disabled before installation can continue." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:101 +msgid "Disable the nouveau driver by creating a blacklist file under :file:`/etc/modprobe.d` and reboot." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:111 +msgid "Reboot the system and log back in. It is normal for the graphical environment not to start without the NVIDIA driver loaded." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:118 +msgid "Configure Alternative Software Paths" +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:120 +msgid "The NVIDIA installer will be directed to install files under :file:`/opt/nvidia` as much as possible to keep its contents isolated from the rest of the |CL| system files under :file:`/usr`. The dynamic linker and X server must be configured to use the content under :file:`/opt/nvidia`." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:127 +msgid "Configure the dynamic linker to look for and to cache shared libraries under :file:`/opt/nvidia/lib` and :file:`/opt/nvidia/lib32` in addition to the default paths." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:138 +msgid "Reload the dynamic linker run-time bindings and library cache." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:144 +msgid "Create a Xorg configuration file to search for modules under :file:`/opt/nvidia` in addition to the default path." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:160 +msgid "Install the NVIDIA Drivers" +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:163 +msgid "A terminal not running on */dev/tty1* is useful to view uninterrupted installation progress. Switch to a secondary virtual terminal by pushing :command:`CTRL + ALT + F2` or remotely login over SSH." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:168 +msgid "Navigate into the directory where the NVIDIA installer was downloaded." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:175 +msgid "Run the installer with the advanced options below." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:199 +msgid "The graphical interface may automatically start after the NVIDIA driver is loaded. Return to the working terminal and log back in if necessary." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:203 +msgid "Confirm that the NVIDIA kernel modules are loaded." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:210 +msgid "Run a |CL| system verification to restore files that the NVIDIA installer likely deleted." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:219 +msgid "The NVIDIA software places some files under the :file:`/usr` subdirectory which are not managed by |CL| and conflict with the |CL| stateless design." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:222 +msgid "Although a limited version of :command:`swupd repair` is run above, other uses of the :command:`swupd repair` command should be avoided with the proprietary NVIDIA drivers installed." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:228 +msgid "Updating the NVIDIA Drivers" +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:230 +msgid "The proprietary NVIDIA drivers are installed manually outside of :ref:`swupd ` and must be updated manually when needed." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:233 +msgid "Updating the NVIDIA drivers follows the same steps as initial installation, however the desktop environment must first be stopped so that the drivers are not in use." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:237 +msgid "Follow the steps in the `Download the NVIDIA Drivers for Linux`_ section to get the latest NVIDIA drivers." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:240 +msgid "Temporarily set the default boot target to the *multi-user*, which is a non-graphical runtime." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:248 +msgid "Reboot the system and log back in. It is normal for the graphical environment not to start." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:251 +msgid "Follow the steps in the `Install the NVIDIA Drivers`_ section to update the NVIDIA drivers. This installation will overwrite the previous NVIDIA drivers and files." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:255 +msgid "Set the default boot target back to the *graphical* target." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:262 +msgid "Reboot the system and log back in." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:264 +msgid "Trigger a flatpak update which will download the runtime corresponding with the new NVIDIA drivers for the flatpak apps that require it." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:273 +msgid "Uninstalling the NVIDIA Drivers" +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:275 +msgid "The NVIDIA drivers and associated software can be uninstalled and nouveau driver restored with the instructions in this section." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:278 +msgid "Remove the :file:`modprobe.d` file that prevents nouveau from loading." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:285 +msgid "Remove the :file:`xorg.conf.d` file that adds a search path for X modules." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:291 +msgid "Run the :command:`sudo /opt/nvidia/bin/nvidia-uninstall`" +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:293 +msgid "Follow the prompts on the screen and reboot the system." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:297 +msgid "Debugging Installation of NVIDIA Drivers" +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:299 +msgid "The NVIDIA driver places installer and uninstaller logs under :file:`/var/log/nvidia-install` and :file:`/var/log/nvidia-uninstall`." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:302 +msgid ":file:`NVIDIA-Linux-x86_64-.run --advanced-options` shows many parameters to control installation behavior." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:305 +msgid ":file:`NVIDIA-Linux-x86_64-.run --extract-only` extracts installation files into a directory named :file:`NVIDIA-Linux-x86_64-`." +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:312 +msgid "Additional resources" +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:314 +msgid "`Why aren't the NVIDIA Linux drivers open source? `_" +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:316 +msgid "`Where can I get support for NVIDIA Linux drivers? `_" +msgstr "" + +#: ../../../source/tutorials/nvidia.rst:318 +msgid "`NVIDIA Accelerated Linux Graphics Driver Installation Guides `_" +msgstr "" + diff --git a/localization/pot/locale/tutorials/redis.pot b/localization/pot/locale/tutorials/redis.pot new file mode 100644 index 00000000..8c15070a --- /dev/null +++ b/localization/pot/locale/tutorials/redis.pot @@ -0,0 +1,158 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/tutorials/redis.rst:4 +msgid "Run Redis on |CL-ATTR|" +msgstr "" + +#: ../../../source/tutorials/redis.rst:6 +msgid "Redis is an in-memory key:value store designed for quick lookups, accessible over the network. In this tutorial, you'll install redis and launch a redis-server on |CL|, plus learn a few basic redis commands. We also invite you to pull our `Clear Linux Redis instance`_ on dockerhub\\* for application or infrastructure development." +msgstr "" + +#: ../../../source/tutorials/redis.rst:12 +msgid "While the `redis data structure store`_ can serve as a NoSQL database for a Web application, it's also easy to integrate in an existing stack. For example, you could use the Redis caching layer for real-time responses on a leaderboard in a gaming app. Redis offers many client libraries with language-specific bindings for Python, Perl, Ruby, and more." +msgstr "" + +#: ../../../source/tutorials/redis.rst:19 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/tutorials/redis.rst:20 +msgid "Install the `redis-native` bundle in |CL|" +msgstr "" + +#: ../../../source/tutorials/redis.rst:21 +msgid "Install the `containers-basic` bundle in |CL| (only required in Example 2)" +msgstr "" + +#: ../../../source/tutorials/redis.rst:24 +msgid "Install the redis bundle" +msgstr "" + +#: ../../../source/tutorials/redis.rst:26 +msgid "In |CL|, find redis in the `redis-native` bundle." +msgstr "" + +#: ../../../source/tutorials/redis.rst:28 +msgid "Open a Terminal and login as an administrative user." +msgstr "" + +#: ../../../source/tutorials/redis.rst:30 +msgid "Add :file:`redis-native`." +msgstr "" + +#: ../../../source/tutorials/redis.rst:38 +msgid "If the bundle already exists, no action is required." +msgstr "" + +#: ../../../source/tutorials/redis.rst:41 +msgid "Start the redis-server" +msgstr "" + +#: ../../../source/tutorials/redis.rst:43 +msgid "A `systemd` service unit is available to control the redis server. By default, redis runs on port 6379." +msgstr "" + +#: ../../../source/tutorials/redis.rst:46 +msgid "Start the service." +msgstr "" + +#: ../../../source/tutorials/redis.rst:54 +msgid "To stop redis run :command:`systemctl stop redis`." +msgstr "" + +#: ../../../source/tutorials/redis.rst:56 +msgid "Assure the service is running." +msgstr "" + +#: ../../../source/tutorials/redis.rst:62 +msgid "Verify the redis-server sends a reply." +msgstr "" + +#: ../../../source/tutorials/redis.rst:70 +msgid "Expected output: `PONG`." +msgstr "" + +#: ../../../source/tutorials/redis.rst:72 +msgid "Optional: If you wish to apply advanced configuration, copy the `redis.conf` into /etc/ directory." +msgstr "" + +#: ../../../source/tutorials/redis.rst:79 +msgid "The redis-server is now ready to use on |CL|. Try some examples below." +msgstr "" + +#: ../../../source/tutorials/redis.rst:82 +msgid "Example 1: Use the redis-cli and try commands" +msgstr "" + +#: ../../../source/tutorials/redis.rst:84 +msgid "One advantage of redis over other NoSQL databases is that developers can easily access data structures like lists, sets, sorted sets, strings, and hashes using collection operations commands similar to those found in many programming languages. These exercises are inspired by `try redis io`_." +msgstr "" + +#: ../../../source/tutorials/redis.rst:89 +msgid "After your `redis-server` is running, try some basic commands." +msgstr "" + +#: ../../../source/tutorials/redis.rst:91 +msgid "Enter the `redis-cli`. It provides syntax suggestions as you type." +msgstr "" + +#: ../../../source/tutorials/redis.rst:97 +msgid "SET key to hold string value. In the set create connections and increment." +msgstr "" + +#: ../../../source/tutorials/redis.rst:108 +msgid "If the key does not exist or hold a key value, `nil` is returned." +msgstr "" + +#: ../../../source/tutorials/redis.rst:126 +msgid "Create a `friends` list and insert new values at the end of the list." +msgstr "" + +#: ../../../source/tutorials/redis.rst:140 +msgid "Modify `friends` list, using a common slice method with a 0-index." +msgstr "" + +#: ../../../source/tutorials/redis.rst:162 +msgid "Consider using a hash, a very useful data type, which maps string fields and string values, offering multiple lookup methods." +msgstr "" + +#: ../../../source/tutorials/redis.rst:165 +msgid "Enter many user key:values with `HMSET`. Then try `HGET` and `HGETALL`." +msgstr "" + +#: ../../../source/tutorials/redis.rst:185 +msgid "Example 2: Run the |CL| redis docker image" +msgstr "" + +#: ../../../source/tutorials/redis.rst:187 +msgid "We also provide a `Clear Linux Redis instance`_, which is updated continuously and maintained by |CL| development." +msgstr "" + +#: ../../../source/tutorials/redis.rst:203 +msgid "Next Steps" +msgstr "" + +#: ../../../source/tutorials/redis.rst:205 +msgid "Follow the `redis quickstart tutorial`_ to expand potential uses." +msgstr "" + +#: ../../../source/tutorials/redis.rst:207 +msgid "Learn to :ref:`docker`." +msgstr "" + diff --git a/localization/pot/locale/tutorials/smb/smb-desktop.pot b/localization/pot/locale/tutorials/smb/smb-desktop.pot new file mode 100644 index 00000000..79ec600e --- /dev/null +++ b/localization/pot/locale/tutorials/smb/smb-desktop.pot @@ -0,0 +1,94 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/tutorials/smb/smb-desktop.rst:4 +msgid "Connect to Windows\\* shared location from |CL-ATTR| desktop" +msgstr "" + +#: ../../../source/tutorials/smb/smb-desktop.rst:6 +msgid "This tutorial explains how to access an existing shared drive on Windows\\* via Server Message Block (SMB) / Common Internet File System (CIFS) from the |CL| GNOME desktop. CIFS filesystem is generally used to access shared storage locations, or share files." +msgstr "" + +#: ../../../source/tutorials/smb/smb-desktop.rst:12 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/tutorials/smb/smb-desktop.rst:14 +msgid "You have already `set up a shared location on Windows`_" +msgstr "" + +#: ../../../source/tutorials/smb/smb-desktop.rst:17 +msgid "Connect to Windows shared location with Nautilus" +msgstr "" + +#: ../../../source/tutorials/smb/smb-desktop.rst:19 +msgid "From the desktop, select :guilabel:`Files` from the application menu." +msgstr "" + +#: ../../../source/tutorials/smb/smb-desktop.rst:23 +msgid "GNOME Files is also known as `Nautilus`." +msgstr "" + +#: ../../../source/tutorials/smb/smb-desktop.rst:25 +msgid "In :guilabel:`Files`, select :guilabel:`Other Locations`." +msgstr "" + +#: ../../../source/tutorials/smb/smb-desktop.rst:31 +msgid "Figure 1: Files, Other Locations" +msgstr "" + +#: ../../../source/tutorials/smb/smb-desktop.rst:33 +msgid "In the lower taskbar, beside :guilabel:`Connect to Server`, enter the file-sharing address using the Windows sharing schema:" +msgstr "" + +#: ../../../source/tutorials/smb/smb-desktop.rst:44 +msgid "Figure 2: Connect to Server" +msgstr "" + +#: ../../../source/tutorials/smb/smb-desktop.rst:46 +msgid "Optional: If there are issues with DNS, you can use an IP address in place of the `servername` above. You must still specify the share." +msgstr "" + +#: ../../../source/tutorials/smb/smb-desktop.rst:49 +msgid "Optional: On the Windows machine, in a CLI, retrieve the IP address by entering the command:" +msgstr "" + +#: ../../../source/tutorials/smb/smb-desktop.rst:58 +msgid "If using the IP address, assure that it is accessible and secure." +msgstr "" + +#: ../../../source/tutorials/smb/smb-desktop.rst:60 +msgid "Select :guilabel:`Connect`." +msgstr "" + +#: ../../../source/tutorials/smb/smb-desktop.rst:62 +msgid "The server will request authentication, as shown in Figure 3." +msgstr "" + +#: ../../../source/tutorials/smb/smb-desktop.rst:68 +msgid "Figure 3: Authentication" +msgstr "" + +#: ../../../source/tutorials/smb/smb-desktop.rst:70 +msgid "Log in with the same Windows system credentials for which you granted access to the share." +msgstr "" + +#: ../../../source/tutorials/smb/smb-desktop.rst:73 +msgid "Select the appropriate checkbox to save your credentials. Consider carefully the security risks as a result of your selection." +msgstr "" + diff --git a/localization/pot/locale/tutorials/smb/smb.pot b/localization/pot/locale/tutorials/smb/smb.pot new file mode 100644 index 00000000..1ab080a4 --- /dev/null +++ b/localization/pot/locale/tutorials/smb/smb.pot @@ -0,0 +1,110 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/tutorials/smb/smb.rst:4 +msgid "Enable simple file sharing with a Windows\\* machine using Samba\\*" +msgstr "" + +#: ../../../source/tutorials/smb/smb.rst:6 +msgid "This tutorial describes how to enable simple file sharing from a system running |CL-ATTR| to a Windows machine using Samba. For more advanced sharing, refer to the `Samba guide`_." +msgstr "" + +#: ../../../source/tutorials/smb/smb.rst:11 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/tutorials/smb/smb.rst:13 +msgid "This tutorial assumes you have installed |CL| on your host system. For detailed instructions, follow the steps in :ref:`bare-metal-install-desktop`." +msgstr "" + +#: ../../../source/tutorials/smb/smb.rst:16 +msgid "Before you install any new packages, update |CL| with the following command:" +msgstr "" + +#: ../../../source/tutorials/smb/smb.rst:24 +msgid "Set up file sharing" +msgstr "" + +#: ../../../source/tutorials/smb/smb.rst:26 +msgid "Log in and get root privileges." +msgstr "" + +#: ../../../source/tutorials/smb/smb.rst:32 +msgid "Add the storage-utils bundle, which includes the Samba binaries." +msgstr "" + +#: ../../../source/tutorials/smb/smb.rst:40 +msgid "The os-clr-on-clr bundle also includes the Samba binaries." +msgstr "" + +#: ../../../source/tutorials/smb/smb.rst:42 +msgid "Create a configuration file called :file:`/etc/samba/smb.conf`. In this example, `[Downloads]` enables a folder share with a specific user. `[Documents]` enables a folder share with any user. The example assumes that a user account `clearlinuxuser` already exists." +msgstr "" + +#: ../../../source/tutorials/smb/smb.rst:47 +msgid "If `valid users` is not specified, then anyone with a user account on the machine and with their Samba password already set can access the folder. However, the account is only able to access files and folders for which they have appropriate permissions." +msgstr "" + +#: ../../../source/tutorials/smb/smb.rst:52 +msgid "Use :command:`chown` or :command:`chmod` to change either the owner of the file or the permissions to allow other users to access the file." +msgstr "" + +#: ../../../source/tutorials/smb/smb.rst:72 +msgid "Enable the Samba daemon to start every time." +msgstr "" + +#: ../../../source/tutorials/smb/smb.rst:79 +msgid "Use :command:`smbpasswd` to add the initial password for the user account to access the share. Be aware that Samba maintains its own list of passwords for user accounts. The Samba password list can be different than the password used to log in." +msgstr "" + +#: ../../../source/tutorials/smb/smb.rst:88 +msgid "Setup is complete and a Windows machine on the same network can access the shares. Windows uses the format :file:`\\\\\\\\[server IP or hostname]\\\\folder` to access shares. Access the shares directly with Windows Explorer or by mapping a network drive." +msgstr "" + +#: ../../../source/tutorials/smb/smb.rst:93 +msgid "Use the IP address of the |CL| machine for an easy access method. If the |CL| machine is behind an Active Directory domain controller or a DNS server, use the hostname of the |CL| machine. For other ways to access shares using a hostname instead of an IP address, see `Chapter 7 of the Samba guide`_." +msgstr "" + +#: ../../../source/tutorials/smb/smb.rst:100 +msgid "Map |CL| drive in Windows" +msgstr "" + +#: ../../../source/tutorials/smb/smb.rst:102 +msgid "Open Windows Explorer and click on the left sidebar on :guilabel:`This PC` to change the options available at the top." +msgstr "" + +#: ../../../source/tutorials/smb/smb.rst:105 +msgid "Click the :guilabel:`Map Network Drive` icon and enter the path in the format: :file:`\\\\\\\\[server IP or hostname]\\\\[shared folder]`" +msgstr "" + +#: ../../../source/tutorials/smb/smb.rst:108 +msgid "Check the box :guilabel:`Connect using different credentials`. Enter the Samba user `clearlinuxuser` and the password created with :command:`smbpasswd`. See Figure 1 for details." +msgstr "" + +#: ../../../source/tutorials/smb/smb.rst:116 +msgid "Figure 1: Map a network drive in Windows Explorer." +msgstr "" + +#: ../../../source/tutorials/smb/smb.rst:118 +msgid "When complete, Windows Explorer displays the share drive as shown in Figure 2." +msgstr "" + +#: ../../../source/tutorials/smb/smb.rst:124 +msgid "Figure 2: View a share drive in Windows Explorer." +msgstr "" + diff --git a/localization/pot/locale/tutorials/spark.pot b/localization/pot/locale/tutorials/spark.pot new file mode 100644 index 00000000..0b89907c --- /dev/null +++ b/localization/pot/locale/tutorials/spark.pot @@ -0,0 +1,134 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/tutorials/spark.rst:4 +msgid "Set up a standalone cluster system using Apache\\* Spark\\*" +msgstr "" + +#: ../../../source/tutorials/spark.rst:6 +msgid "This tutorial describes how to install, configure, and run Apache Spark on |CL-ATTR|. Apache Spark is a fast general-purpose cluster computing system with the following features:" +msgstr "" + +#: ../../../source/tutorials/spark.rst:10 +msgid "Provides high-level APIs in Java\\*, Scala\\*, Python\\*, and R\\*." +msgstr "" + +#: ../../../source/tutorials/spark.rst:11 +msgid "Includes an optimized engine that supports general execution graphs." +msgstr "" + +#: ../../../source/tutorials/spark.rst:12 +msgid "Supports high-level tools including Spark SQL, MLlib, GraphX, and Spark Streaming." +msgstr "" + +#: ../../../source/tutorials/spark.rst:15 +msgid "In this tutorial, you will install Spark on a single machine running the master daemon and a worker daemon." +msgstr "" + +#: ../../../source/tutorials/spark.rst:19 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/tutorials/spark.rst:21 +msgid "This tutorial assumes you have installed |CL| on your host system. For detailed instructions on installing |CL| on a bare metal system, visit the :ref:`bare metal installation guide `." +msgstr "" + +#: ../../../source/tutorials/spark.rst:25 +msgid "Before you install any new packages, update |CL| with the following command:" +msgstr "" + +#: ../../../source/tutorials/spark.rst:32 +msgid "Install Apache Spark" +msgstr "" + +#: ../../../source/tutorials/spark.rst:34 +msgid "Apache Spark is included in the :file:`big-data-basic` bundle. To install the framework, enter:" +msgstr "" + +#: ../../../source/tutorials/spark.rst:42 +msgid "Configure Apache Spark" +msgstr "" + +#: ../../../source/tutorials/spark.rst:44 +msgid "Create the configuration directory with the command:" +msgstr "" + +#: ../../../source/tutorials/spark.rst:50 +msgid "Copy the default templates from :file:`/usr/share/defaults/spark` to :file:`/etc/spark` with the command:" +msgstr "" + +#: ../../../source/tutorials/spark.rst:57 +msgid "Since |CL| is a stateless system, you should never modify the files under the :file:`/usr/share/defaults` directory. The software updater overwrites those files." +msgstr "" + +#: ../../../source/tutorials/spark.rst:62 +msgid "Copy the template files below to create custom configuration files:" +msgstr "" + +#: ../../../source/tutorials/spark.rst:70 +msgid "Edit the :file:`/etc/spark/spark-env.sh` file and add the :envvar:`SPARK_MASTER_HOST` variable. Replace the example address below with your localhost IP address. View your IP address using the :command:`hostname -I` command." +msgstr "" + +#: ../../../source/tutorials/spark.rst:79 +msgid "This optional step enables the master's web user interface to view information needed later in this tutorial." +msgstr "" + +#: ../../../source/tutorials/spark.rst:82 +msgid "Edit the :file:`/etc/spark/spark-defaults.conf` file and update the `spark.master` variable with the `SPARK_MASTER_HOST` address and port `7077`." +msgstr "" + +#: ../../../source/tutorials/spark.rst:90 +msgid "Start the master server and a worker daemon" +msgstr "" + +#: ../../../source/tutorials/spark.rst:92 +msgid "Start the master server using:" +msgstr "" + +#: ../../../source/tutorials/spark.rst:98 +msgid "Start one worker daemon and connect it to the master using the `spark.master` variable defined earlier:" +msgstr "" + +#: ../../../source/tutorials/spark.rst:105 +msgid "Open an internet browser and view the worker daemon information using the master's IP address and port `8080`:" +msgstr "" + +#: ../../../source/tutorials/spark.rst:113 +msgid "Run the Spark wordcount example" +msgstr "" + +#: ../../../source/tutorials/spark.rst:115 +msgid "Run the wordcount example using a file on your local host and output the results to a new file with the following command:" +msgstr "" + +#: ../../../source/tutorials/spark.rst:122 +msgid "Open an internet browser and view the application information using the master's IP address and port `8080`:" +msgstr "" + +#: ../../../source/tutorials/spark.rst:129 +msgid "View the results of the wordcount application in the :file:`~/Documents/results` file." +msgstr "" + +#: ../../../source/tutorials/spark.rst:131 +msgid "**Congratulations!**" +msgstr "" + +#: ../../../source/tutorials/spark.rst:133 +msgid "You successfully installed and set up a standalone Apache Spark cluster. Additionally, you ran a simple wordcount example." +msgstr "" + diff --git a/localization/pot/locale/tutorials/tutorial-proxy.pot b/localization/pot/locale/tutorials/tutorial-proxy.pot new file mode 100644 index 00000000..ada9fc41 --- /dev/null +++ b/localization/pot/locale/tutorials/tutorial-proxy.pot @@ -0,0 +1,102 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/tutorials/tutorial-proxy.rst:4 +msgid "Setting up proxy" +msgstr "" + +#: ../../../source/tutorials/tutorial-proxy.rst:6 +msgid "This tutorial shows you how to configure your system for use behind an outbound proxy to access the Internet." +msgstr "" + +#: ../../../source/tutorials/tutorial-proxy.rst:9 +msgid "|CL| :ref:`tooling` applications already benefit from the :ref:`autoproxy` feature." +msgstr "" + +#: ../../../source/tutorials/tutorial-proxy.rst:17 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/tutorials/tutorial-proxy.rst:19 +msgid "This tutorial assumes you have installed |CL| on your host system. For detailed instructions on installing |CL| on a bare metal system, visit the :ref:`bare metal installation guide `." +msgstr "" + +#: ../../../source/tutorials/tutorial-proxy.rst:24 +msgid "Shells and programs in a desktop session" +msgstr "" + +#: ../../../source/tutorials/tutorial-proxy.rst:27 +msgid "Terminal" +msgstr "" + +#: ../../../source/tutorials/tutorial-proxy.rst:29 +msgid "Add the following to your ~/.bashrc:" +msgstr "" + +#: ../../../source/tutorials/tutorial-proxy.rst:45 +msgid "wget" +msgstr "" + +#: ../../../source/tutorials/tutorial-proxy.rst:47 +msgid "Run this command to enable downloading from websites from the terminal:" +msgstr "" + +#: ../../../source/tutorials/tutorial-proxy.rst:59 +msgid "System service (Docker)" +msgstr "" + +#: ../../../source/tutorials/tutorial-proxy.rst:61 +msgid "For Docker (and other services that use systemd), you can follow these steps to configure and check proxy settings:" +msgstr "" + +#: ../../../source/tutorials/tutorial-proxy.rst:65 +msgid "Be sure to use :command:`sudo`, as you will need elevated permissions." +msgstr "" + +#: ../../../source/tutorials/tutorial-proxy.rst:67 +msgid "Create :file:`/etc/systemd/system/docker.service.d` directory to host configuration information for the Docker service." +msgstr "" + +#: ../../../source/tutorials/tutorial-proxy.rst:70 +msgid "Create :file:`/etc/systemd/system/docker.service.d/http-proxy.conf` and add:" +msgstr "" + +#: ../../../source/tutorials/tutorial-proxy.rst:78 +msgid "Load the changes and restart the service:" +msgstr "" + +#: ../../../source/tutorials/tutorial-proxy.rst:85 +msgid "Verify that changes have loaded:" +msgstr "" + +#: ../../../source/tutorials/tutorial-proxy.rst:97 +msgid "This process enables the ability to successfully run ``docker pull``. Containers themselves must be configured independently." +msgstr "" + +#: ../../../source/tutorials/tutorial-proxy.rst:101 +msgid "git over ssh" +msgstr "" + +#: ../../../source/tutorials/tutorial-proxy.rst:103 +msgid "Add the following to your :file:`~/.ssh/config`:" +msgstr "" + +#: ../../../source/tutorials/tutorial-proxy.rst:114 +msgid "Though netcat is included with Clear Linux, it is not the BSD version, which is the one usually used to enable git over ssh." +msgstr "" + diff --git a/localization/pot/locale/tutorials/tutorials.pot b/localization/pot/locale/tutorials/tutorials.pot new file mode 100644 index 00000000..b9ee49b4 --- /dev/null +++ b/localization/pot/locale/tutorials/tutorials.pot @@ -0,0 +1,26 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/tutorials/tutorials.rst:4 +msgid "Tutorials" +msgstr "" + +#: ../../../source/tutorials/tutorials.rst:6 +msgid "Explore our tutorials to discover what you can do with |CL|!" +msgstr "" + diff --git a/localization/pot/locale/tutorials/wordpress/web-server-install.pot b/localization/pot/locale/tutorials/wordpress/web-server-install.pot new file mode 100644 index 00000000..176df2e7 --- /dev/null +++ b/localization/pot/locale/tutorials/wordpress/web-server-install.pot @@ -0,0 +1,423 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:4 +msgid "Set up a LAMP web server on |CL-ATTR|" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:6 +msgid "This tutorial provides instructions on how to set up a :abbr:`LAMP (Linux, Apache, MySQL, PHP)` web server on |CL-ATTR| and how to use phpMyAdmin\\* to manage an associated database. Note that this tutorial installs MariaDB\\*, which is a drop-in replacement for MySQL\\*." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:11 +msgid "In order to create a web server using |CL| as the host OS, your host system must be running |CL|. This tutorial assumes you have installed |CL| on your host system. For detailed instructions on installing |CL| on a bare metal system, visit :ref:`bare-metal-install-desktop`." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:16 +msgid "This tutorial covers:" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:22 +msgid "Install Apache" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:24 +msgid "Apache is an open source HTTP web server application that can run on several operating systems, including |CL|. Go to the `Apache HTTP Server Project`_ for more information." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:29 +msgid "Install the web-server-basic bundle" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:31 +msgid "The **web-server-basic** bundle contains the packages needed to install the Apache software bundle on |CL|." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:36 +msgid "Before you install new packages, update the |CL| with the following console command:" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:43 +msgid "To install the bundle, enter the following command:" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:50 +msgid "To start the Apache service, enter the following commands:" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:57 +msgid "To verify that the Apache server application is running, open a web browser and navigate to: \\http://localhost." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:60 +msgid "If the service is running, a confirmation message will appear, similar to the message shown in figure 1." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:67 +msgid "`Figure 1: Confirmation that the Apache service is running.`" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:71 +msgid "The :file:`index.html` file is located in the :file:`/var/www/html` directory of your host system. You will copy this file into a new location after you modify the configuration in the next step." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:76 +msgid "Change the default configuration and data directory" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:78 +msgid "|CL| is designed to be a `stateless`_ operating system which means that you must create an optional configuration file to override the default values. The default location of the Apache configuration file, :file:`httpd.conf`, is located in the :file:`/usr/share/defaults/httpd` directory. |CL| can override this directory as part of the stateless paradigm. This default :file:`.conf` file includes the following directives that allow for additional locations of configuration definitions:" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:94 +msgid "In this section you will define your own httpd.conf file to override the default values, and define a custom DocumentRoot for your web server." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:97 +msgid "Create the directory structure for :file:`/etc/httpd/conf.d`." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:103 +msgid "Create and open the :file:`httpd.conf` file in your new :file:`/etc/httpd/conf.d` directory." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:110 +msgid "Add the ``DocumentRoot`` variable to :file:`httpd.conf`. Copy the content listed below into the new :file:`/etc/httpd/conf.d/httpd.conf` file." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:128 +msgid "Create a new ``DocumentRoot`` directory structure and copy the :file:`index.html` file from :file:`/var/www/html` directory to :file:`/var/www/tutorial`." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:138 +msgid "To ensure a successful setup, edit the new :file:`index.html` file with an obvious change." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:145 +msgid "For example, we changed the default message" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:147 +msgid "\"It works!\"" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:149 +msgid "to" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:151 +msgid "\"It works from its new location!\"" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:153 +#: ../../../source/tutorials/wordpress/web-server-install.rst:171 +msgid "Stop and then restart ``httpd.service``." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:160 +msgid "Go to \\http://localhost to view the new screen. You should see your updated default message from step 5." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:163 +msgid "Change the configuration back to the default :file:`/var/www/html` location. To do this, edit the :file:`/etc/httpd/conf.d/httpd.conf` file again and replace any instance of /var/www/tutorial with /var/www/html." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:178 +msgid "Go to \\http://localhost and verify that you can see the default screen again." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:181 +msgid "Optionally, remove the /var/www/tutorial directory you previously created." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:189 +msgid "Install PHP" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:191 +msgid "An Apache installation allows you to display static web pages. Enabling PHP allows you to generate and display dynamic web pages. To add this functionality to your web server, install PHP on your system." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:195 +msgid "To get the php components, enter the following command:" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:201 +msgid "To enable PHP, enter the following commands:" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:209 +msgid "After restarting the Apache service, test your PHP installation." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:211 +msgid "Create and open a file named :file:`phpinfo.php` in the :file:`/var/www/html/` directory using a text editor." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:218 +msgid "Add the following line to the file:" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:224 +msgid "Go to \\http://localhost/phpinfo.php." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:226 +msgid "Verify that the PHP information screen appears, similar to figure 2:" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:232 +msgid "`Figure 2: The PHP information screen.`" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:234 +msgid "If the PHP information screen is displayed, you have successfully installed the PHP components and are now ready to add your database application to complete your LAMP server implementation." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:239 +msgid "Install MariaDB" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:241 +msgid "Install MariaDB to store content. MariaDB is a drop-in replacement for MySQL and is available in the database-basic |CL| bundle." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:244 +msgid "To install the database-basic bundle, enter the following command:" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:250 +msgid "To start MariaDB after it is installed, enter the following commands:" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:257 +msgid "To check the status of MariaDB, enter the following command:" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:263 +msgid "Press :kbd:`Ctrl` + :kbd:`c` or :kbd:`q` to exit." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:266 +msgid "Security hardening" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:268 +msgid "With the MariaDB service running, we can perform some basic security hardening." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:271 +msgid "To add a basic layer of security, enter the following command:" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:277 +msgid "Respond to the questions that appear in the script below." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:281 +msgid "Our suggested responses follow each question." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:287 +msgid "In order to secure MariaDB, we need the current password for the root user. For a newly installed MariaDB without a set root password, the password is blank. Thus, press enter to continue." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:299 +msgid "Set the root password to prevent unauthorized MariaDB root user logins. To set a root password, type 'y'." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:306 +msgid "Type the desired password for the root user." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:312 +msgid "Re-type the desired password for the root user." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:322 +msgid "By default, a MariaDB installation includes an anonymous user that allows anyone to log in to MariaDB without a user account. This anonymous user is intended only for testing and for a smoother installation. To remove the anonymous user and make your database more secure, type 'y'." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:332 +msgid "Normally, root should only be allowed to connect from the 'localhost'. This ensures that someone cannot guess the root password from the network. To block any remote root login, type 'y'." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:341 +msgid "By default, MariaDB includes a database named 'test' which anyone can access. This database is also intended only for testing and should be removed. To remove the test database, type 'y'." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:353 +msgid "Reloading the privilege tables ensures all changes made so far take effect immediately. To reload the privilege tables, type 'y'." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:362 +msgid "All done! If you've completed all of the above steps, your MariaDB installation should now be secure." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:365 +msgid "Thanks for using MariaDB!" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:367 +msgid "The MariaDB installation is complete, and we can now install phpMyAdmin to manage the databases." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:371 +msgid "Install phpMyAdmin" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:373 +msgid "The web-based tool phpMyAdmin is a straightforward way to manage MySQL or MariaDB databases. Visit the `phpMyAdmin`_ website for the complete discussion regarding phpMyAdmin, its documentation, the latest downloads, and other useful information." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:378 +msgid "In this tutorial, we use the latest English version of phpMyAdmin." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:380 +msgid "Download the :file:`phpMyAdmin--english.tar.gz` file to your :file:`~/Downloads` directory. Here, refers to the current version available at https://www.phpmyadmin.net/downloads." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:386 +msgid "This example downloads and uses version 4.6.4." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:388 +msgid "Once the file has been successfully downloaded and verified, decompress the file and directories into the Apache web server document root directory. Use the following commands:" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:397 +msgid "To keep things simple, rename the newly created :file:`phpMyAdmin-4.6.4-english` directory to :file:`phpMyAdmin` with the following command:" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:406 +msgid "Use phpMyAdmin to manage a database" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:408 +msgid "You can use the phpMyAdmin web-based tool to manage your databases. Follow the steps below for setting up a database called \"WordPress\"." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:411 +msgid "Verify that a successful installation of all LAMP server components by going to \\http://localhost/phpMyAdmin. See figure 3." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:414 +msgid "Log in with your root userid and the password you set up when you ran the :ref:`mysql_secure_installation command `. Enter your credentials and select :guilabel:`Go` to log in:" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:422 +msgid "`Figure 3: The phpMyAdmin login page.`" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:424 +msgid "Verify a successful login by confirming that the main phpMyAdmin page displays, as shown in figure 4:" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:431 +msgid "`Figure 4: The phpMyAdmin dashboard.`" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:433 +msgid "Set up a database by selecting the :guilabel:`Databases` tab, as shown in figure 5." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:436 +msgid "Enter `WordPress` in the text field below the :guilabel:`Create database` label." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:439 +msgid "Select the :guilabel:`utf8_unicode_ci` option from the :guilabel:`Collation` drop-down menu beside the text field." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:442 +msgid "Click :guilabel:`Create`." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:448 +msgid "`Figure 5: The Databases tab.`" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:450 +msgid "Set up user permissions by selecting the :guilabel:`WordPress` database located in the left panel. See figure 6." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:453 +msgid "Select the :guilabel:`Privileges` tab. Figure 6 shows its contents." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:459 +msgid "`Figure 6: The Privileges tab.`" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:461 +msgid "Click :guilabel:`Add user account` located at the bottom of the :guilabel:`Privileges` tab. The `Add user account` page appears, as shown in figure 7." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:469 +msgid "`Figure 7: The User accounts tab.`" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:471 +msgid "Enter the following information in the corresponding fields that appear in figure 7 above:" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:474 +msgid "User name: wordpressuser" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:476 +msgid "Password: wp-example" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:478 +msgid "Re-type: wp-example" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:480 +msgid "In the `Database for user account` section, select :guilabel:`Grant all privileges on database “WordPress”.`" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:483 +msgid "At the bottom of the page, click :guilabel:`Go`." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:485 +msgid "If successful, you should see the screen shown in figure 8:" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:491 +msgid "`Figure 8: The user wordpressuser is successfully added.`" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:493 +msgid "**Congratulations!**" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:495 +msgid "You have now created a fully functional LAMP server along with a WordPress\\*-ready database using |CL|." +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:499 +msgid "Next steps" +msgstr "" + +#: ../../../source/tutorials/wordpress/web-server-install.rst:501 +msgid "Next, add the WordPress components needed to host a WordPress website with :ref:`wp-install`." +msgstr "" + diff --git a/localization/pot/locale/tutorials/wordpress/wordpress.pot b/localization/pot/locale/tutorials/wordpress/wordpress.pot new file mode 100644 index 00000000..ef717a21 --- /dev/null +++ b/localization/pot/locale/tutorials/wordpress/wordpress.pot @@ -0,0 +1,42 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/tutorials/wordpress/wordpress.rst:4 +msgid "WordPress\\* on |CL-ATTR|" +msgstr "" + +#: ../../../source/tutorials/wordpress/wordpress.rst:6 +msgid "This tutorial describes how to setup a web server to host a WordPress\\* site on a |CL-ATTR| system. The tutorial is split into two sections:" +msgstr "" + +#: ../../../source/tutorials/wordpress/wordpress.rst:9 +msgid ":ref:`web-server-install`" +msgstr "" + +#: ../../../source/tutorials/wordpress/wordpress.rst:11 +msgid ":ref:`wp-install`" +msgstr "" + +#: ../../../source/tutorials/wordpress/wordpress.rst:13 +msgid "If you already have a |CL| based :abbr:`LAMP (Linux, Apache, MySQL, PHP)` web server, you can skip ahead to the second section of this tutorial." +msgstr "" + +#: ../../../source/tutorials/wordpress/wordpress.rst:18 +msgid "This tutorial is for development and testing purposes only. Additional steps are required to secure production systems. Those steps are beyond the scope of this tutorial." +msgstr "" + diff --git a/localization/pot/locale/tutorials/wordpress/wp-install.pot b/localization/pot/locale/tutorials/wordpress/wp-install.pot new file mode 100644 index 00000000..94e28e85 --- /dev/null +++ b/localization/pot/locale/tutorials/wordpress/wp-install.pot @@ -0,0 +1,238 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/tutorials/wordpress/wp-install.rst:4 +msgid "Set up WordPress\\* on a LAMP web server" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:6 +msgid "This tutorial shows you how to install the WordPress\\* components on your |CL| :abbr:`LAMP (Linux, Apache, MySQL, PHP)` server. At the end of :ref:`web-server-install`, you created a WordPress-ready database using phpMyAdmin\\* and MariaDB\\*. Now that the LAMP server is up and running, you can add the WordPress components needed to host a WordPress website on your system." +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:13 +msgid "Before you begin" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:15 +msgid "This tutorial assumes that you have successfully completed :ref:`bare-metal-install-desktop` and you have :ref:`web-server-install`." +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:19 +msgid "Create a WordPress server" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:21 +msgid "WordPress can be installed in a variety of ways. These instructions are written for users who have followed our instructions for installing phpMyAdmin when they :ref:`set up a LAMP web server `. Note that all steps in this tutorial have been tested using a NUC6i5SYH Intel® NUC. Visit the `NUC6i5SYH product page`_ for detailed information." +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:27 +msgid "Numerous online articles are available to help you name your website and acquire the necessary certificates. Those tasks are beyond the scope of this tutorial." +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:30 +msgid "You can take several actions to harden your website from attacks. The security of your website and the data it contains are complex and ever-evolving tasks. Prioritize security if you plan to expose your website to the outside world. This tutorial does not address security measures that you can take to harden your site but we strongly encourage you to take action." +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:38 +msgid "Throughout this tutorial, we reference your website name as ." +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:42 +msgid "Download WordPress and manage directories" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:44 +msgid "For this tutorial, you will create a WordPress blog that can be accessed at: \\http:///blog." +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:47 +msgid "To accomplish this setup, you must add WordPress components to the :file:`/var/www/html/blog` directory." +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:50 +msgid "Follow these steps:" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:53 +msgid "Navigate to the top level of the website’s root directory:" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:59 +msgid "Download the latest version of WordPress:" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:65 +msgid "Extract all files and directories from the downloaded file:" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:71 +msgid "Rename the top-level WordPress directory to “blog”:" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:77 +msgid "Remove the downloaded tar file:" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:84 +msgid "Set up WordPress with web-based GUI" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:86 +msgid "Recall that you created a database and user when you installed phpMyAdmin when you set up a |CL| based :ref:`web server `. Next, you must connect WordPress to the database and install WordPress." +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:90 +msgid "To continue with the setup, go to: \\http:///blog/wp-admin/install.php. The WordPress language option screen appears, as shown in figure 1." +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:93 +msgid "Select :guilabel:`English` and click :guilabel:`Continue`." +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:99 +msgid "`Figure 1: WordPress language selection screen.`" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:102 +msgid "The WordPress installation continues until the Welcome screen appears, as shown in figure 2:" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:109 +msgid "`Figure 2: WordPress Welcome screen.`" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:111 +msgid "Click :guilabel:`Let’s go!`." +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:113 +msgid "Enter database connection specifics in the screen that appears, as shown in figure 3 below." +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:116 +msgid "Database name: WordPress" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:117 +msgid "Database username: wordpressuser" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:118 +msgid "Database password: wp-example (asterisks will not appear in the text box)" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:119 +msgid "Database host: localhost" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:120 +msgid "Table prefix: wp\\_" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:126 +msgid "`Figure 3: Information necessary for WordPress to connect to the database.`" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:128 +msgid "Click :guilabel:`Submit` to complete the setup." +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:130 +msgid "Figure 4 shows the confirmation screen that verifies a successful setup. WordPress is connected to the MariaDB database." +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:137 +msgid "`Figure 4: Successful WordPress connection.`" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:139 +msgid "Click :guilabel:`Run the install`. The installer runs until WordPress is fully installed on your system." +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:143 +msgid "Complete successful login" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:145 +msgid "Once the installation is complete, you can name your blog and create a WordPress username and password. See figure 5." +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:152 +msgid "`Figure 5: WordPress site information screen.`" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:155 +msgid "Enter all required information." +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:156 +msgid "Click :guilabel:`Install WordPress`." +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:157 +msgid "Verify that the initial login screen appears once the installation is complete. See figure 6:" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:163 +msgid "`Figure 6: The WordPress login screen.`" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:165 +msgid "Enter your WordPress username and password." +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:166 +msgid "Check :guilabel:`Remember me` to save your credentials." +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:167 +msgid "Click :guilabel:`Log in`." +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:169 +msgid "Figure 7 shows the WordPress dashboard after a successful login:" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:175 +msgid "`Figure 7: The WordPress dashboard.`" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:177 +msgid "You are ready to go!" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:179 +msgid "To check out your blog as it is seen by the outside world, enter: \\http:///blog on your browser. Figure 8 shows the result:" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:186 +msgid "`Figure 8: Your WordPress blog.`" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:188 +msgid "**Congratulations, your WordPress blog is up and running!**" +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:190 +msgid "You have successfully installed WordPress on a host system." +msgstr "" + +#: ../../../source/tutorials/wordpress/wp-install.rst:192 +msgid "Add new entries to your blog and share them with the world using |CL|!" +msgstr "" + diff --git a/localization/pot/locale/tutorials/yubikey-u2f.pot b/localization/pot/locale/tutorials/yubikey-u2f.pot new file mode 100644 index 00000000..f66d8de9 --- /dev/null +++ b/localization/pot/locale/tutorials/yubikey-u2f.pot @@ -0,0 +1,126 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2019, many +# This file is distributed under the same license as the Clear Linux* Project Docs package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Clear Linux* Project Docs latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-10 15:46-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../source/tutorials/yubikey-u2f.rst:4 +msgid "Enable YubiKey U2F Support" +msgstr "" + +#: ../../../source/tutorials/yubikey-u2f.rst:6 +msgid "YubiKey\\* is a USB security token manufactured by `Yubico`_. Depending on the model, a YubiKey can support different authentication protocols including: One-Time Password (OTP), Smart card, FIDO2, and Universal 2nd Factor (U2F)." +msgstr "" + +#: ../../../source/tutorials/yubikey-u2f.rst:10 +msgid "These instructions will go over configuring a YubiKey for U2F authentication through a web browser on a |CL-ATTR| system." +msgstr "" + +#: ../../../source/tutorials/yubikey-u2f.rst:13 +msgid "A list of `websites accepting U2F authentication with the YubiKey`_ is available on the Yubico website. See the Yubico website to learn more about the Yubikey: https://www.yubico.com/getstarted/meet-the-yubikey/" +msgstr "" + +#: ../../../source/tutorials/yubikey-u2f.rst:26 +msgid "Prerequisites" +msgstr "" + +#: ../../../source/tutorials/yubikey-u2f.rst:28 +msgid "This tutorial assumes you have:" +msgstr "" + +#: ../../../source/tutorials/yubikey-u2f.rst:30 +msgid "|CL| installed and running." +msgstr "" + +#: ../../../source/tutorials/yubikey-u2f.rst:32 +msgid "Mozilla Firefox installed on |CL|." +msgstr "" + +#: ../../../source/tutorials/yubikey-u2f.rst:34 +msgid "A YubiKey." +msgstr "" + +#: ../../../source/tutorials/yubikey-u2f.rst:39 +msgid "Enable Linux udev rules for YubiKey" +msgstr "" + +#: ../../../source/tutorials/yubikey-u2f.rst:41 +msgid ":command:`udev` is the Linux device manager which handles events when USB devices are added and removed. Custom rules needs to be created to properly identify the YubiKey and provide applications access." +msgstr "" + +#: ../../../source/tutorials/yubikey-u2f.rst:45 +msgid "These instructions are derived from: `Yubico support article Using Your U2F YubiKey with Linux `_" +msgstr "" + +#: ../../../source/tutorials/yubikey-u2f.rst:50 +msgid "Create the udev rules folder under :file:`/etc`" +msgstr "" + +#: ../../../source/tutorials/yubikey-u2f.rst:57 +msgid "Download the u2f rules from the Yubico GitHub:" +msgstr "" + +#: ../../../source/tutorials/yubikey-u2f.rst:64 +msgid "Move the downloaded :file:`70-u2f.rules` file into the :file:`/etc/udev` folder" +msgstr "" + +#: ../../../source/tutorials/yubikey-u2f.rst:72 +msgid "The udev rules should automatically be reloaded. However, they can be manually reloaded or reboot the system:" +msgstr "" + +#: ../../../source/tutorials/yubikey-u2f.rst:80 +msgid "Plugin and validate the YubiKey appears as a USB device:" +msgstr "" + +#: ../../../source/tutorials/yubikey-u2f.rst:89 +msgid "Enable U2F in Mozilla Firefox" +msgstr "" + +#: ../../../source/tutorials/yubikey-u2f.rst:91 +msgid "Firefox comes with U2F web authentication support disabled by default. U2F needs to be enabled in the advanced settings." +msgstr "" + +#: ../../../source/tutorials/yubikey-u2f.rst:94 +msgid "These instructions are derived from: `Yubico support article Enabling U2F support in Mozilla Firefox `_" +msgstr "" + +#: ../../../source/tutorials/yubikey-u2f.rst:99 +msgid "Launch Mozilla Firefox" +msgstr "" + +#: ../../../source/tutorials/yubikey-u2f.rst:101 +msgid "In the URL bar, type :command:`about:config` to access the advanced settings." +msgstr "" + +#: ../../../source/tutorials/yubikey-u2f.rst:108 +msgid "Click the *I accept the risk!* button to continue to the advanced settings" +msgstr "" + +#: ../../../source/tutorials/yubikey-u2f.rst:110 +msgid "Search for the :command:`security.webauth.u2f` and double-click it so *Value* becomes **true**." +msgstr "" + +#: ../../../source/tutorials/yubikey-u2f.rst:114 +msgid "Your YubiKey is now usable on |CL| with Mozilla Firefox with websites that support U2F authentication." +msgstr "" + +#: ../../../source/tutorials/yubikey-u2f.rst:119 +msgid "Related topics" +msgstr "" + +#: ../../../source/tutorials/yubikey-u2f.rst:121 +msgid "|CL| :ref:`security`" +msgstr "" + diff --git a/source/conf.py b/source/conf.py index 71dcd5be..e74cdaea 100644 --- a/source/conf.py +++ b/source/conf.py @@ -326,3 +326,8 @@ html_add_permalinks = "" #suppresses warnings for options that aren't referenced #suppress_warnings = ["ref.option"] + +# -- Options for Localization using sphinx-intl --------------------------- + +locale_dirs = ['../localization/po/locale/'] # path for lang-specific po files. +gettext_compact = False # optional. \ No newline at end of file

    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 R?wCQNn{>)Sv-D7_{s--yIywLV literal 0 HcmV?d00001 diff --git a/localization/pot/locale/.doctrees/reference/system-requirements.doctree b/localization/pot/locale/.doctrees/reference/system-requirements.doctree new file mode 100644 index 0000000000000000000000000000000000000000..758f45304482550e1ca8eee4a80f1e23f098eb80 GIT binary patch literal 14854 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 GHvR_(oMqks literal 0 HcmV?d00001 diff --git a/localization/pot/locale/.doctrees/tooling/autoproxy.doctree b/localization/pot/locale/.doctrees/tooling/autoproxy.doctree new file mode 100644 index 0000000000000000000000000000000000000000..621b14439d62d867491088570452b089f350b1f1 GIT binary patch literal 27310 zcmeHQYiu0Xb+#l@5?2;w$* zDD?Wiw|R4EU>$mS5SNrN^ldc?(G4|wz}5pa5g*dJN)X^BexG)g9{=sI9`*AFRngXb z!{lY~i>(jhnXH3B6dwweRVqHPX5y)??HYqi`{ILr1!RT;>wvY-IuIXB2l4#EwZQO$ zg*D#}LZz!OTu8(AF)nbkJ4}~ zX~jCV5~+%H4BWJizdW$+#(($Xzx(mu`(7SI)S6h+sSnyJ;BnqkUXy}}1G0}d*yzS6funy+RwOLib(j@NB8CxxD5xQf~} zq*s@po>XldN-G=9{NkPx^LaTdIQVq*?bxA2{p5OO;B{Zmk&6{O5{4-WLmbPns zka1%NWikF=5ZQ$ejxE#lN>9`DJ|;c;oY3CLr!mz(aw~(%Nxh|N!`&JaC;6k6#3uJ( zHref1YRI~#H7b>6qb18Vt*y#U-O!YJy{ed%R!ij*JPjSSHDPkOtU?Trs8P3Tgq<#Q zWaK-^@(g|H*rCxI`D{JTp(7Q2Dh;hQpp5{L6j-va<@m@2BhY-i&lD%;S>ZJXw1Ho#4X};91rt>4J?GOtFRGs#NHsD5PyyNI{`bLfh4$VGa-58Tww1?|j1B zknE5tMIZ=X@jaUVyhsBLRh}@^J1uWx-VWzU)dHsXG}h0FO>8yRH?}L3jCHaEzJ%^x z6xA$8C9D^o8v=#{K7cdAi+H;0X-aos5NrwW6%oQ-NTmA+`e0B7#($v5*fZ9d?1fKQ z3oS3mP9{>8k5>MEJf*`dvfgh+DTaPmz|dI>>Q$?$a%)jljkXNUQgl_(wVF|>$ZE@| zFV=NZuS^``|H&~8YoHMjgy=?yl|oXa%Y=Un_2!p7*R)rqGndaTKPqwQl@!2b6c{8m zp;uC{T=cLOfo(uj-w3?!x*>&D0;7^^7=*>9=cDCSd);s)@ZaTYQdxSz4y{r~%vtHC z7fG7pvJQaSuS&KX0L;o@E-zwT09b(oah7>M(%Z(D%A&Z9z=~roONvBi{~5 z$(6u!gR*oLS{~lSdaZONrlp2yLa~Dq%v`B!_plc05)@wrs;=SJRPoo*%2|dZzVWHZ zMq#eDRDdZhvu!2MERiXez*FDw0U|vHEj=#?rC#LfiVF&qU@bT+1(9Y+N+4-n&!yoh zptJ8$_nKvBYj{;65Q_RbSOnq;dB`w)6_j+l=!~_@j6)cax`&n%+mOI4&&R zd>G9^0K6j{1Z4Rc(`XuiMn*PPFiLv+^)EXSD5l2We*G&M3SIyBdsBGZQ<#I~d+gi; zjTius{&S}oZhe1DY5yHis2tbdiQb2quruhtSA_o7;$p4ZYSay_LFSvPDz&Dj$#vPN z7)`m_E|_oE=YShmEx?p%C?VN6zR~m6flq+}tS9gR)&rJl`w}oKDFY}GgC#uze0mIJ zZ({2lL?A^HZ#G1ZT?LHSw$s_OfUew5I{rs#;BMR+_3_ zSDQ^kt((=VsmV3Sw4f=kWIN}$uv0GVz2?xq=sudAy!ZM-viBU$9O)571zD zr2W0%egnJ#XKEzv;|YOnpTCmrmJmPRvXQh*^uiE#i-ScMZMZ?6m|H|(ZUM` zk8g1^`^wk9_A)`>9LXyZwGT<<~ptb4>qKp?b2pT*KMx; zWRmne-8NG|fb9eGjF3WEMaNLp(uF6MFEfKIF&$xdld+Z9VQQ$rgNaQXsV3Jhc+AkO z22+r1Jf(yU;yftQfI_e}bp?3jas!e7PL>jOnXsh9ma*$hcZ`a3?aI@9n@EjGrrk9P z4WO>e;v_!M8k(Gst)w3Pf3@xI3f&QoA( zfF;fODDn5S)1rU)O1{8&aY$3R4?Opg#}8~pIH$Wjp+KgG&K2I_W&E>^!`E36h)QWB zXGx{18%;Pz4818=lxDk9uQV#Ep|lpOiw&916LRZ<9M-jQ4r>^dt1iy`bi-7lE{@E= zj0Sah>e7NJJz$FHK)wDQl)1<)RRy-Ihm}b3TrzLrX#v1t0l^}iuBPPXfWaI{_y@~l zwqmjMj@DlsKKbN)Wk*k>pje{VGR+rmzDl!(;a5?81&yE(%zQXOXjwOyT}%rnUkW8! zhouYWBiQrs@Y7mwh+^?8m*rTAwzzVlIX2PIodM>61j)4?)NcbG9J)3`U>qHj05ae6j<-D zO4x3qfK_~-QkKqP1YjE0WR&a&@VE5)unlY=8|(`@nqB1<6uF0~X)qI1V}17(b`+W| z^SYSqP>X{d{G zyIyNIT4uAR*7RCcZE2M{E$~|()y2oI0yhvZ5LgHf08*t3+Q|D%@|@R*?$gdIw?saI zAe_yt2HQZkX#?4=s&sf)(M_Wz*L4l2d8$&?TSnEWH|rI4M4tKo<9`!&j9u6b0rO@P zVtVkE)0z+%N-uF#r(q6!g(;~xc?T*=OE{Zex)E%^D=t0G{+VAzJcjYH8w{2aA_3%N z=Wu*CO2{p4mpr$G1AB6wV_CxSKo{W8wymLsWl{Hlz9DmxC!f!v+?s)NKzM?BaEXJE z%;^u%Mk1JV$45q*JALCZAHm+wX6)q#_hH-YOgzOpj}HVPqIM49=R6U^4$Or^a_8&R_-W_&$Fw1a1jPqY8xc)|_;_l+ zlG~A)K?pcvAA4{<44l6}OYtGRz=0Fuz79~Y@e%wqHp$g#hl4lR=MBYo@heqL;=tk~ zf?zWP?<+(cH**nQ!KNO-fFpWA=yPTiUyqrp-N+W5os)a#XRA;dZpH6R|6`b!+vt=0 ziZo3bVgf0f4Q+98(P%E#+ZDOGD7V@*JgBWkQ?01gYSGmefAL9fu@bXQr3Ys*!mXHb zn7V~95wJpExP0zHAq1hcL?$*qE#2rVTIS#4;Fy2A2;5>p6Bj)nw*L*xZ3#!I*-}EF zi)E#kxZ)wjYh!T?~_gl3$XKLQn*?8)v=azJMcAnSP+G6;Qjgd z3%p4e%{#@nIhhPv{sV0fLkr?AIj^xzD+UcZZxd~tM5d?HY_{??n28!xvd`pk}{BG=NL*BLYPooUv`QB%|`qXFZishaIZ z)sPjv-O`M@ytvp@s|`)9s*Bu5GKFFrhn48{lt-{cxj`Y|b(}$GLAmW}n5YmgD9wyUAy9_f3FN4}cU%U=~IfpBSY- z6QrS$jcl2}t)pQ^-DEPOaVHrxzbGMUTg{Z<(EmlhU=N|d2T3u(|DBRM{tc-eJC zAu|oySI)_a@sN#eXF_ukY2Q01y-HcfVNx%DW? z-Ex8&5`>T~%m^g5N}1kPD1Lirm`l>6;WNV~b)k(iF+Xb>;cs@{A%A9Oeu> zLQf2l8JEcZU_qn_XEUjd+gIRD$>Bx>!yCyVriaykmBqHR_&X>9bLB7rqQK)RYC@PN z{tOzf5XVHUE`Z$a0P`==Xoo_$C&C+%!X)a{HiODRZM%|V2Dme+d`g@iNM@x~2Z%MA z6|LDq7^K3EtvQ2DGA2Hub?idG_R=H+m`!E={NCCIdfI}YYcUB(L|I17qoq|3b8=8+4pr>ed@=h2k|HiG#KkpFA zdf)hI&fDLzL`L?`r2J`=|1`*C*xPK^s!F|L;vhp_l;@Q zIHXJ};_=_d3}fq=qK#OJ8>%=1z>Y>;QyUetp=;)%tQu9d*{U{La@%Mjv_nxSg0_eq zb3Bqw3%iJnWOJ3xPP#y(`m~dx*+3Z(KQV@l+l&7soY95x79`EjSBi_nj!5R@%)hHq zfZ^U?_d=9z;L(8#4Am>)zD4SSs*F-+JHQVz(;z^~p9n8smFe9>@84t%tKIPrB zA^z&Fhj>JkkxU_QfFg>{=#1=4;VnS{$XKZ1RMe=nniaLul-mgDg3+MC1*Nx?W>am- zBMN_kPbj8=?)&(w<%|*10v;E#N8Go!>3U(IOnI5TOr>LQ8q0XZ82{xljK4k5SQB_Q zjDOJ(T1fC1%q2dxjg5`+s^_gD1{dDMIcZLKC~a>{>$o#Y*7;c}{jK~sH{3s#^6wq$ zy~yxy?uy~t7%5(X=YmP_daj*AtiJ)z5bkl{t_E$qC_a{sqmYgOGRW_xF&8;oU~wQ% z7a~fyB#XQZhVSC?U0Q>An&^}Z#d!_{T!_n@jLCV^Uc>f3jA7zL*#0|K0cMW*Ga7a_ z=|8g`Ap$f?aoO1!$VGzi5Xi~ZW)qiuaF<(Y$(2^MRafh(($Epq(!|-!=#FS_a4B&G z?M-7D`x(gnV2rrj9>{G9JR1hNPY!9?jzJDsc=^h+*I(q0gkj&q(&MC@ADc_j?5EvL zk%j-YD;918Tdx+lD8Sa|pEM=r>PAuk=FUSbWxxV^aO+;d<*Tl7HVF&O0WMohnc0|Z za7tv3((N$h7)Y*ooE5y~LsLb^Bv`09GD>q7p1ksj<*RcEhygtw+c{mifpbf>z>)t2 zt3@p?g6Hm>GzX?ex5g6zlZaqjEQvTjiJ8Jcw=cWx@NVCvzi-z=eXub5xIxY5pIx8M zv;jW#Eo5YL=5~g^pAocx@E1;}R#UIF+VyHnZnWDzjrRd|kV#PK%`bL2p0**S*BH54t zcYsJCq6mu3QdPl&-SxaRso+)h37Ddmo&Y1XHJ3dsx5co~D= z8rg2=5c$P1Y@LX2L`vd98p8&G`g;ifhS@~H3zG+PD<^>6T@ycBoFIYh;V;_~yt{Sf zS9VSMOzOH@5~vnljv;twaQd65DMlA*x`Om>S{u2)DsmfHijXg45#b{8V%1p0^_>wo zZRSq8fFg}EyP}kTNYz4As1!7IUB8GFzcYrlw+EWPC2$6yc{g0j*~#V~oRjAGc6p8r zt2xAR`y4J+X*7sffp?HfKVmE zZ5aRzuaaD^P1-6ngOEpXdey+y8YFW`ZW3dki4;*dp-6Am=g#hT2f^f7KXZ<d>JcX1#blA>5(c#6nQ8TBv9Lvn6yhWiA$lG20i~{FxKu;$5caM?Alt&2m&Lmyv zzwjE({>z?m=3%;2Gg%KZl!$jwI2-fMu=9&3|0gtAFheU^3n>JU6;sigve~G#E0uPw zZZvDMsTdX01a1}&eMNAhSw8`ML3lNa8*O<#}a^aFKO^@)hE`#lh#5 zF7A=$$nxQpcxDxesSv&9`2#$#+r6RE>*L`F?*>6_?iwCT$s=Mb@N_ivv<_XBq^|)2 zbQtgr;u9vWK2dP5@DbcPN=amKNZQ$?v=Efbc9ybF^g9%@jj92fd_R9<@LUQ(hc^42 zG?y-VOe!SFbuoC#&*dYbCvK;92bcE8B}?gMkJIsSW77t&LS(oJ(n8bmv~H-;D!QAc zn;vu<2JPaW6W+{(xZjBzQ`#CXfXv!%KMFfY@QKtH5axI$3eEY}JhE*J;*-UX9mDrM zzhlAa+BJOenMl>bL3|9(ief9%td&9h(9oBmCY%}sD4yl*<}^%SyLxfHh5m~lhAPK* z(HH_S$^whJESBnM8aD-w>%jB>Ca#F10&MC4r0Dg>MrPt7Z@F} zCX*6q*}5IrTtts`lDHuZgp$3X;-OR_tcT+}F&N4$#4?ZI+tH*LqJMFdjZ!kt_Kkk7 zwL}ZWQfgJePAGUC}0 zv1at=KUk5$mRaA_hPt6Qc{eBNsD!#<7kSFI5t^(UE9`aA#Z0KEPyyWeA6z;dKLmm5 zbu!(`K&Qh)<=%|%W7HtorQuU}DCCyKRzZ-DAlr5J2*tZAxao$v3zXW8;IkoH-6HAyQl*Jt&7rrHx4P zeZpD{1{_NAQxBXq)XJ=(4|AgDdFtx1lvBRwjP#Lg(V2N-QEc?9Thac?c-oy$(-2Nw zI#49`Ac(zu<*6ZBKa$XjFRx;Q!Ca z$#iif`w^^Vgm`KQxMOuu+VZ5=KQKlk9)zaq5WW5$BD#*GoG-0(b?PD%e5f zbLS<5m9N9UPv?=$)k^T}d&sp0*F2V%c`VW_6I|9JV4bonmnG>uRx$EpQQRg{LWK(Q zz@d3|I;kNoF#1j6F0nD&+&fBcjRIlT-Z>gD!{69SI{tLBbj%c`<5Vgg*H)f+_S(u- z5|8=I=dN6Rl4Rz&qNH3uj+<+uu#B%XPHTmoZPUJJ=sg#~kTwuDNQF|h%HvJ}0J?<+g_~BO6|6nrp_Y|m);u8fkjdt3J z6{mFv%zUE1yfROJlx5(MMS^`ycfRjC1BX`ic)z9%99k*k6Mzm<-+9_5Mg93GPzMg7 zWPB?9lIS#jn$OjJ;E+(n``1yPSRWr)S9=48#u1SbYNkYuUKo6N;LwdtC1BSt=`Y2Q z2LOrvkKolIs>k1*;jV*|)?3!MoD)D->lNoGp1;!m6O&Z&J?IdF3fM??;N~>6yjfHE*RcEd3jj- z&L^lRg&tc(OJuECU&5bqh>wa}5$ZZViWCZL(?y#e{)V=TX*q6&i*I;2Y{;-7>8V~f z+ug9D_YA$vO3xHpoJo6Sl};4eXJ=jHYPff}t>nuc@nLLclL!2fA51j%fDo$yLQf51 zZ!pV`3DUR1mH;P!l>8!hVxPSb@uayt#R=tbO@?4G=o`5v_Gg`u5sG+|JM4QPKIxLOU G^8W$W>28q# literal 0 HcmV?d00001 diff --git a/localization/pot/locale/.doctrees/tooling/autospec.doctree b/localization/pot/locale/.doctrees/tooling/autospec.doctree new file mode 100644 index 0000000000000000000000000000000000000000..428b3a64aebe31b9321153027131ce4d2abe6bd8 GIT binary patch literal 93993 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 literal 0 HcmV?d00001 diff --git a/localization/pot/locale/.doctrees/tooling/compatible-kernels.doctree b/localization/pot/locale/.doctrees/tooling/compatible-kernels.doctree new file mode 100644 index 0000000000000000000000000000000000000000..88b0a2a936f177f466b1fd4318db62bba7f0582c GIT binary patch literal 30811 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 literal 0 HcmV?d00001 diff --git a/localization/pot/locale/.doctrees/tooling/debug.doctree b/localization/pot/locale/.doctrees/tooling/debug.doctree new file mode 100644 index 0000000000000000000000000000000000000000..6bf45606b05bc2c6a91d99408c29f228658f83c4 GIT binary patch literal 19445 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 literal 0 HcmV?d00001 diff --git a/localization/pot/locale/.doctrees/tooling/ister.doctree b/localization/pot/locale/.doctrees/tooling/ister.doctree new file mode 100644 index 0000000000000000000000000000000000000000..b6e22acf6a495b592484bfdb6129938a55204ad3 GIT binary patch literal 24196 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 literal 0 HcmV?d00001 diff --git a/localization/pot/locale/.doctrees/tooling/mixer.doctree b/localization/pot/locale/.doctrees/tooling/mixer.doctree new file mode 100644 index 0000000000000000000000000000000000000000..77f51ba2b67ec8d702e3475d55ca64b5290cc0da GIT binary patch literal 140290 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 literal 0 HcmV?d00001 diff --git a/localization/pot/locale/.doctrees/tooling/swupd-guide.doctree b/localization/pot/locale/.doctrees/tooling/swupd-guide.doctree new file mode 100644 index 0000000000000000000000000000000000000000..ab96726dbfe13a331b379e3b7f168722bc41e19c GIT binary patch literal 60846 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 JIPP27{|C^0eF6Xg literal 0 HcmV?d00001 diff --git a/localization/pot/locale/.doctrees/tooling/tooling.doctree b/localization/pot/locale/.doctrees/tooling/tooling.doctree new file mode 100644 index 0000000000000000000000000000000000000000..a21eeb6d0169cd41f479c4d3badc1cf604aa547b GIT binary patch literal 6532 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 literal 0 HcmV?d00001 diff --git a/localization/pot/locale/.doctrees/tutorials/dlrs/dlrs.doctree b/localization/pot/locale/.doctrees/tutorials/dlrs/dlrs.doctree new file mode 100644 index 0000000000000000000000000000000000000000..fff322c4215480309f629ef930b8a6e26ac5dd06 GIT binary patch literal 96539 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 literal 0 HcmV?d00001 diff --git a/localization/pot/locale/.doctrees/tutorials/docker/docker.doctree b/localization/pot/locale/.doctrees/tutorials/docker/docker.doctree new file mode 100644 index 0000000000000000000000000000000000000000..20a72b97a24cfbed74e27bdef01c232df4370c4c GIT binary patch literal 52542 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 QxMUy}wp4OyAcOk<19BHXZU6uP literal 0 HcmV?d00001 diff --git a/localization/pot/locale/.doctrees/tutorials/flatpak/flatpak.doctree b/localization/pot/locale/.doctrees/tutorials/flatpak/flatpak.doctree new file mode 100644 index 0000000000000000000000000000000000000000..32a75f6b6340a6a12d0593ecad6bff56634cafa4 GIT binary patch literal 19972 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 literal 0 HcmV?d00001 diff --git a/localization/pot/locale/.doctrees/tutorials/fmv.doctree b/localization/pot/locale/.doctrees/tutorials/fmv.doctree new file mode 100644 index 0000000000000000000000000000000000000000..abd91772b1ed37f3cd7592c3638945ffc434645c GIT binary patch literal 32601 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 L$SG4D8cY8Nzg7ly literal 0 HcmV?d00001 diff --git a/localization/pot/locale/.doctrees/tutorials/kata_migration.doctree b/localization/pot/locale/.doctrees/tutorials/kata_migration.doctree new file mode 100644 index 0000000000000000000000000000000000000000..620e1f1b6754fd8a421fd1bd5fed8b90627375ec GIT binary patch literal 17612 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 wPv2O%ew(s5;Xf;atU~-xbx;M1& literal 0 HcmV?d00001 diff --git a/localization/pot/locale/.doctrees/tutorials/kubernetes/kubernetes-bp.doctree b/localization/pot/locale/.doctrees/tutorials/kubernetes/kubernetes-bp.doctree new file mode 100644 index 0000000000000000000000000000000000000000..aae1b89cc48ee2619465cae9097a31adb68932e5 GIT binary patch literal 25500 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 JL{3l5|2KkB5t9G_ literal 0 HcmV?d00001 diff --git a/localization/pot/locale/.doctrees/tutorials/kubernetes/kubernetes.doctree b/localization/pot/locale/.doctrees/tutorials/kubernetes/kubernetes.doctree new file mode 100644 index 0000000000000000000000000000000000000000..3d565c25e575e30162cec6498a63a2c7168ec750 GIT binary patch literal 69669 zcmeHw3%FcYb)IFtM^DQ(j$hKTWUQ-e&HH_^<=C=}g{&(@l8p>@?mf>tbMD-kVa|-C zOYGo439>mfqzuVN6Ph;pz9xkb!t49;kv2e+(8MLrwkZjL5}GC7kXq?#?mbo%ZV zdaz!$BMFX1$?04j$tB#-_T$zilyk z?cj%|>dPI|;$`rqZlJxOhkno9+*OyTe80BU-O#8v&HjmX?xwa1K)e0g`r5kMdUul; zhLL{UF*{Crxl?z#YQsoB?2Xz8%&sab|Q6y0#n zyhKQLcZEyL_TSoP^8~!dRNhxRL_@DB^R>P6Jx#6c!j#r-c)DM^5&v$+zgzI{)~EZu z+MTt7wSBd_dGXp^wY?`cxa)g_X{B6N^=!6cRCKLW&@CXeVx&eiIUBJibv%5+eH=_s|P?!0#$iQoHLdzmuVWro)TW_yfQW9* zOe_Z2pdwurbK6l`9ld5c-42@+#aVT_=E~xN(rPNt9DOYL;JI^Wo>6*Ey}6_uJ#+lt zQ`BN&S?#JxG~2DOm??(WnOe$y;0ocB@PEZk0slwj>B78k1+|+XVsM|}NX+!%X|Tdc zDCHiS7?Z)6K&$&|$43#4yMeLYG_AXvFsNRq-gjS7>vr4DTv}$GdMnMS@zsP4cT2}~ zT8#^)0e%KUrQ8iP$pL`g?*YuE++9bBiIvBQiD#8lXQes=uVSk29Ya3>+l?z3ZQLBm zg!k1H#(ac$&Wv-eVpwWbE$dp&)U1M41j|*-s*%rCE0$I&W~;=2_j7p->i9x1(NE1P z;6AmfwAyA<;lj&f7sYCI6cuu81xy4+G0b+OwMw%8u;S<{gx?b5#Kel)RF_P8p|q@k z2kUP%4MlCY8+Dy=p_5XMca^11tJijdQegd>+ErH6WmD<36M#gj0_KMVXtb8lL__H{ z>s^OIWvb39s`%ZKJTU5x-nw9RRypf}5mi*{o_73swb;QOIYklAg&J`KnRLhZyAilTd$7U^P&ViUq|1qsZ%nq8c@bT~Kc; zF{f%;XKwM-(c{X@DPkkPmU0{)rn=HF9jCFX zT&#C%iGXHP%3=ftEMVjD~4u(Y+nlXb{GzQhr;V(IGiu+kX`YP!)<4F?OMqO9~9 z-FmWXHdU~wqvLO<-U2&DnpbpipJpbo+P1*5;9f{lRcV`@WV>Z3n(9DQI4xzh)ni3h z>X+C!ARqLaqP4m;s(>|FaiC~n{dT$uu&>jrcd1TCX_}_t1S{*INdLnzEQ#jXNTm_; z(gy*&S*9B-m)mKs%nLLpA)U*enRFJ#YPlZs9l*ub!FP;Y2e+A*+6~Ao*0X!ta7tmT z+uI3vwxDIFrkemPcMX*Xu=c3GaO@eRNP&)Bk$DMVV5s@Yk*M)hgn>3{PrA4H8UXmw z*YBK^tOdNe_Ihve|CN^og9MWO_jzR!Lc-5)y-nw%w`IOaz(F}Dit+X zwo0Z}HcFWi-(hU*w%T=FQiSopo?ccFm|-N1X=YHg)A3w3N023`l6lh>Tj z5Z>>UyW?~RtHB$3bq6gt0qsX$U`W3sbApRaZnm#RH(TyTZx6ep9cq_0VWjr{rrbuf zG8MWHh5qBXLcfkepN5EeQSi4n9A8l!I@|-t`KCErGTKP zBOnrjiX#woo8T#Qn)EtNdYyW*$9`R;&0*+y?F8l4j-K5x&~c?wZ;;B{k&rU@4ybr8 z0uG^~Gy)a7dybhTtu-k+5D0iS($X*lym5kZYe&G&GbS{D=;&<8lcjC+4F>;H5m0FG zQw%Rx( z(Zu9+fUZwRz$bK7Mxg5+od8O5fRYTLq%fScnn?kVFNS|P(*7_sesY3xYe!@1G>qmj z-1vr7zLC_yPOX*t8~LwTWKLTXDE)F|D1_4L2$UXfbKsIfWHWG*A>alP`zMiJh9UO9 zPf%{{h~0a-)4H@8L2E1`$CU))wqGAn05(8l%#6U?9WW7GT8-dsfCRTjnjMCzO%s$` zJEjuza9Y5YVYX!fCO-uR(h(3`!oVn{InhL`N#3fET!$l#3>)vE3CgW~yt~f9`l-R( zQ){)zrYZ@jfmay$nFug!zz`J`5JBguF`{yuLvFf;c21OPlEc>HUDf@GT9!^l(B`&n7q?GgfF)hSWj{O;Gm1bBF$Dh)Jk;L)5L>%_-Qt{AOMv=iLPmKEl z#}!Xv5IkDr5N=vA{?DVmw0rR6JC!^o7i(0c4X_K*or z8Z#}3H53chDl9M;0V>-sIft=+v9*h>tmL(0OC4WIX@%2UD{xL5Jg$jiNDfcaYB2dz z*2BOzt_M9y@jRo}Bq7^l>fFJ6k;6t6OxEafG4M<_g?B}!&?;1oYPqawg?y!86be<# zsOAk**R%P2K`oWJ@qb4Hw)c+OSkRzDE=ywDy}{`j@I#XJ;7y(ITE)EaN5@!C0Yam! z7h;^PmsT2c4oCxna|^8Xh#R|ruNy%{c=Wux1unm(9(0wyy8#~5THoDSt1s0W_}5)P zWE{o15r^!hnd5@;fHZvAwu5MpKk^*~Zp1MV(vSBGz1VB-*3tU$*F6C=k(EBc&es9u z0}*lyl>8X2`5QuOzR$14wB{MonyY5XH1L0+P%#SGQXU~>*?d*kvZ|ghluImv%=b&U zKOWeN5rRS{Akr_LUc24ukWI|<<&ryM2F7MDChQFNOu#7*IJd-E! zaJ$i4!n%&y?h73OB7}pmU5?ZfmG$fsL-xw$*Mju-g$Uf<#&C@qs zf3Z0<@qh*4uLo{|{u!x1f%Zp|df0(|`v}A`OBX!Y3}&|8m)D5t07iGsO~m2Ocj37= z$4;ie)1JYZ4nSgPTONlt&$%7f68zhzg@1bq>qt*aVeR12rO-Wlm+-ZdS~(=K6B7w47Ta0W^w}9~oX=)TmZ|14 zB`sgbR*Ti51>vn>Vrg4* zeIEz*3&d3W?8_0}8ZO8PyJGaI$mok$i%L1QWES*7p@dOe<%(I(TP3xO$QQOw+56Cw z&$lzu!o+8kye&%1qLhxaUb8baO2(@a=uzez)HbNC*?8Q{6pD^8v3; zSRSML06M{l0ts>FNFarz80Cr!PsYbs2g6BBM9hwAv39$?LPl(l*9m4n2xeVM8a96T zW15VoODO+us6Ftrs_J@4v&>FjC!_8L95rd(oZ8P4QlLf3kSdefA&G7$ng+ ze8iZQyS!N;^WYc!icHa|5=JZ7hd_U=Xlm6gsF`ZT%3g5)9rV>vga&HCx9jXb_26vzaT1uog=DyV- zGYf^`vj9G)ZR&Nat|x+6U^Y4YrKuxkyGwf|KgsnaF};Q@ z)yPKpvdRv905}D^GT5u&Xkt%{B!@Y{B==0PytvRqf9@1i;dV{-nIyO4aVXI&wTs@D@=4RDywi0p!|9u zfkbmDlPhM8jBZ&)M2DLtHD?(()MT+>aV?(-i{{!(#VkHi9h|U72`>{@0UDB=tYGZ( z3@Ne+<*ucnqa8Y3_zj3(ve)q;8aGD*d6PTxFaj zl3*HN)^B+-+IkS>1#PKXwuA*<$HAOR!7P`mMb%JML(iI}Qdz55psn!M;FckRP@s9} zdw2Fe4F{f7C{Dm) z9#O$n)vQ*tnQB$l^kP*n(5a^|QeQdI!XQAOu(UrMhVb5)u}qKf*Z2q@O?L3h+t(37 zB~>+u?RB5>mLyUiNn#@!8iupZg}Oe?QfhJ?!)qYrH88l8-aeu?f!~p3e5~3(%!%ZO z#voQEl6j!w?Nkj?y$EiD9U`k*)eJ0)MJ=O4`_1YVt(sHe02oUo@k17ah!V+=(*AH5 zk^GA>W0{^vPJ1JkcUE!h-e@8@PvI{Q*Bz!uIv3TpcgC@Wy#frZVQUOx0BS7*7E%+I zE3*ToPCcZYGgn}P#rdMfDjq;BxooD?}+bzpdlBy_AhJ-m@8->mi7#Hh}2974d zDny{+SYa26B0`5criMrwoDEj_VO|T-5I7<1K>4K3@gLiocp;pr1fmPjuy#l}ZFb1Gd&AdL7 ztg6X3K0W)?q15aFJWD>6O;LXb+6R?1;nn za|JbD)XW?VAenMLYar@O&5^kHN9+QH4G;WG{#$=1=Dst`0z>J4U_wz+qWrU0K=xsp zXULVeIoo9j1?s~O19bj2N9S)&fzBs@&KCtbi+Vm^&X+Ur

    OJ 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 SIb78g-WTkzQ5gsh`Tsu=y79mO literal 0 HcmV?d00001 diff --git a/localization/pot/locale/.doctrees/reference/collaboration/structure-formatting.doctree b/localization/pot/locale/.doctrees/reference/collaboration/structure-formatting.doctree new file mode 100644 index 0000000000000000000000000000000000000000..fb1bc6cd1722458a989180ff2925d2cbab999b6a GIT binary patch literal 93073 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