armbian挂载exFAT格式U盘

起因是之前有一个armian的机顶盒设备上搭建了文件服务,后面那个机顶盒设备坏掉了,文件全部弄不出来了,于是为了防患于未然就打算将文件全部放在U盘上,这样以后即使机顶盒换掉了也不至于文件丢了。

运行lsblk查看物理硬盘块设备

root@hd01:~# lsblk
NAME         MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda            8:0    1  58.6G  0 disk 
└─sda1         8:1    1  58.6G  0 part /mnt/usb
mmcblk1      179:0    0  14.7G  0 disk 
├─mmcblk1p1  179:1    0   244M  0 part /boot
└─mmcblk1p2  179:2    0  13.8G  0 part /
mmcblk1boot0 179:32   0     4M  1 disk 
mmcblk1boot1 179:64   0     4M  1 disk 
zram0        254:0    0    50M  0 disk /var/log
zram1        254:1    0 870.6M  0 disk [SWAP]

可以看到我的U盘插上去之后被识别为sda,下面有一个分区sda1,这个U盘之前就在Windows电脑下格式化过了,接下来直接挂载

先更新系统,接着安装exFAT 文件系统的支持

sudo apt update
sudo apt install exfat-fuse exfat-utils

然后新建挂载点,最后挂载

mkdir /mnt/usb
mount -t exfat /dev/sda1 /mnt/usb

卸载的话就

umount /mnt/usb

查看文件系统发现已经可以看到了

root@hd01:~# df -hT
Filesystem     Type      Size  Used Avail Use% Mounted on
udev           devtmpfs  736M     0  736M   0% /dev
tmpfs          tmpfs     175M   19M  156M  11% /run
/dev/mmcblk1p2 ext4       14G   11G  3.0G  78% /
tmpfs          tmpfs     871M     0  871M   0% /dev/shm
tmpfs          tmpfs     5.0M  4.0K  5.0M   1% /run/lock
tmpfs          tmpfs     871M     0  871M   0% /sys/fs/cgroup
tmpfs          tmpfs     871M   47M  825M   6% /tmp
/dev/mmcblk1p1 vfat      244M   82M  163M  34% /boot
/dev/zram0     ext4       49M  5.0M   40M  11% /var/log
tmpfs          tmpfs     175M   20K  175M   1% /run/user/1000
overlaid       overlay   175M   20K  175M   1% /run/user/1000/admin-firefox-2tklksn6.default
overlaid       overlay   175M   20K  175M   1% /run/user/1000/admin-firefox-08nklp8g.default-release
tmpfs          tmpfs     175M     0  175M   0% /run/user/0
/dev/sda1      fuseblk    59G  5.3G   54G   9% /mnt/usb

最后这行/dev/sda1      fuseblk    59G  5.3G   54G   9% /mnt/usb 就是识别到了64G的U盘

将之前的文件全部迁移到U盘里面,由于读写速度有限,大概要几分钟等到命令运行完毕就复制完了

cp -R /opt/kiftd-master /mnt/usb/

最后修改服务

vi /etc/systemd/system/kiftd.service

改成下面这样就好了

[Unit]
Description=kiftd
After=network.target
[Service]
ExecStart=/home/jdk1.8.0_261/bin/java -jar kiftd-1.1.0-RELEASE.jar -start
WorkingDirectory=/mnt/usb/kiftd-master
User=root
Group=root
Restart=always
[Install]
WantedBy=multi-user.target


这个其实是用java执行一条命令开启这个文件服务的,只是把这一步做成一个linux下的service方便用

系统的systemd来start/restart/enable/stop

Java命令的绝对路径可以用下面这条命令来找到,重要的其实就是java -jar kiftd-1.1.0-RELEASE.jar -start这一条

,不做成systemd服务也可以单独运行

root@hd01:~# which java
/home/jdk1.8.0_261/bin/java

改完之后就需要重启systemd

systemctl daemon-reload

之后就可以这样管理它了

root@hd01:~# systemctl stop kiftd
root@hd01:~# systemctl disable kiftd
Removed /etc/systemd/system/multi-user.target.wants/kiftd.service.
root@hd01:~# systemctl enable kiftd --now
Created symlink /etc/systemd/system/multi-user.target.wants/kiftd.service → /etc/systemd/system/kiftd.service.

这样把它迁移到U盘之后下次机顶盒坏了,就可以把U盘插到另一台机顶盒继续用了





最后编辑于:2024/03/09作者: admin

发表评论