루트 파티션을 기반으로 마운트할 파티션을 동적으로 선택

루트 파티션을 기반으로 마운트할 파티션을 동적으로 선택

운영 체제가 설치된 두 개의 읽기 전용 루트 파티션(예: roota 및 rootb)이 있습니다. 이것은 시스템을 업데이트한 후 라운드 로빈 방식으로 부팅하도록 이러한 파티션을 선택하는 기본 A/B 파티션 업데이트 시나리오입니다.

부팅한 파티션을 기반으로 마운트하려는 두 개의 다른 파티션(예: data1 및 data2)이 있습니다.

따라서 시나리오는 다음과 같습니다.

roota에서 부팅하면 data1이 자동으로 설치됩니다. 업데이트된 이미지를 rootb에 기록하여 시스템을 업데이트했습니다. rootb에서 시작하면 data2가 자동으로 마운트됩니다. 시스템을 다시 업데이트하고, 업데이트된 이미지를 roota에 썼으며, roota에서 부팅하고 data1 등을 설치했습니다.

roota 및 rootb 파티션은 읽기 전용(squashfs)입니다. data1과 data2는 rw 파티션입니다. 데비안 11 불스아이에서 우아한 방식으로 이 동작을 달성하려면 어떻게 해야 합니까?

답변1

구성이 무엇인지 확실하지 않지만 스크립트는 기본적으로 다음과 같습니다.

#! /bin/bash

default=/dev/partition1
root=`mount | grep -w / | awk '{print $1}'` # verify this works for you
test "$root" = "partitionB" && default=/dev/partition2
mount $default /mnt/somewhere

관련 정보