diff --git a/source/Makefile b/source/Makefile index 655286aa..6ef592c3 100644 --- a/source/Makefile +++ b/source/Makefile @@ -166,10 +166,8 @@ changes: @echo "The overview file is in $(BUILDDIR)/changes." linkcheck: - $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck - @echo - @echo "Link check complete; look for any errors in the above output " \ - "or in $(BUILDDIR)/linkcheck/output.txt." + -$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck + python3 scripts/_python/linkcheck/parse-link-check.py $(BUILDDIR)/linkcheck doctest: $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest diff --git a/source/clear-linux/get-started/bare-metal-install-beta/bare-metal-install-beta.rst b/source/clear-linux/get-started/bare-metal-install-beta/bare-metal-install-beta.rst index 07cce2a5..94a34c35 100644 --- a/source/clear-linux/get-started/bare-metal-install-beta/bare-metal-install-beta.rst +++ b/source/clear-linux/get-started/bare-metal-install-beta/bare-metal-install-beta.rst @@ -88,12 +88,12 @@ Minimum installation requirements ********************************* To fulfill minimum installation requirements, complete the -:guilabel:`Required options`. :guilabel:`Advanced options` are optional. Additional user help is described below. +:guilabel:`Required options`. :guilabel:`Advanced options` are optional. .. note:: * The :kbd:`Install` button is only highlighted **after** you complete the - :ref:`required-options-installation`, and after you enter all required + :ref:`required-options-installation`, and after you enter required values in submenus of :ref:`required-options-installation` and :ref:`advanced-options-installation`. @@ -105,17 +105,24 @@ To fulfill minimum installation requirements, complete the Main Menu ********* +The |CL| Installer Main Menu appears as shown in Figure 3. -In the |CL| Installer Main Menu, two tabs appear: -:guilabel:`[R] Required options` and :guilabel:`[A] Advanced options`. -Navigate between tabs using the arrow keys or these shortcut keys: +.. figure:: figures/bare-metal-install-beta-3.png + :scale: 100 % + :alt: Clear Linux OS Installer Main Menu + + Figure 3: :guilabel:`Clear Linux OS Installer Main Menu` + +The |CL| Installer Main Menu has two tabs: :guilabel:`[R] Required options` +and :guilabel:`[A] Advanced options`. Navigate between tabs using the arrow +keys or these shortcut keys: * :kbd:`Shift+A` for :guilabel:`[A] Advanced options` * :kbd:`Shift+R` for :guilabel:`[R] Required options` To meet the minimum requirements, enter your choices in the :guilabel:`Required options`. After confirmation, your selections appear -below menu options in the Main Menu, beside the :guilabel:`>>` chevron. +beside the :guilabel:`>>` chevron, below the menu options. Navigation ********** @@ -126,14 +133,6 @@ Navigation * Select :kbd:`Cancel` or :kbd:`Esc` to cancel your choice. - The |CL| Installer Main Menu appears as shown in Figure 3. - - .. figure:: figures/bare-metal-install-beta-3.png - :scale: 100 % - :alt: Clear Linux OS Installer Main Menu - - Figure 3: :guilabel:`Clear Linux OS Installer Main Menu` - .. _required-options-installation: Required options @@ -279,13 +278,35 @@ Auto partition will configure the media to meet the minimum requirements. #. You may skip to the :ref:`telemetry-tui` section below. +Disk encryption +=============== + +For greater security, disk encryption is supported using LUKS for all +partitions **except boot** on |CL|. To encrypt a partition, see the example +below to encrypt :ref:`encrypt-root`. Encryption is optional. + +Encryption Passphrase +--------------------- + +|CL| uses a single passphrase for all encrypted partitions. Therefore, if +you turn on encryption for one partition, the same passphrase is used for +all partitions. Additional or different keys may be configured +post-installation using the ``cryptsetup`` tool. + +.. note:: + + During installation, if you encrypt the `root` partition first and the + `swap` partition second, after you select encrypt for `swap`, the + :guilabel:`Encryption Passphrase` dialogue will show the same Passphrase that was assigned to `root`. Select :guilabel:`Confirm` and + press :kbd:`Enter` to use the same Passphrase. + .. _add-partition: Add Partition ============= Minimum requirements -==================== +-------------------- To add partitions manually, assign partitions per the minimum requirements shown in Table 1: @@ -307,6 +328,7 @@ requirements shown in Table 1: - / - *Size depends upon use case/desired bundles.* + #. In the Configure Media menu, select :guilabel:`Add Partition`. .. note:: To change an existing partition, navigate to the partition, @@ -356,13 +378,47 @@ swap partition Figure 10: :guilabel:`swap partition` +.. _encrypt-root: + root partition -------------- #. In the :guilabel:`File System` menu, select :kbd:`Up/Down` arrows to select the file system type. See Figure 11. -#. In :guilabel:`Mount Point`, enter ``/root``. + #. Optional: Select :guilabel:`[X] Encrypt` to encrypt the partition. + + .. figure:: figures/bare-metal-install-beta-11.png + :scale: 100 % + :alt: Encrypt partition + + Figure 11: :guilabel:`Encrypt partition` + + + #. The :guilabel:`Encryption Passphrase` dialogue appears. + + .. note:: + + Minimum length is 8 characters. Maximum length is 94 characters. + + .. figure:: figures/bare-metal-install-beta-12.png + :scale: 100 % + :alt: Encryption Passphrase + + Figure 12: :guilabel:`Encryption Passphrase` + + #. Enter the same passphrase in the first and second field. + + #. Navigate to :guilabel:`Confirm` and press :kbd:`Enter`. + + .. note:: + + :guilabel:`Confirm` is only highlighted if passphrases match. + +#. Optional: In :guilabel:`[Optional] Label:`, enter your desired + label for the partition. + +#. In :guilabel:`Mount Point`, enter ``/``. See Figure 11. #. In :guilabel:`Size`, enter an appropriate size per Table 1. @@ -376,21 +432,16 @@ root partition You are returned to the :guilabel:`Configure media` menu. -#. Select :guilabel:`Confirm` to complete the media selection. +#. Select :guilabel:`Confirm` to complete the media selection. See Figure 13. - .. figure:: figures/bare-metal-install-beta-11.png - :scale: 100 % - :alt: root partition +#. You are returned to the :guilabel:`Configure media` menu. Your partitions + should be similar to those shown in Figure 13. - Figure 11: :guilabel:`root partition` - - You are returned to the :guilabel:`Configure media` menu. Your partitions should appear similar to those shown in Figure 12. - - .. figure:: figures/bare-metal-install-beta-12.png + .. figure:: figures/bare-metal-install-beta-13.png :scale: 100 % :alt: Partitions - Figure 12: :guilabel:`Partitions` + Figure 13: :guilabel:`Partitions` #. Navigate to :guilabel:`Confirm` until highlighted. @@ -413,21 +464,21 @@ For more detailed information, visit our :ref:`telemetry-about` page. #. Select :kbd:`Enter` to confirm. - .. figure:: figures/bare-metal-install-beta-13.png + .. figure:: figures/bare-metal-install-beta-14.png :scale: 100 % :alt: Enable Telemetry - Figure 13: :guilabel:`Enable Telemetry` + Figure 14: :guilabel:`Enable Telemetry` Skip to finish installation =========================== After selecting values for all :guilabel:`Required options`, you may skip -directly to :ref:`finish-cl-installation` +directly to :ref:`finish-cl-installation`. -In the Main Menu, select the :guilabel:`Advanced options` if you wish to -configure network interfaces or proxy settings, add bundles, add/manage -users, and more. Continue to the next section. +Otherwise, continue below. In the Main Menu, select +:guilabel:`Advanced options` to configure network interfaces or proxy +settings, add bundles, add/manage users, add kernel arguments, and more. .. _advanced-options-installation: @@ -459,22 +510,22 @@ interface settings are automatically applied. .. note:: Multiple network interfaces may appear. - .. figure:: figures/bare-metal-install-beta-14.png + .. figure:: figures/bare-metal-install-beta-15.png :scale: 100 % :alt: Configure Network Interfaces - Figure 14: :guilabel:`Configure Network Interfaces` + Figure 15: :guilabel:`Configure Network Interfaces` #. Notice :guilabel:`Automatic / dhcp` is selected by default (at bottom). Optional: Navigate to the checkbox :guilabel:`Automatic / dhcp` and select :kbd:`Spacebar` to deselect. - .. figure:: figures/bare-metal-install-beta-15.png + .. figure:: figures/bare-metal-install-beta-16.png :scale: 100 % :alt: Network interface configuration - Figure 15: :guilabel:`Network interface configuration` + Figure 16: :guilabel:`Network interface configuration` #. Navigate to the appropriate fields and assign the desired network configuration. @@ -510,11 +561,11 @@ instruction. #. Navigate to the field :guilabel:`HTTPS Proxy`. - .. figure:: figures/bare-metal-install-beta-16.png + .. figure:: figures/bare-metal-install-beta-17.png :scale: 100 % :alt: Configure the network proxy - Figure 16: :guilabel:`Configure the network proxy` + Figure 17: :guilabel:`Configure the network proxy` #. Enter the desired proxy address and port using conventional syntax, such as: \http://address:port. @@ -534,13 +585,13 @@ Test Network Settings To manually assure network connectivity before installing |CL|, select :guilabel:`Test Network Settings` and select :guilabel:`Enter`. -A progress bar appears as shown in Figure 17. +A progress bar appears as shown in Figure 18. -.. figure:: figures/bare-metal-install-beta-17.png +.. figure:: figures/bare-metal-install-beta-18.png :scale: 100 % :alt: Testing Networking dialogue - Figure 17: :guilabel:`Testing Networking dialogue` + Figure 18: :guilabel:`Testing Networking dialogue` .. note:: @@ -558,13 +609,11 @@ Bundle Selection #. Select :kbd:`Spacebar` to select the checkbox for each desired bundle. - .. figure:: figures/bare-metal-install-beta-18.png + .. figure:: figures/bare-metal-install-beta-19.png :scale: 100 % :alt: Bundle Selection - Figure 18: :guilabel:`Bundle Selection` - -..TODO:Add new screenshot that shows more bundles. + Figure 19: :guilabel:`Bundle Selection` #. Select :kbd:`Confirm` or :kbd:`Cancel`. @@ -580,13 +629,13 @@ Add New User #. In Advanced Options, select :guilabel:`User Manager`. -#. Select :guilabel:`Add New User` as shown in Figure 19. +#. Select :guilabel:`Add New User` as shown in Figure 20. - .. figure:: figures/bare-metal-install-beta-19.png + .. figure:: figures/bare-metal-install-beta-20.png :scale: 100 % :alt: Add New User, User Name - Figure 19: :guilabel:`Add New User` + Figure 20: :guilabel:`Add New User` #. Optional: Enter a :guilabel:`User Name`. @@ -594,11 +643,11 @@ Add New User The User Name must be alphanumeric and can include spaces, commas, or hyphens. Maximum length is 64 characters. - .. figure:: figures/bare-metal-install-beta-20.png + .. figure:: figures/bare-metal-install-beta-21.png :scale: 100 % :alt: User Name - Figure 20: :guilabel:`User Name` + Figure 21: :guilabel:`User Name` #. Enter a :guilabel:`Login`. @@ -621,11 +670,11 @@ Add New User Selecting this option enables sudo privileges for the user. - .. figure:: figures/bare-metal-install-beta-21.png + .. figure:: figures/bare-metal-install-beta-22.png :scale: 100 % :alt: Administrative rights - Figure 21: :guilabel:`Administrative rights` + Figure 22: :guilabel:`Administrative rights` #. Select :kbd:`Confirm`. @@ -641,15 +690,15 @@ Modify / Delete User -------------------- #. In User Manager, select :guilabel:`Tab` to highlight the user, as shown - in Figure 22. + in Figure 23. #. Select :kbd:`Enter` to modify the user. - .. figure:: figures/bare-metal-install-beta-22.png + .. figure:: figures/bare-metal-install-beta-23.png :scale: 100 % :alt: Modify User - Figure 22: :guilabel:`Modify User` + Figure 23: :guilabel:`Modify User` #. Modify user details as desired. @@ -683,11 +732,11 @@ new kernel. #. To add or remove arguments, choose one of the following options. - .. figure:: figures/bare-metal-install-beta-23.png + .. figure:: figures/bare-metal-install-beta-24.png :scale: 100 % :alt: kernel command line - Figure 23: :guilabel:`kernel command line` + Figure 24: :guilabel:`kernel command line` #. To add arguments, enter the argument in :guilabel:`Add Extra Arguments`. @@ -702,17 +751,15 @@ Kernel Selection ================ #. Select a kernel option. By default, the latest kernel release is - selected. + selected. Native kernel is shown in Figure 25. - .. note:: +#. To select a differnt kernel, navigate to it using :guilabel:`Tab`. - To choose a different kernel, such as Long Term Support (LTS), shown in Figure 24, navigate to it using :guilabel:`Tab`. - - .. figure:: figures/bare-metal-install-beta-24.png + .. figure:: figures/bare-metal-install-beta-25.png :scale: 100 % :alt: Kernel selection - Figure 24: :guilabel:`Kernel selection` + Figure 25: :guilabel:`Kernel selection` #. Select :kbd:`Spacebar` to select the desired option. @@ -731,11 +778,11 @@ If you have your own custom mirror of |CL|, you can add its URL. #. Select :kbd:`Confirm`. - .. figure:: figures/bare-metal-install-beta-25.png + .. figure:: figures/bare-metal-install-beta-26.png :scale: 100 % :alt: Swupd Mirror - Figure 25: :guilabel:`Swupd Mirror` + Figure 26: :guilabel:`Swupd Mirror` Optional: :ref:`Skip to finish installation `. @@ -752,11 +799,11 @@ Assign Hostname alphanumeric character but may also contain hyphens. Maximum length of 63 characters. - .. figure:: figures/bare-metal-install-beta-26.png + .. figure:: figures/bare-metal-install-beta-27.png :scale: 100 % :alt: Assign Hostname - Figure 26: :guilabel:`Assign Hostname` + Figure 27: :guilabel:`Assign Hostname` #. Navigate to :kbd:`Confirm` until highlighted. @@ -775,11 +822,11 @@ follow the onscreen instructions. #. Select the desired option. - .. figure:: figures/bare-metal-install-beta-27.png + .. figure:: figures/bare-metal-install-beta-28.png :scale: 100 % :alt: Automatic OS Updates - Figure 27: :guilabel:`Automatic OS Updates` + Figure 28: :guilabel:`Automatic OS Updates` You are returned to the :guilabel:`Main Menu`. diff --git a/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-10.png b/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-10.png index 66fbdfd9..888b9c2a 100644 Binary files a/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-10.png and b/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-10.png differ diff --git a/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-11.png b/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-11.png index 75fb4a89..9a6b61c7 100644 Binary files a/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-11.png and b/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-11.png differ diff --git a/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-12.png b/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-12.png index 96471d91..89ca1936 100644 Binary files a/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-12.png and b/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-12.png differ diff --git a/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-13.png b/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-13.png index 3850e6b6..6ac1f059 100644 Binary files a/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-13.png and b/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-13.png differ diff --git a/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-14.png b/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-14.png index 52444039..3e7fbb8a 100644 Binary files a/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-14.png and b/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-14.png differ diff --git a/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-15.png b/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-15.png index d67b1cef..1eaa499e 100644 Binary files a/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-15.png and b/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-15.png differ diff --git a/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-16.png b/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-16.png index 682427ad..d2c2a031 100644 Binary files a/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-16.png and b/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-16.png differ diff --git a/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-17.png b/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-17.png index 853d1c9f..7e1d6cc9 100644 Binary files a/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-17.png and b/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-17.png differ diff --git a/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-18.png b/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-18.png index f5b3c725..4948cbe6 100644 Binary files a/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-18.png and b/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-18.png differ diff --git a/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-19.png b/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-19.png index d12f6e17..720d06dd 100644 Binary files a/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-19.png and b/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-19.png differ diff --git a/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-20.png b/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-20.png index 0ed795ed..39f9a644 100644 Binary files a/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-20.png and b/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-20.png differ diff --git a/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-20X.png b/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-20X.png new file mode 100644 index 00000000..b3d1d42d Binary files /dev/null and b/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-20X.png differ diff --git a/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-21.png b/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-21.png index 63540471..0ce16ab7 100644 Binary files a/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-21.png and b/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-21.png differ diff --git a/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-22.png b/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-22.png index 1a1e69ab..3a028f4e 100644 Binary files a/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-22.png and b/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-22.png differ diff --git a/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-23.png b/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-23.png index 75efb1a4..f7fe354f 100644 Binary files a/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-23.png and b/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-23.png differ diff --git a/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-24.png b/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-24.png index ab197a44..02a5cc26 100644 Binary files a/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-24.png and b/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-24.png differ diff --git a/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-25.png b/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-25.png index 0694faf3..e726b95e 100644 Binary files a/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-25.png and b/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-25.png differ diff --git a/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-26.png b/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-26.png index 21ec0031..9e1b42d5 100644 Binary files a/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-26.png and b/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-26.png differ diff --git a/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-27.png b/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-27.png index c76ee8f1..14dec55a 100644 Binary files a/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-27.png and b/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-27.png differ diff --git a/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-28.png b/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-28.png new file mode 100644 index 00000000..4e3acf29 Binary files /dev/null and b/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-28.png differ diff --git a/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-3.png b/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-3.png index 4cdc59d7..22ef4a6d 100644 Binary files a/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-3.png and b/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-3.png differ diff --git a/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-4.png b/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-4.png index 62950c98..d995aedc 100644 Binary files a/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-4.png and b/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-4.png differ diff --git a/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-5.png b/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-5.png index f06d6aed..6e41794c 100644 Binary files a/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-5.png and b/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-5.png differ diff --git a/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-6.png b/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-6.png index e01f71a0..a9b249b6 100644 Binary files a/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-6.png and b/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-6.png differ diff --git a/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-7.png b/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-7.png index dfc59890..75d7898a 100644 Binary files a/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-7.png and b/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-7.png differ diff --git a/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-8.png b/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-8.png index cc5b10b9..267278b4 100644 Binary files a/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-8.png and b/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-8.png differ diff --git a/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-9.png b/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-9.png index 5134a989..0dca46e6 100644 Binary files a/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-9.png and b/source/clear-linux/get-started/bare-metal-install-beta/figures/bare-metal-install-beta-9.png differ diff --git a/source/clear-linux/get-started/virtual-machine-install/virtual-machine-install.rst b/source/clear-linux/get-started/virtual-machine-install/virtual-machine-install.rst index 7e9ae469..34f93ac9 100644 --- a/source/clear-linux/get-started/virtual-machine-install/virtual-machine-install.rst +++ b/source/clear-linux/get-started/virtual-machine-install/virtual-machine-install.rst @@ -35,4 +35,5 @@ appropriate set of step-by-step instructions to proceed. vmw-player vmw-player-preconf hyper-v + ../../guides/maintenance/increase-virtual-disk-size.rst diff --git a/source/clear-linux/guides/maintenance/kernel-modules.rst b/source/clear-linux/guides/maintenance/kernel-modules.rst index 5390f554..f5f76a9b 100644 --- a/source/clear-linux/guides/maintenance/kernel-modules.rst +++ b/source/clear-linux/guides/maintenance/kernel-modules.rst @@ -71,7 +71,8 @@ Build kernel module $ uname -r 4.XX.YY-ZZZZ.native - # Ensure *.native* is in the kernel name + + Ensure *.native* is in the kernel name #. Install the `linux-dev` bundle to obtain the kernel headers, which are required for compiling kernel modules. @@ -173,4 +174,4 @@ You can find more info on module loading in the modules-load.d manual page: man modules-load.d .. _`on GitHub`: https://github.com/clearlinux/distribution -.. _`mixer tool`: https://clearlinux.org/features/mixer-tool \ No newline at end of file +.. _`mixer tool`: https://clearlinux.org/features/mixer-tool diff --git a/source/clear-linux/guides/network/ipxe-install.rst b/source/clear-linux/guides/network/ipxe-install.rst index ad58f584..f16ca06b 100644 --- a/source/clear-linux/guides/network/ipxe-install.rst +++ b/source/clear-linux/guides/network/ipxe-install.rst @@ -122,7 +122,7 @@ To set up |CL| manually, perform the steps below. .. code-block:: console sudo cat > $ipxe_root/ipxe_boot_script.ipxe << EOF - sudo!ipxe + #!ipxe kernel linux quiet init=/usr/lib/systemd/systemd-bootchart \ initcall_debug tsc=reliable no_timer_check noreplace-smp rw \ initrd=initrd diff --git a/source/clear-linux/guides/telemetrics/telemetrics.rst b/source/clear-linux/guides/telemetrics/telemetrics.rst index 9731471f..0a4d1cea 100644 --- a/source/clear-linux/guides/telemetrics/telemetrics.rst +++ b/source/clear-linux/guides/telemetrics/telemetrics.rst @@ -16,4 +16,4 @@ telemetry backend solution. For more details, learn how to telemetry-config telemctl telemetry-journal - telemetry-z-api + telemetry-api diff --git a/source/clear-linux/guides/telemetrics/telemetry-z-api.rst b/source/clear-linux/guides/telemetrics/telemetry-api.rst similarity index 100% rename from source/clear-linux/guides/telemetrics/telemetry-z-api.rst rename to source/clear-linux/guides/telemetrics/telemetry-api.rst diff --git a/source/clear-linux/reference/bundles/bundles.html.txt b/source/clear-linux/reference/bundles/bundles.html.txt index c9b36448..90ced35c 100644 --- a/source/clear-linux/reference/bundles/bundles.html.txt +++ b/source/clear-linux/reference/bundles/bundles.html.txt @@ -11,22 +11,38 @@ - - - - + - - + + + + + + + + + + + + + + + + + + + + - - + + + @@ -88,21 +114,38 @@ - + - + + + + + + + + - + @@ -127,13 +170,43 @@ + + + + + + + - + + + + + + + + - + @@ -184,19 +257,40 @@ - + + + + + + + + - + + + + + + + + + + + + + + + @@ -315,7 +413,7 @@ - + @@ -348,6 +446,12 @@ @@ -359,6 +463,8 @@

