我问这个问题在 StackOverflow 上,有人建议最好把它放在这里。
我最近买了一台 QNAP TS-431K NAS,安装了 4 个硬盘并将其设置为 RAID。然后我配置了网络等,并安装了一些软件包。到目前为止,这运行良好。我想使用 Python 自动化一些操作,但设备每次重新启动时都会重置其内部文件系统,因此我需要将 Python 脚本放到 RAID 卷上,但为了在启动时启动它们,我需要更改某个autorun.sh
我无法访问的。
根据此 QNAP Wiki 页面(“所有基于 HAL 的 Intel 和 AMD NAS”部分适合我的情况,我的操作系统是 QTS 4.5.2)我需要将由给定命令动态获取的设备(我还将在下面添加扩展行)安装到/tmp/config
。在那里我可以编辑文件,但安装失败。这里的命令:
mount $(/sbin/hal_app --get_boot_pd port_id=0)6 /tmp/config
# "$(/sbin/hal_app --get_boot_pd port_id=0)6" expands to "/dev/mtdblock6"
输出:
mount: you must specify the filesystem type
这个错误完全合理,因为-t <type>
示例中没有这个错误。所以我尝试查找有关所用文件系统的信息。ext2
其他示例中的文件系统不起作用。不幸的是,到目前为止,我还没有运气,所以我用 列出了可用的文件系统cat /etc/filesystems
,结果如下:
ext3
ext2
nodev proc
nodev devpts
iso9660
vfat
msdos
hfs
proc
并且devpts
在某种程度上是可见的/tmp/config
,但这些不是真正的文件系统,并且iso9660
适用于光学媒体。任何其他文件系统都会说:
mount: wrong fs type, bad option, bad superblock on /dev/mtdblock6
...
因此我尝试使用 分析该设备fdisk -l /dev/mtdblock6
,结果显示:
Disk /dev/mtdblock6: 15 MB, 15728640 bytes
255 heads, 63 sectors/track, 1 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/mtdblock6 doesn't contain a valid partition table
所以我猜想,那里目前还没有任何东西。由于没有/dev/mtdblock
末尾没有数字或字母的 ,我猜想我必须在其上创建一个分区表、一个分区和一个文件ext2
系统。我仍然无法弄清楚它是什么。/dev/mtdblock0
/dev/mtdblock5
我的问题是:
- 我是否需要格式化该设备
/dev/mtdblock6
并添加autorun.sh
? - 这里是否
ext2
合适或者我必须使用不同的文件系统以及哪一个? - 或者我完全错了,我应该做些完全不同的事情?如果是那样的话,我会很感激任何有关 QNAP 文档等的提示。我可能会错过。
答案1
尝试这个:
ubiattach -m 6 -d 2
/bin/mount -t ubifs ubi2:config /tmp/config
nano /tmp/config/autorun.sh
编辑完成后,
chmod +x /tmp/config/autorun.sh
umount /tmp/config
ubidetach -m 6