Expand description
A collection of useful utilities for running commands, configuring machines, etc.
Some of these utilities execute a sequence of steps. They require a shell as input and actually run a command remotely.
The rest only construct a command that can be executed and return it to the caller without executing anything.
There are also some utilities that don’t construct or run commands. They are just useful functions that I wrote.
Functions
Add the executing user to the given group. Requires
sudo
permissions.Create a new partition on the given device. Requires
sudo
permissions.Given a string, encode all single quotes so that the whole string can be passed correctly as a
single argument to a bash command.
Formats and mounts the given device as ext4 at the given mountpoint owned by the given user.
The given partition and mountpoint are assumed to be valid (we don’t check). We will assume
quite a few things for simplicity:
Returns the human-readable size of the devices
devs
. For example, ["477G", "500M"]
.Given a host:ip address, return
(host, ip)
.Returns the list of devices mounted and their mountpoints. For example,
[("sda2", "/")]
.Returns a list of partitions of the given device. For example,
["sda1", "sda2"]
.Returns a list of devices with no partitions. For example,
["sda", "sdb"]
.Reboot and wait for the remote machine to come back up again. Requires
sudo
.Sets the CPU scaling governor to the given governor. This requires
Turn off the swap device. Requires
sudo
permissions.Turn on the swap device. Requires
sudo
permissions. Assumes the device is already formatted
as a swap device (i.e. with mkswap
).Write a new general partition table (GPT) on the given device. Requires
sudo
permissions.