MOUNTPILOT(8) System Administration Utilities MOUNTPILOT(8)
NAME
MountPilot - A mount and monitoring tool for heterogeneous data sources
SYNOPSIS
sumo OPTIONS <block device path | disk file name| overlay path | ADB URL | NFS URL | FTP URL | SSH URL | SAMBA URL | UNC address | HTTP ad‐
dress> [<mount folder>]
sumo OPTIONS -L|--label= <volume label> [<mount folder>]
sumo OPTIONS -u <mount point folder>
sumo OPTIONS -u -L <volume label>
sumo OPTIONS -u <block device path | disk file name| overlay path | ADB URL | NFS URL | FTP URL | SSH URL | SAMBA URL | UNC address | HTTP
address>
sumo OPTIONS -F|--format-disk -t <filesystem type> <block device path>
sumo OPTIONS -B|--flash-disk= <disk image> <block device path>
sumo OPTIONS -P|--part-disk= <partition GUID>
sumo OPTIONS [-l] [coma-separated list of filter names]
sumo OPTIONS [-i]
Arguments:
<block device path>
e.g. /dev/sda, /dev/sdb1, /dev/loop23
<disk file>
disk file path (.img,.qcow2,.vdi,.vera,.luk). If inexistent, it is proposed to create it.
overlay path
<upper_dir>><lower_dir> an overlay file system where the upper directory and the lower directory are separated by '>'. When there are
multiple lower dirs, the lowest is always put at the right most position and all dirs are separated by '>' as well. Note: The 'work'
directory as documented for overlay systems is transparently created at the same level dir as 'upperdir'
ADB URL
adb://usb
NFS URL
nfs://<host>:<remote_dir>
FTP URL
ftp://[<login>@]<host>[:<port>]
SSH URL
[ssh://]<login>@<host>[:<port>]
SAMBA URL
[smb:]//[<login>:[<password>]@]<host>/<share>
UNC address
//<host>/<share>
HTTP URL
https://<host>. Only https://drive.google.com supported.
<mount folder>
Target mount point (it is a folder).
OPTIONS:
--volume-name =STRING
The name for an encrypted volume
-P, --part-disk =PART_TYPE_UUID
Partition a disk.
-i, --interactive
runs in interactive mode (dashboard)
-B, --flash-disk =FILENAME
Flashes a disk image to a device
--windows
Shows free Windows partition(s)
--display-format =bolddisk | color | bgcolor
Shows the list in the specified format (bolddisk,color,bgcolor)
--lazy Perform a lazy mount
-n, --no-headers
Hide headers and formatting frames
-l, --list =[FILTER[,FILTER...]]
List all available devices and data sources
-u Unmounts the specified data source or mountpoint folder
-y Assume 'Yes' when prompted for confirmation
--log =<arg>
Show the log tail
-M, --monitoring-time =SECONDS
Timeout for refreshing list in dashboard
--refresh-deps =[smb, luks, vera, qemu, sshfs, google-drive-ocamlfuse, all, <<apt package>>] Refreshes installation of dependency packages
--ghost
Do not record any history
-U, --user =STRING
User name to use when data source requests it
-t, --fs-type =STRING
File system to install when creating a new disk file
-a, --all
Unmounts all contained partitions and nested data sources
-L, --label =STRING
Label to use for selecting data source to mount/unmount
-f, --force
Assume 'Yes' when -y is not applicable
-H, --history =[HISTORY_NAME[:CURRENT_HISTORY_SAVE_NAME]] Use history of the specified name
-p, --password =STRING
Password/passphrase to use when data source requests it
-o, --options =OPTION=STRING[,OPTION=STRING...] Mount options for the low-level backend mount tools
-s, --silent
Less messages on stdout
-F, --format-disk
Format a block device as a disk
--files
Lists all the files used by the app (config, log etc)
DESCRIPTION
Mountpilot integrates into one tool various mount methods existing on Linux systems, while also providing an live interface for monitoring
and interacting with running or past mounts.
The integrated mount functions enable to mount on the local file system a large variety of data sources from a single unified command-line
interface (CLI). Once 'mounted', the files of the source can be accessed locally from the mountpoint folder, as if they were local files.
Data sources may be as diverse as local disks, mobile devices, network connections and disk files.
The mount functions are supplemented by auto-installation of dependency packages and auto-login setups to access remote sources.
In addition, it also provides basic disk creation and manipulation functions, with seamless handling of encryption.
sumo is MountPilot's back-end command line tool to perform the mount/unmount operations and disk operations. Most operations are actually
achieved by sumo, which is either launched manually by the user or launched in background from the dashboard.
Passing option '-i-' launches MountPilot itself, i.e. the dashboard on the current terminal.
This manpage mainly focuses on the command usage and options documentation, as well as concret examples to use the tool. The full documenta‐
tion is available at address https://slashetc.fr/mountpilot
SYSTEM PRIVILEDGES
This script requires to execute most underlying system command with root priviledges. It should be ensured the user is granted sudo.
It is recommended to deactivate password entry and have 24h timeout
OPTIONS DETAILS:
--volume-name <arg>
By default, the file base name is used as volume name for encrypted files like LUKS. This option enables to specify an alternative
names, which can be useful when a previous mount could not be ended properly, which may make the previous volume name unusable.
-P,--part-disk <arg>
Partition a disk. At the moment, it is only possible to create a single partition occupying whole disk.
The following types of partitions are also excluded:
- Linux root *
- Linux user *
- Verity root *
- Verity user *
- Verity root signature *
For advanced users, use any of the following: fdisk, sfdisk, gdisk, sgdisk. Note fdisk and gdisk are deemed for interactive opera‐
tions.
-i,--interactive
Runs the dashboard showing the list of devices and mounted data sources as interative menu, where actions can be performed on the se‐
lected item, e.g. mounting/unmounting by with <enter>
-B,--flash-disk <arg>
Flashes a disk image the specific devce using the 'dd' utility. Typically, the disk image can be a raw image (.img) or an ISO image.
Most live CD images are hybrid ISO and so this function is also suitable to create bootable images without requiring an external tool.
If the ISO is not hybrid, it can be made so using the isohybrid command (sudo apt install syslinux-utils)
Flashing a disk image will result in the total loss of any data stored previously on the device. This option has no effect if a net‐
work device is specified.
--windows
Shows free Windows partition(s). This option is equilavent to :
sumo -n -l noloop,ntfs,free
--display-format <arg>
Select a display format among the following:
- 'bolddisk': the line corresponding to actual disks are displayed in bold
- 'bgcolor': disks and related sub items like partitions are shown with a specific background color
- 'color': disks and related sub items like partitions are shown with a specific font color
--lazy
Proceed with a lazy unmount.
-n,--no-headers
Do not display headers nor any additional formatting frames.
-l,--list
By default, lists all available devices and data sources along with their mounting status and other information.
The list can be filtered or enhanced with a coma-separated list of keywords. Possible filters:
- all: Display absolutely all data sources, including loop devices.
- free: Only show not mounted data sources
- <BLK_TYPE>: Only list data sources of the specified type of block device. It's a device type as returned by 'lsblk'. E.g.: 'disk',
'loop'.
- <FS_TYPE> : Only list data sources of the specified type of file system. It's a file system type as returned by 'blkid
--list-filesystems'. E.g. 'ntfs', 'ext4'.
- <SEARCH STRING>: Do list those data sources which file system type or source location contains the specified string. Note the string
is searched only after its has been searched for a block type or FS type matching exactly that string
- no<__filter name__> :Excludes data sources that would have been selected using the specified filter name. E.g. 'noloop' excludes all
loop devices, 'nodisk' excludes all disks.
By default, the loop devices are not displayed. This behavior is programmed in the configuration file.
The -n, --display-format options enable to control look&feel of the list.
-u
Tries to unmounts the specified device, which can be a block device path, a disk filename or a label.
-y
Assume 'Yes' answer for any confirmation request
--log
Show the log tail.
-M,--monitoring-time <arg>
The monitoring timeout for refreshing the dashboard.
--refresh-deps
Refreshes installation of dependency packages. When no dependency name is specified following the option, only the relevant dependen‐
cies are installed on demand depending on the used functionality. If an explicit dependency name is specified, then the script will
attempt to reinstall the matching dependencies immediately at startup. Supported predefined dependency names are : all, smb, vera,
luks, qemu, google-drive-ocamlfuse. Otherwise, it will be attempted to install a Debian package of the specified name.
Note that for specific mounts like with google-drive-ocamlfuse, this may imply a more complex process that just a system package rein‐
stallation, whereby actions from the users may be required.
--ghost
With this option, the history file is not updated. The history is still shown on the dashboard, but there won't be any trace of the
mount operations in the history file.
-U,--user <arg>
Enables automated input of use name when data source requests it, like VERA, LUKS, SSH etc.
-t,--fs-type <arg>
File system type when a new disk file system is created by default, it is ext4.
-a,--all
When unmounting a data source requires to unmount multiple child data sources, or if the data source is mounted multiple time, speci‐
fying this option allows to proceed to the unmounting of all of them.
-L,--label <arg>
A logical name associated with the disk. It is often a convenient way to address the device regardless of the actual mount location or
device path. The label shall be no longer than 16 chars. This is due a limitation on some systems (like unix)
For Vera volumes, only integer values are accepted. By extension, if the label
specified for any operation is an integer number, a Vera disk is assumed.
-f,--force
Force proceeding for cases where -y is not operating.
-H,--history
Tells sumo to use the history of the specified name. The matching history file is expected to be named recent.yml.<history name> lo‐
cated in ~/.config/Sumo folder.
The previous history recent.yml is renamed to recent.yml.old or recent.yml.CURRENT_HISTORY_SAVE_NAME if CURRENT_HISTORY_SAVE_NAME is
specified
Without argument, this option lists the names of the available histories.
-p,--password <arg>
Enables automated input of password/passphrase when data source requests it, like VERA, LUKS, SSH etc. Be careful not passing the
passphrase directly in clear text on command line. Ignored if disk is not encrypted
-o,--options <arg>
This option enables to forward mount options to the low-level mount tools.
In the context of disk creation, the option value "size=<disk size>" enables to predefine the size of the disk to create without hav‐
ing to enter it manually when prompted. <disk size> shall be given as an integer followed by any of K,M,G,T resp. KiB, MiB, GiB, TiB.
-s,--silent
Do not show the device mounting details after successful mounting/unmounting.
-F,--format-disk
This option enables to format the input block device as a single-partition disk on which is installed the file system given as argu‐
ment to this option.
Formatting the device will result in the total loss of any data stored previously on the block device. This option has not effect if
a network device is specified.
The format function is not available and shall not be used from plain command line. This option is used when sumo is called from the
dashboard, whereby it also passes the --caller option.
--files
Lists the files used by the app, i.e. configuration file, log file(s), active history file, any cache file
LIMITATIONS
File system labels containing spaces are not supported.
EXAMPLES
Examples of list commands
# Default List (everything but loop devices and docker overlays)
$ sumo -l
# List all except loop devices
$ sumo -l noloop
# List only real disks
$ sumo -l disk
# List only NTFS partitions
$ sumo -l ntfs
# List by searching the string 'adb'.
$ sumo -l adb
# List all available data sources incl. loop
$ sumo -l all
# Default list using the 'bgcolor' display format
$ sumo -l --display-format=bgcolor
# Default list using the 'color' display format
$ sumo -l --display-format=color
Mounting using a system label
# An USB stick labeled 'photos' is mounted on the folder 'photosDir' and its content listed.
$ sumo -y -L photos ./photosDir
Mounting a data source read-only
# A USB stick labeled 'photos' is mounted read-only on the folder 'photosDir'.
$ sumo -o ro -y -L photos ./photosDir
Mounting a block device
# An USB key contains a flashed image of a Debian installation image.
$ sumo -y /dev/sdb ./DebianInstall
Mounting a partition
# An USB key which partition is mapped to device `/dev/sdc1` is mounted on the folder 'photosDir'.
$ sumo -y /dev/sdc1 ./photosDir
Mounting an overlay file system
# An overlay FS is created where 'demoUpperDir' is the overlaying upper dir and 'demoLowerDir' the overlaid lower dir.
$ sumo -y 'demoUpperDir>demoLowerDir' overlayDir
Mounting an Android device via adb
# An Android tablet is mounted on folder '~/test_sumo/adb'.
$ sumo -y adb://usb ~/test_sumo/adb
Mounting a NFS shared directory
# The remote home of another host is mounted on folder 'testNFSDir'.
$ sumo -y 192.168.0.12:/home/michel testNFSDir
Mounting a remote directory via SSH
# The remote home of another host is mounted on folder 'testRemoteDirSSH'.
$ sumo -y michel@riffian:. testRemoteDirSSH
Mounting a Windows share
# The home of the remote Windows host 192.168.0.30 is mounted on folder 'windows'.
$ sumo -y //192.168.0.30/michel --user=michel --password=TH1_password ~/windows/
Mounting a FTP directory
# Example of mounting a FTP directory using login and password, no existing .netrc_ftp.slashetc.fr # The FTP site
ftp://slash2438072@ftp.slashetc.fr is mounted on folder 'webftp'.
$ sumo -y ftp://slash2438072@ftp.slashetc.fr ~/webftp -p FTP_password
# Example of remounting a FTP directory using existing .netrc_ftp.slashetc.fr file # The FTP site ftp://slash2438072@ftp.slashetc.fr
is mounted on folder 'webftp'
$ sumo -y ftp://slash2438072@ftp.slashetc.fr ~/webftp
Mounting Google Drive
# The Google Drive is mounted on folder 'drive'.
$ sumo -y https://drive.google.com drive
Mounting a raw disk image
# The raw disk image is mounted on folder 'imgdisk'.
$ sumo -y imgdisk.img ./imgdisk
Mounting a virtual machine disk
# The virtual disk image is mounted on folder 'imgdisk_qcow2'.
$ sumo -y imgdisk.qcow2 ./imgdisk_qcow2
Mounting an existing VERA volume
# Example of mounting of a VERA volume which is a file # The VERA disk file is mounted on folder 'veravol'.
$ sumo -y veradisk.vera ./veravol -p a
# Example of mounting of an existing VERA volume hosted on a device # The VERA volume hosted on the device /dev/sdd1 (USB stick) is
mounted on folder 'veravol'.
$ sumo -y /dev/sdd1 ./veravol -p a
Mounting a LUKS volume
# Example of mounting of an existing LUKS volume which is a file # The LUKS disk file is mounted on folder 'luksdisk'.
$ sumo -y luksdisk.luks ./luksdisk -p a
# Example of mounting of an existing LUKS volume hosted as a partition of a device # The LUKS volume hosted on the device /dev/sdd1
(USB stick) is mounted
$ sumo -y /dev/sdd1 ./luksdisk -p a
Mounting a nested data source
# There's a VERA volume file located on a Windows partition labeled 'WINDOWS11' (/dev/sda3).
$ sumo -y -L WINDOWS11 ~/WINDOWS11
$ sumo -y ~/WINDOWS11/Users/miche/Documents/vault/personnel-confidentiel.vera ~/vault # /dev/sda3
Mounting LVM volumes
# The data source is here a full Debian9 VM disk that has been partitionned with LVM.
$ sumo -y ~/riffian/Data/Machines/backuprepo-amd64.qcow2 ~/vmdisk || echo "Normal failure, as swap cannot be mounted"
Unmounting using the mountpoint folder
$ sumo -u ~/photosDir
Unmounting using the device label
$ sumo -u -L photos
Unmounting using the data source location
# Example of unmounting using the NFS URL
$ sumo -s -u riffian:/home/michel/Data/Scan
# Example of unmounting using the SSH URL
$ sumo -s -u michel@riffian:Data/Scan
# Example of unmounting using the UNC address
$ sumo -s -u //192.168.0.30/michel
# Example of unmounting using the FTP URL
$ sumo -s -u ftp://slash2438072@ftp.slashetc.fr
# Example of unmounting using the Google Drive URL
$ sumo -s -u https://drive.google.com
# Example of unmounting using VERA volume file
$ sumo -s -u veradisk.vera
# Example of unmounting using LUKS volume file
$ sumo -s -u luksdisk.luks
# Example of unmounting using a virtual machine disk file
$ sumo -s -u imgdisk.qcow2
Lazy unmounting
# A local USB stick and remote SSH folder are mounted.
$ sumo --lazy -u ~/mnt/testRemoteDirSSH
$ sumo --lazy -u -L photos
Listing available mount histories
$ sumo -H
Formatting a disk
# Example of creating on disk a file system (ext4) located on a single partition # When prompted, 'n' (no) is automatically entered to
disable a partitionless formatting.
$ sumo -F -t ext4 /dev/sdb <<< 'n'
# Example of creating an exfat disk without partition # When prompted, 'y' (yes) is entered to enable partitionless formatting.
$ sumo -y -F -t exfat /dev/sdb
Creating a disk partition
# Example of creating a single partition of type Microsoft Basic data partition
$ sumo -y -P EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 /dev/sdb
Flashing a disk
# Example of flashing a Linux installation image # This example flashes a mini installation image of Debian labeled 'CDROM'.
$ sumo -y -B ~/riffian/Data/Softlib/images\ iso/mini.iso /dev/sdb
Creating a raw disk image file
# Example of creating a raw disk image file with a 1Mo ext2, no prompting
$ sumo -y rawdisk.img -o size=1M -t ext2
# Example of creating a raw disk image file with default ext4 and entered size 900K
$ sumo -y rawdisk.img
Creating a VERA volume file
# Example of creating a VERA volume file with a 2Mo exfat, no prompting
$ sumo -y veravolume.vera -o size=2M -t exfat -p mypassword
# Example of creating a VERA volume file with a exfat and entered size 3M and password
$ sumo -y veravolume.vera -t exfat
Creating a LUKS volume file
# Example of creating a LUKS volume file with a 30Mo exfat, no prompting
$ sumo -y luksvolume.luks -o size=30M -t exfat -p mypassword
# Example of creating a LUKS volume file with a exfat and entered size 30M and password
$ sumo -y luksvolume.luks -t exfat
Creating a QCOW2 volume file
# Example of creating a QCOW2 disk file with a 3Mo exfat, no prompting
$ sumo qcow2disk.qcow2 -o size=3M -t exfat
# Example of creating a QCOW2 volume file with a default ext4 and entered size
$ sumo -y qcow2disk.qcow2
Creating a VDI volume file
# Example of creating a vdi disk file with a 3Mo exfat, no prompting for size
$ sumo vdidisk.vdi -o size=3M -t exfat
# Example of creating a VDI volume file with a default ext4 and entered size
$ sumo -y vdidisk.vdi
AUTHOR
Written by Michel Mehl
REPORTING BUGS
Report bugs to <michel.mehl@slashetc.fr>
COPYRIGHT
Copyright © 2024-2026 Michel Mehl. All rights reserved. Tous droits réservés (France).
License terms written down in file LICENSE.txt Les termes de la licence sont détaillés dans le fichier LICENSE.txt
MountPilot sumo 2.0.2 May 2026 MOUNTPILOT(8)