优化挂载命令,使用 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" mkdir -p "${TMP_PATH}/mdX"
for I in ${DSMROOTS}; do for I in ${DSMROOTS}; do
fixDSMRootPart "${I}" fixDSMRootPart "${I}"
mount -t ext4 "${I}" "${TMP_PATH}/mdX" mount -t "$(blkid -o value -s TYPE "${I}")" "${I}" "${TMP_PATH}/mdX"
[ $? -ne 0 ] && continue [ $? -ne 0 ] && continue
rm -f "${TMP_PATH}/mdX/etc/VERSION" "${TMP_PATH}/mdX/etc.defaults/VERSION" rm -f "${TMP_PATH}/mdX/etc/VERSION" "${TMP_PATH}/mdX/etc.defaults/VERSION"
sync sync
@ -1869,7 +1869,7 @@ function resetDSMPassword() {
mkdir -p "${TMP_PATH}/mdX" mkdir -p "${TMP_PATH}/mdX"
for I in ${DSMROOTS}; do for I in ${DSMROOTS}; do
fixDSMRootPart "${I}" fixDSMRootPart "${I}"
mount -t ext4 "${I}" "${TMP_PATH}/mdX" mount -t "$(blkid -o value -s TYPE "${I}")" "${I}" "${TMP_PATH}/mdX"
[ $? -ne 0 ] && continue [ $? -ne 0 ] && continue
if [ -f "${TMP_PATH}/mdX/etc/shadow" ]; then if [ -f "${TMP_PATH}/mdX/etc/shadow" ]; then
while read -r L; do while read -r L; do
@ -1920,7 +1920,7 @@ function resetDSMPassword() {
NEWPASSWD="$(openssl passwd -6 -salt "$(openssl rand -hex 8)" "${STRPASSWD}")" NEWPASSWD="$(openssl passwd -6 -salt "$(openssl rand -hex 8)" "${STRPASSWD}")"
for I in ${DSMROOTS}; do for I in ${DSMROOTS}; do
fixDSMRootPart "${I}" fixDSMRootPart "${I}"
mount -t ext4 "${I}" "${TMP_PATH}/mdX" mount -t "$(blkid -o value -s TYPE "${I}")" "${I}" "${TMP_PATH}/mdX"
[ $? -ne 0 ] && continue [ $? -ne 0 ] && continue
sed -i "s|^${USER}:[^:]*|${USER}:${NEWPASSWD}|" "${TMP_PATH}/mdX/etc/shadow" sed -i "s|^${USER}:[^:]*|${USER}:${NEWPASSWD}|" "${TMP_PATH}/mdX/etc/shadow"
sed -i "/^${USER}:/ s/^\(${USER}:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:\)[^:]*:/\1:/" "${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" mkdir -p "${TMP_PATH}/mdX"
for I in ${DSMROOTS}; do for I in ${DSMROOTS}; do
fixDSMRootPart "${I}" fixDSMRootPart "${I}"
mount -t ext4 "${I}" "${TMP_PATH}/mdX" mount -t "$(blkid -o value -s TYPE "${I}")" "${I}" "${TMP_PATH}/mdX"
[ $? -ne 0 ] && continue [ $? -ne 0 ] && continue
if [ -f "${TMP_PATH}/mdX/usr/syno/etc/esynoscheduler/esynoscheduler.db" ]; then if [ -f "${TMP_PATH}/mdX/usr/syno/etc/esynoscheduler/esynoscheduler.db" ]; then
sqlite3 "${TMP_PATH}/mdX/usr/syno/etc/esynoscheduler/esynoscheduler.db" <<EOF sqlite3 "${TMP_PATH}/mdX/usr/syno/etc/esynoscheduler/esynoscheduler.db" <<EOF
@ -2007,7 +2007,7 @@ function forceEnableDSMTelnetSSH() {
mkdir -p "${TMP_PATH}/mdX" mkdir -p "${TMP_PATH}/mdX"
for I in ${DSMROOTS}; do for I in ${DSMROOTS}; do
fixDSMRootPart "${I}" fixDSMRootPart "${I}"
mount -t ext4 "${I}" "${TMP_PATH}/mdX" mount -t "$(blkid -o value -s TYPE "${I}")" "${I}" "${TMP_PATH}/mdX"
[ $? -ne 0 ] && continue [ $? -ne 0 ] && continue
if [ -f "${TMP_PATH}/mdX/usr/syno/etc/esynoscheduler/esynoscheduler.db" ]; then if [ -f "${TMP_PATH}/mdX/usr/syno/etc/esynoscheduler/esynoscheduler.db" ]; then
sqlite3 "${TMP_PATH}/mdX/usr/syno/etc/esynoscheduler/esynoscheduler.db" <<EOF sqlite3 "${TMP_PATH}/mdX/usr/syno/etc/esynoscheduler/esynoscheduler.db" <<EOF
@ -2050,7 +2050,7 @@ function removeBlockIPDB {
mkdir -p "${TMP_PATH}/mdX" mkdir -p "${TMP_PATH}/mdX"
for I in ${DSMROOTS}; do for I in ${DSMROOTS}; do
fixDSMRootPart "${I}" fixDSMRootPart "${I}"
mount -t ext4 "${I}" "${TMP_PATH}/mdX" mount -t "$(blkid -o value -s TYPE "${I}")" "${I}" "${TMP_PATH}/mdX"
[ $? -ne 0 ] && continue [ $? -ne 0 ] && continue
rm -f "${TMP_PATH}/mdX/etc/synoautoblock.db" rm -f "${TMP_PATH}/mdX/etc/synoautoblock.db"
sync sync
@ -2082,7 +2082,7 @@ function disablescheduledTasks {
mkdir -p "${TMP_PATH}/mdX" mkdir -p "${TMP_PATH}/mdX"
for I in ${DSMROOTS}; do for I in ${DSMROOTS}; do
fixDSMRootPart "${I}" fixDSMRootPart "${I}"
mount -t ext4 "${I}" "${TMP_PATH}/mdX" mount -t "$(blkid -o value -s TYPE "${I}")" "${I}" "${TMP_PATH}/mdX"
[ $? -ne 0 ] && continue [ $? -ne 0 ] && continue
if [ -f "${TMP_PATH}/mdX/usr/syno/etc/esynoscheduler/esynoscheduler.db" ]; then 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" 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" mkdir -p "${TMP_PATH}/mdX"
for I in ${DSMROOTS}; do for I in ${DSMROOTS}; do
fixDSMRootPart "${I}" fixDSMRootPart "${I}"
mount -t ext4 "${I}" "${TMP_PATH}/mdX" mount -t "$(blkid -o value -s TYPE "${I}")" "${I}" "${TMP_PATH}/mdX"
[ $? -ne 0 ] && continue [ $? -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/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"* 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" mkdir -p "${TMP_PATH}/mdX"
fixDSMRootPart "${DSMROOTPART}" 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 if [ $? -ne 0 ]; then
DIALOG --title "$(TEXT "Settings")" \ DIALOG --title "$(TEXT "Settings")" \
--msgbox "$(TEXT "Mount DSM system partition(md0) failed!\nPlease insert all disks before continuing.")" 0 0 --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" mkdir -p "${TMP_PATH}/mdX"
for I in ${DSMROOTS}; do for I in ${DSMROOTS}; do
fixDSMRootPart "${I}" fixDSMRootPart "${I}"
mount -t ext4 "${I}" "${TMP_PATH}/mdX" mount -t "$(blkid -o value -s TYPE "${I}")" "${I}" "${TMP_PATH}/mdX"
[ $? -ne 0 ] && continue [ $? -ne 0 ] && continue
mkdir -p "${TMP_PATH}/logs/md0/log" mkdir -p "${TMP_PATH}/logs/md0/log"
cp -rf ${TMP_PATH}/mdX/.log.junior "${TMP_PATH}/logs/md0" 2>/dev/null 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 # 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 unzip -p rr.zip | dd of=${LOADER_DISK} bs=1M conv=fsync
# 重启 reboot # 重启 reboot
reboot reboot
@ -87,7 +87,7 @@
* RR 备份 (Any version): * RR 备份 (Any version):
```shell ```shell
# 备份为 disk.img.gz, 自行导出. # 备份为 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 直接导出链接 # 结合 transfer.sh 直接导出链接
curl -skL --insecure -w '\n' --upload-file disk.img.gz https://transfer.sh curl -skL --insecure -w '\n' --upload-file disk.img.gz https://transfer.sh
``` ```
@ -249,10 +249,11 @@
# eudev # eudev
udevadm control --reload-rules # 重新加载 udev 规则 udevadm control --reload-rules # 重新加载 udev 规则
udevadm trigger # 触发 udev 事件 udevadm trigger # 触发 udev 事件
udevadm info --query all --name /dev/sda1 # 查看 udev 属性 udevadm info --query all --name /dev/sata1 # 查看 udev 属性
udevadm info --query all --path /sys/class/net/eth0 # 查看 udev 属性 udevadm info --query all --path /sys/class/net/eth0 # 查看 udev 属性
udevadm info --attribute-walk --name=/dev/sata1 # 列出 udev 属性
udevadm monitor --property --udev # 监控 udev 事件 udevadm monitor --property --udev # 监控 udev 事件
udevadm test /dev/sda1 # 测试 udev 规则 udevadm test /dev/sata1 # 测试 udev 规则
# 服务相关 # 服务相关
journalctl -xe # 查看服务日志 journalctl -xe # 查看服务日志