resolv.conf - 읽기 전용 파일 시스템

resolv.conf - 읽기 전용 파일 시스템

읽기 전용으로 실행되도록 raspbian jessie를 구성하고 있습니다. 쓰기 만 가능 /tmp하며 시스템은 에 DHCP IP 정보를 쓰도록 구성되어 있습니다 /tmp.

를 제외한 모든 것이 잘 작동합니다 /etc/resolv.conf. 시작하는 동안 업데이트되지 않습니다.

심볼릭 링크를 사용해 보았습니다. rm /etc/resolv.conf touch /tmp/resolv.conf ln -s /tmp/resolv.conf /etc/resolv.conf

하지만 /tmp재부팅 후 지워졌 기 때문에 /tmp/resolve.conf존재하지 않기 때문에 업데이트할 수 없습니다.

그래서 시작하는 동안 파일을 만들어 보았습니다.

touch /tmp/resolv.conf존재하다/etc/rc.local

이 파일은 DNS 항목이 없기 때문에 dhclient가 실행된 후에 생성됩니다. 시스템 시작 후 dhclient를 실행하면 DNS 서버가 파일에 성공적으로 기록됩니다.

resolv.conf읽기 전용 파일 시스템에서 작업하는 방법은 무엇입니까 ?

답변1

dhclient-script 매뉴얼 페이지에서,

연결하다

시작 시 클라이언트 스크립트는 먼저 나중에 /etc/resolv.conf 파일을 생성하는 데 사용되는 쉘 함수 make_resolv_conf를 정의합니다. 기본 동작을 재정의하려면 Enter 후크 스크립트에서 이 함수를 재정의하세요.

make_resolv_conf 함수를 정의한 후 클라이언트 스크립트는 실행 가능한 /etc/dhcp/dhclient-enter-hooks 스크립트가 있는지 확인하고, 있으면 Bourne 쉘 '.'을 사용하여 인라인 스크립트를 호출합니다. 주문하다. OPERATION 아래에 기록된 전체 환경은 이 스크립트에서 사용할 수 있으며 스크립트의 동작을 변경해야 하는 경우 환경을 수정할 수 있습니다. 스크립트 실행 중에 오류가 발생하는 경우, exit_status 변수를 0이 아닌 값으로 설정할 수 있으며 /sbin/dhclient-script는 클라이언트 스크립트가 종료된 후 즉시 해당 오류 코드와 함께 종료됩니다.

/etc/dhcp/dhclient-enter-hooks따라서 항목을 편집 및 추가하고, /tmp/resolv.conf항목이 없으면 올바른 권한으로 생성하고, 필요한 경우 심볼릭 링크를 삭제하고 다시 생성할 수 있어야 합니다 .

Debian을 확인하면 스크립트 조각이 있는 디렉터리가 있는 것 같으 dhclient-enter-hooks.d므로 dhclient 배포/버전(이 경우 Raspbian)에 따라 거기에 뭔가를 추가할 수 있을 것입니다.

답변2

확인하다https://wiki.debian.org/ReadonlyRoot#resolv.conf. 사용하는 것이 좋습니다구성 파일 구문 분석팩. 이미 소프트웨어를 조작해 봤기 때문에 작동하려면 약간의 수정이 필요할 수 있지만 이는 이 문제와 다른 문제에 대한 신중한 해결책입니다.

답변3

이게 해냈어

rm /etc/resolv.conf ln -s /tmp/resolv.conf /etc/resolv.conf sed -i 's/\/etc\/resolv.conf/\/tmp\/resolv.conf/g' /sbin/dhclient-script

관련 정보