Documentation/admin-guide/aoe/autoload.sh GitHub 원문 ↗

Linux 6.18.37 · Admin guide

AoE 모듈 자동 로드 설정 스크립트

AoE 장치 major 번호 152의 블록·문자 장치 별칭을 modprobe 설정에 추가하여 `aoe` 모듈 자동 로드를 구성합니다.

Source pathDocumentation/admin-guide/aoe/autoload.sh
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설, 영어 원문, 전체 번역을 구분해 실었습니다. API 이름, 코드 심벌, 소스 경로는 원문 표기를 유지합니다.

1. 요약·해설

원문의 핵심 내용을 정리하고 커널 프로그래밍에 필요한 설명을 덧붙였습니다. 아래의 전체 번역과는 별도로 작성한 해설입니다.

요약·해설

autoload.sh:1-17

AoE 장치 major 번호 152의 블록·문자 장치 별칭을 modprobe 설정에 추가하여 `aoe` 모듈 자동 로드를 구성합니다.

2. 영어 원문 전체

번역에 사용한 Linux v6.18.37 원문입니다. 줄 번호는 해당 버전의 소스 파일을 기준으로 합니다.

원문 전체 펼치기
1 #!/bin/sh
2 # set aoe to autoload by installing the
3 # aliases in /etc/modprobe.d/
4
5 f=/etc/modprobe.d/aoe.conf
6
7 if test ! -r $f || test ! -w $f; then
8 echo "cannot configure $f for module autoloading" 1>&2
9 exit 1
10 fi
11
12 grep major-152 $f >/dev/null
13 if [ $? = 1 ]; then
14 echo alias block-major-152 aoe >> $f
15 echo alias char-major-152 aoe >> $f
16 fi
17
18

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미에 맞춰 전체 내용을 번역했습니다. 코드, 함수명, 코드 심벌, URL은 원문 표기를 유지합니다.

목적과 실행 환경

1-4

이 파일은 `/bin/sh`로 실행하는 셸 스크립트입니다. `/etc/modprobe.d/`에 AoE 모듈 별칭을 설치하여 블록 또는 문자 장치의 major 번호 152가 요청될 때 `aoe` 모듈이 자동으로 로드되게 합니다.

#!/bin/sh
# set aoe to autoload by installing the
# aliases in /etc/modprobe.d/

설정 파일 접근 검사

5-10

변수 `f`를 `/etc/modprobe.d/aoe.conf`로 설정합니다. 해당 파일을 읽을 수 없거나 쓸 수 없으면 표준 오류에 자동 로드 설정이 불가능하다는 메시지를 출력하고 종료 상태 1로 끝냅니다. 따라서 이 스크립트는 설정 파일이 이미 존재하고 실행 사용자에게 읽기·쓰기 권한이 있다는 전제에서 동작합니다.

설정 파일 사전 검사
/etc/modprobe.d/aoe.conf읽기 가능 여부 검사쓰기 가능 여부 검사둘 다 가능별칭 검사로 진행
읽기 또는 쓰기 불가표준 오류 메시지exit 1

두 권한 중 하나라도 없으면 파일을 변경하지 않고 오류로 종료합니다.

f=/etc/modprobe.d/aoe.conf

if test ! -r $f || test ! -w $f; then
        echo "cannot configure $f for module autoloading" 1>&2
        exit 1
fi

major 152 별칭 추가

11-17

`grep major-152 $f`의 출력은 `/dev/null`로 버리고 종료 상태만 확인합니다. 종료 상태가 1, 즉 `major-152` 문자열을 찾지 못한 경우 `block-major-152`와 `char-major-152`가 모두 `aoe` 모듈을 가리키도록 두 alias 줄을 설정 파일 끝에 추가합니다. 이미 문자열이 있으면 아무 줄도 추가하지 않습니다.

추가되는 modprobe 별칭
장치 종류alias 이름대상 모듈
블록 장치block-major-152aoe
문자 장치char-major-152aoe

장치 종류별 major 152 요청을 같은 AoE 모듈에 연결합니다.


grep major-152 $f >/dev/null
if [ $? = 1 ]; then
        echo alias block-major-152 aoe >> $f
        echo alias char-major-152 aoe >> $f
fi