You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
System Tools is a collection of helpful tools for basic system management of Linux and FreeBSD systems:
10
+
# π‘ What is System-Tools?
11
+
12
+
System-Tools is a collection of helpful tools for basic system management of Linux and FreeBSD systems:
7
13
8
14
-[System-Info](#System-Info) (display banners and system information),
9
15
-[System-Maintenance](#system-maintenance) (run basic system maintenance tasks),
@@ -14,23 +20,75 @@ System Tools is a collection of helpful tools for basic system management of Lin
14
20
-[Try-Hard](#try-hard) (run a command, with configurable retries on failure),
15
21
-[Random-Sleep](#random-sleep) (wait for random time span, with support of fractional seconds).
16
22
17
-
###System-Info
23
+
#π System-Info
18
24
19
25
System-Info displays basic status information about the system: hostname, uptime, CPU, memory statistics, disk space statistics, SSH public key hashes, and networking information. Furthermore, it can be configured to show one or more banners (for example, a project name). System-Info can be configured to be automatically run when logging in, providing the user an up-to-date overview of the system.
20
26
21
27
One main purpose of System-Info is to run on login, to particularly show a nice login banner (for example, a project or company logo) and then present the basic system information. For this purpose, System-Info can be configured with banner scripts (by default looked up in /etc/system-info.d or /usr/local/etc/system-info.d), which are processed in alphabetically descending order by file name, like:
22
28
23
-
-``95-application-logo``,
24
-
-``90-project-logo``,
25
-
-``60-department-logo``,
26
-
-``50-company-logo``,
27
-
-``01-example``.
29
+
* <tt>95-application-logo</tt>,
30
+
* <tt>90-project-logo</tt>,
31
+
* <tt>60-department-logo</tt>,
32
+
* <tt>50-company-logo</tt>,
33
+
* <tt>01-example</tt>.
28
34
29
35
The names of all scripts MUST begin with two decimal numbers. That is, scripts must be named [0-9][0-9]... to be processed by System-Info!
30
36
31
37
If one of the scripts exits with non-zero exit code, the processing of further banner scripts is stopped. This can be used for preconfiguring a system for example with a department and company logo, where the company logo script terminates further processing. A modified system for a certain project can add a project logo as well. The project logo script may terminate further processing, not showing department and company logos. This may be combined with packaging scripts, for example adding an application logo as part of the application's install package (like adding a script 95-application-logo).
32
38
33
-
### System-Maintenance
39
+
Some examples, using the [banner-helper](src/System-Info/system-info.d/banner-helper) library provided by System-Info:
A <a href="https://www.nntb.no/~dreibh/rserpool/">RSPLIB</a> project branding.
86
+
</td>
87
+
</tr>
88
+
</table>
89
+
90
+
91
+
# π System-Maintenance
34
92
35
93
System-Maintenance runs some system maintenance tasks to keep the system clean and up to date. These tasks are:
36
94
@@ -47,124 +105,163 @@ System-Maintenance runs some system maintenance tasks to keep the system clean a
47
105
48
106
The typical usage is quite simple, e.g.:
49
107
50
-
``sudo System-Maintenance``
108
+
<pre>
109
+
sudo System-Maintenance
110
+
</pre>
111
+
51
112
52
-
###Print-UTF8
113
+
#π Print-UTF8
53
114
54
115
Print-UTF8 is a simple program to print UTF-8 strings in the console with options for indentation, centering, separator as well as size/length/width information. It can e.g. be utilised for printing System-Info banners, or for displaying error messages like this classic Amiga [Guru Meditation](https://en.wikipedia.org/wiki/Guru_Meditation) example:
<imgalt="A Guru Meditation Example with Print-UTF8"src="src/Print-UTF8/figures/guru.webp"width="50%" />
127
+
</a>
128
+
</p>
129
+
60
130
61
-
###Text-Block
131
+
#π Text-Block
62
132
63
133
Text-Block is a flexible tool for inserting, replacing or deleting text blocks in files or streams. The blocks to be modified can be selected by begin/end tags, or line numbers. The static pages of this website are generated by using Text-Block to insert contents like publications and project lists, add new software releases, etc.
64
134
65
-
For example, the publications list in [index.html](https://www.nntb.no/~dreibh/index.html) is placed between the tags '<!-- BEGIN-OF-PUBLICATIONS -->' and '<!-- END-OF-PUBLICATIONS -->'. Text-Block can be used to manipulate this block:
135
+
For example, the publications list in [index.html](https://www.nntb.no/~dreibh/index.html) is placed between the tags '<!-- BEGIN-OF-PUBLICATIONS -->' and '<!-- END-OF-PUBLICATIONS -->'. Text-Block can be used to manipulate this block:
136
+
137
+
* To extract the publications list to standard output:
* To replace the publications list by contents from update.block (e.g. generated by [BibTeXConv](https://www.nntb.no/~dreibh/bibtexconv/)), and write the page to output.html:
69
150
70
-
* To delete the publications list and write the page to output.html:<br/>
* To replace the publications list by contents from update.block (e.g. generated by [BibTeXConv](https://www.nntb.no/~dreibh/bibtexconv/)), and write the page to output.html:<br/>
Fingerprint-SSH-Keys prints the SSH key fingerprints of the local machine in different formats: SSH hash, DNS SSHFP RR, or Python dictionary. Its typical usage is straightforward:
79
159
80
-
``Fingerprint-SSH-Keys``
160
+
<pre>
161
+
Fingerprint-SSH-Keys
162
+
</pre>
81
163
82
-
### Configure-Grub
164
+
165
+
# π Configure-Grub
83
166
84
167
Configure-Grub adjusts a GRUB configuration file by applying a configuration from a template, and merging the existing configurations settings with additional customisations. It can for example be used to set a custom screen resolution (GRUB_GFXMODE option) or startup tune (GRUB_INIT_TUNE option). The [VM Image Builder Scripts](https://github.com/simula/nornet-vmimage-builder-scripts) use Configure-Grub to configure the screen resolution and a boot splash image.
85
168
86
-
### Try-Hard
169
+
170
+
# π Try-Hard
87
171
88
172
Try-Hard runs a command and retries for a given number of times in case of error, with a delay between the trials.
89
173
90
174
Example to try a file download up to 3 times, with a delay of 60 seconds between trials:
Please use the issue tracker at [https://github.com/dreibh/system-tools/issues](https://github.com/dreibh/system-tools/issues) to report bugs and issues!
105
195
106
-
###Ubuntu Linux
196
+
## Ubuntu Linux
107
197
108
-
For ready-to-install Ubuntu Linux packages of System-Tools, see Launchpad PPA for Thomas Dreibholz!
198
+
For ready-to-install Ubuntu Linux packages of System-Tools, see [Launchpad PPA for Thomas Dreibholz](https://launchpad.net/~dreibh/+archive/ubuntu/ppa/+packages?field.name_filter=system-tools&field.status_filter=published&field.series_filter=)!
109
199
110
-
```
200
+
<pre>
111
201
sudo apt-add-repository -sy ppa:dreibh/ppa
112
202
sudo apt-get update
113
-
sudo apt-get install td-system-tools
114
-
```
203
+
sudo apt-get install system-tools
204
+
</pre>
115
205
116
-
###Fedora Linux
206
+
## Fedora Linux
117
207
118
-
For ready-to-install Fedora Linux packages of System-Tools, see COPR PPA for Thomas Dreibholz!
208
+
For ready-to-install Fedora Linux packages of System-Tools, see [COPR PPA for Thomas Dreibholz](https://copr.fedorainfracloud.org/coprs/dreibh/ppa/package/system-tools/)!
119
209
120
-
```
210
+
<pre>
121
211
sudo dnf copr enable -y dreibh/ppa
122
-
sudo dnf install td-system-tools
123
-
```
212
+
sudo dnf install system-tools
213
+
</pre>
124
214
125
-
###FreeBSD
215
+
## FreeBSD
126
216
127
-
For ready-to-install FreeBSD packages of System-Tools, it is included in the ports collection, see [FreeBSD ports tree index of net/td-system-tools/](https://cgit.freebsd.org/ports/tree/net/td-system-tools/)!
217
+
For ready-to-install FreeBSD packages of System-Tools, it is included in the ports collection, see [FreeBSD ports tree index of net/system-tools/](https://cgit.freebsd.org/ports/tree/net/system-tools/)!
128
218
129
-
pkg install td-system-tools
219
+
<pre>
220
+
pkg install system-tools
221
+
</pre>
130
222
131
223
Alternatively, to compile it from the ports sources:
132
224
133
-
```
134
-
cd /usr/ports/net/td-system-tools
225
+
<pre>
226
+
cd /usr/ports/net/system-tools
135
227
make
136
228
make install
137
-
```
229
+
</pre>
138
230
139
-
## Sources Download
140
231
141
-
System-Tools is released under the GNU General Public Licence (GPL).
232
+
# πΎ Build from Sources
233
+
234
+
System-Tools is released under the [GNU General Public Licence (GPL)](https://www.gnu.org/licenses/gpl-3.0.en.html#license-text).
142
235
143
236
Please use the issue tracker at [https://github.com/dreibh/system-tools/issues](https://github.com/dreibh/system-tools/issues) to report bugs and issues!
144
237
145
-
###Development Version
238
+
## Development Version
146
239
147
240
The Git repository of the System-Tools sources can be found at [https://github.com/dreibh/system-tools](https://github.com/dreibh/system-tools):
Please submit bug reports, issues, questions, etc. in the issue tracker!
160
253
161
-
- Pull Requests for System-Tools: [https://github.com/dreibh/system-tools/pulls](https://github.com/dreibh/system-tools/pulls).
254
+
* Pull Requests for System-Tools: [https://github.com/dreibh/system-tools/pulls](https://github.com/dreibh/system-tools/pulls).
162
255
Your contributions to System-Tools are always welcome!
163
256
164
-
- CI build tests of System-Tools: [https://github.com/dreibh/system-tools/actions](https://github.com/dreibh/system-tools/actions).
257
+
* CI build tests of System-Tools: [https://github.com/dreibh/system-tools/actions](https://github.com/dreibh/system-tools/actions).
258
+
259
+
## Release Versions
260
+
261
+
See [https://www.nntb.no/~dreibh/system-tools/#current-stable-release](https://www.nntb.no/~dreibh/system-tools/#current-stable-release) for the release packages!
165
262
166
-
- Coverity Scan analysis of System-Tools: [https://scan.coverity.com/projects/dreibh-td-system-tools](https://scan.coverity.com/projects/dreibh-td-system-tools).
167
263
168
-
### Current Stable Release
264
+
#π Useful Links
169
265
170
-
See [https://www.nntb.no/~dreibh/system-tools/#StableRelease](https://www.nntb.no/~dreibh/system-tools/#StableRelease)!
266
+
*[NetPerfMeter β A TCP/MPTCP/UDP/SCTP/DCCP Network Performance Meter Tool](https://www.nntb.no/~dreibh/netperfmeter/index.html)
0 commit comments