mirror of
https://github.com/RROrg/rr.git
synced 2025-06-21 05:51:05 +08:00
Fix md0 related operations
This commit is contained in:
parent
16681ab820
commit
5632408485
@ -376,17 +376,9 @@ function connectwlanif() {
|
|||||||
# Find and mount the DSM root filesystem
|
# Find and mount the DSM root filesystem
|
||||||
# (based on pocopico's TCRP code)
|
# (based on pocopico's TCRP code)
|
||||||
function findDSMRoot() {
|
function findDSMRoot() {
|
||||||
local DSMROOTS=""
|
DSMROOTS=""
|
||||||
local RAIDS="$(lsblk -pno KNAME,PARTN,FSTYPE,FSVER,LABEL | grep -w " 1" | grep -w "linux_raid_member")"
|
[ -z "${DSMROOTS}" ] && DSMROOTS="$(mdadm --detail --scan 2>/dev/null | grep -E "name=SynologyNAS:0|name=DiskStation:0|name=SynologyNVR:0|name=BeeStation:0" | awk '{print $2}' | uniq)"
|
||||||
if echo "${RAIDS}" | grep -q "1.2"; then
|
[ -z "${DSMROOTS}" ] && DSMROOTS="$(lsblk -pno KNAME,PARTN,FSTYPE,FSVER,LABEL | grep -E "sd[a-z]{1,2}1" | grep -w "linux_raid_member" | grep "0.9" | awk '{print $1}')"
|
||||||
# SynologyNAS:0, DiskStation:0, SynologyNVR:0, BeeStation:0
|
echo "${DSMROOTS}"
|
||||||
local LABELS="$(echo "${RAIDS}" | grep "1.2" | awk '{print $5}' | uniq)"
|
|
||||||
for I in ${LABELS}; do
|
|
||||||
[ -L "/dev/md/${I}" ] && DSMROOTS="${DSMROOTS} /dev/md/${I}"
|
|
||||||
done
|
|
||||||
elif echo "${RAIDS}" | grep -q "0.9"; then
|
|
||||||
DSMROOTS="$(echo "${RAIDS}" | grep "0.9" | awk '{print $1}')"
|
|
||||||
fi
|
|
||||||
echo ${DSMROOTS}
|
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
@ -1743,7 +1743,7 @@ function tryRecoveryDSM() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
mkdir -p "${TMP_PATH}/mdX"
|
mkdir -p "${TMP_PATH}/mdX"
|
||||||
mount "$(echo "${DSMROOTS}" | head -n 1 | cut -d' ' -f1)" "${TMP_PATH}/mdX"
|
mount -t ext4 "$(echo "${DSMROOTS}" | head -n 1 | cut -d' ' -f1)" "${TMP_PATH}/mdX"
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
DIALOG --title "$(TEXT "Advanced")" \
|
DIALOG --title "$(TEXT "Advanced")" \
|
||||||
--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
|
||||||
@ -1921,7 +1921,7 @@ function allowDSMDowngrade() {
|
|||||||
(
|
(
|
||||||
mkdir -p "${TMP_PATH}/mdX"
|
mkdir -p "${TMP_PATH}/mdX"
|
||||||
for I in ${DSMROOTS}; do
|
for I in ${DSMROOTS}; do
|
||||||
mount "${I}" "${TMP_PATH}/mdX"
|
mount -t ext4 "${I}" "${TMP_PATH}/mdX"
|
||||||
[ $? -ne 0 ] && continue
|
[ $? -ne 0 ] && continue
|
||||||
[ -f "${TMP_PATH}/mdX/etc/VERSION" ] && rm -f "${TMP_PATH}/mdX/etc/VERSION"
|
[ -f "${TMP_PATH}/mdX/etc/VERSION" ] && rm -f "${TMP_PATH}/mdX/etc/VERSION"
|
||||||
[ -f "${TMP_PATH}/mdX/etc.defaults/VERSION" ] && rm -f "${TMP_PATH}/mdX/etc.defaults/VERSION"
|
[ -f "${TMP_PATH}/mdX/etc.defaults/VERSION" ] && rm -f "${TMP_PATH}/mdX/etc.defaults/VERSION"
|
||||||
@ -1948,7 +1948,7 @@ function resetDSMPassword() {
|
|||||||
rm -f "${TMP_PATH}/menu"
|
rm -f "${TMP_PATH}/menu"
|
||||||
mkdir -p "${TMP_PATH}/mdX"
|
mkdir -p "${TMP_PATH}/mdX"
|
||||||
for I in ${DSMROOTS}; do
|
for I in ${DSMROOTS}; do
|
||||||
mount ${I} "${TMP_PATH}/mdX"
|
mount -t ext4 "${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 L; do
|
while read L; do
|
||||||
@ -1989,7 +1989,7 @@ function resetDSMPassword() {
|
|||||||
(
|
(
|
||||||
mkdir -p "${TMP_PATH}/mdX"
|
mkdir -p "${TMP_PATH}/mdX"
|
||||||
for I in ${DSMROOTS}; do
|
for I in ${DSMROOTS}; do
|
||||||
mount "${I}" "${TMP_PATH}/mdX"
|
mount -t ext4 "${I}" "${TMP_PATH}/mdX"
|
||||||
[ $? -ne 0 ] && continue
|
[ $? -ne 0 ] && continue
|
||||||
OLDPASSWD="$(cat "${TMP_PATH}/mdX/etc/shadow" 2>/dev/null | grep "^${USER}:" | awk -F ':' '{print $2}')"
|
OLDPASSWD="$(cat "${TMP_PATH}/mdX/etc/shadow" 2>/dev/null | grep "^${USER}:" | awk -F ':' '{print $2}')"
|
||||||
if [ -n "${NEWPASSWD}" -a -n "${OLDPASSWD}" ]; then
|
if [ -n "${NEWPASSWD}" -a -n "${OLDPASSWD}" ]; then
|
||||||
@ -2032,7 +2032,7 @@ function addNewDSMUser() {
|
|||||||
|
|
||||||
mkdir -p "${TMP_PATH}/mdX"
|
mkdir -p "${TMP_PATH}/mdX"
|
||||||
for I in ${DSMROOTS}; do
|
for I in ${DSMROOTS}; do
|
||||||
mount "${I}" "${TMP_PATH}/mdX"
|
mount -t ext4 "${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
|
||||||
@ -2069,7 +2069,7 @@ function forceEnableDSMTelnetSSH() {
|
|||||||
ONBOOTUP="${ONBOOTUP}echo \"DELETE FROM task WHERE task_name LIKE ''RRONBOOTUPRR_SSH'';\" | sqlite3 /usr/syno/etc/esynoscheduler/esynoscheduler.db\n"
|
ONBOOTUP="${ONBOOTUP}echo \"DELETE FROM task WHERE task_name LIKE ''RRONBOOTUPRR_SSH'';\" | sqlite3 /usr/syno/etc/esynoscheduler/esynoscheduler.db\n"
|
||||||
mkdir -p "${TMP_PATH}/mdX"
|
mkdir -p "${TMP_PATH}/mdX"
|
||||||
for I in ${DSMROOTS}; do
|
for I in ${DSMROOTS}; do
|
||||||
mount "${I}" "${TMP_PATH}/mdX"
|
mount -t ext4 "${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
|
||||||
@ -2109,7 +2109,7 @@ function removeBlockIPDB {
|
|||||||
(
|
(
|
||||||
mkdir -p "${TMP_PATH}/mdX"
|
mkdir -p "${TMP_PATH}/mdX"
|
||||||
for I in ${DSMROOTS}; do
|
for I in ${DSMROOTS}; do
|
||||||
mount "${I}" "${TMP_PATH}/mdX"
|
mount -t ext4 "${I}" "${TMP_PATH}/mdX"
|
||||||
[ $? -ne 0 ] && continue
|
[ $? -ne 0 ] && continue
|
||||||
[ -f "${TMP_PATH}/mdX/etc/synoautoblock.db" ] && rm -f "${TMP_PATH}/mdX/etc/synoautoblock.db"
|
[ -f "${TMP_PATH}/mdX/etc/synoautoblock.db" ] && rm -f "${TMP_PATH}/mdX/etc/synoautoblock.db"
|
||||||
sync
|
sync
|
||||||
|
Loading…
x
Reference in New Issue
Block a user