mNo edit summary |
→Time coordination with chrony: makestep with burst |
||
| Line 50: | Line 50: | ||
==== Time coordination with chrony ==== | ==== Time coordination with chrony ==== | ||
<syntaxhighlight lang="shell-session"> | <syntaxhighlight lang="shell-session"> | ||
yum install -y chrony | yum install -y chrony # to install | ||
systemctl enable chronyd | systemctl enable chronyd # to enable | ||
systemctl start chronyd | systemctl start chronyd # to start | ||
chronyc tracking | chronyc tracking # To get information about the main time reference | ||
chronyc sources -v | chronyc sources -v # equivalent information to the ntpq | ||
ntpdate pool.ntp.org | ntpdate pool.ntp.org # To quickly synchronize a server | ||
timedatectl | timedatectl # display time and synchronization status | ||
chronyc makestep | chronyc -m 'burst 3/3' 'makestep 0.1 3' # sync time using timesources NOW | ||
</syntaxhighlight> | </syntaxhighlight>If for some reason the clock is thrown off (e.g. after VM migration), you can force an immediate resync, but <code>makestep</code> just allows the clock to be corrected by step instead of slow slew. You should add the <code>burst</code> command to make a new set of measurements. | ||
==== How to mount a multi-partition disk image in Linux ==== | ==== How to mount a multi-partition disk image in Linux==== | ||
You can use '''kpartx''' or '''partx''' to create loop devices for the partitions on the image, and then mount them. So either: | You can use '''kpartx''' or '''partx''' to create loop devices for the partitions on the image, and then mount them. So either: | ||
Revision as of 20:15, 19 September 2023
1 Find files modified in past N days[edit | edit source]
find path -mtime -N -ls
[psmode@wort ~]$ find /kvm/ -mtime -3 -ls
102090127 4 drwxr-xr-x 7 root root 4096 Jan 3 09:46 /kvm/
2038539 4 drwxr-xr-x 2 root kitsnet_adm 4096 Jan 3 09:13 /kvm/socat-kvm
2038573 4 -rw-r--r-- 1 root root 5 Jan 3 09:13 /kvm/socat-kvm/uv040
101237691 8 -rw-r--r-- 1 root kitsnet_adm 6370 Jan 3 09:46 /kvm/uv034.xml
102163845 12 -rw-r--r-- 1 root root 9096 Jan 3 09:46 /kvm/uv039.xml
102090129 12 -rw-r--r-- 1 root root 8303 Jan 3 09:46 /kvm/uv040.xml
2 Shell script debugging modes[edit | edit source]
A good explanation of the debugging modes is given by How To Enable Shell Script Debugging Mode in Linux. Basically, there are three modes
-v(short for verbose) – tells the shell to show all lines in a script while they are read, it activates verbose mode.-n(short for noexec or no execution) – instructs the shell read all the commands, however doesn’t execute them. This options activates syntax checking mode.-x(short for xtrace or execution trace) – tells the shell to display all commands and their arguments on the terminal while they are executed. This option enables shell tracing mode.
Which may be invoked by any of three different ways:
- Modifying the first line of a shell script:
#!/bin/sh option(s) - Invoking shell with debugging options:
$ /bin/bash option(s) script_name argument1 ... argumentN - Using set shell built-in command in the middle of the script:
$ set -optionto enable or$ set +optionto disable
3 Network Diagnostics[edit | edit source]
See also Red Hat 7 Networking Guide 3.3. Configuring IP Networking with nmcli and RED HAT ENTERPRISE LINUX 8 Configuring and managing networking and Network Configuration - Rocky Linux 9 and How I migrated to NetworkManager keyfiles for configuration
# ip address
# ip link
# ip route
# ip -6 route
# firewall-cmd --list-all --zone=... (replace ... with whatever zones you are working with)
# nmcli connection show
# nmcli connection show --active
# nmcli device status
# nmcli connection show <device>
# sysctl -a | grep -E 'forwarding'
4 How to use diff and patch[edit | edit source]
The diff utility can be used to generate a patch file. Basically, the differences are put togetehr with syntax from the patch utility so that the resulting file can be used to turn another copy of the original file into the desired final state file. A good reference article is available online The high level syntax is:
# diff -u file1.html file2.html > patchfile.patch
# patch file1.html patchfile.patch
To reverse the patch, use:
# patch -p0 -R -i patchfile.patch
5 Explore filesystem utilization[edit | edit source]
I have installed NCurses Disk Usage (ncdu ) on all KitsNet Linux systems.
6 Time coordination with chrony[edit | edit source]
yum install -y chrony # to install
systemctl enable chronyd # to enable
systemctl start chronyd # to start
chronyc tracking # To get information about the main time reference
chronyc sources -v # equivalent information to the ntpq
ntpdate pool.ntp.org # To quickly synchronize a server
timedatectl # display time and synchronization status
chronyc -m 'burst 3/3' 'makestep 0.1 3' # sync time using timesources NOW
If for some reason the clock is thrown off (e.g. after VM migration), you can force an immediate resync, but makestep just allows the clock to be corrected by step instead of slow slew. You should add the burst command to make a new set of measurements.
7 How to mount a multi-partition disk image in Linux[edit | edit source]
You can use kpartx or partx to create loop devices for the partitions on the image, and then mount them. So either:
$ sudo kpartx -v -a file.iso
add map loop0p1 (253:17): 0 8382464 linear 7:1 2048
$ mount /dev/mapper/loop0p1 ./mnt_point
... do something with the partition ...
$ umount ./mnt_point
$ kpartx -d -v file.iso
del devmap : loop0p1
loop deleted : /dev/loop0
or:
$ sudo partx -a -v file.iso
partition: none, disk: file.iso, lower: 0, upper: 0
Trying to use '/dev/loop0' for the loop device
/dev/loop0: partition table type 'dos' detected
range recount: max partno=1, lower=0, upper=0
/dev/loop0: partition #1 added
$ mount /dev/loop0p1 ./mnt_point
... do something with the partition ...
$ umount /dev/loop0p1 ./mnt_point
$ sudo partx -d -v /dev/loop0
partition: none, disk: /dev/loop0, lower: 0, upper: 0
/dev/loop0: partition #1 removed
8 DHCP Lease Renewal[edit | edit source]
Linux Force DHCP Client (dhclient) to Renew IP Address covers this in greater detail for a number of platforms and environments. For KitsNet, the two methods that work are based on dhclient or nmcli
8.1 dhclient[edit | edit source]
The -r flag explicitly releases the current lease, and once the lease has been released, the client exits. For example, open terminal application and type the command:
$ sudo dhclient -r
Now obtain fresh IP address using DHCP on Linux:
$ sudo dhclient
8.2 nmcli[edit | edit source]
The NetworkManager daemon attempts to make networking configuration and operation as painless and automatic as possible by managing the primary network connection and other network interfaces, like Ethernet, WiFi, and Mobile Broadband devices command-line tool for controlling NetworkManager. The nmcli is a command-line tool for controlling NetworkManager and getting its status. To renew IP address using nmcli for connection named ‘nixcraft_5G’ (use ‘nmcli con‘ command to get list of all connections):
nmcli con nmcli con down id 'nixcraft_5G' nmcli con up id 'nixcraft_5G' # Attempt to update device with changes to the currently active # connection made since it was last applied and then try it again nmcli device reapply 'nixcraft_5G'