OpenLTFS - harrypm/LTO GitHub Wiki
OpenLTFS
OpenLTFS is an open and neutral LTFS (Linear Tape File System) implementation, without the proprietary extensions from the different vendors. It implements the version 2.5.1 of the format specification, also standardised as ISO/IEC 20919:2021.
It supports not only tape drives, but also do-it-yourself tape libraries. The proof of concept is done with the openLTO package.
The openLTFS package contains the libltfs C library, which provides the classic ltfs and mkltfs commands, as well as the ltfs_check and ltfs_copy commands, and the openltfs Bash command-line interface.
libltfs is a C library implementing LTFS version 2.5.1 as defined by SNIA, also standardised as ISO/IEC 20919:2021.
This is vendor-neutral and provides the classic ltfs and mkltfs utilities, as well as additional ltfs_check and ltfs_copy utilities.
The ltfs utility can be used as a drop-in replacement for any current proprietary LTFS implementation. The openLTFS package includes the libltfs library and its associated ltfs, ltfs_check, ltfs_copy and mkltfs utilities, as well as the openltfs command-line interface.
Install
brew tap avpres/formulae brew install openltfs
Support
The Homebrew formula was successfully tested on various modern x86_64 and AArch64 architectures, running under the following operating systems:
Linux: Debian 12.0, 11.7 and 10.13; Ubuntu 23.04, 22.04.2 LTS and 20.04.6 LTS; Slackware 15.0
Mac: macOS 13.4.1, 12.6.7 and 11.7.8
Windows: 11 version 22H2 and 10 version 22H2, running Terminal or Subsystem for Linux
Actual Usage
ltfs - Linear Tape File System
SYNOPSIS
ltfs mount_point [-o mount_option]
ltfs -h | -v
OPTIONS
mount_point
set mount point
LTFS MOUNT OPTIONS
-o devname=name
tape device name
-o work_directory=directory
LTFS work directory
-o device_list
list available tape drives
FUSE MOUNT OPTIONS
-o umask=mode
override default permission mask The format is a 3-digit octal and the default is 000.
-o uid=N
set file owner
-o gid=N
set file group
EXPERIMENTAL MOUNT OPTIONS
The following list is not exhaustive.
-o config_file=file
path to configuration file
-o fmask=mode
override file permission mask
The format is a 3-digit octal and the default is 000.
-o dmask=mode
override directory permission mask
The format is a 3-digit octal and the default is 000.
-o scsi_append_only_mode={on|off}
switch on (default) or off tape drive append-only mode
-h
, --help
, -a
display a help message
Unless many vendor’s LTFS implementations, -a
is an alias of -h
. Note that the most comprehensive
information is currently provided by this man page.
-v
, --version
, -V
display the running version
-V
is an alias provided for compatibility with many vendor’s LTFS implementations.
mkltfs
mkltfs - Format a cartridge in an LTO drive with the LTFS format
FORMATTING OPTIONS
Coming soonish...
-c
, --compression={yes|no}
default is no
Please note that the default value is usually yes in proprietary LTFS implementations, but to compress file formats which are already compressed is usually counterproductive and often results in bigger files.
-e
, --encryption={yes|no}
default is no
-h
, --help
display a help message
ltfs_check
ltfs_check - Check the integrity of an LTFS-formatted cartridge
OPTIONS
CHECKING OPTIONS
Coming soonish...
REPAIRING OPTIONS
Coming soonish...
OTHER OPTIONS
-h, --help
display a help message
NOTES
ltfs_check supersedes the previously implemented ltfsck and chkltfs.
ltfs_copy
Copy Tool for LTFS
No Commands Exist
-h
, --help
display a help message
libltfs
LTFS for both tape drives and DIY tape libraries
DESCRIPTION
libltfs is a C library implementing LTFS version 2.5.1 as defined by SNIA, also standardised as ISO/IEC 20919:2021. This is vendor-neutral and provides the classic ltfs and mkltfs utilities, as well as additional ltfs_check and ltfs_copy utilities.
The openLTFS package includes the libltfs library and its associated ltfs, ltfs_check, ltfs_copy and mkltfs utilities, as well as the openltfs command-line interface.
OPTIONS
-t
, --test
test that the libmovim library is correctly installed and properly working
-h
, --help
display a help message
-v
, --version
display the installed version of libltfs in the date-based YYYY−MM−DD format and the implemented
version of LTFS in the semantic major.minor[.patch] format: libltfs 2023-05-20
LTFS 2.5.1
The easiest way to use libltfs is by the provided ltfs, ltfs_check, ltfs_copy and mkltfs utilities. Of course, you could also include the library into your own applications by declaring the preprocessor directive:
#include "libltfs.h"
libltfs works with the drives of the main manufacturers from generation LTO-5 to LTO-9.
libltfs has been successfully tested on various modern x86_64 and AArch64 architectures, running the following operating systems:
Linux: Debian 11.6, 10.13 and 9.13; Ubuntu 22.10, 22.04.2 LTS, 20.04.5 LTS and 18.04.6 LTS; Slackware 15.0
Macintosh: macOS 13.4, 12.6.6, 11.7.4 and 10.15.7
Windows: 11 version 22H2 and 21H2; 10 version 22H2, 21H2, 21H1 and 20H2 running Terminal or Subsystem for Linux
openltfs
Command-line interface to libltfs
openltfs -t | -h
-t
, --test
test which LTFS library is installed
If libmovim
is installed, then checks as well that it is properly working.
-h
, --help
display a help message