mirror of
https://github.com/outbackdingo/sysadm.git
synced 2026-01-27 02:20:17 +00:00
Merge branch 'master' of github.com:trueos/sysadm
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
=========
|
||||
.. _classes:
|
||||
|
||||
Classes
|
||||
=========
|
||||
=======
|
||||
|
||||
.. toctree::
|
||||
:glob:
|
||||
|
||||
@@ -27,6 +27,10 @@ import sys, os
|
||||
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
|
||||
extensions = ['sphinxcontrib.httpdomain']
|
||||
|
||||
# -- Options for automatic Figure numbering
|
||||
numfig = True
|
||||
numfig_secnum_depth = (2)
|
||||
|
||||
# Add any paths that contain templates here, relative to this directory.
|
||||
templates_path = ['_templates']
|
||||
|
||||
@@ -88,13 +92,13 @@ pygments_style = 'sphinx'
|
||||
|
||||
#Option to add text substitutions to all .rst files being built.
|
||||
rst_prolog = """
|
||||
.. |freenas| replace:: FreeNAS"""u'\u00AE'"""
|
||||
.. |truenas| replace:: TrueNAS"""u'\u00AE'"""
|
||||
.. |pcbsd| replace:: PC-BSD"""u'\u00AE'"""
|
||||
.. |trueos| replace:: TrueOS"""u'\u00AE'"""
|
||||
.. |appcafe| replace:: AppCafe"""u'\u00AE'"""
|
||||
.. |lumina| replace:: Lumina"""u'\u00AE'"""
|
||||
.. |sysadm| replace:: SysAdm"""u'\u2122'"""
|
||||
.. |freenas| replace:: FreeNAS\ :sup:`"""u'\u00AE'"""`
|
||||
.. |truenas| replace:: TrueNAS\ :sup:`"""u'\u00AE'"""`
|
||||
.. |pcbsd| replace:: PC-BSD\ :sup:`"""u'\u00AE'"""`
|
||||
.. |trueos| replace:: TrueOS\ :sup:`"""u'\u00AE'"""`
|
||||
.. |appcafe| replace:: AppCafe\ :sup:`"""u'\u00AE'"""`
|
||||
.. |lumina| replace:: Lumina\ :sup:`"""u'\u00AE'"""`
|
||||
.. |sysadm| replace:: SysAdm\ :sup:`"""u'\u2122'"""`
|
||||
"""
|
||||
|
||||
# -- Option to change :menuselection: arrow -----------------------------
|
||||
|
||||
@@ -10,28 +10,32 @@ updates about system status and other types of system notifications.
|
||||
which was not designed for asynchronous events. For this
|
||||
reason, only Websocket examples are used in this section.
|
||||
|
||||
Every events request contains several parameters:
|
||||
Every events request contains several parameters, seen here in
|
||||
:numref:`Table %s <eventpar>`.
|
||||
|
||||
+---------------+-----------+--------------------------------------+
|
||||
| **Parameter** | **Value** | **Description** |
|
||||
| | | |
|
||||
+===============+===========+======================================+
|
||||
| id | | Any unique value for the request, |
|
||||
| | | including a hash, checksum, or uuid. |
|
||||
+---------------+-----------+--------------------------------------+
|
||||
| name | | Supported values are "subscribe" or |
|
||||
| | | "unsubscribe". |
|
||||
+---------------+-----------+--------------------------------------+
|
||||
| namespace | events | |
|
||||
| | | |
|
||||
+---------------+-----------+--------------------------------------+
|
||||
| args | | Values vary by type of class. |
|
||||
| | | |
|
||||
+---------------+-----------+--------------------------------------+
|
||||
.. _eventpar:
|
||||
.. table:: Event Request Parameters
|
||||
|
||||
+---------------+-----------+--------------------------------------+
|
||||
| **Parameter** | **Value** | **Description** |
|
||||
| | | |
|
||||
+===============+===========+======================================+
|
||||
| id | | Any unique value for the request, |
|
||||
| | | including a hash, checksum, or uuid. |
|
||||
+---------------+-----------+--------------------------------------+
|
||||
| name | | Supported values are "subscribe" or |
|
||||
| | | "unsubscribe". |
|
||||
+---------------+-----------+--------------------------------------+
|
||||
| namespace | events | |
|
||||
| | | |
|
||||
+---------------+-----------+--------------------------------------+
|
||||
| args | | Values vary by type of class. |
|
||||
| | | |
|
||||
+---------------+-----------+--------------------------------------+
|
||||
|
||||
Subsystems can also be tracked using the events namespace. Currently,
|
||||
there are three trackable subsystems: Dispatcher, Life Preserver, and
|
||||
System State. Use the template to subscribe to various subsystem event
|
||||
System State. Use this template to subscribe to various subsystem event
|
||||
notifications:
|
||||
|
||||
**Websocket Request**
|
||||
@@ -46,8 +50,8 @@ notifications:
|
||||
}
|
||||
|
||||
Once subscribed, events will be received as they are produced. To
|
||||
unsubscribe from events, repeat the request, using "unsubscribe" for the
|
||||
"name".
|
||||
unsubscribe from events, repeat the request, using
|
||||
:command:`"unsubscribe"` for the :command:`"name"`.
|
||||
|
||||
Here is an example reply from the Life Preserver subsystem:
|
||||
|
||||
@@ -69,11 +73,11 @@ Here is an example reply from the Life Preserver subsystem:
|
||||
Dispatcher
|
||||
----------
|
||||
|
||||
The Dispatcher subsystem is used by SysAdm™ to process external commands
|
||||
and return specific information from the utility. This is managed on the
|
||||
server as a separate process, and will not interrupt primary server
|
||||
tasks. To subscribe to the Dispatcher subsystem for event updates, use
|
||||
the following:
|
||||
The Dispatcher subsystem is used by |sysadm| to process external
|
||||
commands and return specific information from the utility. This is
|
||||
managed on the server as a separate process, and will not interrupt
|
||||
primary server tasks. Subscribe to the Dispatcher subsystem for event
|
||||
updates with this request:
|
||||
|
||||
**Websocket Request**
|
||||
|
||||
@@ -86,12 +90,16 @@ the following:
|
||||
"args" : ["dispatcher"]
|
||||
}
|
||||
|
||||
The Dispatcher event log will display three different states: "pending",
|
||||
"running", and "finished". Depending upon the current state, the log can
|
||||
The Dispatcher event log will display three different states: *pending*,
|
||||
*running*, and *finished*. Depending upon the current state, the log can
|
||||
change in some minor but noteworthy ways. The following sample logs will
|
||||
reflect the differences between these states:
|
||||
|
||||
**Dispatcher Response: "Pending" state**
|
||||
.. note:: The variable **event_system** will only appear when one of
|
||||
the three available systems initiates the request and response.
|
||||
Additional elements tied to these systems will also appear.
|
||||
|
||||
**Dispatcher Response: Pending**
|
||||
|
||||
.. code-block:: json
|
||||
|
||||
@@ -101,12 +109,11 @@ reflect the differences between these states:
|
||||
"id" : "none",
|
||||
"args" : {
|
||||
"state" : "pending",
|
||||
"cmd_list" : ["<command 1>", "<command 2>"],
|
||||
"process_id" : "<random>"
|
||||
}
|
||||
}
|
||||
|
||||
**Dispatcher Response: "Running" state**
|
||||
**Dispatcher Response: Running**
|
||||
|
||||
.. code-block:: json
|
||||
|
||||
@@ -115,18 +122,22 @@ reflect the differences between these states:
|
||||
"name" : "dispatcher",
|
||||
"id" : "none",
|
||||
"args" : {
|
||||
"event_system" : "<sysadm with /pkg, /update, or /iohyve]>",
|
||||
"state" : "running",
|
||||
"cmd_list" : ["<command 1>", "<command 2>"],
|
||||
"process_id" : "<random>",
|
||||
"time_started" : "<ISO 8601 time date string>",
|
||||
"current_cmd" : "<command 2>",
|
||||
"<command1>" : "<log after running command1>",
|
||||
"<command2>" : "<log for command2>",
|
||||
"return_codes/<command1>" : "<integer return code>"
|
||||
"process_details" : {
|
||||
"state" : "running",
|
||||
"process_id" : "<random id>",
|
||||
"time_started" : "<ISO 8601 time date string>",
|
||||
"cmd_list" : ["<command 1>", "<command 2>"],
|
||||
"<command1>" : "<log after running command1>",
|
||||
"return_codes/<command1>" : "<integer return code>",
|
||||
"current_cmd" : "<command 2>",
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
**Dispatcher Response: "Finished" state**
|
||||
**Dispatcher Response: Finished**
|
||||
|
||||
.. code-block:: json
|
||||
|
||||
@@ -135,12 +146,20 @@ reflect the differences between these states:
|
||||
"name" : "dispatcher",
|
||||
"id" : "none",
|
||||
"args" : {
|
||||
"event_system" : "<sysadm with /pkg, /update, or /iohyve]>",
|
||||
"state" : "finished",
|
||||
"time_finished" : "<ISO 8601 time date string>",
|
||||
"cmd_list" : ["<command 1>", "<command 2>"],
|
||||
"return_codes/<command 1>" : "<code 1>",
|
||||
"return_codes/<command 2>" : "<code 2>",
|
||||
"process_id" : "<random>"
|
||||
"process_id" : "<random>",
|
||||
"process_details" : {
|
||||
"state" : "finished",
|
||||
"process_id" : "<random id>",
|
||||
"time_started" : "<ISO 8601 time date string>",
|
||||
"time_finished" : "<ISO 8601 time date string>",
|
||||
"cmd_list" : ["<command 1>", "<command 2>"],
|
||||
"<command1>" : "<log after running command1>",
|
||||
"<command2>" : "<log after running command2>",
|
||||
"return_codes/<command1>" : "<integer return code>",
|
||||
"return_codes/<command2>" : "<integer return code>"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -166,13 +185,12 @@ generalized sample:
|
||||
}
|
||||
|
||||
For specific details on these special types of events please refer to
|
||||
the Classes section of this User Guide.
|
||||
the :ref:`classes` section of this guide.
|
||||
|
||||
Life Preserver
|
||||
--------------
|
||||
|
||||
To subscribe to the Life Preserver subsystem for event updates, use the
|
||||
following:
|
||||
Subscribe to the Life Preserver subsystem for event updates with this:
|
||||
|
||||
**Websocket Request**
|
||||
|
||||
@@ -203,8 +221,7 @@ following:
|
||||
System State
|
||||
------------
|
||||
|
||||
To subscribe to the System State subsystem for event updates, use the
|
||||
following:
|
||||
Subscribe to the System State subsystem for event updates with this:
|
||||
|
||||
**Websocket Request**
|
||||
|
||||
@@ -220,7 +237,7 @@ following:
|
||||
**Websocket Event Message**
|
||||
|
||||
This message will appear if the host name has changed and a priority
|
||||
error has occurred.
|
||||
error has occurred:
|
||||
|
||||
.. code-block:: json
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ SysAdm™ API Reference Guide
|
||||
:numbered:
|
||||
:maxdepth: 4
|
||||
|
||||
connection
|
||||
getstarted
|
||||
events
|
||||
classes/index
|
||||
|
||||
|
||||
@@ -1957,7 +1957,7 @@ input[type="checkbox"][disabled] {
|
||||
.wy-table th,
|
||||
.rst-content table.docutils th,
|
||||
.rst-content table.field-list th {
|
||||
font-size: 90%;
|
||||
font-size: 100%;
|
||||
margin: 0;
|
||||
overflow: visible;
|
||||
padding: 8px 16px;
|
||||
@@ -2026,21 +2026,21 @@ input[type="checkbox"][disabled] {
|
||||
.wy-table-odd td,
|
||||
.wy-table-striped tr:nth-child(odd) td,
|
||||
.rst-content table.docutils:not(.field-list) tr:nth-child(odd) td {
|
||||
background-color: #f3f6f6;
|
||||
background-color: #e1e1d0;
|
||||
}
|
||||
.wy-table-odd td,
|
||||
.wy-table-striped tr:nth-child(odd):hover td,
|
||||
.rst-content table.docutils:not(.field-list) tr:nth-child(odd):hover td {
|
||||
background-color: #f2d8bb
|
||||
background-color: #85adad
|
||||
}
|
||||
.wy-table-even td,
|
||||
.wy-table-striped tr:nth-child(even):hover td,
|
||||
.rst-content table.docutils:not(.field-list) tr:nth-child(even):hover td {
|
||||
background-color: #f2d8bb
|
||||
background-color: #85adad
|
||||
}
|
||||
.wy-table tr,
|
||||
.rst-content table.docutils th:hover{
|
||||
background-color: #f2d8bb
|
||||
background-color: #85adad
|
||||
}
|
||||
.wy-table-backed {
|
||||
background-color: #f3f6f6
|
||||
@@ -2091,16 +2091,16 @@ input[type="checkbox"][disabled] {
|
||||
white-space: inherit
|
||||
}
|
||||
a {
|
||||
color: #2c3fbd;
|
||||
color: #0707ff;
|
||||
text-decoration: none;
|
||||
cursor: pointer
|
||||
}
|
||||
a:hover {
|
||||
color: #4653a3;
|
||||
color: #0707ff;
|
||||
text-decoration: underline
|
||||
}
|
||||
a:visited {
|
||||
color: #c73030
|
||||
color: #8b0000
|
||||
}
|
||||
html {
|
||||
height: 100%;
|
||||
@@ -2181,7 +2181,7 @@ legend {
|
||||
p {
|
||||
line-height: 26px;
|
||||
margin: 0;
|
||||
font-size: 16px;
|
||||
font-size: 100%;
|
||||
margin-bottom: 24px
|
||||
}
|
||||
h1 {
|
||||
@@ -2214,7 +2214,7 @@ hr {
|
||||
code,
|
||||
.rst-content tt,
|
||||
.rst-content code {
|
||||
white-space: nowrap;
|
||||
/*white-space: nowrap;
|
||||
max-width: 100%;
|
||||
background: #fff;
|
||||
border: solid 1px #e1e4e5;
|
||||
@@ -2222,7 +2222,7 @@ code,
|
||||
padding: 0 5px;
|
||||
font-family: Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace;
|
||||
color: #E74C3C;
|
||||
overflow-x: auto
|
||||
overflow-x: auto*/
|
||||
}
|
||||
code.code-large,
|
||||
.rst-content tt.code-large {
|
||||
@@ -2363,8 +2363,8 @@ div[class^='highlight'] pre {
|
||||
white-space: pre;
|
||||
margin: 0;
|
||||
padding: 10px 10px;
|
||||
font-family: Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace;
|
||||
font-size: 12px;
|
||||
font-family: 'Inconsolata', monospace;
|
||||
font-size: 100%;
|
||||
line-height: 1.5;
|
||||
display: block;
|
||||
overflow: auto;
|
||||
@@ -2869,7 +2869,6 @@ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#730000', end
|
||||
}
|
||||
.wy-side-nav-search input[type=text] {
|
||||
width: 90%;
|
||||
border-radius: 50px;
|
||||
padding: 6px 12px;
|
||||
border-color: #2472a4
|
||||
}
|
||||
@@ -3699,7 +3698,7 @@ code.menuselection,
|
||||
background-color: #e6ede9; /* saturate from ecf0f3 to be more visible/blue on screen. */
|
||||
display: inline;
|
||||
font-family:'Inconsolata', monospace;
|
||||
font-size: 95%;
|
||||
font-size: 100%;
|
||||
padding-right: 1px;
|
||||
padding-left: 1px;
|
||||
padding-top: 1px;
|
||||
@@ -3724,7 +3723,12 @@ code.menuselection, .menuselection {
|
||||
background-color: #e8ede6;
|
||||
color: inherit;
|
||||
border: hidden;
|
||||
font-size: 98%
|
||||
font-size: 100%
|
||||
}
|
||||
code.samp, .samp {
|
||||
font-family: 'Inconsolata', monospace;
|
||||
font-weight: bold;
|
||||
font-size: 100%;
|
||||
}
|
||||
code.command, .command {
|
||||
font-family:'Inconsolata', monospace;
|
||||
@@ -3808,9 +3812,9 @@ th.spiffy_span {
|
||||
}
|
||||
.docutils th,
|
||||
.spiffy_table th {
|
||||
background-color: #bbeaf2;
|
||||
background-color: #6699cc;
|
||||
font-weight: 700;
|
||||
text-align: center;
|
||||
text-align: left;
|
||||
border-color: darkgray;
|
||||
border-style: solid;
|
||||
border-width: 1px 1px 2px;
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1957,7 +1957,7 @@ input[type="checkbox"][disabled] {
|
||||
.wy-table th,
|
||||
.rst-content table.docutils th,
|
||||
.rst-content table.field-list th {
|
||||
font-size: 90%;
|
||||
font-size: 100%;
|
||||
margin: 0;
|
||||
overflow: visible;
|
||||
padding: 8px 16px;
|
||||
@@ -2026,21 +2026,21 @@ input[type="checkbox"][disabled] {
|
||||
.wy-table-odd td,
|
||||
.wy-table-striped tr:nth-child(odd) td,
|
||||
.rst-content table.docutils:not(.field-list) tr:nth-child(odd) td {
|
||||
background-color: #f3f6f6;
|
||||
background-color: #e1e1d0;
|
||||
}
|
||||
.wy-table-odd td,
|
||||
.wy-table-striped tr:nth-child(odd):hover td,
|
||||
.rst-content table.docutils:not(.field-list) tr:nth-child(odd):hover td {
|
||||
background-color: #f2d8bb
|
||||
background-color: #85adad
|
||||
}
|
||||
.wy-table-even td,
|
||||
.wy-table-striped tr:nth-child(even):hover td,
|
||||
.rst-content table.docutils:not(.field-list) tr:nth-child(even):hover td {
|
||||
background-color: #f2d8bb
|
||||
background-color: #85adad
|
||||
}
|
||||
.wy-table tr,
|
||||
.rst-content table.docutils th:hover{
|
||||
background-color: #f2d8bb
|
||||
background-color: #85adad
|
||||
}
|
||||
.wy-table-backed {
|
||||
background-color: #f3f6f6
|
||||
@@ -2091,16 +2091,16 @@ input[type="checkbox"][disabled] {
|
||||
white-space: inherit
|
||||
}
|
||||
a {
|
||||
color: #2c3fbd;
|
||||
color: #0707ff;
|
||||
text-decoration: none;
|
||||
cursor: pointer
|
||||
}
|
||||
a:hover {
|
||||
color: #4653a3;
|
||||
color: #0707ff;
|
||||
text-decoration: underline
|
||||
}
|
||||
a:visited {
|
||||
color: #c73030
|
||||
color: #8b0000
|
||||
}
|
||||
html {
|
||||
height: 100%;
|
||||
@@ -2181,7 +2181,7 @@ legend {
|
||||
p {
|
||||
line-height: 26px;
|
||||
margin: 0;
|
||||
font-size: 16px;
|
||||
font-size: 100%;
|
||||
margin-bottom: 24px
|
||||
}
|
||||
h1 {
|
||||
@@ -2214,7 +2214,7 @@ hr {
|
||||
code,
|
||||
.rst-content tt,
|
||||
.rst-content code {
|
||||
white-space: nowrap;
|
||||
/*white-space: nowrap;
|
||||
max-width: 100%;
|
||||
background: #fff;
|
||||
border: solid 1px #e1e4e5;
|
||||
@@ -2222,7 +2222,7 @@ code,
|
||||
padding: 0 5px;
|
||||
font-family: Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace;
|
||||
color: #E74C3C;
|
||||
overflow-x: auto
|
||||
overflow-x: auto*/
|
||||
}
|
||||
code.code-large,
|
||||
.rst-content tt.code-large {
|
||||
@@ -2363,8 +2363,8 @@ div[class^='highlight'] pre {
|
||||
white-space: pre;
|
||||
margin: 0;
|
||||
padding: 10px 10px;
|
||||
font-family: Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace;
|
||||
font-size: 12px;
|
||||
font-family: 'Inconsolata', monospace;
|
||||
font-size: 100%;
|
||||
line-height: 1.5;
|
||||
display: block;
|
||||
overflow: auto;
|
||||
@@ -2869,7 +2869,6 @@ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#730000', end
|
||||
}
|
||||
.wy-side-nav-search input[type=text] {
|
||||
width: 90%;
|
||||
border-radius: 50px;
|
||||
padding: 6px 12px;
|
||||
border-color: #2472a4
|
||||
}
|
||||
@@ -3699,7 +3698,7 @@ code.menuselection,
|
||||
background-color: #e6ede9; /* saturate from ecf0f3 to be more visible/blue on screen. */
|
||||
display: inline;
|
||||
font-family:'Inconsolata', monospace;
|
||||
font-size: 95%;
|
||||
font-size: 100%;
|
||||
padding-right: 1px;
|
||||
padding-left: 1px;
|
||||
padding-top: 1px;
|
||||
@@ -3724,7 +3723,12 @@ code.menuselection, .menuselection {
|
||||
background-color: #e8ede6;
|
||||
color: inherit;
|
||||
border: hidden;
|
||||
font-size: 98%
|
||||
font-size: 100%
|
||||
}
|
||||
code.samp, .samp {
|
||||
font-family: 'Inconsolata', monospace;
|
||||
font-weight: bold;
|
||||
font-size: 100%;
|
||||
}
|
||||
code.command, .command {
|
||||
font-family:'Inconsolata', monospace;
|
||||
@@ -3808,9 +3812,9 @@ th.spiffy_span {
|
||||
}
|
||||
.docutils th,
|
||||
.spiffy_table th {
|
||||
background-color: #bbeaf2;
|
||||
background-color: #6699cc;
|
||||
font-weight: 700;
|
||||
text-align: center;
|
||||
text-align: left;
|
||||
border-color: darkgray;
|
||||
border-style: solid;
|
||||
border-width: 1px 1px 2px;
|
||||
|
||||
@@ -122,13 +122,13 @@ todo_include_todos = True
|
||||
|
||||
#Option to add text substitutions to all .rst files being built.
|
||||
rst_prolog = """
|
||||
.. |freenas| replace:: FreeNAS"""u'\u00AE'"""
|
||||
.. |truenas| replace:: TrueNAS"""u'\u00AE'"""
|
||||
.. |pcbsd| replace:: PC-BSD"""u'\u00AE'"""
|
||||
.. |trueos| replace:: TrueOS"""u'\u00AE'"""
|
||||
.. |appcafe| replace:: AppCafe"""u'\u00AE'"""
|
||||
.. |lumina| replace:: Lumina"""u'\u00AE'"""
|
||||
.. |sysadm| replace:: SysAdm"""u'\u2122'"""
|
||||
.. |freenas| replace:: FreeNAS\ :sup:`"""u'\u00AE'"""`
|
||||
.. |truenas| replace:: TrueNAS\ :sup:`"""u'\u00AE'"""`
|
||||
.. |pcbsd| replace:: PC-BSD\ :sup:`"""u'\u00AE'"""`
|
||||
.. |trueos| replace:: TrueOS\ :sup:`"""u'\u00AE'"""`
|
||||
.. |appcafe| replace:: AppCafe\ :sup:`"""u'\u00AE'"""`
|
||||
.. |lumina| replace:: Lumina\ :sup:`"""u'\u00AE'"""`
|
||||
.. |sysadm| replace:: SysAdm\ :sup:`"""u'\u2122'"""`
|
||||
"""
|
||||
|
||||
# -- Option to change :menuselection: arrow -----------------------------
|
||||
|
||||
BIN
docs/client_handbook/images/firewall1.png
Normal file
BIN
docs/client_handbook/images/firewall1.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 26 KiB |
BIN
docs/client_handbook/images/install1b.png
Normal file
BIN
docs/client_handbook/images/install1b.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.6 KiB |
BIN
docs/client_handbook/images/login5.png
Normal file
BIN
docs/client_handbook/images/login5.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 438 KiB |
BIN
docs/client_handbook/images/upgrade1a.png
Normal file
BIN
docs/client_handbook/images/upgrade1a.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 28 KiB |
BIN
docs/client_handbook/images/user5.png
Normal file
BIN
docs/client_handbook/images/user5.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 28 KiB |
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -34,6 +34,10 @@ now available in the |sysadm| client:
|
||||
|
||||
* :ref:`Boot Environment Manager`
|
||||
|
||||
* :ref:`Firewall Manager`
|
||||
|
||||
* :ref:`Service Manager`
|
||||
|
||||
* :ref:`Task Manager`
|
||||
|
||||
* :ref:`User Manager`
|
||||
@@ -76,7 +80,7 @@ available software.
|
||||
|
||||
.. figure:: images/appcafe1.png
|
||||
|
||||
Browse Tab of AppCafe®
|
||||
: Browse Tab of AppCafe®
|
||||
|
||||
This screen contains the following options:
|
||||
|
||||
@@ -108,12 +112,11 @@ Displayed applications will be listed in alphabetical order.
|
||||
Applications which are already installed and which are not required by
|
||||
other applications have a trashcan icon which can be clicked to
|
||||
uninstall that application. Applications which are not installed have a
|
||||
down arrow icon which can be clicked to install that application.
|
||||
down arrow icon which can be clicked to install that application.
|
||||
|
||||
Click the name of an application to view more information about that
|
||||
application. In the example shown in
|
||||
:numref:`Figure %s <appcafe2>`,
|
||||
the user has clicked :guilabel:`Firefox` on a system that has Firefox
|
||||
Click the name of an application to view more information about the
|
||||
application. In the example shown in :numref:`Figure %s <appcafe2>`, the
|
||||
user has clicked :guilabel:`Firefox` on a system that has Firefox
|
||||
installed.
|
||||
|
||||
.. note:: |appcafe| provides a graphical front-end for displaying the
|
||||
@@ -128,7 +131,7 @@ installed.
|
||||
|
||||
.. figure:: images/appcafe2.png
|
||||
|
||||
AppCafe®: Viewing the Details of an Installed Application
|
||||
:AppCafe® - Viewing the Details of an Installed Application
|
||||
|
||||
As seen in this example, the information for an application includes
|
||||
the application's icon, name, and description. Click the application's
|
||||
@@ -148,7 +151,7 @@ An example of the "?" tab is shown in
|
||||
|
||||
.. figure:: images/appcafe3.png
|
||||
|
||||
AppCafe®: More Application Details
|
||||
: AppCafe® - More Application Details
|
||||
|
||||
This tab displays a variety of information:
|
||||
|
||||
@@ -176,7 +179,7 @@ screenshots. An example is shown in
|
||||
|
||||
.. figure:: images/appcafe4.png
|
||||
|
||||
AppCafe®: Viewing the Application's Screenshots
|
||||
: AppCafe® - Viewing the Application's Screenshots
|
||||
|
||||
An example of the last tab, which has a list icon, is shown in
|
||||
:numref:`Figure %s <appcafe5>`.
|
||||
@@ -185,7 +188,7 @@ An example of the last tab, which has a list icon, is shown in
|
||||
|
||||
.. figure:: images/appcafe5.png
|
||||
|
||||
AppCafe®: Viewing the Details of an Installed Application
|
||||
: AppCafe® - Viewing the Details of an Installed Application
|
||||
|
||||
This tab contains the following information. Click the right arrow next
|
||||
to an entry to expand its information and the down arrow to collapse
|
||||
@@ -214,7 +217,7 @@ click the :guilabel:`Installed` tab. An example is seen in
|
||||
|
||||
.. figure:: images/appcafe6.png
|
||||
|
||||
AppCafe®: Installed Tab
|
||||
: AppCafe® - Installed Tab
|
||||
|
||||
This screen offers several actions:
|
||||
|
||||
@@ -266,7 +269,7 @@ has been locked, and :guilabel:`alsa-plugins` is an orphan (flag icon).
|
||||
|
||||
.. figure:: images/appcafe7.png
|
||||
|
||||
AppCafe®: Viewing Applications With All Options Checked
|
||||
: AppCafe® - Viewing Applications With All Options Checked
|
||||
|
||||
If you install or uninstall any software, click the :guilabel:`Pending`
|
||||
tab to view the details of the operation. In the example shown in
|
||||
@@ -280,7 +283,7 @@ operation.
|
||||
|
||||
.. figure:: images/appcafe8.png
|
||||
|
||||
AppCafe®: Viewing the Status of the Operation
|
||||
: AppCafe® - Viewing the Status of the Operation
|
||||
|
||||
.. index:: updates
|
||||
.. _Update Manager:
|
||||
@@ -348,7 +351,7 @@ An example of the :guilabel:`Updates` tab is shown in
|
||||
|
||||
.. figure:: images/update1.png
|
||||
|
||||
Managing Updates
|
||||
: Managing Updates
|
||||
|
||||
In this example, updates are available for installed packages. If a
|
||||
security update is available, it will be listed as such. Apply the
|
||||
@@ -373,19 +376,6 @@ The :guilabel:`Latest Check` field indicates the date and time the
|
||||
system last checked for updates. To manually check for updates, click
|
||||
:guilabel:`Check for Updates`.
|
||||
|
||||
The :guilabel:`Branches` tab of Update Manager provides a listing of
|
||||
available branches. In the example shown in
|
||||
:numref:`Figure %s <update3>`, this system is currently running the 10.2
|
||||
branch and the upcoming 11.0 branch is available for selection.
|
||||
|
||||
.. TODO update3.png needs to be added to images file.
|
||||
|
||||
.. _update3:
|
||||
|
||||
.. figure:: images/update3.png
|
||||
|
||||
Switching Branches
|
||||
|
||||
The :guilabel:`Settings` tab is shown in
|
||||
:numref:`Figure %s <update4>`.
|
||||
|
||||
@@ -393,7 +383,7 @@ The :guilabel:`Settings` tab is shown in
|
||||
|
||||
.. figure:: images/update4.png
|
||||
|
||||
Settings Tab
|
||||
: Settings Tab
|
||||
|
||||
This tab contains several configurable options:
|
||||
|
||||
@@ -408,16 +398,17 @@ This tab contains several configurable options:
|
||||
|
||||
* **Automatically perform updates:** When checked, the automatic
|
||||
updater automatically keeps your system and packages up-to-date.
|
||||
You will know an update has completed when the pop-up menu indicates a
|
||||
reboot is needed to complete the update process. If you uncheck this
|
||||
box, an update will only occur when you choose. You are not required
|
||||
to initiate updates manually. |trueos| uses an automated updater that
|
||||
An update has completed when the pop-up menu indicates a reboot is
|
||||
needed to complete the update process. If
|
||||
:guilabel:`Automatically perform updates` is unchecked, an update will
|
||||
only occur at the user's discretion. Updates are not required to be
|
||||
initiated manually. |trueos| uses an automated updater which
|
||||
automatically checks for updates, no more than once per day, 20
|
||||
minutes after a reboot and then every 24 hours.
|
||||
|
||||
* **Custom Package Repository:** If you have a custom package
|
||||
repository, check this box. This will activate the :guilabel:`URL`
|
||||
field so you can input the URL to the custom repository.
|
||||
* **Custom Package Repository:** To use a custom package repository for
|
||||
updates, check this box. This will activate the :guilabel:`URL`
|
||||
field so the user can input the URL to the custom repository.
|
||||
|
||||
.. index:: updates
|
||||
.. _Upgrading from PC-BSD® 10.x to TrueOS®:
|
||||
@@ -425,35 +416,41 @@ This tab contains several configurable options:
|
||||
Upgrading from |pcbsd| 10.x to |trueos|
|
||||
---------------------------------------
|
||||
|
||||
If you are currently using |pcbsd| 10.x, the option to update to
|
||||
|trueos| will not appear in the Control Panel version of Update Manager.
|
||||
This is because a new installation is required in order to migrate to
|
||||
|trueos|. However, the |trueos| installer allows you to keep all your
|
||||
.. warning:: If any user account uses PersonaCrypt, please be sure to
|
||||
save any encryption keys to a safe place (e.g. a thumb drive) before
|
||||
beginning the upgrade process. Loss of encryption keys may result in
|
||||
being unable to import the home directory after the upgrade is
|
||||
complete.
|
||||
|
||||
If the system is using |pcbsd| 10.x, the option to update to |trueos|
|
||||
will not appear in the Control Panel version of Update Manager. This is
|
||||
because a new installation is required in order to migrate to |trueos|.
|
||||
However, the |trueos| installer allows the user to keep all their
|
||||
existing data and home directories, as it provides the ability to
|
||||
install |trueos| into a new boot environment. In other words, the new
|
||||
operating system and updated applications are installed while the ZFS
|
||||
pool and any existing boot environments are preserved. Since the new
|
||||
install is in a boot environment, you retain the option to boot back
|
||||
into your previous |pcbsd| installation.
|
||||
install is in a boot environment, the option to boot back into the
|
||||
previous |pcbsd| installation will remain.
|
||||
|
||||
.. note:: This option overwrites the contents of :file:`/etc`. If you
|
||||
have any custom configurations, save them to a backup or your home
|
||||
.. note:: This option overwrites the contents of :file:`/etc`. If any
|
||||
custom configurations exist, save them to a backup or the home
|
||||
directory first. Alternately, use :ref:`Boot Environment Manager`
|
||||
post-installation to mount your previous |pcbsd| boot environment to
|
||||
copy over any configuration files you may forget to backup.
|
||||
post-installation to mount the previous |pcbsd| boot environment to
|
||||
copy over any configuration files which may not have been backed up.
|
||||
|
||||
To perform the installation to a new boot environment, start the
|
||||
|trueos| installation as described in the
|
||||
`TrueOS® Handbook <https://www.trueos.org/handbook/trueos.html>`_. In
|
||||
the `System Selection Screen <https://www.trueos.org/handbook/install.html#system-selection-screen>`_,
|
||||
choose to install either a desktop or a server. Press :guilabel:`Next`
|
||||
to view the pop-up screen shown in :numref:`Figure %s <upgrade1>`.
|
||||
to view the pop-up screen shown in :numref:`Figure %s <upgrade1a>`.
|
||||
|
||||
.. _upgrade1:
|
||||
.. _upgrade1a:
|
||||
|
||||
.. figure:: images/upgrade1.png
|
||||
.. figure:: images/upgrade1a.png
|
||||
|
||||
Install to Boot Environment
|
||||
: Install to Boot Environment
|
||||
|
||||
To upgrade, select the existing pool to install into and press
|
||||
:guilabel:`OK`.
|
||||
@@ -471,7 +468,7 @@ and instead show a summary, seen in
|
||||
|
||||
.. figure:: images/upgrade2.png
|
||||
|
||||
Start the Install to Boot Environment
|
||||
: Start the Install to Boot Environment
|
||||
|
||||
Press :guilabel:`Next` to start the installation. Once the installation
|
||||
is complete, reboot the system and remove the installation media. The
|
||||
@@ -480,11 +477,11 @@ post-installation screens will run as described in the
|
||||
section of the |trueos| Handbook so you can configure the new
|
||||
installation.
|
||||
|
||||
.. note:: When you encounter the
|
||||
`Create a User Screen <https://www.trueos.org/handbook/postinstall.html#create-a-user-screen>`_,
|
||||
recreate the primary user account using the same name you used on
|
||||
your |pcbsd| system so |trueos| can associate the existing home
|
||||
directory with that user. Once you have logged in, you can use
|
||||
.. note:: During the
|
||||
`Create a User Screen <https://www.trueos.org/handbook/postinstall.html#create-a-user-screen>`_
|
||||
process, recreate the primary user account using the same name used
|
||||
on the previous |pcbsd| system so |trueos| can associate the
|
||||
existing home directory with that user. Once logged in, use
|
||||
:ref:`User Manager` to recreate any other user accounts or to
|
||||
reassociate any PersonaCrypt accounts.
|
||||
|
||||
@@ -519,16 +516,15 @@ boot environment. Other examples of using boot environments include:
|
||||
* Move a boot environment to another machine, physical or virtual, in
|
||||
order to check hardware support.
|
||||
|
||||
.. note:: For boot environments to work properly,
|
||||
**do not delete the default ZFS mount points during installation.**
|
||||
The default ZFS layout ensures when boot environments are created,
|
||||
the :file:`/usr/local/`, :file:`/usr/home/`,
|
||||
:file:`/usr/ports/`, :file:`/usr/src/` and :file:`/var/` directories
|
||||
remain untouched. This way, if you rollback to a previous boot
|
||||
environment, you will not lose data in your home directories, any
|
||||
installed applications, or downloaded source files or ports. During
|
||||
installation, you can add additional mount points, just don't delete
|
||||
the default ones.
|
||||
.. note:: For boot environments to work properly, **do not** delete the
|
||||
default ZFS mount points during installation. The default ZFS layout
|
||||
ensures when boot environments are created, the :file:`/usr/local/`,
|
||||
:file:`/usr/home/`, :file:`/usr/ports/`, :file:`/usr/src/` and
|
||||
:file:`/var/` directories remain untouched. This way, if you rollback
|
||||
to a previous boot environment, you will not lose data in your home
|
||||
directories, any installed applications, or downloaded source files
|
||||
or ports. During installation, you can add additional mount points,
|
||||
just don't delete the default ones.
|
||||
|
||||
To ensure the files the operating system needs are included when the
|
||||
system boots, all boot environments on a |trueos| system include
|
||||
@@ -548,7 +544,7 @@ example shown in :numref:`Figure %s <be1>`, there is an entry named
|
||||
|
||||
.. figure:: images/be1.png
|
||||
|
||||
Managing Boot Environments
|
||||
: Managing Boot Environments
|
||||
|
||||
Each entry contains the same information:
|
||||
|
||||
@@ -598,32 +594,30 @@ are browseable. Note this setting only applies to inactive BEs.
|
||||
environment next system boot. This will change the :guilabel:`Active`
|
||||
column to *R*.
|
||||
|
||||
.. TODO Add/update screenshot install1b - copy/paste commented note to
|
||||
correct place in text.
|
||||
.. _install1b
|
||||
.. _install1b(1):
|
||||
|
||||
.. figure:: images/install1b.png
|
||||
.. figure:: images/install1b.png
|
||||
|
||||
TrueOS® Boot Menu
|
||||
: TrueOS® Boot Menu
|
||||
|
||||
To boot into another boot environment, press :kbd:`7` at the
|
||||
:numref:`Figure %s: TrueOS® Boot Menu <install1b>` to access the boot
|
||||
menu selection screen. In the example shown in
|
||||
:numref:`Figure %s <be2>`, two boot environments are available in the
|
||||
"Boot Environments" section: the entry named "initial" represents the
|
||||
initial installation and the entry named "mybootenvironment" was
|
||||
manually created using Boot Environment Manager. The upper section of
|
||||
this menu indicates the "initial" boot environment is set to active, or
|
||||
the one the system has been configured to boot into unless another BE is
|
||||
manually selected in this menu. Use the arrow keys to highlight the boot
|
||||
environment you would like to boot into, and press :kbd:`Enter` to
|
||||
continue booting into the selected boot environment.
|
||||
:numref:`Figure %s <install1b(1)>` to access the boot menu selection
|
||||
screen. In the example shown in :numref:`Figure %s <be2>`, two boot
|
||||
environments are available in :guilabel:`Boot Environments`:
|
||||
:guilabel:`initial` represents the initial installation and
|
||||
:guilabel:`mybootenvironment` was manually created using Boot
|
||||
Environment Manager. The upper section of this menu indicates the
|
||||
"initial" boot environment is set to active, or the one the system has
|
||||
been configured to boot into unless another BE is manually selected in
|
||||
this menu. Use the arrow keys to highlight the boot environment you
|
||||
would like to boot into, and press :kbd:`Enter` to continue booting into
|
||||
the selected boot environment.
|
||||
|
||||
.. _be2:
|
||||
|
||||
.. figure:: images/be2.png
|
||||
|
||||
Boot Environments Menu
|
||||
: Boot Environments Menu
|
||||
|
||||
.. index:: sysadm, configuration
|
||||
.. _Firewall Manager:
|
||||
@@ -631,10 +625,57 @@ continue booting into the selected boot environment.
|
||||
Firewall Manager
|
||||
================
|
||||
|
||||
This section to be filled in when the firewall manager is operational.
|
||||
The Firewall Manager is a simple interface used to configure ports and
|
||||
firewalls. In :numref:`Figure %s <firewall1>`, the Multicast DNS service
|
||||
is active and using port 5353 is open, with the firewall started.
|
||||
|
||||
.. _firewall1:
|
||||
|
||||
.. figure:: images/firewall1.png
|
||||
|
||||
: |sysadm| Firewall Manager
|
||||
|
||||
The top row of the interface has options to configure the firewall.
|
||||
:guilabel:`Start` turns on the firewall, :guilabel:`Restart` will turn
|
||||
the firewall off and on again, and :guilabel:`Stop` turns the firewall
|
||||
off. On the right side of the row are two buttons, :guilabel:`Power On`
|
||||
and :guilabel:`Power Off`.
|
||||
|
||||
.. note:: In :numref:`Figure %s <firewall1>`, the :guilabel:`Start`
|
||||
option is greyed out, as the firewall is currently active. Additionally,
|
||||
:guilabel:`Power On` is also greyed out as the firewall is configured
|
||||
to start on bootup.
|
||||
|
||||
The central window describes all added services. The list can be sorted
|
||||
by clicking :guilabel:`Open Ports`. Next, the :guilabel:`Used By` column
|
||||
displays the name of the service using the open ports. Finally, the
|
||||
:guilabel:`Description` column offers more information about the service
|
||||
name in the same row.
|
||||
|
||||
The bottom portion of the interface provides options to open and close
|
||||
ports. There are two options to open a port: :guilabel:`Find by Service`
|
||||
and :guilabel:`Number/Type`:
|
||||
|
||||
**Find by Service:** Click :guilabel:`Select a Service...` to
|
||||
open a drop down menu of alphabetized services. Click the desired
|
||||
service, and the Firewall Manager will automatically add it to the list
|
||||
of open ports.
|
||||
|
||||
.. tip:: The services list can be navigated quickly by typing the name
|
||||
of the desired service while the list is open.
|
||||
|
||||
**Number/Type:** Manually designate a port to open by typing the number
|
||||
in the :guilabel:`Number` field. The :guilabel:`Arrow` icons can be
|
||||
pressed to either increase or decrease the number by one. The next drop
|
||||
down menu allows for designating between **tcp** or **udp**. Once the
|
||||
number and type of port are chosen, click the :guilabel:`Keyhole` icon
|
||||
to confirm the selections and open the desired port.
|
||||
|
||||
To close a port, select a port from the :guilabel:`Open Ports`
|
||||
column and press :guilabel:`Close Ports`.
|
||||
|
||||
.. index:: sysadm, configuration
|
||||
.. _Server Manager:
|
||||
.. _Service Manager:
|
||||
|
||||
Service Manager
|
||||
===============
|
||||
@@ -647,7 +688,7 @@ several options to configure these services.
|
||||
|
||||
.. figure:: images/service1.png
|
||||
|
||||
SysAdm™ Service Manager
|
||||
: SysAdm™ Service Manager
|
||||
|
||||
Services are listed in a chart with four columns:
|
||||
|
||||
@@ -691,7 +732,7 @@ a listing of currently running applications. An example is shown in
|
||||
|
||||
.. figure:: images/task1.png
|
||||
|
||||
SysAdm™ Task Manager
|
||||
: SysAdm™ Task Manager
|
||||
|
||||
The "Running Programs:" section provides a graphical front-end to
|
||||
`top(1) <https://www.freebsd.org/cgi/man.cgi?query=top>`_.
|
||||
@@ -717,7 +758,7 @@ installation.
|
||||
|
||||
.. figure:: images/user1.png
|
||||
|
||||
Viewing User Accounts in User Manager
|
||||
: Viewing User Accounts in User Manager
|
||||
|
||||
The :guilabel:`Standard` view allows you to configure the following:
|
||||
|
||||
@@ -753,7 +794,7 @@ clicking :guilabel:`New User`.
|
||||
|
||||
.. figure:: images/user2.png
|
||||
|
||||
Creating a New User Account
|
||||
: Creating a New User Account
|
||||
|
||||
Fields outlined in red are required when creating a user. The
|
||||
:guilabel:`User Name`, :guilabel:`Full Name`, and :guilabel:`Password`
|
||||
@@ -806,7 +847,7 @@ system, not just the user accounts you created. An example is seen in
|
||||
|
||||
.. figure:: images/user3.png
|
||||
|
||||
Viewing All Accounts and Their Details
|
||||
: Viewing All Accounts and Their Details
|
||||
|
||||
The accounts you did not create are known as system accounts and are
|
||||
needed by the operating system or installed applications. Do **not**
|
||||
@@ -856,19 +897,17 @@ logged in user. In the example shown in
|
||||
:numref:`Figure %s <user5>`, a new user, named *dlavigne*, has been
|
||||
created and the entry for the user has been clicked.
|
||||
|
||||
.. TODO Add user5.png to images folder.
|
||||
|
||||
.. _user5:
|
||||
|
||||
.. figure:: images/user5.png
|
||||
|
||||
Initialize PersonaCrypt Device
|
||||
: Initialize PersonaCrypt Device
|
||||
|
||||
Before a user is configured to use PersonaCrypt on a |trueos| system,
|
||||
two buttons are available in the "PersonaCrypt" section of "Advanced
|
||||
Mode". Note this section is hidden if the currently logged in user is
|
||||
selected. Also, if you have just created a user and do not see these
|
||||
options, click :guilabel:`Apply` then re-highlight the user to display
|
||||
options, click :guilabel:`Save` then re-highlight the user to display
|
||||
these options:
|
||||
|
||||
* **Initialize Device:** Used to prepare the USB device which will be
|
||||
@@ -880,9 +919,7 @@ these options:
|
||||
imported, the user can now login to this computer using PersonaCrypt.
|
||||
|
||||
To prepare a PersonaCrypt device for this user, insert a USB stick and
|
||||
click :guilabel:`Initialize Device`. A pop-up menu will indicate the
|
||||
current contents of the device will be wiped and the device must be
|
||||
larger than the user's current home directory.
|
||||
click :guilabel:`Initialize Device`.
|
||||
|
||||
.. warning:: Since the USB stick will hold the user's home directory and
|
||||
files, ensure the stick is large enough to meet the anticipated
|
||||
@@ -891,40 +928,47 @@ larger than the user's current home directory.
|
||||
data on the stick you need has been copied elsewhere. Also, the
|
||||
faster the stick, the better the user experience while logged in.
|
||||
|
||||
Press :guilabel:`OK` in the pop-up menu. This will prompt you to input
|
||||
and confirm the password to associate with the device. Another message
|
||||
will ask if you are ready. Click :guilabel:`Yes` to initialize the
|
||||
device. The User Manager screen will be greyed out while the device is
|
||||
prepared. Once the initialization is complete, the User Manager screen
|
||||
will change to display the device's key options, as seen in
|
||||
:numref:`Figure %s <user6>`.
|
||||
Type a password to associate with the device. Click :guilabel:`Save` to
|
||||
initialize the device. The User Manager may take a moment to prepare the
|
||||
device. Once initialization is complete, the User Manager screen
|
||||
will change to allow removal of PersonaCrypt.
|
||||
|
||||
.. TODO Add user6.png to images folder.
|
||||
.. Leave this commented as the current development may use some of these
|
||||
options from the old personacrypt initializer.
|
||||
|
||||
display the device's key options, as seen in
|
||||
:numref:`Figure %s <user6>`.
|
||||
|
||||
.. _user6:
|
||||
.. _user6:
|
||||
|
||||
.. figure:: images/user6.png
|
||||
.. figure:: images/user6.png
|
||||
|
||||
PersonaCrypt Key Options
|
||||
|
||||
Several options are now available:
|
||||
Several options are now available:
|
||||
|
||||
* **Export Key:** Used to create a copy of the encryption key so it can
|
||||
be imported for use on another |trueos| system.
|
||||
* **Export Key:** Used to create a copy of the encryption key so it can
|
||||
be imported for use on another |trueos| system.
|
||||
|
||||
* **Disable Key (No Data):** Used to uninitialize the PersonaCrypt
|
||||
device on this system. Note the device can still be used to login to
|
||||
other |trueos| systems.
|
||||
* **Disable Key (No Data):** Used to uninitialize the PersonaCrypt
|
||||
device on this system. Note the device can still be used to login to
|
||||
other |trueos| systems.
|
||||
|
||||
* **Disable Key (Import Data):** In addition to uninitializing the
|
||||
PersonaCrypt device on this system, copy the contents of the user's
|
||||
home directory to this system.
|
||||
* **Disable Key (Import Data):** In addition to uninitializing the
|
||||
PersonaCrypt device on this system, copy the contents of the user's
|
||||
home directory to this system.
|
||||
|
||||
Once a user has been initialized for PersonaCrypt on the system, their
|
||||
user account will no longer be displayed when logging in, **unless**
|
||||
their PersonaCrypt device is inserted. Once the USB device is inserted,
|
||||
the login screen will add an extra field, as seen in the example shown
|
||||
in Figure 4.8b.
|
||||
in :numref:`Figure %s <troslogin5>`.
|
||||
|
||||
.. _troslogin5:
|
||||
|
||||
.. figure:: images/login5.png
|
||||
|
||||
: |trueos| Login Screen with PersonaCrypt
|
||||
|
||||
.. note:: When stealth sessions have been configured, PersonaCrypt
|
||||
users will still be displayed in the login menu, even if their USB
|
||||
@@ -950,11 +994,11 @@ system. The :guilabel:`Standard` tab, seen in
|
||||
:numref:`Figure %s <user4>`, shows the group membership for the
|
||||
*operator* and *wheel* groups:
|
||||
|
||||
.. _user4:
|
||||
.. _user4:
|
||||
|
||||
.. figure:: images/user4.png
|
||||
|
||||
Managing Groups Using User Manager
|
||||
: Managing Groups Using User Manager
|
||||
|
||||
This screen has 2 columns:
|
||||
|
||||
@@ -992,9 +1036,9 @@ schedule snapshots of a ZFS pool and to optionally replicate those
|
||||
snapshots to another system over an encrypted connection. This design
|
||||
provides several benefits:
|
||||
|
||||
* A snapshot provides a "point-in-time" image of the ZFS pool. In one
|
||||
way, this is similar to a full system backup as the snapshot contains
|
||||
the information for the entire filesystem. However, it has several
|
||||
* A snapshot provides a "point-in-time" image of the ZFS pool. This
|
||||
is similar to a full system backup as the snapshot contains the
|
||||
information for the entire filesystem. However, it has several
|
||||
advantages over a full backup. Snapshots occur instantaneously,
|
||||
meaning the filesystem does not need to be unmounted and you can
|
||||
continue to use applications on your system as the snapshot is
|
||||
@@ -1037,7 +1081,7 @@ a system not yet configured. This system has a "ZFS Pool" named "tank".
|
||||
|
||||
.. figure:: images/lpreserver1.png
|
||||
|
||||
Snapshot Tab
|
||||
: Snapshot Tab
|
||||
|
||||
This screen will display any created snapshots and provides buttons to:
|
||||
|
||||
@@ -1079,6 +1123,10 @@ your snapshots on another system.
|
||||
In order to configure replication, the remote system to hold a copy of
|
||||
the snapshots must first meet several requirements:
|
||||
|
||||
* Snapshots occurring too frequently can introduce errors in
|
||||
replication. To avoid errors, ensure snapshots are configured to take
|
||||
place slower than the desired pace of replication.
|
||||
|
||||
* The backup server
|
||||
**must be formatted with the latest version of ZFS,** also known as
|
||||
ZFS feature flags or ZFSv5000. Operating systems that support this
|
||||
@@ -1107,7 +1155,7 @@ configure the replication schedule.
|
||||
|
||||
.. figure:: images/lpreserver2.png
|
||||
|
||||
Replication Tab
|
||||
: Replication Tab
|
||||
|
||||
To schedule the replication, click :guilabel:`+` to display the
|
||||
"Setup Replication" screen shown in
|
||||
@@ -1117,7 +1165,7 @@ To schedule the replication, click :guilabel:`+` to display the
|
||||
|
||||
.. figure:: images/lpreserver3.png
|
||||
|
||||
Scheduling a Replication
|
||||
: Scheduling a Replication
|
||||
|
||||
Input the following information:
|
||||
|
||||
@@ -1191,11 +1239,12 @@ Schedule" pane as seen in :numref:`Figure %s <lpreserver4>`.
|
||||
|
||||
.. figure:: images/lpreserver4.png
|
||||
|
||||
Scheduling a Snapshot
|
||||
: Scheduling a Snapshot
|
||||
|
||||
This pane contains several options:
|
||||
|
||||
**ZPool:** Select the ZFS pool to snapshot.
|
||||
**Storage Pool:** Select the ZFS storage pool that contains the datasets
|
||||
that you wish to snapshot.
|
||||
|
||||
**Snapshots to keep:** Snapshots are automatically pruned after the
|
||||
specified number of snapshots to prevent snapshots from eventually
|
||||
@@ -1217,8 +1266,10 @@ next to the "camera" icon to modify the highlighted schedule or the
|
||||
|
||||
This screen can also be used to manage the ZFS scrub schedule. Scrubs
|
||||
are recommended as they can provide an early indication of a potential
|
||||
disk failure. Since scrubs can be scheduled on a per-pool basis, if you
|
||||
have multiple pools, create a scrub schedule for each pool.
|
||||
disk failure. Scrubs can be scheduled on a per-pool basis.
|
||||
|
||||
.. tip:: If you have multiple pools, be sure to create a scrub schedule
|
||||
for each pool.
|
||||
|
||||
To schedule when the scrub occurs, click the third icon from the right
|
||||
which will activate the "Setup Scrub Schedule" screen shown in
|
||||
@@ -1228,15 +1279,15 @@ which will activate the "Setup Scrub Schedule" screen shown in
|
||||
|
||||
.. figure:: images/lpreserver5.png
|
||||
|
||||
Scheduling a Scrub
|
||||
: Scheduling a Scrub
|
||||
|
||||
Select the pool from the :guilabel:`ZPool` drop-down menu, then select
|
||||
the :guilabel:`Frequency`. Supported frequencies are "Daily", "Weekly",
|
||||
or "Monthly". If you select "Daily", you can configure the "Hour". If
|
||||
you select "Weekly", you can configure the "Day of week" and the "Hour".
|
||||
If you select "Monthly", you can configure the "Date" and "Hour". Since
|
||||
a scrub can be disk I/O intensive, it is recommended to pick a time when
|
||||
the system will not be in heavy use.
|
||||
Select the pool from the :guilabel:`Storage Pool` drop-down menu, then
|
||||
select the :guilabel:`Frequency`. Supported frequencies are "Daily",
|
||||
"Weekly", or "Monthly". If you select "Daily", you can configure the
|
||||
"Hour". If you select "Weekly", you can configure the "Day of week" and
|
||||
the "Hour". If you select "Monthly", you can configure the "Date" and
|
||||
"Hour". Since a scrub can be disk I/O intensive, it is recommended to
|
||||
pick a time when the system will not be in heavy use.
|
||||
|
||||
Once you have created a scrub schedule, you can use the "gear" icon
|
||||
next to the "schedule scrub" icon to modify the highlighted schedule or
|
||||
@@ -1255,7 +1306,7 @@ The :guilabel:`Settings` tab is shown in
|
||||
|
||||
.. figure:: images/lpreserver6.png
|
||||
|
||||
Life Preserver Settings
|
||||
: Life Preserver Settings
|
||||
|
||||
Many settings are configurable:
|
||||
|
||||
@@ -1331,8 +1382,8 @@ the :command:`lpreserver cronsnap` command, type:
|
||||
* A hourly snapshot will be kept for a day.
|
||||
* A daily snapshot will be kept for a month.
|
||||
* A Monthly snapshot will be kept for a year.
|
||||
* The life-preserver daemon will also keep track of the zpool disk space,
|
||||
if the capacity falls below 75%, the oldest snapshot will be auto-pruned.
|
||||
* The life-preserver daemon will also keep track of the storage pool disk space.
|
||||
If the capacity falls below 75%, the oldest snapshot will be auto-pruned.
|
||||
Examples:
|
||||
lpreserver cronsnap start tank1/usr/home/kris daily@22 10
|
||||
Schedule snapshots of dataset tank1/usr/home/kris daily at 22:00.
|
||||
@@ -1362,10 +1413,10 @@ the :command:`lpreserver cronsnap` command, type:
|
||||
listexclude <dataset>
|
||||
List which datasets are excluded from schedule snapshots.
|
||||
|
||||
:numref:`Table %s <table_1>` shows the command line equivalents to the
|
||||
:numref:`Table %s <cmdgui>` shows the command line equivalents to the
|
||||
graphical options provided by the Life Preserver GUI.
|
||||
|
||||
.. _table_1:
|
||||
.. _cmdgui:
|
||||
|
||||
.. table:: Command Line and GUI Equivalents
|
||||
|
||||
@@ -1415,7 +1466,7 @@ installation as usual until you get to the screen shown in
|
||||
|
||||
.. figure:: images/restore1.png
|
||||
|
||||
Selecting to Restore/Clone From Backup
|
||||
: Selecting to Restore/Clone From Backup
|
||||
|
||||
Before you can perform a restore, the network interface must be
|
||||
configured. Click :guilabel:`Network Connectivity` (second icon from the
|
||||
@@ -1437,30 +1488,18 @@ a non-standard SSH port, change the "SSH port" number.
|
||||
|
||||
.. figure:: images/restore2.png
|
||||
|
||||
Input the Information for a SSH Restore
|
||||
: Input the Information for a SSH Restore
|
||||
|
||||
Click :guilabel:`Next` and the wizard will provide a summary of your
|
||||
selections. If correct, click :guilabel:`Finish`; otherwise, click
|
||||
:guilabel:`Back` to correct them.
|
||||
|
||||
Once the connection to the backup server succeeds, you will be able to
|
||||
select which host to restore. In the example shown in
|
||||
:numref:`Figure %s <restore4>`, only one host has been backed up to the
|
||||
replication server.
|
||||
|
||||
.. TODO Add restore4.png to images folder.
|
||||
|
||||
.. _restore4:
|
||||
|
||||
.. figure:: images/restore4.png
|
||||
|
||||
Select the Host to Restore
|
||||
|
||||
After making your selection, click :guilabel:`Next`. The restore wizard
|
||||
will provide a summary of which host it will restore from, the name of
|
||||
the user account associated with the replication, and the hostname of
|
||||
the target system. Click :guilabel:`Finish` and the installer will
|
||||
proceed to the
|
||||
select which host to restore. After making your selection, click
|
||||
:guilabel:`Next`. The restore wizard will provide a summary of which
|
||||
host it will restore from, the name of the user account associated with
|
||||
the replication, and the hostname of the target system. Click
|
||||
:guilabel:`Finish` and the installer will proceed to the
|
||||
`Disk Selection Screen <https://www.trueos.org/handbook/install.html#disk-selection-screen>`_.
|
||||
At this point, you can click the :guilabel:`Customize` button to
|
||||
customize the disk options. However, in the screen shown in Figure 3.3h,
|
||||
|
||||
@@ -88,13 +88,13 @@ pygments_style = 'sphinx'
|
||||
|
||||
#Option to add text substitutions to all .rst files being built.
|
||||
rst_prolog = """
|
||||
.. |freenas| replace:: FreeNAS"""u'\u00AE'"""
|
||||
.. |truenas| replace:: TrueNAS"""u'\u00AE'"""
|
||||
.. |pcbsd| replace:: PC-BSD"""u'\u00AE'"""
|
||||
.. |trueos| replace:: TrueOS"""u'\u00AE'"""
|
||||
.. |appcafe| replace:: AppCafe"""u'\u00AE'"""
|
||||
.. |lumina| replace:: Lumina"""u'\u00AE'"""
|
||||
.. |sysadm| replace:: SysAdm"""u'\u2122'"""
|
||||
.. |freenas| replace:: FreeNAS\ :sup:`"""u'\u00AE'"""`
|
||||
.. |truenas| replace:: TrueNAS\ :sup:`"""u'\u00AE'"""`
|
||||
.. |pcbsd| replace:: PC-BSD\ :sup:`"""u'\u00AE'"""`
|
||||
.. |trueos| replace:: TrueOS\ :sup:`"""u'\u00AE'"""`
|
||||
.. |appcafe| replace:: AppCafe\ :sup:`"""u'\u00AE'"""`
|
||||
.. |lumina| replace:: Lumina\ :sup:`"""u'\u00AE'"""`
|
||||
.. |sysadm| replace:: SysAdm\ :sup:`"""u'\u2122'"""`
|
||||
"""
|
||||
|
||||
# -- Option to change :menuselection: arrow -----------------------------
|
||||
|
||||
@@ -1957,7 +1957,7 @@ input[type="checkbox"][disabled] {
|
||||
.wy-table th,
|
||||
.rst-content table.docutils th,
|
||||
.rst-content table.field-list th {
|
||||
font-size: 90%;
|
||||
font-size: 100%;
|
||||
margin: 0;
|
||||
overflow: visible;
|
||||
padding: 8px 16px;
|
||||
@@ -2026,21 +2026,21 @@ input[type="checkbox"][disabled] {
|
||||
.wy-table-odd td,
|
||||
.wy-table-striped tr:nth-child(odd) td,
|
||||
.rst-content table.docutils:not(.field-list) tr:nth-child(odd) td {
|
||||
background-color: #f3f6f6;
|
||||
background-color: #e1e1d0;
|
||||
}
|
||||
.wy-table-odd td,
|
||||
.wy-table-striped tr:nth-child(odd):hover td,
|
||||
.rst-content table.docutils:not(.field-list) tr:nth-child(odd):hover td {
|
||||
background-color: #f2d8bb
|
||||
background-color: #85adad
|
||||
}
|
||||
.wy-table-even td,
|
||||
.wy-table-striped tr:nth-child(even):hover td,
|
||||
.rst-content table.docutils:not(.field-list) tr:nth-child(even):hover td {
|
||||
background-color: #f2d8bb
|
||||
background-color: #85adad
|
||||
}
|
||||
.wy-table tr,
|
||||
.rst-content table.docutils th:hover{
|
||||
background-color: #f2d8bb
|
||||
background-color: #85adad
|
||||
}
|
||||
.wy-table-backed {
|
||||
background-color: #f3f6f6
|
||||
@@ -2091,16 +2091,16 @@ input[type="checkbox"][disabled] {
|
||||
white-space: inherit
|
||||
}
|
||||
a {
|
||||
color: #2c3fbd;
|
||||
color: #0707ff;
|
||||
text-decoration: none;
|
||||
cursor: pointer
|
||||
}
|
||||
a:hover {
|
||||
color: #4653a3;
|
||||
color: #0707ff;
|
||||
text-decoration: underline
|
||||
}
|
||||
a:visited {
|
||||
color: #c73030
|
||||
color: #8b0000
|
||||
}
|
||||
html {
|
||||
height: 100%;
|
||||
@@ -2181,7 +2181,7 @@ legend {
|
||||
p {
|
||||
line-height: 26px;
|
||||
margin: 0;
|
||||
font-size: 16px;
|
||||
font-size: 100%;
|
||||
margin-bottom: 24px
|
||||
}
|
||||
h1 {
|
||||
@@ -2214,7 +2214,7 @@ hr {
|
||||
code,
|
||||
.rst-content tt,
|
||||
.rst-content code {
|
||||
white-space: nowrap;
|
||||
/*white-space: nowrap;
|
||||
max-width: 100%;
|
||||
background: #fff;
|
||||
border: solid 1px #e1e4e5;
|
||||
@@ -2222,7 +2222,7 @@ code,
|
||||
padding: 0 5px;
|
||||
font-family: Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace;
|
||||
color: #E74C3C;
|
||||
overflow-x: auto
|
||||
overflow-x: auto*/
|
||||
}
|
||||
code.code-large,
|
||||
.rst-content tt.code-large {
|
||||
@@ -2363,8 +2363,8 @@ div[class^='highlight'] pre {
|
||||
white-space: pre;
|
||||
margin: 0;
|
||||
padding: 10px 10px;
|
||||
font-family: Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace;
|
||||
font-size: 12px;
|
||||
font-family: 'Inconsolata', monospace;
|
||||
font-size: 100%;
|
||||
line-height: 1.5;
|
||||
display: block;
|
||||
overflow: auto;
|
||||
@@ -2869,7 +2869,6 @@ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#730000', end
|
||||
}
|
||||
.wy-side-nav-search input[type=text] {
|
||||
width: 90%;
|
||||
border-radius: 50px;
|
||||
padding: 6px 12px;
|
||||
border-color: #2472a4
|
||||
}
|
||||
@@ -3699,7 +3698,7 @@ code.menuselection,
|
||||
background-color: #e6ede9; /* saturate from ecf0f3 to be more visible/blue on screen. */
|
||||
display: inline;
|
||||
font-family:'Inconsolata', monospace;
|
||||
font-size: 95%;
|
||||
font-size: 100%;
|
||||
padding-right: 1px;
|
||||
padding-left: 1px;
|
||||
padding-top: 1px;
|
||||
@@ -3724,7 +3723,12 @@ code.menuselection, .menuselection {
|
||||
background-color: #e8ede6;
|
||||
color: inherit;
|
||||
border: hidden;
|
||||
font-size: 98%
|
||||
font-size: 100%
|
||||
}
|
||||
code.samp, .samp {
|
||||
font-family: 'Inconsolata', monospace;
|
||||
font-weight: bold;
|
||||
font-size: 100%;
|
||||
}
|
||||
code.command, .command {
|
||||
font-family:'Inconsolata', monospace;
|
||||
@@ -3808,9 +3812,9 @@ th.spiffy_span {
|
||||
}
|
||||
.docutils th,
|
||||
.spiffy_table th {
|
||||
background-color: #bbeaf2;
|
||||
background-color: #6699cc;
|
||||
font-weight: 700;
|
||||
text-align: center;
|
||||
text-align: left;
|
||||
border-color: darkgray;
|
||||
border-style: solid;
|
||||
border-width: 1px 1px 2px;
|
||||
|
||||
@@ -270,7 +270,7 @@ QJsonObject LifePreserver::listReplication() {
|
||||
user = parseline.section("@", 0, 0);
|
||||
host = parseline.section("@", 1, 1).section("[", 0, 0);
|
||||
port = parseline.section("@", 1, 1).section("[", 1, 1).section("]", 0, 0);
|
||||
rdset = parseline.section(":", 1, 1);
|
||||
rdset = parseline.section(":", 1, 1).section(" ", 0, 0);
|
||||
time = output.at(i).section(" Time:", -1).simplified();
|
||||
|
||||
values.insert("dataset", dset);
|
||||
|
||||
Reference in New Issue
Block a user