Ubuntu 24.04 上从源码编译安装 LTFS挂载LTO数据磁带

适用系统:Ubuntu 24.04 LTS(Noble Numbat)
目标:从 GitHub 源码编译并安装最新版 LTFS,用于磁带设备的文件系统管理
LTFS 官方仓库:https://github.com/LinearTapeFileSystem/ltfs


一、准备工作

首先确认你的系统信息:

hostnamectl

你应该看到类似如下输出(关键点是 Ubuntu 24.04 和 Linux 内核 ≥6.8):

 Static hostname: station
       Icon name: computer-desktop
         Chassis: desktop 🖥️
Operating System: Ubuntu 24.04.3 LTS              
          Kernel: Linux 6.14.0-35-generic
    Architecture: x86-64
 Hardware Vendor: Hewlett-Packard
  Hardware Model: HP Z440 Workstation
Firmware Version: M60 v02.50
   Firmware Date: Thu 2019-11-07
    Firmware Age: 6y 1w 4d      

二、安装编译依赖

以su用户身份执行:

sudo apt update
sudo apt install -y build-essential module-assistant gcc make perl dkms linux-headers-$(uname -r)

接着安装 LTFS 编译所需的开发库:

sudo apt install -y automake autoconf  libtool-bin  libfuse-dev  uuid-dev  libxml2-dev  snmpd snmp libsnmp-dev  libicu-dev   pkg-config

⚠️ 注意:Ubuntu 24.04 默认使用 FUSE 3,而 LTFS 官方目前主要支持 FUSE 2。但自 LTFS v2.5 起已逐步兼容 FUSE 3。如遇问题,可尝试安装 libfuse2 并链接兼容层,但多数情况下直接使用 libfuse-dev(即 FUSE 3)好像也可成功编译。


三、克隆并编译 LTFS 源码

获取代码:

git clone https://github.com/LinearTapeFileSystem/ltfs.git
cd ltfs

生成配置脚本并编译:

./autogen.sh
./configure --enable-buggy-ifs --enable-lintape
make -j$(nproc)

编译完成后安装到系统:

sudo make install
sudo ldconfig

验证安装是否成功:

ltfs --version

预期输出(版本可能更新):

LTFS version 2.5.0.0 (Prelim).
LTFS Format Specification version 2.4.0

✅ 建议重启系统或重新加载内核模块,确保所有驱动和路径生效。


四、检测磁带设备

列出系统识别到的磁带设备:

sudo ltfs -o device_list

示例输出:

Device Name = /dev/sg2 (0.0.1.0), Vendor ID = IBM , Product ID = ULT3580-HH5 , Serial Number = 10WT036509
Device Name = /dev/sg0 (0.0.0.0), Vendor ID = IBM , Product ID = ULT3580-HH5 , Serial Number = 10WT036509

对应的块设备通常是 /dev/st0/dev/st1 等。


五、格式化磁带(首次使用)

⚠️ 此操作会擦除磁带数据

# 格式化第一盘磁带(对应 /dev/st0)
sudo mkltfs -f -d /dev/st0 -n "251118"

你会看到类似日志(省略部分):

LTFS15000I Starting mkltfs, LTFS version 2.5.0.0...
LTFS15013I Volume UUID is: 38b0d1af-4c19-4f3b-8122-66353a6a1395.
LTFS15024I Medium formatted successfully.
LTFS15019I Volume capacity is 1445 GB.
LTFS15024I Medium formatted successfully.

六、挂载 LTFS 磁带

假设磁带标签为 20251118(若无标签则默认为 NO_BARCODE):

# 创建挂载点
mkdir -p /mnt/ltfs

# 回绕磁带到开头
sudo mt -f /dev/st0 rewind

# 挂载
sudo ltfs /mnt/ltfs -o devname=/dev/st0 

验证是否挂载成功:

df -h | grep  ltfs

输出示例:

ltfs:/dev/st0   1.4T     0  1.4T   0% /mnt/ltfs

然后就可以将/mnt/ltfs 当作普通硬盘上面的目录来写入。


七、卸载与注意事项

  • 卸载:直接 sudo umount /mnt/ltfs
  • 自动同步:LTFS 默认每 300 秒同步一次索引,也可手动触发
  • 权限问题:建议将用户加入 tape 组以避免频繁使用 sudo: bash sudo usermod -aG tape $USER 然后重新登录生效。

八、参考资料

  • 官方 GitHub:https://github.com/LinearTapeFileSystem/ltfs
  • AMIA 维护分支(含额外文档):https://github.com/amiaopensource/ltfs
  • LTFS 手册页(man page):ltfs.man.txt
  • https://dwaves.de/2024/05/03/gnu-linux-ubuntu-22-04-and-debian12-how-to-build-ltfs-from-src-aka-scratch/
Category
Tagcloud
Hardware Tools Software Communicate OpenCL Game Server FckZhiHu CUDA PyOpenCL VisPy Virtual Machine Junck Tape Science Raspbian Qwen3 OpenWebUI Tool Library Lens Data Code Generation Windows11 DIY VTK Book Discuss GPT-OSS Chat PHD Programming RTL-SDR Shit Mount&Blade GeoPython GlumPy Nvidia Mac Linux GIS VirtualBox Hate Ollama RaspberryPi Disease Virtualization Video 耳机 Moon Photography macOS University Windows Pyenv Translate Microscope Lesson Scholar Photo ChromeBook IDE Radio Memory Poem Kivy SandBox Life LTO HBase VirtualMachine n8n LTFS 蓝牙 AI Visualization Hackintosh Learning Ubuntu 音频 Story Xcode Hack MayaVi Camera QEMU QT FuckChunWan FuckZhihu Geology Hadoop Telescope NAS Translation Cursor Python Download LlamaFactory Conda QGIS