优化挂载命令,使用 blkid 获取文件系统类型,提升兼容性

This commit is contained in:
Ing 2025-05-07 14:50:47 +08:00
parent bc0d1e7b97
commit 5ce02ba109
2 changed files with 19 additions and 18 deletions

View File

@ -1838,7 +1838,7 @@ function allowDSMDowngrade() {
mkdir -p "${TMP_PATH}/mdX"
for I in ${DSMROOTS}; do
fixDSMRootPart "${I}"
mount -t ext4 "${I}" "${TMP_PATH}/mdX"
mount -t "$(blkid -o value -s TYPE "${I}")" "${I}" "${TMP_PATH}/mdX"
[ $? -ne 0 ] && continue
rm -f "${TMP_PATH}/mdX/etc/VERSION" "${TMP_PATH}/mdX/etc.defaults/VERSION"
sync
@ -1869,7 +1869,7 @@ function resetDSMPassword() {
mkdir -p "${TMP_PATH}/mdX"
for I in ${DSMROOTS}; do
fixDSMRootPart "${I}"
mount -t ext4 "${I}" "${TMP_PATH}/mdX"
mount -t "$(blkid -o value -s TYPE "${I}")" "${I}" "${TMP_PATH}/mdX"
[ $? -ne 0 ] && continue
if [ -f "${TMP_PATH}/mdX/etc/shadow" ]; then
while read -r L; do
@ -1920,7 +1920,7 @@ function resetDSMPassword() {
NEWPASSWD="$(openssl passwd -6 -salt "$(openssl rand -hex 8)" "${STRPASSWD}")"
for I in ${DSMROOTS}; do
fixDSMRootPart "${I}"
mount -t ext4 "${I}" "${TMP_PATH}/mdX"
mount -t "$(blkid -o value -s TYPE "${I}")" "${I}" "${TMP_PATH}/mdX"
[ $? -ne 0 ] && continue
sed -i "s|^${USER}:[^:]*|${USER}:${NEWPASSWD}|" "${TMP_PATH}/mdX/etc/shadow"
sed -i "/^${USER}:/ s/^\(${USER}:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:\)[^:]*:/\1:/" "${TMP_PATH}/mdX/etc/shadow"
@ -1966,7 +1966,7 @@ function addNewDSMUser() {
mkdir -p "${TMP_PATH}/mdX"
for I in ${DSMROOTS}; do
fixDSMRootPart "${I}"
mount -t ext4 "${I}" "${TMP_PATH}/mdX"
mount -t "$(blkid -o value -s TYPE "${I}")" "${I}" "${TMP_PATH}/mdX"
[ $? -ne 0 ] && continue
if [ -f "${TMP_PATH}/mdX/usr/syno/etc/esynoscheduler/esynoscheduler.db" ]; then
sqlite3 "${TMP_PATH}/mdX/usr/syno/etc/esynoscheduler/esynoscheduler.db" <<EOF
@ -2007,7 +2007,7 @@ function forceEnableDSMTelnetSSH() {
mkdir -p "${TMP_PATH}/mdX"
for I in ${DSMROOTS}; do
fixDSMRootPart "${I}"
mount -t ext4 "${I}" "${TMP_PATH}/mdX"
mount -t "$(blkid -o value -s TYPE "${I}")" "${I}" "${TMP_PATH}/mdX"
[ $? -ne 0 ] && continue
if [ -f "${TMP_PATH}/mdX/usr/syno/etc/esynoscheduler/esynoscheduler.db" ]; then
sqlite3 "${TMP_PATH}/mdX/usr/syno/etc/esynoscheduler/esynoscheduler.db" <<EOF
@ -2050,7 +2050,7 @@ function removeBlockIPDB {
mkdir -p "${TMP_PATH}/mdX"
for I in ${DSMROOTS}; do
fixDSMRootPart "${I}"
mount -t ext4 "${I}" "${TMP_PATH}/mdX"
mount -t "$(blkid -o value -s TYPE "${I}")" "${I}" "${TMP_PATH}/mdX"
[ $? -ne 0 ] && continue
rm -f "${TMP_PATH}/mdX/etc/synoautoblock.db"
sync
@ -2082,7 +2082,7 @@ function disablescheduledTasks {
mkdir -p "${TMP_PATH}/mdX"
for I in ${DSMROOTS}; do
fixDSMRootPart "${I}"
mount -t ext4 "${I}" "${TMP_PATH}/mdX"
mount -t "$(blkid -o value -s TYPE "${I}")" "${I}" "${TMP_PATH}/mdX"
[ $? -ne 0 ] && continue
if [ -f "${TMP_PATH}/mdX/usr/syno/etc/esynoscheduler/esynoscheduler.db" ]; then
echo "UPDATE task SET enable = 0;" | sqlite3 "${TMP_PATH}/mdX/usr/syno/etc/esynoscheduler/esynoscheduler.db"
@ -2122,7 +2122,7 @@ function initDSMNetwork {
mkdir -p "${TMP_PATH}/mdX"
for I in ${DSMROOTS}; do
fixDSMRootPart "${I}"
mount -t ext4 "${I}" "${TMP_PATH}/mdX"
mount -t "$(blkid -o value -s TYPE "${I}")" "${I}" "${TMP_PATH}/mdX"
[ $? -ne 0 ] && continue
rm -f "${TMP_PATH}/mdX/etc/sysconfig/network-scripts/ifcfg-bond"* "${TMP_PATH}/mdX/etc/sysconfig/network-scripts/ifcfg-eth"*
rm -f "${TMP_PATH}/mdX/etc.defaults/sysconfig/network-scripts/ifcfg-bond"* "${TMP_PATH}/mdX/etc.defaults/sysconfig/network-scripts/ifcfg-eth"*
@ -2258,7 +2258,7 @@ function tryRecoveryDSM() {
mkdir -p "${TMP_PATH}/mdX"
fixDSMRootPart "${DSMROOTPART}"
mount -t ext4 "${DSMROOTPART}" "${TMP_PATH}/mdX"
mount -t "$(blkid -o value -s TYPE "${I}")" "${DSMROOTPART}" "${TMP_PATH}/mdX"
if [ $? -ne 0 ]; then
DIALOG --title "$(TEXT "Settings")" \
--msgbox "$(TEXT "Mount DSM system partition(md0) failed!\nPlease insert all disks before continuing.")" 0 0
@ -2491,7 +2491,7 @@ function reportBugs() {
mkdir -p "${TMP_PATH}/mdX"
for I in ${DSMROOTS}; do
fixDSMRootPart "${I}"
mount -t ext4 "${I}" "${TMP_PATH}/mdX"
mount -t "$(blkid -o value -s TYPE "${I}")" "${I}" "${TMP_PATH}/mdX"
[ $? -ne 0 ] && continue
mkdir -p "${TMP_PATH}/logs/md0/log"
cp -rf ${TMP_PATH}/mdX/.log.junior "${TMP_PATH}/logs/md0" 2>/dev/null

View File

@ -79,7 +79,7 @@
# 解压 并写入到引导盘
# Decompress and write to the boot disk
# 获取当前的引导盘
LOADER_DISK="$(blkid | grep 'LABEL="RR3"' | cut -d3 -f1)"
LOADER_DISK="$(blkid -L RR3 2>/dev/null | cut -d3 -f1)"
unzip -p rr.zip | dd of=${LOADER_DISK} bs=1M conv=fsync
# 重启 reboot
reboot
@ -87,7 +87,7 @@
* RR 备份 (Any version):
```shell
# 备份为 disk.img.gz, 自行导出.
dd if="$(blkid | grep 'LABEL="RR3"' | cut -d3 -f1)" | gzip > disk.img.gz
dd if="$(blkid -L RR3 2>/dev/null | cut -d3 -f1)" | gzip > disk.img.gz
# 结合 transfer.sh 直接导出链接
curl -skL --insecure -w '\n' --upload-file disk.img.gz https://transfer.sh
```
@ -247,13 +247,14 @@
mdadm --zero-superblock /dev/sda1 # 清除 sda1 磁盘分区的 RAID 超级块 (使这个磁盘分区不再被识别为 RAID 设备的一部分)
# eudev
udevadm control --reload-rules # 重新加载 udev 规则
udevadm trigger # 触发 udev 事件
udevadm info --query all --name /dev/sda1 # 查看 udev 属性
udevadm control --reload-rules # 重新加载 udev 规则
udevadm trigger # 触发 udev 事件
udevadm info --query all --name /dev/sata1 # 查看 udev 属性
udevadm info --query all --path /sys/class/net/eth0 # 查看 udev 属性
udevadm monitor --property --udev # 监控 udev 事件
udevadm test /dev/sda1 # 测试 udev 规则
udevadm info --attribute-walk --name=/dev/sata1 # 列出 udev 属性
udevadm monitor --property --udev # 监控 udev 事件
udevadm test /dev/sata1 # 测试 udev 规则
# 服务相关
journalctl -xe # 查看服务日志
systemctl # 查看服务