File management
File management and storage access in Alpine Linux Desktop environments involves various components. In Alpine Linux, file managers require additional software packages to:
- Automatically mount removable media
- Browse storage across shared networks
- Display and access partitions using different filesystems with other installed operating systems
Prerequisites
- Enable Polkit
File managers
File managers are computer programs that provides a user interface to file management i.e manage files and folders. A partial list of file managers available in Alpine Linux is given below:
Tool | Graphical/CLI | Brief Notes |
caja | Graphical | The file manager for the MATE desktop |
dolphin | Graphical | File manager for KDE Plasma desktop |
konqueror | Graphical | KDE File Manager & Web Browser |
lf | CLI | Terminal filemanager written in Go with vim-style keybindings |
mc | CLI | Filemanager/shell that emulates Norton Commander |
nautilus | Graphical | GNOME file manager also known as 'GNOME Files' |
nemo | Graphical | File manager for Cinnamon desktop environment |
nnn | CLI | The unorthodox terminal file manager |
pcmanfm | Graphical | Extremely fast and lightweight file manager for LXDE |
pcmanfm-qt | Graphical | Qt port of pcmanfm |
ranger | CLI | VIM-inspired filemanager for the console |
thunar | Graphical | File manager for Xfce |
Disk management
Managing disks including removable drives like USB is much easier with udisks. Install the udisks2 package:
# apk add udisks2
To see the mounted disks:
$ udisksctl status
To mount a disk /dev/sdb1:
$ udiskctl mount -b /dev/sdb1
To unmount a disk /dev/sdb1:
$ udiskctl unmount -b /dev/sdb1
Automounting USB drives
GVfs is a userspace virtual filesystem implementation for GIO,a library available in GLib. GVfs comes with a set of backends, including trash support, SFTP,SMB, HTTP, DAV, and many others. This also provides FUSE support that provides limited access to the GVfs filesystems for applications not using GIO.
To enable automatic mounting of USB drives, install the following packages:
# apk add gvfs udisks2
Depending on what devices you intend to mount, additional packages may be installed from the below list:
# apk add \ ntfs-3g \ # Stable, full-featured, read-write NTFS (driver) gvfs-cdda \ # CDDA support for gvfs gvfs-afp \ # AFP support for gvfs gvfs-goa \ # GNOME Online Accounts support for gvfs gvfs-mtp \ # MTP support for gvfs gvfs-smb \ # Windows fileshare support for gvfs gvfs-lang \ # Languages for package gvfs gvfs-afc \ # Apple mobile devices support for gvfs gvfs-nfs \ # NFS support for gvfs gvfs-dev \ # Backends for the gio framework in GLib (development files) gvfs-archive \ # Archiving support for gvfs gvfs-dav \ # WebDAV support for gvfs gvfs-fuse \ # FUSE support for gvfs gvfs-gphoto2 \ # gphoto2 support for gvfs gvfs-avahi \ # DNS-SD support for gvfs
To list descriptions of all gvfs- packages:
$ apk info -d gvfs-*
Network browsing
For browsing of network shares that works seamlessly with file associations, install the gvfs packages for the required network protocols. For example, to browse in a SMB/cifs windows network:
# apk add gvfs-smb
The OpenRC script for fuse is in a separate package.
# apk add fuse-openrc
Then the fuse service can be started manually.
# rc-service fuse start
If the desktop sessions are already in progress, they need to be restarted for the changes to take effect, i.e. log out and log in again.
Test the network browsing with your favourite file manager and if it works, the fuse service can be added to start up automatically at boot time:
# rc-update add fuse
Troubleshooting
Error due to missing polkit
Error mounting /dev/sda1: GDBus.Error:org.freedesktop.UDisks2.Error.NotAuthorized: Not authorized to perform operation (polkit authority not available and caller is not uid 0)
If Polkit is not available, the above error will occur. In this case either install and enable Polkit or using doas is recommended.