climount
A Linux command line utility that perfoms mount operations on disk partitions and
removable media, inspired by bashmount.
Using climount you can mount/unmount regular partitions/volumes, or open/close
encrypted partitions and then mount the mapped devices. Mountpoints can be set
manually or automatically.
Usage
climount acts as a frontend for traditional unix-style filesystem commands
(mount, umount, etc) and other commands that require elevated privileges, so it
must be run with either sudo or doas, or, if neither of those are installed, as
root (preferably using su).
Current Limitations:
BTRFS subvolume operations are not supported, but may be added at a later date.
LUKS is the only supported encryption protocol; others may work but are completely
untested
Dependencies
Hard dependencies are util-linux and coreutils* (installed by default by
most distros).
As mentioned above, either sudo or doas, while not strictly a hard dependency,
is strongly recommended.
Other optional dependencies are cryptsetup (Only needed for encrypted devices) and
lvm2 (Only needed for lvm devices)
*Compatibility with busybox coreutils is largely untested; it may work fine but YMMV.
Installation
Statically-linked binaries that should work with any distro are available in
Releases. Just place the binary into
your $PATH.
For Debian-based distros there are .deb packages available, also in
Releases. I also package a Gentoo
version in my overlay.
Building from source
Requirements
go is required to build. If you use the included build script all build operations will
take place in /tmp and go will download an up-to-date version of itself to use
temporarily during the build.
Otherwise, climount depends on term, which
requires go 1.25.0 or newer.
Build instructions
Clone or download/extract the source code and $ cd climount.
To build:
$ ./build.sh
To install:
# ./install.sh
To uninstall:
# ./uninstall.sh