Includes bundle(s): +

  • git
  • +
  • iproute2
  • p11-kit
  • @@ -426,7 +532,7 @@ - + @@ -462,15 +568,34 @@ + + + + + + + - + - + @@ -574,8 +699,12 @@
  • desktop-kde-apps
  • +
  • pidgin
  • +
  • python3-basic
  • +
  • virt-manager
  • +
  • atom
  • darktable
  • @@ -601,6 +730,12 @@
  • desktop-gnomelibs
  • +
  • intended for all supported styles
  • + +
  • current default
  • + +
  • common
  • +

    @@ -720,6 +855,8 @@
  • desktop-kde-libs
  • +
  • perl-basic
  • +
  • qt-basic
  • @@ -748,6 +885,12 @@ @@ -793,8 +936,1334 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -810,21 +2279,36 @@ - + - + + + + + + + + - + @@ -848,21 +2332,28 @@ - + + + + + + + + - + - + @@ -1038,35 +2529,35 @@ - + - + - + - + - + @@ -1093,13 +2584,19 @@ - + @@ -1115,6 +2612,8 @@
  • p11-kit
  • +
  • perl-basic
  • +

    @@ -1134,6 +2633,8 @@
  • os-core-dev
  • +
  • perl-basic-dev
  • +

    @@ -1142,21 +2643,21 @@ - + - + - + @@ -1180,12 +2681,19 @@ - + + + + + + + + - + - + + + + + + + + @@ -1291,42 +2806,56 @@ - + - + - + - + + + + + + + + - + - + + + + + + + + @@ -1348,28 +2877,42 @@ - + + + + + + + + - + + + + + + + + - - + + - + @@ -1385,6 +2928,8 @@
  • p11-kit
  • +
  • perl-basic
  • +
  • python3-basic
  • which
  • @@ -1433,35 +2978,35 @@ - + - + - + - + - + @@ -1552,7 +3097,7 @@ - + @@ -1633,6 +3178,15 @@ + + + + + + + - + @@ -1691,6 +3245,8 @@

    Includes bundle(s): +

  • git
  • +
  • package-utils
  • python2-basic
  • @@ -1755,6 +3311,13 @@ + + + + + + + - + - + + + + + + + + @@ -1795,6 +3365,13 @@ + + + + + + + - + - + + + + + + + + - + @@ -1958,14 +3542,48 @@ - + + + + + + + + + + + + + + + - + @@ -2014,21 +3632,35 @@ - + - + + + + + + + + - + + + + + + + + @@ -2086,8 +3718,12 @@

    Includes bundle(s): +

  • libX11client
  • +
  • network-basic
  • +
  • qt-basic
  • +

    @@ -2111,19 +3747,26 @@ - + - + + + + + + + + - + @@ -2148,7 +3791,7 @@
  • kvm-host
  • -
  • perl-basic
  • +
  • perl-extras
  • postgresql
  • @@ -2171,7 +3814,7 @@ - + @@ -2183,6 +3826,8 @@

    Includes bundle(s): +

  • cloud-api
  • +
  • perl-basic
  • python3-basic
  • @@ -2486,6 +4131,8 @@
  • openssh-server
  • +
  • perl-basic
  • +

    @@ -2618,6 +4265,8 @@
  • python2-basic
  • +
  • rust-basic
  • +

    @@ -2635,6 +4284,8 @@
  • openssl
  • +
  • perl-basic
  • +
  • python3-basic
  • wpa_supplicant
  • @@ -2668,6 +4319,8 @@
  • os-utils-gui
  • +
  • perl-basic-dev
  • +

    @@ -2676,7 +4329,7 @@ - + @@ -2713,6 +4366,8 @@
  • python3-basic
  • +
  • perl-basic
  • +
  • python2-basic
  • @@ -2723,19 +4378,33 @@ - + - + + + + + + + + + + + + + + + + + + + + + - - + + @@ -2828,14 +4506,14 @@ - + - + @@ -2849,6 +4527,8 @@
  • mail-utils
  • +
  • perl-basic
  • +
  • python3-basic
  • @@ -2859,7 +4539,7 @@ - + @@ -2926,6 +4606,8 @@
  • c-basic
  • +
  • cloud-api
  • +
  • python-extras
  • @@ -2986,6 +4668,12 @@ @@ -3010,6 +4698,13 @@ + + + + + + + - + @@ -3132,6 +4827,8 @@
  • git
  • +
  • perl-basic
  • +
  • python3-basic
  • @@ -3192,6 +4889,8 @@

    Includes bundle(s): +

  • libX11client
  • +
  • wpa_supplicant
  • @@ -3283,7 +4982,7 @@ - + @@ -3299,21 +4998,21 @@ - + - + - + @@ -3346,6 +5045,8 @@
  • p11-kit
  • +
  • perl-basic
  • +
  • sudo
  • which
  • @@ -3367,6 +5068,8 @@
  • os-core-dev
  • +
  • perl-basic-dev
  • +
  • sysadmin-basic
  • @@ -3382,8 +5085,12 @@

    Includes bundle(s): +

  • ansible
  • +
  • git
  • +
  • ipmitool
  • +
  • pxe-server
  • python3-basic
  • @@ -3416,6 +5123,13 @@ + + + + + + + - + - + @@ -3473,28 +5187,28 @@ - + - + - + - + @@ -3569,7 +5283,7 @@ - + @@ -3609,8 +5323,25 @@ + + + + + + + - + @@ -3643,21 +5374,21 @@ - + - + - + @@ -3681,7 +5412,7 @@ - + @@ -3712,6 +5443,8 @@
  • libX11client
  • +
  • perl-basic
  • +

    @@ -3720,7 +5453,7 @@ - + @@ -3744,21 +5477,42 @@ - + + + + + + + + - + + + + + + + + + + + + + + + - + diff --git a/source/clear-linux/reference/bundles/bundles.rst b/source/clear-linux/reference/bundles/bundles.rst index 257ff43f..6fa87835 100644 --- a/source/clear-linux/reference/bundles/bundles.rst +++ b/source/clear-linux/reference/bundles/bundles.rst @@ -3,7 +3,9 @@ Available bundles ################# -This document provides a current list of `available bundles`_. To learn more about how |CL-ATTR| uses bundles for software deployment, visit :ref:`bundles-about`. +This document provides a current list of available bundles. To learn more about how |CL-ATTR| uses bundles for software deployment, visit :ref:`bundles-about`. + +To view bundles or packages on GitHub, select the :file:`Name` in column one. Bundle list =========== @@ -11,4 +13,3 @@ Bundle list .. raw:: html :file: bundles.html.txt -.. _available bundles: https://github.com/clearlinux/clr-bundles diff --git a/source/clear-linux/tutorials/dlrs.rst b/source/clear-linux/tutorials/dlrs.rst new file mode 100644 index 00000000..4c21592b --- /dev/null +++ b/source/clear-linux/tutorials/dlrs.rst @@ -0,0 +1,235 @@ +.. _dlrs: + +Deep Learning Reference Stack +############################# + +This tutorial shows you how to run benchmarking workloads in |CL-ATTR| using +TensorFlow\* and Kubeflow with the Deep Learning Reference Stack. + +The Deep Learning Reference Stack is available in two versions. +The first is `Eigen`_, which includes `TensorFlow`_ optimized for Intel® +architecture. The second is `Intel MKL-DNN`_, which includes the TensorFlow +framework optimized using Intel® Math Kernel Library for Deep Neural +Networks (Intel® MKL-DNN) primitives. + +.. contents:: :local: + :depth: 1 + +Release notes +============= + +View current `release notes`_ for the Deep Learning Reference Stack. + +View current `benchmark results`_ for the Deep Learning Reference Stack. + +.. note:: + + Performance test numbers in the Deep Learning Reference Stack were obtained using `runc` as the runtime. + +Prerequisites +============= + +* |CL| installed on host system. If not installed, :ref:`bare-metal-install` +* `containers-basic` bundle +* `cloud-native-basic` bundle + +In |CL|, `containers-basic` provides Docker\*, which is required for +TensorFlow benchmarking. Use the :command:`swupd` utility to check if +`containers-basic` and `cloud-native-basic` are present: + +.. code-block:: bash + + sudo swupd bundle-list + +If you need to install the `containers-basic` or `cloud-native-basic`, enter: + +.. code-block:: bash + + sudo swupd bundle-add containers-basic cloud-native-basic + +To ensure that kubernetes is correctly installed and configured, +:ref:`kubernetes`. + +We have validated these steps against the following software package +versions: + +* |CL| 26240--lowest version permissible. +* Docker 18.06.1 +* Kubernetes 1.11.3 +* Go 1.11.12 + +TensorFlow single and multi-node benchmarks +============================================ + +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. + +#. Download and run either the `Eigen`_ or the `Intel MKL-DNN`_ docker image + from `Docker Hub`_. + + .. note:: + + You will enter the following commands in the running container. + + Replace with the name of the image. + +#. Clone the benchmark repository: + + .. code-block:: bash + + docker exec -t bash -c ‘git clone http://github.com/tensorflow/benchmarks -b cnn_tf_v1.12_compatible’ + +#. Next, execute the benchmark script to run the benchmark. + + .. code-block:: bash + + docker exec -i bash -c ‘python benchmarks/scripts/tf_cnn_benchmarks/tf_cnn_benchmarks.py --device=cpu --model=resnet50 --data_format=NHWC ’. + +.. note:: + + You can replace the model with one of your choice supported by the + TensorFlow benchmarks. + +Kubeflow multi-node benchmarks +============================== + +The benchmark workload will run in a Kubernetes cluster. We will use +`Kubeflow`_ for the Machine Learning workload deployment on three nodes. + +Kubernetes setup +**************** + +Follow the instructions in the :ref:`kubernetes` tutorial to get set up on +|CL|. The kubernetes community also has +`instructions for creating a cluster`_. + +Kubernetes networking +********************* + +We used `flannel`_ as the network provider for these tests. If you are +comfortable with another network layer, refer to the Kubernetes +`networking documentation`_ for setup. + +Images +****** + +We need to add `launcher.py` to our docker image to include the Deep +Learning Reference Stack and put the benchmarks repo in the correct +location. From the docker image, run the following: + +.. code-block:: bash + + mkdir -p /opt + git clone https://github.com/tensorflow/benchmarks.git /opt/tf-benchmarks + cp launcher.py /opt + chmod u+x /opt/* + +Your entry point now becomes "/opt/launcher.py". + +This will build an image which can be consumed directly by TFJob from +kubeflow. We are working to create these images as part of our release +cycle. + +ksonnet\* +********* + +Kubeflow uses ksonnet* to manage deployments, so we need to install that before setting up Kubeflow. On |CL|, follow these steps: + +.. code-block:: bash + + swupd bundle-add go-basic-dev + export GOPATH=$HOME/go + export PATH=$PATH:$GOPATH/bin + go get github.com/ksonnet/ksonnet + cd $GOPATH/src/github.com/ksonnet/ksonnet + make install + +After the ksonnet installation is complete, ensure that binary `ks` is +accessible across the environment. + +Kubeflow +******** + +Once you have Kubernetes running on your nodes, you can setup `Kubeflow`_ by +following these instructions from their `quick start guide`_. + +.. code-block:: bash + + export KUBEFLOW_SRC=$HOME/kflow + export KUBEFLOW_TAG=”v0.3.2” + export KFAPP=”kflow_app” + export K8S_NAMESPACE=”kubeflow” + + mkdir ${KUBEFLOW_SRC} + cd ${KUBEFLOW_SRC} + ks init ${KFAPP} + cd ${KFAPP} + ks registry add kubeflow github.com/kubeflow/kubeflow/tree/${KUBEFLOW_TAG}/kubeflow + ks pkg install kubeflow/core + +Now you have all the required kubeflow packages, and you can deploy the primary one for our purposes: tf-job-operator. + +.. code-block:: bash + + ks env rm default + kubectl create namespace ${K8S_NAMESPACE} + ks env add default --namespace "${K8S_NAMESPACE}" + ks generate tf-job-operator tf-job-operator + ks apply default -c tf-job-operator + +This creates the CustomResourceDefinition(CRD) endpoint to launch a TFJob. + +Run a TFJob +=========== + +#. Select this link for the `ksonnet registries for deploying TFJobs`_. + + #. Install the TFJob componets as follows: + + .. code-block:: bash + + ks registry add dlrs-tfjob github.com/clearlinux/dockerfiles/tree/master/stacks/dlrs/kubeflow/dlrs-tfjob + + ks pkg install dlrs-tfjob/dlrs-bench + +#. Next, generate Kubernetes manifests for the workloads and apply them to + create and run them using these commands + + .. code-block:: bash + + ks generate dlrs-resnet50 dlrsresnet50 --name=dlrsresnet50 + ks generate dlrs-alexnet dlrsalexnet --name=dlrsalexnet + ks apply default -c dlrsresnet50 + ks apply default -c dlrsalexnet + +This will replicate and deploy three test setups in your Kubernetes cluster. + +Results of Running this Tutorial +================================ +You need to parse the logs of the Kubernetes pod to get the performance +numbers. The pods will still be around 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. + +.. _TensorFlow: https://www.tensorflow.org/ +.. _Kubeflow: https://www.kubeflow.org/ +.. _Docker Hub: https://hub.docker.com/ +.. _TensorFlow benchmarks: https://www.tensorflow.org/guide/performance/benchmarks +.. _instructions for creating a cluster: https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/ +.. _flannel: https://github.com/coreos/flannel +.. _networking documentation: https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/#pod-network +.. _quick start guide: https://www.kubeflow.org/docs/started/getting-started/ + +.. _Eigen: https://hub.docker.com/r/clearlinux/stacks-dlrs-oss/ +.. _Intel MKL-DNN: https://hub.docker.com/r/clearlinux/stacks-dlrs-mkl/ + +.. _release notes: https://github.com/clearlinux/dockerfiles/tree/master/stacks/dlrs + +.. _ksonnet registries for deploying TFJobs: https://github.com/clearlinux/dockerfiles/tree/master/stacks/dlrs/kubeflow/dlrs-tfjob + + +.. _Kubernetes logging: https://kubernetes.io/docs/concepts/cluster-administration/logging/ + +.. _benchmark results: https://clearlinux.org/stacks/deep-learning-reference-stack diff --git a/source/clear-linux/tutorials/greengrass.rst b/source/clear-linux/tutorials/greengrass.rst index b1c88c85..f0db1859 100644 --- a/source/clear-linux/tutorials/greengrass.rst +++ b/source/clear-linux/tutorials/greengrass.rst @@ -27,7 +27,7 @@ Supported Platforms Description of Samples ********************** -The AWS Greengrass samples are located at the `Edge-Analytics-FaaS`_. +The AWS Greengrass samples are located at the `Edge-Analytics-FaaS`_. For this tutorial we will use the 1.0 version of the source code. We provide the following AWS Greengrass samples: @@ -109,7 +109,7 @@ Converting Deep Learning Models Locate Sample Models -------------------- -There are two types of provided models that can be used in conjunction with AWS Greengrass +There are two types of provided models that can be used in conjunction with AWS Greengrass for this tutorial: classification or object detection. To complete this tutorial using an image classification model, @@ -119,8 +119,8 @@ Any custom pre-trained classification models can be used with the classification sample. 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 +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. Running Model Optimizer @@ -132,9 +132,9 @@ For classification using BVLC Alexnet model: .. code-block:: bash - python3 mo.py --framework caffe --input_model - /bvlc_alexnet.caffemodel --input_proto - /deploy.prototxt --data_type --output_dir + python3 mo.py --framework caffe --input_model + /bvlc_alexnet.caffemodel --input_proto + /deploy.prototxt --data_type --output_dir --input_shape [1,3,227,227] For object detection using SqueezeNetSSD-5Class model: @@ -175,7 +175,7 @@ cloud and edge. `AWS Greengrass developer guide`_ #. To install and configure AWS Greengrass core on edge platform, follow - the instructions at `Start AWS Greengrass on the Core Device`_. In + the instructions at `Start AWS Greengrass on the Core Device`_. In step 8(b), download the x86_64 Ubuntu configuration of the AWS Greengrass core software. @@ -196,7 +196,7 @@ cloud and edge. Creating and Packaging Lambda Functions ======================================= -#. Complete steps 1-4 of the tutorial at `Create and Package Lambda Function`_ . +#. Complete steps 1-4 of the tutorial at `Create and Package Lambda Function`_ . .. note:: @@ -204,7 +204,7 @@ Creating and Packaging Lambda Functions environment on the edge device. -#. In step 5, replace greengrassHelloWorld.py with the classification or object detection +#. In step 5, replace greengrassHelloWorld.py with the classification or object detection Greengrass sample from `Edge-Analytics-Faas`_: * Classification: `greengrass_classification_sample.py`_ @@ -264,8 +264,8 @@ configuring the lambda function for AWS Greengrass. - Value * - PARAM_MODEL_XML - /, 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' + 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. * - PARAM_INPUT_SOURCE - /input.webm to be specified by user. Holds both input and @@ -375,15 +375,15 @@ References 2. AWS Lambda: https://aws.amazon.com/lambda/ 3. AWS Kinesis: https://aws.amazon.com/kinesis/ -.. _Edge-Analytics-FaaS: https://github.com/intel/Edge-Analytics-FaaS/tree/master/AWS%20Greengrass +.. _Edge-Analytics-FaaS: https://github.com/intel/Edge-Analytics-FaaS/tree/v1.0/AWS%20Greengrass .. _bvlc_alexnet.caffemodel: http://dl.caffe.berkeleyvision.org/bvlc_alexnet.caffemodel .. _deploy.prototxt: https://github.com/BVLC/caffe/blob/master/models/bvlc_alexnet/deploy.prototxt -.. _greengrass_classification_sample.py: https://github.com/intel/Edge-Analytics-FaaS/blob/master/AWS%20Greengrass/greengrass_classification_sample.py +.. _greengrass_classification_sample.py: https://github.com/intel/Edge-Analytics-FaaS/blob/v1.0/AWS%20Greengrass/greengrass_classification_sample.py -.. _greengrass_object_detection_sample_ssd.py: https://github.com/intel/Edge-Analytics-FaaS/blob/master/AWS%20Greengrass/greengrass_object_detection_sample_ssd.py +.. _greengrass_object_detection_sample_ssd.py: https://github.com/intel/Edge-Analytics-FaaS/blob/v1.0/AWS%20Greengrass/greengrass_object_detection_sample_ssd.py .. _converting deep learning models to Intermediate Representation using Model Optimizer: https://software.intel.com/en-us/articles/OpenVINO-ModelOptimizer diff --git a/source/clear-linux/tutorials/kubernetes.rst b/source/clear-linux/tutorials/kubernetes.rst index 794e92e6..8da87fe0 100644 --- a/source/clear-linux/tutorials/kubernetes.rst +++ b/source/clear-linux/tutorials/kubernetes.rst @@ -4,32 +4,31 @@ Run Kubernetes\* on |CL-ATTR| ############################# This tutorial describes how to install, configure, and run the -`Kubernetes container orchestration system`_ on |CL-ATTR| using different -container engines and runtimes. +`Kubernetes container orchestration system`_ on |CL-ATTR| using CRI+O and +kata-runtime. 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. -Runc and Kata Containers\* kata-runtime adhere to :abbr:`OCI (Open Container Initiative*)` -guidelines and work seamlessly with Kubernetes. `Kata Containers`_ provide -strong isolation for untrusted workloads or multi-tenant scenarios. Runc and -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. +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. -This tutorial describes the following combinations: - -* Kubernetes with Docker and runc -* Kubernetes with CRI-O and kata-runtime +.. contents:: :local: + :depth: 1 Prerequisites ************* -This tutorial assumes you have installed |CL| and updated to the latest -release on your host system. You can learn about the benefits of having an -up-to-date system for cloud orchestration on the :ref:`swupd-about` -page. For detailed instructions on installing |CL| on a bare metal system, -follow the :ref:`bare metal installation tutorial`. +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. Before you install any new packages, update |CL| with the following command: @@ -40,9 +39,16 @@ Before you install any new packages, update |CL| with the following command: Install Kubernetes and CRI runtimes *********************************** -Kubernetes and a set of supported :abbr:`CRI (Container Runtime Interface)` -runtimes are included in the `cloud-native-basic`_ bundle. To install the -framework, enter the following command: +Kubernetes, a set of supported :abbr:`CRI (Container Runtime Interface)` +runtimes, and networking plugins, are included in the `cloud-native-basic`_ +bundle. + +.. note:: + + CRI-O’s default plugin_dir is :file:`/opt/bin/cni`. + CNI plugins are installed as part of ``cloud-native-basic``. + +To install this framework, enter the following command: .. code-block:: bash @@ -105,7 +111,7 @@ deployment and your security needs. On systems with limited resources, some performance degradation may be observed while swap is disabled. -#. Switch to root to modify `hostname`: +#. Switch to root to modify the `hosts` file: .. code-block:: bash @@ -127,49 +133,7 @@ deployment and your security needs. Configure and run Kubernetes **************************** -This section describes how to configure and run Kubernetes with: - -* Docker and runc -* CRI-O and kata-runtime - -Configure and run Docker + runc -=============================== - -#. Enable the Docker service: - - .. code-block:: bash - - sudo systemctl enable docker.service - -#. Create (or edit if it exists) the file - :file:`/etc/systemd/system/docker.service.d/51-runtime.conf` and include the following lines: - - .. code-block:: bash - - [Service] - Environment="DOCKER_DEFAULT_RUNTIME=--default-runtime runc" - -#. Create (or edit if it exists) the file :file:`/etc/systemd/system/kubelet.service.d/10-kubeadm.conf` and include the following lines: - - .. code-block:: bash - - [Service] - Environment="KUBELET_EXTRA_ARGS=" - -#. Enter the commands: - - .. code-block:: bash - - sudo systemctl daemon-reload - sudo systemctl restart docker - sudo systemctl restart kubelet - -#. Initialize the master control plane with the command: - - .. code-block:: bash - - sudo kubeadm init --ignore-preflight-errors=SystemVerification - +This section describes how to configure and run Kubernetes with CRI-O and kata-runtime. Configure and run CRI-O + kata-runtime ====================================== @@ -211,67 +175,57 @@ If you choose the `flannel` add-on, then you must add the following to the --pod-network-cidr 10.244.0.0/16 -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: +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: .. code-block:: bash [crio.runtime] manage_network_ns_lifecycle = true +Create a symlink for the network overlays: + +.. code-block:: bash + + sudo ln -s /usr/libexec/cni /opt/cni/bin + +.. note:: + + |CL| installs CNI plugins that are part of the `cloud-native-basic` + bundle to :file:`/usr/libexec/cni`. The directory is required because ` + swupd verify` may use it to repair a system to a known good state. + **Notes about Weave Net add-on** -If you choose the `Weave Net` add-on, then you must make the following changes -because it installs itself in the :file:`/opt/cni/bin` directory. +If you choose the `Weave Net` add-on, you must make the following +changes because it installs itself in the :file:`/opt/cni/bin` directory. -If you are using Docker and `Weave Net`, edit the :file:`kubeadm.conf` file to -add: - -.. code-block:: bash - - Environment="KUBELET_NETWORK_ARGS=--network-plugin=cni --cni-conf-dir=/etc/cni/net.d --cni-bin-dir=/opt/cni/bin" - -If you are using CRI-O and `Weave Net`, you must complete the following steps. - -#. Edit the :file:`/etc/crio/crio.conf` file to change `plugin_dir` from: - - .. code-block:: bash - - plugin_dir = "/usr/libexec/cni/" - - to: - - .. code-block:: bash - - plugin_dir = "/opt/cni/bin" +For using CRI-O and ``Weave Net``, complete the following step. #. Add the `loopback` CNI plugin to the plugin path with the command: - .. code-block:: bash - - sudo ln -s /usr/libexec/cni/loopback /opt/cni/bin/loopback + code-block:: bash + sudo ln -s /usr/libexec/cni/loopback /opt/bin/cni/loopback Use your cluster **************** 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 +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: .. code-block:: bash kubeadm join : --token --discovery-token-ca-cert-hash - **Congratulations!** -You've successfully installed and set up Kubernetes in |CL| using Docker and -runc or 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. +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. Related topics ************** @@ -314,8 +268,7 @@ Proxy configuration (optional) ****************************** If you use a proxy server, you must set your proxy environment variables and -create an appropriate proxy configuration file for both CRI-O and Docker -services. Consult your IT department if you are behind a corporate proxy for +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.) @@ -324,17 +277,17 @@ commands as a shell script to configure all of these services in one step: .. code-block:: bash - services=('crio' 'docker') - for s in "${services[@]}"; do - sudo mkdir -p "/etc/systemd/system/${s}.service.d/" - cat << EOF | sudo tee "/etc/systemd/system/${s}.service.d/proxy.conf" - [Service] - Environment="HTTP_PROXY=${http_proxy}" - Environment="HTTPS_PROXY=${https_proxy}" - Environment="SOCKS_PROXY=${socks_proxy}" - Environment="NO_PROXY=${no_proxy}" - EOF - done + services=('crio') + for s in "${services[@]}"; do + sudo mkdir -p "/etc/systemd/system/${s}.service.d/" + cat << EOF | sudo tee "/etc/systemd/system/${s}.service.d/proxy.conf" + [Service] + Environment="HTTP_PROXY=${http_proxy}" + Environment="HTTPS_PROXY=${https_proxy}" + Environment="SOCKS_PROXY=${socks_proxy}" + Environment="NO_PROXY=${no_proxy}" + EOF + done Troubleshooting *************** @@ -376,6 +329,44 @@ Troubleshooting 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. + 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. + + #. Create a `profile` in :file:`/etc` + + .. code-block:: bash + + sudo touch profile + + #. With a preferred editor, open `profile`, and enter your proxy settings. + Example shown below. + + .. code-block:: bash + + export "HTTP_PROXY=http://proxy.example.com:443" + export "HTTPS_PROXY=http://proxy.example.com:445" + export "SOCKS_PROXY=http://proxy.example.com:1080" + export "NO_PROXY= site.com,.site.com,localhost,127.0.0.1, + + can be obtained by running :command:`ifconfig`. + + #. Save and exit the `profile`. + + #. Run: + + .. code-block:: bash + + sudo source profile + + #. To assure your system isn't running previous session variables, run: + + .. code-block:: bash + + sudo kubeadm reset --cri-socket=/run/crio/crio.sock + + #. Continue below while pass `-E` in the command as shown. + + * Missing environment variables. If you are behind a proxy server, pass environment variables by adding *-E* @@ -383,9 +374,6 @@ Troubleshooting .. code-block:: bash - /* Kubernetes with Docker + runc */ - sudo -E kubeadm init --ignore-preflight-errors=SystemVerification - /* Kubernetes with CRI-O + kata-runtime */ sudo -E kubeadm init --cri-socket=/run/crio/crio.sock diff --git a/source/clear-linux/tutorials/telemetry-backend/telemetry-backend.rst b/source/clear-linux/tutorials/telemetry-backend/telemetry-backend.rst index 40ce9c58..d0293d96 100644 --- a/source/clear-linux/tutorials/telemetry-backend/telemetry-backend.rst +++ b/source/clear-linux/tutorials/telemetry-backend/telemetry-backend.rst @@ -386,7 +386,6 @@ server onto and type in ``localhost`` in the address bar. You should see a web page similar to the one shown in figure 1: .. figure:: figures/telemetry-backend-1.png - :scale: 50 % :alt: Telemetry UI Figure 1: :guilabel:`Telemetry UI` @@ -429,11 +428,11 @@ setting to your new server location. You can also use the fully qualified domain name for your server instead of :guilabel:`localhost`. -#. Restart the :command:`telemd` daemon to reload the configuration file. +#. Restart the telemetry daemons to reload the configuration file. .. code-block:: console - systemctl restart telemd + telemctl restart Test the new telemetry backend server ************************************* @@ -450,7 +449,6 @@ command to send a ``hello`` record to the server as follows: The record should show up on your new server console as shown in figure 2: .. figure:: figures/telemetry-backend-2.png - :scale: 50 % :alt: Telemetry UI Figure 2: :guilabel:`Telemetry UI` diff --git a/source/clear-linux/tutorials/telemetry-e2e.rst b/source/clear-linux/tutorials/telemetry-e2e.rst new file mode 100644 index 00000000..7cf8e38f --- /dev/null +++ b/source/clear-linux/tutorials/telemetry-e2e.rst @@ -0,0 +1,617 @@ +.. _telemetry-e2e: + +Develop with telemetry +###################### + +This tutorial shows you how to set up a telemetry backend server to +manage your records and how to instrument your application with the telemetry +API. + +|CL-ATTR| includes a telemetry and analytics solution (also known as +telemetrics) as part of the OS, which records events of interest and reports +them back to the development team using the telemetrics client daemons. + +The |CL| telemetry client can be enabled or disabled and records can be +redirected to a desired location. More detailed information about using and +configuring the telemetrics client is found in +the :ref:`telemetrics` guide. + + +.. contents:: :local: + :depth: 1 + + +Prerequisites +============= + + +For this tutorial, you can use an existing |CL| system, or you can start with a clean installation of |CL| on a new system. + +New Installation +**************** + +To setup a new system for your telemetry backend server, follow the :ref:`bare-metal-install` getting started guide and: + +#. Choose to install |CL|. +#. Join the :guilabel:`Stability Enhancement Program` during the installation process to enable the telemetrics client components. +#. Select the manual installation method with the following settings: + * Set the hostname to :guilabel:`clr-telem-server` + * Create an administrative user named :guilabel:`clear` and add this user to sudoers :ref:`enable-user-space` + * Choose the :file:`dev-utils`, :file:`network-basic`, and :file:`openssh-server` bundles from the bundle list + + +.. note:: + + Bundles can also be added to your system after this install process completed. The bundles listed here are a minimal set needed to complete the setup of the telemetry backend server and applications. + +Existing System +*************** + +If you are using an existing |CL| system, make sure you have installed the telemetry and dev-utils bundles. Use the :command:`swupd` utility with the `bundle-list` option and check for "telemetrics" in the list: + +.. code-block:: bash + + sudo swupd bundle-list + +If you need to install the bundles, use :command:`swupd` to do so. + +.. code-block:: bash + + sudo swupd bundle-add telemetrics dev-utils + +More information about enabling and configuring the telemetry client can be found at :ref:`telemetry-enable`. + +You will need to run some of the commands in this tutorial with root privileges. You can create a new user or add your user to the sudoers list :ref:`enable-user-space`. + +Setting up the telemetry backend server +======================================= +We'll be using the :file:`deploy.sh` file from the `clearlinux/telemetrics-backend`_ Git repository to install required dependencies for the web server applications. The script also configures nginx and uwsgi, deploys snapshots of the applications, and starts all required services. + +Clone the clearlinux/telemetrics-backend Git repository +******************************************************* + +With all prerequisite software bundles installed, log in with your administrative user, and from your :file:`$HOME` directory, run :command:`git` to clone the :guilabel:`telemetrics-backend` repository into the :file:`$HOME/telemetrics-backend` directory: + +.. code-block:: bash + + git clone https://github.com/clearlinux/telemetrics-backend + +.. note:: + + You may need to set up the :envvar:`https_proxy` environment variable if you have issues reaching github.com. + +Run the deploy.sh script to install the backend server +****************************************************** + +Change your current working directory to :file:`telemetrics-backend/scripts`. + +.. code-block:: bash + + cd telemetrics-backend/scripts + +Run the :command:`./deploy.sh -h` to see the list of options for the :command:`deploy.sh` script: + +.. code-block:: console + + ./deploy.sh -h + Deploy snapshot of the telemetrics-backend + + -a Perform specified action (deploy, install, migrate, resetdb, + restart, uninstall; default: deploy) + -d Distro to deploy to (ubuntu, centos or clr; default: ubuntu) + -h Print these options + -H Set domain for deployment (only accepted value is "localhost" for + now) + -r Set repo location to deploy from + (default: https://github.com/clearlinux/telemetrics-backend) + -s Set source location (default: "master" branch from git repo) + -t Set source type (tarball, or git; default: git) + -u Perform complete uninstallation + +The :command:`deploy.sh` is a bash shell script that allows you to perform the following actions: + +* *deploy* - install a complete instance of the telemetrics backend server and all required components. This is the default action if no *-a* argument is given on the command line. +* *install* - installs and enables all required components for the telemetrics backend server. +* *migrate* - migrate database to new schema. +* *resetdb* - reset the database. +* *restart* - restart the nginx and uWSGI services. +* *uninstall* - uninstall all packages. + +.. note:: + + The *uninstall* option does not perform any actions if the distro is set to |CL| and will only uninstall packages if the distro is Ubuntu + +Next, we will install the telemetrics backend server with the following options: + +* *-a install* to perform an install +* *-d clr* to install to a |CL| distro +* *-H localhost* to set the domain to localhost + +We do not need to set the following options since the values are set to the correct values we want by default: + +* *-r https://github.com/clearlinux/telemetrics-backend* sets the repo location for :command:`git` to clone from. +* *-s master* to set the location, or branch. +* *-t git* to set the source type to git. + +.. caution:: + + 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. + +To begin the installation with the options defined: + +Run the shell script from the :file:`$HOME/telemetrics-backend/scripts` directory: + +.. code-block:: bash + + ./deploy.sh -H localhost -a install -d clr + +The script will start and list all the defined options and prompt you for the :guilabel:`PostgreSQL` database password as shown below: + +.. code-block:: console + + Options: + host: localhost + distro: clr + action: install + repo: https://github.com/clearlinux/telemetrics-backend + source: master + type: git + DB password: (default: postgres): + +For the :guilabel:`DB password:`, press the :kbd:`Enter` key to accept the default password `postgres`. + +The :command:`swupd` begins installing the required software bundles to set up the telemetrics backend server. The output will look similar to the following: + +.. code-block:: console + + swupd-client bundle adder 3.12.7 + Copyright (C) 2012-2017 Intel Corporation + + Downloading packs... + + Extracting application-server pack for version 18740 + ...5% + Extracting database-basic-dev pack for version 18670 + ...10% + Extracting database-basic pack for version 18670 + ...15% + ... + + Extracting c-basic pack for version 18800 + ...89% + Extracting os-core-dev pack for version 18800 + ...94% + Extracting web-server-basic pack for version 18680 + ...100% + Installing bundle(s) files... + ...100% + Calling post-update helper scripts. + Possible filedescriptor leak : 8 (socket:[30833]) + Bundle(s) installation done. + +.. note:: + + This 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. + + .. code-block:: console + + Password: + + You may also see an informational message about setting the :envvar:` + https_proxy` environment variable if this variable isn't set. + +Once the :command:`swupd` command is complete, the script begins processing +the requirements to install and implement the telemetrics server. Finally, +the script enables the server and provides output that finishes with +something similar to: + +.. code-block:: console + + . + . + Successfully built alembic Flask-Migrate itsdangerous Mako MarkupSafe python-editor SQLAlchemy uWSGI WTForms + Installing collected packages: SQLAlchemy, MarkupSafe, Mako, python-editor, six, python-dateutil, alembic, click, Werkzeug, Jinja2, itsdangerous, Flask, Flask-SQLAlchemy, Flask-Migrate, WTForms, Flask-WTF, psycopg2, uWSGI + Running setup.py install for psycopg2 ... done + Successfully installed Flask-0.12.2 Flask-Migrate-2.1.0 Flask-SQLAlchemy-2.2 Flask-WTF-0.14.2 Jinja2-2.9.6 Mako-1.0.7 MarkupSafe-1.0 SQLAlchemy-1.1.13 WTForms-2.1 Werkzeug-0.12.2 alembic-0.9.5 click-6.7 itsdangerous-0.24 psycopg2-2.7.3 python-dateutil-2.6.1 python-editor-1.0.3 six-1.10.0 uWSGI-2.0.15 + +Once all the server components have been installed you are prompted to enter the :guilabel:`PostgreSQL` database password to change it as illustrated below: + +.. code-block:: console + + Enter password for 'postgres' user: + New password: + Retype new password: + passwd: password updated successfully + +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. + +The script finalizes installation and finishes. + +.. code-block:: console + + Created symlink /etc/systemd/system/multi-user.target.wants/postgresql.service → /usr/lib/systemd/system/postgresql.service. + Cloning into 'telemetrics-backend'... + remote: Counting objects: 344, done. + remote: Compressing objects: 100% (53/53), done. + remote: Total 344 (delta 30), reused 50 (delta 20), pack-reused 268 + Receiving objects: 100% (344/344), 130.20 KiB | 1.40 MiB/s, done. + Resolving deltas: 100% (177/177), done. + ... + Already using interpreter /usr/bin/python3 + Using base prefix '/usr' + New python executable in /var/www/telemetry/venv/bin/python3 + Not overwriting existing python script /var/www/telemetry/venv/bin/python (you must use /var/www/telemetry/venv/bin/python3) + Installing setuptools, pip, wheel...done. + INFO [alembic.runtime.migration] Context impl PostgresqlImpl. + INFO [alembic.runtime.migration] Will assume transactional DDL. + INFO [alembic.runtime.migration] Running upgrade -> 3230c615d6e0, empty message + INFO [alembic.runtime.migration] Running upgrade 3230c615d6e0 -> 466cf2f35d67, empty message + + Install complete (installation folder: /var/www/telemetry) + +Once the installation is complete you can use your web browser and view the new server by opening the web browser on your system and type in +``localhost`` in the address bar. + +You should see a web page similar to the one shown in figure 1: + + .. figure:: telemetry-backend/figures/telemetry-backend-1.png + :alt: Telemetry UI + :scale: 50% + + Figure 1: :guilabel:`Telemetry UI` + +Redirect telemetry records +************************** + +Telemetry records generated by the telemetrics clients are sent to the +server location defined in the :file:`/usr/share/defaults/telemetrics/ +telemetrics.conf` configuration file. You can customize this setting by +copying this file to :file:`/etc/telemetrics/telemetrics.conf` and changing +the ``server=`` setting to your new server location. + +#. Create the :file:`/etc/telemetrics` directory and make it your current + working directory. + + .. code-block:: bash + + sudo mkdir -p /etc/telemetrics + cd /etc/telemetrics + +#. Copy the default :file:`telemetrics.conf` file to the new + :file:`/etc/telemetrics` directory. + + .. code-block:: bash + + sudo cp /usr/share/defaults/telemetrics/telemetrics.conf + +#. Edit the new :file:`/etc/telemetrics/telemetrics.conf` file with your + editor using the :command:`sudo` directive and change the + :guilabel:`server=` setting to ``http://localhost/v2/collector`` and save + this change in the new file. + + .. code-block:: console + + server=http://localhost/v2/collector + + You can also use the fully qualified domain name for your server instead of :guilabel:`localhost`. + +#. Restart the telemetry daemons to reload the configuration file. + + .. code-block:: bash + + telemctl restart + +Test the new telemetry backend server +************************************* + +|CL| includes a telemetry test probe called :command:`hprobe` that will send +a ``hello`` record to the telemetry backend server. To test that the +telemetry records are now going to your new destination, run the :command:` +hprobe` command to send a ``hello`` record to the server as follows: + +.. code-block:: bash + + hprobe + +The record should show up on your new server console as shown in figure 2: + + .. figure:: telemetry-backend/figures/telemetry-backend-2.png + :alt: Telemetry UI + :scale: 50% + + Figure 2: :guilabel:`Telemetry UI` + +You have now set up the |CL| telemetry backend server, and redirected records from your client to your server. + +Creating custom telemetry events +================================ +For the following steps, we'll be sending records to the backend server we've just set up. If you prefer to keep records locally and not send them to a server, follow the :ref:`telemetrics` guide and enable :record_retention_enabled: in your :file:`etc/telemetrics/telemetrics.conf` to keep the records locally. + +There are two ways to create custom telemetry events: using :command:`telem-record-gen` and using the telemetry API in your applications. + +Using telem-record-gen +********************** + +Enabling telemetry during installation gives us everything we need to create custom telemetry events, even from C programs, because the telemetry bundle provides a simple pipe-based :abbr:`CLI (Commandline Interface)` program named :file:`telem-record-gen` that can be called trivially: + + +.. code-block:: bash + + ~ $ telem-record-gen --help + +.. code-block:: console + + Usage: + telem-record-gen [OPTIONS] - create and send a custom telemetry record + + Help Options: + -h, --help Show help options + + Application Options: + -f, --config-file Path to configuration file (not implemented yet) + -V, --version Print the program version + -s, --severity Severity level (1-4) - (default 1) + -c, --class Classification level_1/level_2/level_3 + -p, --payload Record body (max size = 8k) + -P, --payload-file File to read payload from + -R, --record-version Version number for format of payload (default 1) + -e, --event-id Event id to use in the record + + +.. note:: + + The C library (:file:`libtelemetry.so - man 3 telemetry`) uses the same API parameters and will yield the same effect as :command:`telem-record-gen`. + +Let's try generating a simple heartbeat event with +:command:`telem-record-gen`, similar to the hprobe heartbeat probe that |CL| +includes by default. + +.. code-block:: bash + + ~ $ telem-record-gen -c org.clearlinux/hello/world -p "hello there" + +We won't see anything happen on the console, but we can track existing and +previous telemetry events with :command:`telemctl`: + +.. code-block:: bash + + ~$ sudo telemctl journal -V -c org.clearlinux/hello/world -i + +.. code-block:: console + + org.clearlinux/hello/world Tue 2018-11-06 23:00:48 UTC 72e55923fd21c75142c24dcfe0ae0a79 143f2580dcf80267f8f1dfe448f3c975 75f547ff-e55b-44b1-9333-1106098bd448 + hello there + +Using the telemetry API in your C application +********************************************* + +.. note:: + + More details about the :ref:`the telemetry API ` are + available in the telemetry guide. + +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. + +You will need to include the following headers in your code to use the API: + +:: + + #define _GNU_SOURCE + #include + #include + #include + #include + + +Use the following code to create the variables we need to hold the data for the record we will be creating: + +:: + + uint32_t severity = 1; + uint32_t payload_version = 1; + char classification[30] = "org.clearlinux/hello/world"; + struct telem_ref *tm_handle = NULL; + char *payload; + int ret = 0; + + + +Severity: + | Type: uint32_t + | 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] + +Payload_version: + | Type: uint32_t + | 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. + +Classification: + | Type: char array + | 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. + +Tm_handle: + | Type: Telem_ref struct pointer + | Value: Struct pointer declared by the caller, The struct is initialized if the function returns success. + +Payload: + | Type: char pointer + | Value: The payload to set + + + +For this example, we'll set the payload to “hello” by using ``asprintf()`` + +:: + + if (asprintf(&payload, "hello\n") < 0) { + exit(EXIT_FAILURE); + } + + + +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. + + +Create the new telemetry record +******************************* + +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. + +:: + + if ((ret = tm_create_record(&tm_handle, severity, classification, payload_version)) < 0) { + printf("Failed to create record: %s\n", strerror(-ret)); + ret = 1; + goto fail; + } + + +Set the payload field of a telemetrics record +********************************************* + +The function ``tm_set_payload()`` attaches the provided telemetry record data to the telemetry record. The current maximum payload size is 8192b. + +:: + + if ((ret = tm_set_payload(tm_handle, payload)) < 0) { + printf("Failed to set record payload: %s\n", strerror(-ret)); + ret = 1; + goto fail; + } + free(payload); + +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. + +Send a record to the telemetrics daemon +*************************************** + +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. + +:: + + if ((ret = tm_send_record(tm_handle)) < 0) { + printf("Failed to send record to daemon: %s\n", strerror(-ret)); + ret = 1; + goto fail; + } else { + printf("Successfully sent record to daemon.\n"); + ret = 0; + } + fail: + tm_free_record(tm_handle); + tm_handle = NULL; + + return ret; + + +Full sample application with compiling flags +============================================ + +Create a new file test.c add the following code. + +:: + + #define _GNU_SOURCE + #include + #include + #include + #include + + int main(int argc, char **argv) + { + uint32_t severity = 1; + uint32_t payload_version = 1; + char classification[30] = "org.clearlinux/hello/world"; + struct telem_ref *tm_handle = NULL; + char *payload; + + int ret = 0; + + if (asprintf(&payload, "hello\n") < 0) { + exit(EXIT_FAILURE); + } + + if ((ret = tm_create_record(&tm_handle, severity, classification, + payload_version)) < 0) { + printf("Failed to create record: %s\n", strerror(-ret)); + ret = 1; + goto fail; + } + + if ((ret = tm_set_payload(tm_handle, payload)) < 0) { + printf("Failed to set record payload: %s\n", strerror(-ret)); + ret = 1; + goto fail; + } + + free(payload); + + if ((ret = tm_send_record(tm_handle)) < 0) { + printf("Failed to send record to daemon: %s\n", strerror(-ret)); + ret = 1; + goto fail; + } else { + printf("Successfully sent record to daemon.\n"); + ret = 0; + } + fail: + tm_free_record(tm_handle); + tm_handle = NULL; + + return ret; + } + + + +Compile with the gcc compiler, using this command: + +.. code-block:: bash + + gcc test.c -ltelemetry -o test_telem + + +Test to ensure the program is working: + +.. code-block:: bash + + ./test_telem + Successfully sent record to daemon. + +Verify record was received +***************************** + +To verify that the heartbeat message was received by the telemetry backend +server you can check the telemetry client journal, and specify the +classification as org.clearlinux/hello/world + +.. code-block:: bash + + sudo telemctl journal -V -c org.clearlinux/hello/world -i + +.. code-block:: console + + Classification Time stamp Record ID Event ID Boot ID + org.clearlinux/hello/world Tue 2018-11-06 22:58:25 UTC b11db07c58c90d8f496ff963df6c43de 24699c2d60c12d154692875b599ca957 75f547ff-e55b-44b1-9333-1106098bd448 + hello + Total records: 1 + + + +A full example of the `heartbeat probe`_ in C is documented in the source code. For more information about telemetrics in |CL| refer to the +:ref:`telemetrics` guide. + +You can also look for the record on the telemetry backend server. + +.. _latest version: https://github.com/clearlinux/telemetrics-client/tree/master/src + +.. _heartbeat probe: https://github.com/clearlinux/telemetrics-client/tree/master/src/probes/hello.c + + +.. _clearlinux/telemetrics-backend: https://github.com/clearlinux/telemetrics-backend diff --git a/source/clear-linux/tutorials/tutorials.rst b/source/clear-linux/tutorials/tutorials.rst index e5d51254..a7069048 100644 --- a/source/clear-linux/tutorials/tutorials.rst +++ b/source/clear-linux/tutorials/tutorials.rst @@ -24,6 +24,7 @@ Explore our tutorials to discover what you can do with |CL|! hadoop fmv aws-web/aws-web + telemetry-e2e telemetry-backend/telemetry-backend smb/smb spark @@ -31,3 +32,4 @@ Explore our tutorials to discover what you can do with |CL|! kata_migration kubernetes greengrass + dlrs diff --git a/source/index.rst b/source/index.rst index 18009e35..4aecff65 100644 --- a/source/index.rst +++ b/source/index.rst @@ -7,6 +7,7 @@ Clear Linux - Documentation :maxdepth: 1 clear-linux/clear-linux + sitemap License and disclaimers ======================= diff --git a/source/scripts/_python/Makefile b/source/scripts/_python/Makefile new file mode 100644 index 00000000..d7b5ffc2 --- /dev/null +++ b/source/scripts/_python/Makefile @@ -0,0 +1,9 @@ + +py: + python bundle_lister.py + cp bundles.html.txt ../../clear-linux/reference/bundles + rm -rf cloned_repo/* + rm bundles.html.txt + @echo "Python script finished successfully!" + + diff --git a/source/scripts/_python/README.md b/source/scripts/_python/README.md new file mode 100644 index 00000000..5903bdb3 --- /dev/null +++ b/source/scripts/_python/README.md @@ -0,0 +1,26 @@ +bundle_lister.py +---------------- + +`bundle_lister.py` is a Python (3.6.0) web scraper and html file generator. First, it clones the +[clr-bundles directory](https://github.com/clearlinux/clr-bundles). Second, it parses the content of all bundles in the clr-bundles/ directory and the `packages` file. Third, it uses Jinja2 template engine to output the result as: bundles.html.txt. This file is copied to reference/bundles location, and it is invoked in `bundles.rst`, which currently appears as [Available bundles](https://clearlinux.org/documentation/clear-linux/reference/bundles). + +`bundle_lister.py` automates clear linux documentation so it reflects +current bundles and packages per developer updates to the +[clr-bundles GitHub repository](https://github.com/clearlinux/clr-bundles). Therefore, it increases efficiency, automatically aligns documentation with Clear Linux Engineering development, and it eliminates potential for human error, and saves labor hours in contrast to the previous manual method. + +`bundle_lister.py` will be invoked in a bash script in the `source/Makefile` of clear-linux documentation. Therefore, `bundle_lister.py` will automatically create newly scraped and parsed data upon each build of the +[website](https://clearlinux.org) and output an accurate, up-to-date table showing all bundles and packages for interested developers and admins. + +See `requirements.txt` for dependencies necessary to run this application. + +Built in:`Python==3.6.0` + +To run `bundle_lister.py` in the terminal, enter: `python bundle_lister.py`. + +Note: The `cloned_repo` directory must remain in the parent directory in order for this code to work; the template.html must remain as +well. + +Note: A successful build will produce a file `bundles.html.txt` showing a table of current bundles and pundles (packages) alphabetized, with a (UTC) time and date stamp in the upper right corner. + + +`~$~` diff --git a/source/scripts/_python/bundle_lister.py b/source/scripts/_python/bundle_lister.py new file mode 100644 index 00000000..8440ab61 --- /dev/null +++ b/source/scripts/_python/bundle_lister.py @@ -0,0 +1,98 @@ +import io +import os +import re +import urllib +import jinja2 +from jinja2 import Environment, FileSystemLoader, Template +import git +from operator import itemgetter +from datetime import datetime + +GITHUB_BASE = "https://github.com/clearlinux/clr-bundles/tree/master/bundles/" +PUNDLES = "https://github.com/clearlinux/clr-bundles/blob/master/packages" + +PATTERN1 = re.compile(r"#\s?\[TITLE]:\w?(.*)") +PATTERN2 = re.compile(r"#\s?\[DESCRIPTION]:\w?(.*)") +PATTERN3 = re.compile(r"\(([^()]*|include)\)", re.MULTILINE) +PATTERN4 = re.compile(r"^((?:(?!#)\w+[^-\s][-])\w+|\w+[^\s-])", re.MULTILINE) +# ALT PATTERN4 = re.compile(r"^((?:(?!#)(\w+[^-\s])[-]\w+.)[^\s]{1,}[^\s]|\w+[^\s-])", re.MULTILINE) + +PATTERN5 = re.compile(r"^(?!=a)\w.+\s[#]\s(\w+.*)?", re.MULTILINE) +# Previous version: PATTERN5 = re.compile(r"^[^#].*(?<=\s\-\s)(\w+.*)?", re.MULTILINE) + +def extractor(lines): + bundle_title = "title" + data_desc = "description" + url = "url" + include_list = [] + + for i in lines: + title = PATTERN1.match(i) + desc = PATTERN2.match(i) + includes = PATTERN3.findall(i) + + if title: + bundle_title = title.groups(0)[0].strip() + if desc: + data_desc = desc.groups(0)[0].strip() + if url: + url = os.path.join(GITHUB_BASE, bundle_title) + + if includes: + include_text = includes[0].strip("()") + include_list.append(include_text) + return {"title": bundle_title, "data_desc": data_desc, "include_list": include_list, "url": url} + +def pundler(): + with io.open("./cloned_repo/clr-bundles/packages") as file_obj: + lines = file_obj.readlines() + pundle_title = "pundle_title" + pundle_desc = "pundle_desc" + purl = "purl" + pundle_list = [] + pun_desc = [] + pundle_master = [] + + for i in lines: + pundle = PATTERN4.findall(i) + pundle_plus = PATTERN5.findall(i) + + if pundle: + pundle_title = pundle[0] + pundle_list.append(pundle_title) + + if pundle_plus: + pundle_desc = pundle_plus[0].strip("[]") + pun_desc.append(pundle_desc) + + for pun, desc in zip(pundle_list, pun_desc): + pundle_master.append({"title": pun, "pun_desc": desc, "purl": PUNDLES}) + return pundle_master + +def bundler(): + data = [] + try: + git.Git("./cloned_repo/").clone("https://github.com/clearlinux/clr-bundles.git") + except: + pass + for root, dirs, files in os.walk("./cloned_repo/clr-bundles/bundles", topdown=False): + for name in files: + with open(os.path.join(root, name)) as file_obj: + lines = file_obj.readlines() + data.append(extractor(lines)) + + pundle_master = pundler() + data = data + pundle_master + filtered = list(filter(lambda x: x.get('title'), data)) + sortedData = sorted(filtered, key=lambda x:x['title'].lower()) + #ALT sortedData2 = sorted(sortedData, key=itemgetter('title')) + loader = jinja2.FileSystemLoader(searchpath='./') + env = jinja2.Environment(loader=loader) + template = env.get_template('template.html') + template.globals['now'] = datetime.utcnow + + output = template.render(data=sortedData, now=datetime.utcnow()) + with io.open('bundles.html.txt', 'w') as file: + file.write(output) + +bundler() diff --git a/source/scripts/_python/cloned_repo/.gitkeep b/source/scripts/_python/cloned_repo/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/source/scripts/_python/linkcheck/link-whitelist.txt b/source/scripts/_python/linkcheck/link-whitelist.txt new file mode 100644 index 00000000..a33863a4 --- /dev/null +++ b/source/scripts/_python/linkcheck/link-whitelist.txt @@ -0,0 +1,19 @@ +http://www.intel.com/content/www/us/en/virtualization/virtualization-technology/intel-virtualization-technology.html +https://software.intel.com/en-us/articles/intel-virtualization-technology-for-directed-io-vt-d-enhancing-intel-platforms-for-efficient-virtualization-of-io-devices +http://www.intel.com/content/www/us/en/virtualization/virtualization-technology/intel-virtualization-technology.html +https://software.intel.com/en-us/articles/intel-virtualization-technology-for-directed-io-vt-d-enhancing-intel-platforms-for-efficient-virtualization-of-io-devices +https://software.intel.com/en-us/articles/intel-virtualization-technology-for-directed-io-vt-d-enhancing-intel-platforms-for-efficient-virtualization-of-io-devices +https://www.intel.com/content/www/us/en/virtualization/virtualization-technology/intel-virtualization-technology.html +https://www.intel.com/content/www/us/en/virtualization/virtualization-technology/intel-virtualization-technology.html +https://github.com/clearlinux/common#build-rpms-for-a-package +https://www.intel.com/content/www/us/en/privacy/intel-privacy-notice.html +http://ark.intel.com +https://clearlinux.org/documentation/clear-linux/concepts/bundles-about#related-concepts +https://software.intel.com/en-us/articles/OpenVINO-ModelOptimizer +https://github.com/kata-containers/documentation/blob/master/Upgrading.md#maintenance-warning +https://github.com/clearcontainers/runtime#configuration +https://github.com/kata-containers/runtime#configuration +https://kubernetes.io/docs/user-journeys/users/application-developer/foundational/#section-3 +https://kubernetes.io/docs/user-journeys/users/application-developer/foundational/#section-2 +https://www.intel.com/content/www/us/en/privacy/intel-privacy-notice.html +http://www.intel.com/content/www/us/en/nuc/nuc-kit-nuc6i5syh.html \ No newline at end of file diff --git a/source/scripts/_python/linkcheck/parse-link-check.py b/source/scripts/_python/linkcheck/parse-link-check.py new file mode 100644 index 00000000..9909cf1d --- /dev/null +++ b/source/scripts/_python/linkcheck/parse-link-check.py @@ -0,0 +1,87 @@ +#!/usr/bin/env python + +#*********************************************************** +# +# parse-link-check.py +# +# Arguments: +# 1. path to input file +# +# External file dependencies: +# 1. output.txt - the output of sphinx-build +# 2. link-whitelist.txt - broken links that should be ignored +# +# Output: +# 1. broken_links.html - provides count of broken and whitelist +# matches. Also provides links to all flagged links. Will +# appear in the same directory as output.txt +# 2. Error code 255 if unexpected broken links are found +# +#*********************************************************** + + +import sys +import re +import os + +fileName = "output.txt" +outFile = "broken_links.html" +whitelistFile = "link-whitelist.txt" + +if len(sys.argv) < 2: + print ("Enter path of input directory") + sys.exit() + +scriptPath = sys.argv[0] +outputPath = sys.argv[1] +fileNamePath = outputPath + "/" + fileName +outFilePath = outputPath + "/" + outFile + +whitelistFilePath = os.path.dirname(scriptPath) + "/" + whitelistFile + +with open (whitelistFilePath) as w: + whLines = w.readlines() + +whitelist = [] +for line in whLines: + link = line.rstrip() + whitelist.append(link) + +with open (fileNamePath) as f: + lines = f.readlines() + +numBrokenLinks = 0 +numWhiteListMatches = 0 +newLines = [""] +whiteListLines = [] + +for line in lines: + if "[broken]" in line: + strings = line.split(" ") + link = strings[2][:-1] + link = link.strip() + if link in whitelist: + whiteListLines.append("" + strings[0] + "\n
    [whitelist] " + link + "
    \n") + numWhiteListMatches += 1 + else: + newLines.append("" + strings[0] + "\n
    [broken] " + link + "
    \n") + numBrokenLinks += 1 + +newLines.insert(0,"

    " + str(numBrokenLinks + numWhiteListMatches) + " broken links found in Sphinx link check

    \n") +newLines.insert(1,"

    " + str(numBrokenLinks) + " unmatched broken links

    \n") +newLines.append("

    " + str(numWhiteListMatches) + " links matched whitelist

    \n") +for line in whiteListLines: + newLines.append(line) +newLines.append("") + +with open (outFilePath, "w") as outF: + for line in newLines: + outF.write(line) + +print("See ./" + outFilePath + " for a detailed breakdown of broken links.") + +if numBrokenLinks != 0: + print (numBrokenLinks + " detected. Exiting with error code 255.") + sys.exit(-1) +else: + print ("No unexpected broken links detected.") diff --git a/source/scripts/_python/requirements.txt b/source/scripts/_python/requirements.txt new file mode 100644 index 00000000..7b142b78 --- /dev/null +++ b/source/scripts/_python/requirements.txt @@ -0,0 +1,2 @@ +Jinja2==2.10 +GitPython==2.1.11 diff --git a/source/scripts/_python/styles.css b/source/scripts/_python/styles.css new file mode 100644 index 00000000..5f18a5af --- /dev/null +++ b/source/scripts/_python/styles.css @@ -0,0 +1,48 @@ +table { + margin: 32px; + border: 1px solid #e0e0e0; + border-collapse: collapse; + width: auto; +} +th { + font-family: IntelClear-Regular,Helvetica,Arial,sans-serif; + align-content: center; + padding: 5px; + border: #ccc solid 1px; + background-color: #555; + color: #fff; + text-transform: uppercase; + font-size: 18px; +} +tr { + padding-top: 20px ; + padding-bottom: 10px; +} + tbody tr:nth-child(odd) { + background-color: #e0e0e0; +} + .bundlename { + font-family: IntelClear-Regular,Helvetica,Arial,sans-serif; + font-size: 16px; + font-weight: bolder; + padding-left: 6px; + line-height: 18px; + padding-top:7px ; + padding-bottom: 5px; +} +.bundledesc { + font-family: IntelClear-Regular,Helvetica,Arial,sans-serif; + font: italic; + font-size: 16px; + padding-left: 6px; + line-height: 18px; + padding-top: 7px ; + padding-bottom: 5px; +} + ul, li { + margin-left: 8px; + /* padding: 0; */ + padding-left: 5px; + padding-top: 2px; + line-height: 16px; +} diff --git a/source/scripts/_python/template.html b/source/scripts/_python/template.html new file mode 100644 index 00000000..416d4e73 --- /dev/null +++ b/source/scripts/_python/template.html @@ -0,0 +1,55 @@ + + + + + + + Bundles in Clear Linux* OS + + + +
    - Updated: 11/14/18 05:24 UTC + + Updated: 12/27/18 20:30 UTC
    Name Description
    acpica-unix2 Intel ACPI utilities
    alsa-utils alsa management tools
    amateur-radio Applications to support amateur radio operations
    @@ -46,9 +62,19 @@ -
    ansible Automates software provisioning, configuration management, and application deployment.
    ansibleThe ansible tool for host management
    + +

    Includes bundle(s): + +

  • ipmitool
  • + +
  • python3-basic
  • + +

    + +
    auditaudit system audit tools
    axelaxel Download accelerator
    azure-iot-sdkLibraries to support building IoT applications on Azure
    + +

    Includes bundle(s): + +

  • p11-kit
  • + +
  • python3-basic
  • + +

    + +
    bcbc basic calculator, an arbitrary-precision calculator language
    blenderA 3D Modelling And Rendering Package
    + +

    Includes bundle(s): + +

  • python3-basic
  • + +

    + +
    bmap-toolsbmap-tools Tools for creating the block map (bmap) for a file and copying files. Alternative to "dd" or "cp"
    boot-encryptedEnable booting encrypted root partition, swap, or other partitions
    + +

    Includes bundle(s): + +

  • bootloader-extras
  • + +

    + +
    bootloader Loads kernel from disk and boots the system
    @@ -153,7 +226,7 @@
    borgbackupborgbackup Deduplicating archiver with compression and authenticated encryption.
    casynccabextract Manipulate CAB archives
    casync Content Addressable Data Synchronizer, to distribute frequently-updated file system images over the Internet
    clamavccache cache compilations to avoid redoing the same computation and speed project build times
    clamav Clam AntiVirus is an anti-virus toolkit for Unix
    cloc Count lines of code for many programming languages
    cloud-api API helpers for cloud access
    @@ -218,6 +312,10 @@

    Includes bundle(s): +

  • cloud-api
  • + +
  • git
  • +
  • kvm-host
  • network-basic
  • @@ -226,8 +324,6 @@
  • python3-basic
  • -
  • cloud-api
  • -
  • storage-cluster
  • sudo
  • @@ -245,10 +341,12 @@

    Includes bundle(s): -

  • containers-virt
  • -
  • ethtool
  • +
  • iproute2
  • + +
  • p11-kit
  • +

    cockpitcockpit Web based administration for GNU/Linux servers
    computer-vision-models Deep learning models for computer vision
    +

    Includes bundle(s): + +

  • machine-learning-tensorflow
  • + +

    +
    cpiocpio File archiver utility
    cryptoprocessor-management-devAll packages required to build the cryptoprocessor-management bundle.
    + +

    Includes bundle(s): + +

  • cryptoprocessor-management
  • + +
  • dev-utils
  • + +
  • os-core-dev
  • + +

    + +
    curlcurl Transfer data to/from a URL
    darktabledarktable Photography workflow application
    desktop-locales translations and documentation for desktop components
    +

    Includes bundle(s): + +

  • perl-basic
  • + +

    +
    devpkg-at-spi2-atkAll content for pkgconfig file at-spi2-atk.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +
  • devpkg-at-spi2-core
  • + +
  • devpkg-glib
  • + +

    + +
    devpkg-at-spi2-coreAll content for pkgconfig file at-spi2-core.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +
  • devpkg-dbus
  • + +
  • devpkg-glib
  • + +

    + +
    devpkg-atkAll content for pkgconfig file atk.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +
  • devpkg-glib
  • + +

    + +
    devpkg-basebasic pkgconfig infra
    + +

    Includes bundle(s): + +

  • c-basic
  • + +

    + +
    devpkg-cairoAll content for pkgconfig file cairo.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +
  • devpkg-fontconfig
  • + +
  • devpkg-freetype
  • + +
  • devpkg-glib
  • + +
  • devpkg-libX11
  • + +
  • devpkg-libXext
  • + +
  • devpkg-libXrender
  • + +
  • devpkg-libxcb
  • + +
  • devpkg-mesa
  • + +
  • devpkg-pixman
  • + +

    + +
    devpkg-cheeseAll content for pkgconfig file cheese.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +
  • devpkg-clutter
  • + +
  • devpkg-clutter-gst
  • + +
  • devpkg-gdk-pixbuf
  • + +
  • devpkg-glib
  • + +
  • devpkg-gstreamer
  • + +

    + +
    devpkg-clutterAll content for pkgconfig file clutter.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +

    + +
    devpkg-clutter-gstAll content for pkgconfig file clutter-gst.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +
  • devpkg-clutter
  • + +
  • devpkg-cogl
  • + +
  • devpkg-glib
  • + +
  • devpkg-gst-plugins-base
  • + +
  • devpkg-gstreamer
  • + +

    + +
    devpkg-coglAll content for pkgconfig file cogl.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +

    + +
    devpkg-dbusAll content for pkgconfig file dbus.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +

    + +
    devpkg-elfutilsAll content for pkgconfig file elfutils.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +
  • devpkg-xz
  • + +
  • devpkg-zlib
  • + +

    + +
    devpkg-evolutionAll content for pkgconfig file evolution.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +
  • devpkg-evolution-data-server
  • + +
  • devpkg-glib
  • + +
  • devpkg-gnome-desktop
  • + +
  • devpkg-gtk3
  • + +
  • devpkg-webkitgtk
  • + +

    + +
    devpkg-evolution-data-serverAll content for pkgconfig file evolution-data-server.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +
  • devpkg-glib
  • + +
  • devpkg-gtk3
  • + +
  • devpkg-libical
  • + +
  • devpkg-libsecret
  • + +
  • devpkg-libsoup
  • + +
  • devpkg-libxml2
  • + +
  • devpkg-nspr
  • + +
  • devpkg-nss
  • + +
  • devpkg-sqlite-autoconf
  • + +

    + +
    devpkg-expatAll content for pkgconfig file expat.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +

    + +
    devpkg-fontconfigAll content for pkgconfig file fontconfig.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +
  • devpkg-expat
  • + +
  • devpkg-freetype
  • + +
  • devpkg-util-linux
  • + +

    + +
    devpkg-freetypeAll content for pkgconfig file freetype.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +
  • devpkg-harfbuzz
  • + +
  • devpkg-zlib
  • + +

    + +
    devpkg-fribidiAll content for pkgconfig file fribidi.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +

    + +
    devpkg-gdk-pixbufAll content for pkgconfig file gdk-pixbuf.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +
  • devpkg-glib
  • + +
  • devpkg-libpng
  • + +

    + +
    devpkg-glibAll content for pkgconfig file glib.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +
  • devpkg-pcre
  • + +

    + +
    devpkg-gnome-desktopAll content for pkgconfig file gnome-desktop.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +
  • devpkg-gsettings-desktop-schemas
  • + +
  • devpkg-gtk3
  • + +

    + +
    devpkg-graphiteAll content for pkgconfig file graphite.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +

    + +
    devpkg-gsettings-desktop-schemasAll content for pkgconfig file gsettings-desktop-schemas.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +

    + +
    devpkg-gst-plugins-baseAll content for pkgconfig file gst-plugins-base.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +
  • devpkg-gstreamer
  • + +
  • devpkg-orc
  • + +

    + +
    devpkg-gstreamerAll content for pkgconfig file gstreamer.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +
  • devpkg-elfutils
  • + +
  • devpkg-glib
  • + +

    + +
    devpkg-gtk3All content for pkgconfig file gtk3.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +
  • devpkg-at-spi2-atk
  • + +
  • devpkg-atk
  • + +
  • devpkg-cairo
  • + +
  • devpkg-fontconfig
  • + +
  • devpkg-gdk-pixbuf
  • + +
  • devpkg-glib
  • + +
  • devpkg-libX11
  • + +
  • devpkg-libXcomposite
  • + +
  • devpkg-libXdamage
  • + +
  • devpkg-libXext
  • + +
  • devpkg-libXfixes
  • + +
  • devpkg-libXi
  • + +
  • devpkg-libXinerama
  • + +
  • devpkg-libXrandr
  • + +
  • devpkg-libepoxy
  • + +
  • devpkg-libxkbcommon
  • + +
  • devpkg-pango
  • + +
  • devpkg-wayland
  • + +
  • devpkg-wayland-protocols
  • + +

    + +
    devpkg-harfbuzzAll content for pkgconfig file harfbuzz.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +
  • devpkg-glib
  • + +
  • devpkg-graphite
  • + +

    + +
    devpkg-icu4cAll content for pkgconfig file icu4c.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +

    + +
    devpkg-libdrmAll content for pkgconfig file libdrm.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +

    + +
    devpkg-libepoxyAll content for pkgconfig file libepoxy.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +
  • devpkg-mesa
  • + +

    + +
    devpkg-libicalAll content for pkgconfig file libical.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +
  • devpkg-icu4c
  • + +

    + +
    devpkg-libpciaccessAll content for pkgconfig file libpciaccess.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +

    + +
    devpkg-libpngAll content for pkgconfig file libpng.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +
  • devpkg-zlib
  • + +

    + +
    devpkg-libpthread-stubsAll content for pkgconfig file libpthread-stubs.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +

    + +
    devpkg-libsecretAll content for pkgconfig file libsecret.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +
  • devpkg-glib
  • + +

    + +
    devpkg-libsoupAll content for pkgconfig file libsoup.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +
  • devpkg-glib
  • + +
  • devpkg-libxml2
  • + +

    + +
    devpkg-libX11All content for pkgconfig file libX11.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +
  • devpkg-libxcb
  • + +
  • devpkg-xorgproto
  • + +

    + +
    devpkg-libXauAll content for pkgconfig file libXau.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +
  • devpkg-xorgproto
  • + +

    + +
    devpkg-libxcbAll content for pkgconfig file libxcb.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +
  • devpkg-libXau
  • + +
  • devpkg-libXdmcp
  • + +
  • devpkg-libpthread-stubs
  • + +

    + +
    devpkg-libXcompositeAll content for pkgconfig file libXcomposite.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +
  • devpkg-libX11
  • + +
  • devpkg-libXfixes
  • + +
  • devpkg-xorgproto
  • + +

    + +
    devpkg-libXdamageAll content for pkgconfig file libXdamage.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +
  • devpkg-libX11
  • + +
  • devpkg-libXfixes
  • + +
  • devpkg-xorgproto
  • + +

    + +
    devpkg-libXdmcpAll content for pkgconfig file libXdmcp.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +
  • devpkg-xorgproto
  • + +

    + +
    devpkg-libXextAll content for pkgconfig file libXext.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +
  • devpkg-libX11
  • + +
  • devpkg-xorgproto
  • + +

    + +
    devpkg-libXfixesAll content for pkgconfig file libXfixes.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +
  • devpkg-libX11
  • + +
  • devpkg-xorgproto
  • + +

    + +
    devpkg-libXiAll content for pkgconfig file libXi.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +
  • devpkg-libX11
  • + +
  • devpkg-libXext
  • + +
  • devpkg-libXfixes
  • + +
  • devpkg-xorgproto
  • + +

    + +
    devpkg-libXineramaAll content for pkgconfig file libXinerama.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +
  • devpkg-libX11
  • + +
  • devpkg-libXext
  • + +
  • devpkg-xorgproto
  • + +

    + +
    devpkg-libxkbcommonAll content for pkgconfig file libxkbcommon.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +

    + +
    devpkg-libxml2All content for pkgconfig file libxml2.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +

    + +
    devpkg-libXrandrAll content for pkgconfig file libXrandr.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +
  • devpkg-libX11
  • + +
  • devpkg-libXext
  • + +
  • devpkg-libXrender
  • + +
  • devpkg-xorgproto
  • + +

    + +
    devpkg-libXrenderAll content for pkgconfig file libXrender.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +
  • devpkg-libX11
  • + +
  • devpkg-xorgproto
  • + +

    + +
    devpkg-libXxf86vmAll content for pkgconfig file libXxf86vm.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +
  • devpkg-libX11
  • + +
  • devpkg-libXext
  • + +
  • devpkg-xorgproto
  • + +

    + +
    devpkg-mesaAll content for pkgconfig file mesa.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +
  • devpkg-libX11
  • + +
  • devpkg-libXdamage
  • + +
  • devpkg-libXext
  • + +
  • devpkg-libXfixes
  • + +
  • devpkg-libXxf86vm
  • + +
  • devpkg-libdrm
  • + +
  • devpkg-libxcb
  • + +

    + +
    devpkg-nsprAll content for pkgconfig file nspr.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +

    + +
    devpkg-nssAll content for pkgconfig file nss.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +
  • devpkg-nspr
  • + +

    + +
    devpkg-openblasAll content for pkgconfig file openblas.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +

    + +
    devpkg-orcAll content for pkgconfig file orc.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +

    + +
    devpkg-pangoAll content for pkgconfig file pango.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +
  • devpkg-cairo
  • + +
  • devpkg-fontconfig
  • + +
  • devpkg-freetype
  • + +
  • devpkg-fribidi
  • + +
  • devpkg-glib
  • + +
  • devpkg-harfbuzz
  • + +

    + +
    devpkg-pcreAll content for pkgconfig file pcre.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +

    + +
    devpkg-pixmanAll content for pkgconfig file pixman.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +

    + +
    devpkg-qt3dAll content for pkgconfig file qt3d.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +
  • devpkg-qtbase
  • + +
  • devpkg-qtdeclarative
  • + +

    + +
    devpkg-qtbaseAll content for pkgconfig file qtbase.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +

    + +
    devpkg-qtdeclarativeAll content for pkgconfig file qtdeclarative.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +
  • devpkg-qtbase
  • + +

    + +
    devpkg-sqlite-autoconfAll content for pkgconfig file sqlite-autoconf.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +

    + +
    devpkg-util-linuxAll content for pkgconfig file util-linux.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +

    + +
    devpkg-waylandAll content for pkgconfig file wayland.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +

    + +
    devpkg-wayland-protocolsAll content for pkgconfig file wayland-protocols.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +

    + +
    devpkg-webkitgtkAll content for pkgconfig file webkitgtk.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +
  • devpkg-glib
  • + +
  • devpkg-gtk3
  • + +
  • devpkg-libsoup
  • + +

    + +
    devpkg-xorg-serverAll content for pkgconfig file xorg-server.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +
  • devpkg-libpciaccess
  • + +
  • devpkg-mesa
  • + +
  • devpkg-pixman
  • + +
  • devpkg-xorgproto
  • + +

    + +
    devpkg-xorgprotoAll content for pkgconfig file xorgproto.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +

    + +
    devpkg-xzAll content for pkgconfig file xz.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +

    + +
    devpkg-zlibAll content for pkgconfig file zlib.pc
    + +

    Includes bundle(s): + +

  • devpkg-base
  • + +

    + +
    dfu-utildfu-util Device Firmware Upgrade Utilities
    diffoscopediffoscope In-depth comparison of files, archives, and directories
    diffutilsdiffutils Tools for file comparisons and differences
    djangoDjango web framwork
    + +

    Includes bundle(s): + +

  • python-basic
  • + +

    + +
    docutilsdocutils Tools for converting text to other formats (e.g. HTML, XML, LaTeX)
    dovecotdosfstools
    dovecot Security focused IMAP and POP3 email server
    dtcdtc Device Tree Compiler, to describe non-discoverable hardware
    duperemoveduperemove Tool for finding duplicated extents and submitting them for deduplication
    ethtoolethtool Utility for displaying and modifying some parameters of network interface controller
    filefile program for recognizing the type of data contained in a computer file
    findutilsfindutils basic directory searching utilities e.g. find, xargs, and locate
    fiofio Flexible I/O tester
    firefoxfirefox Web Browser
    flatpak Use flatpak packages, or build them
    +

    Includes bundle(s): + +

  • git
  • + +

    +
    fwupdatefwupdate Firmware update tool
    gdbgdb GNU debugger
    gftpgftp Text mode and GUI FTP Client
    gimpgimp GNU Image Manipulation Program
    glmark2glmark2 OpenGL 2.0 and ES 2.0 benchmark
    global GNU GLOBAL source code tagging system
    go-basic Build and run go language programs
    @@ -1223,14 +2731,21 @@
    goaccessgoaccess Real-time web log analyzer
    gzipgpgme GPG encryption tools
    gzip lossless data compression/decompression utility
    htophtop interactive text-mode process viewer
    httpdhttpd Apache HyperText Transfer Protocol (HTTP) Server daemon
    hugohugo Static Web site generator
    iasimagehwloc hardware affinity tools
    iasimage for creating Intel Automotive Service (IAS) images, a binary file format understood by Intel© Slim Bootloader
    icdifficdiff Improved Color Differences between similar files
    iftopicecream Distributed network compilation
    iftop display bandwidth usage on an interface
    inotify-toolsinkscape Inkscape SVG drawing program
    inotify-tools monitor for file system events
    iproute2ipmitool Manage IPMI functions of a local or remote system
    iproute2 utilities for controlling TCP / IP networking and traffic control
    ipvsadm used to set up, maintain or inspect the virtual server table in the Linux kernel ipvsadm Virtual Server admin tool used to set up, maintain or inspect the virtual server table in the Linux kernel
    irssiirssi Internet Relay Chat (IRC) client program
    joejoe Text editor
    jqjq lightweight and flexible command-line JSON processor
    kbdkbd library to manage the Linux keymaps
    keepalivedkeepalived strong & robust keepalive facility for the Linux Virtual Server project
    keepassxckeepassxc KeePassXC is a password manager
    kernel-installkernel-install installs kernel, initrd, kernel config and system map and creates a bootloader entry for the new kernel
    kernel-networktestkernel with NFS root FS support and modular network drivers
    + +
    kernel-oracle Run the Oracle Cloud specific kernel
    @@ -1654,7 +3208,7 @@

    Includes bundle(s): -

  • bootloader
  • +
  • kernel-iot-lts2018
  • @@ -1679,7 +3233,7 @@
    keychainkeychain manage SSH and GPG keys
    less the less page
    letsencrypt-client Obtain and renew valid SSL certificates through Let's Encrypt's ACME service.
    @@ -1773,14 +3336,21 @@
    lftplftp File transfer client for http, ftp, sftp and more
    libva-utilslibnl Low level firewall tools
    libva-utils collection of utilities and examples to exercise VA-API (Video Acceleration API)
    libzmq ZMQ tools and libs
    lightdm LightDM login manager with GTK greeter
    @@ -1805,19 +3382,26 @@
    linux-devlinux-dev programs for developing Linux
    linux-toolslinux-tools Tools for use in Linux
    llvm LLVM/Clang compiler toolchain
    locales basic system translations
    @@ -1828,7 +3412,7 @@
    logrotatelogrotate manages the automatic rotation and compression of log files
    makemake build automation tool
    maker-cncCNC carving tools for Makers
    + +

    Includes bundle(s): + +

  • inkscape
  • + +
  • python-extras
  • + +
  • python2-basic
  • + +

    + +
    maker-gisGIS/Mapping tools for Makers
    + +

    Includes bundle(s): + +

  • desktop-kde-libs
  • + +

    + +
    meldmeld visual file difference and merging tool, targeted at developers
    mkosimkosi generate disk images
    mtrmtd-utils memory (usually flash) device utilities exposing an interface between hardware drivers and upper system layers
    mtr Poll a remote server and see how the latency and performance changes over time
    ncdumusl musl compiler toolchain
    ncdu curses disk space usage management tool
    nfs-utilsnfs-utils Server and client tooling for network file systems (NFS)
    nginxnginx HTTP server, reverse proxy, IMAP/POP3 proxy server
    nmap security scanner for network device discovery
    nodejs-basic Run javascript server side
    @@ -2134,7 +3777,7 @@
    octaveoctave high-level programming language, primarily intended for numerical computations
    opensslopenssl Toolkit for Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols
    p11-kitp11-kit Load and enumerate PKCS#11 modules for cryptography
    parallelparallel shell tool for executing jobs in parallel using one or more computers
    patchpatch updates text files according to instructions contained in a separate file
    pdns PowerDNS authoritative name server (DNSSEC enabled)
    pdns-recursor PowerDNS recursive caching name server
    performance-tools Run performance and power measurements
    @@ -2811,9 +4480,18 @@ +
    pidginMulti-protocol instant messagging client
    + +
    pmdk tools and libraries for working with non-volatile memory pmdk Persistent Memory Development Kit tools and libraries for working with non-volatile memory
    postgresqlpostgresql Database
    powertoppowertop diagnose issues with power consumption and power management
    pwgenpwgen generates passwords which are designed to be easily memorized by humans, while being as secure as possible.
    qt-basic Run programs that use the QT runtime
    +

    Includes bundle(s): + +

  • libX11client
  • + +

    +
    quagga zebra and related routing tools
    quassel Quassel IRC
    @@ -3077,7 +4772,7 @@
    redis-nativeredis-native key-value database
    stracestrace System call diagnostic, instructional, and debugging tool
    subversionsubversion Version Control System
    sudosudo allows a user to run a program as another user
    suricatasuricata network threat detection engine
    sysstat utilities for monitoring system performance and usage activity
    systemd-cryptsetup Dummy bundle to avoid rolling back systemd, will be removed at next format bump
    @@ -3450,14 +5164,14 @@
    texlivetexlive major TeX-related typesetting programs, macro packages, and fonts.
    thunderbirdthunderbird Email client
    tmuxtmux terminal multiplexer (similar to screen)
    tzdatatzdata timezone database
    unisonunison bidirectional file synchronization tool
    unzipunzip list, test, or extract files from a ZIP archive
    valgrindvalgrind suite of tools for debugging and profiling software code
    virt-manager-guiEnable controlling virt-manager through a GUI
    + +

    Includes bundle(s): + +

  • libX11client
  • + +
  • virt-manager
  • + +

    + +
    vlcvlc VideoLAN Client, multimedia player and framework
    weechatweechat Internet Relay Chat (IRC) client
    weston-extrasweston-extras Utilities and tools for the Wayland graphics compositor
    whichwhich locate executables in the system
    wpa_supplicantwpa_supplicant backend component controlling the wireless connections
    xemacsxemacs text editor and application development system
    xzxfsprogs XFS tools
    xz data compression/decompression tool
    zshzip create ZIP archives
    znc IRC network bouncer
    zsh Z Shell, an interactive shell and powerful command-line interpreter for scripting language
    zstdzstd realtime data compression/decompression tool
    + + + + + + + + + + + + + + + + + {% for d in data %} + {% if d.url %} + + + + + {% else %} + + + + + {% endif %} + {% endfor %} + +
    + Updated: {{ now.strftime('%x %H:%M') }} UTC +
    Name Description
    {{d.title}}{{d.data_desc}}
    + {% if d.include_list %} +

    Includes bundle(s): + {% for include in d.include_list %} +

  • {{include}}
  • + {% endfor %} +

    + {% endif %} +
    {{d.title}} {{d.pun_desc}}
    + + + \ No newline at end of file diff --git a/source/sitemap.rst b/source/sitemap.rst new file mode 100644 index 00000000..7e747da5 --- /dev/null +++ b/source/sitemap.rst @@ -0,0 +1,13 @@ +.. _clear-linux-sitemap: + +Clear Linux - Documentation Sitemap +################################### + +.. toctree:: + :includehidden: + + clear-linux/concepts/concepts + clear-linux/get-started/get-started + clear-linux/guides/guides + clear-linux/reference/reference + clear-linux/tutorials/tutorials