Debian Wheezy에서 initramfs의 /etc에 파일을 추가합니다.

Debian Wheezy에서 initramfs의 /etc에 파일을 추가합니다.

/etc/initramfs-tools/etc/motdinitramfs 환경의 /etc에서 사용할 수 있도록 이 파일을 추가했습니다 . 그러나 그것은 나타나지 않았습니다. 이번이 두 번째 시도입니다. 파일에 사용 가능한 모든 권한을 부여했습니다(600도 사용했습니다).

root@cow:~# ls -l /etc/initramfs-tools/etc/
total 8
drwx------ 2 root root 4096 Sep 19 00:57 dropbear
-rwxrwxrwx 1 root root  117 Sep 29 15:32 motd

그 후 sudo update-initramfs -uinitramfs 환경으로 부팅하고 Dropbear를 통해 SSH를 통해 로그인했지만 파일은 여전히 ​​존재하지 않았습니다.

~ # ls -l /etc
total 20
-rw-------    1 root     0             4077 Sep 29 13:44 boottime.kmap.gz
drwx------    2 root     0                0 Sep 29 13:44 dropbear
-rw-r--r--    1 root     0             1991 Sep 29 13:44 ld.so.cache
-rw-r--r--    1 root     0               34 Sep 18 17:24 ld.so.conf
drwxr-xr-x    2 root     0                0 Sep 18 17:25 ld.so.conf.d
drwx------    2 root     0                0 Sep 29 13:44 lvm
drwx------    2 root     0                0 Sep 29 13:44 mdadm
drwx------    2 root     0                0 Sep 29 13:44 modprobe.d
-rw-------    1 root     0               15 Sep 29 13:44 nsswitch.conf
-rw-------    1 root     0               30 Sep 29 13:44 passwd
drwx------    2 root     0                0 Sep 29 13:44 udev

어떻게 추가해야 하나요? 위의 방법이 왜 작동하지 않습니까?

답변1

기본 파일을 잘못된 위치에 넣었습니다. initramfs 후크를 사용하고 싶습니다.

아래를 살펴보면 /usr/share/initramfs-tools/hooks예제가 표시되지만 간단히 말해서 다음을 수행하고 싶습니다.

  #!/bin/sh

  PREREQ=""

  prereqs()
  {
          echo "$PREREQ"
  }

  case $1 in
  # get pre-requisites
  prereqs)
          prereqs
          exit 0
          ;;
  esac

  . /usr/share/initramfs-tools/hook-functions
  mkdir -p ${DESTDIR}/etc/motd || true
  cp -pnL /etc/motd ${DESTDIR}/etc/motd
  chmod 644 ${DESTDIR}/etc/motd

도움이 되길 바랍니다.

후크 스크립트는 실행 가능해야 한다는 점을 기억하세요.

고쳐 쓰다:또한 시스템이 부팅되면 initramfs 환경이 루트 파일 시스템으로 대체되었을 가능성이 높다는 점을 명심하세요. 그러나 cpio예를 들어 initramfs 이미지에 포함된 내용을 확인할 수 있어야 합니다 .

관련 정보