/init를 실행할 수 없습니다(오류 -13). '/etc/init.d/rcS'를 실행할 수 없습니다. 해당 파일이나 디렉터리가 없습니다.

/init를 실행할 수 없습니다(오류 -13). '/etc/init.d/rcS'를 실행할 수 없습니다. 해당 파일이나 디렉터리가 없습니다.

어젯밤에 아치가 부러졌습니다. 이제 시작하려고 하면 다음과 같이 표시됩니다.

[0.595364] Failed to execute /init (error -13)
: can't log to /dev/tty5
starting pid 131, tty '': '/etc/init.d/rcS'
: can't log to /dev/tty5
can't run '/etc/init.d/rcS': No such file or directory

Please press Enter to activate this console. : can't log to /dev/tty5
: can't log to /dev/tty5
: can't log to /dev/tty5
can't open /dev/tty4: No such file or directory
can't open /dev/tty3: No such file or directory
can't open /dev/tty2: No such file or directory
: can't log to /dev/tty5
process '-/bin/sh' (pid 133) exited. Scheduling for restart.
: can't log to /dev/tty5
process '-/bin/sh' (pid 134) exited. Scheduling for restart.
: can't log to /dev/tty5
process '-/bin/sh' (pid 135) exited. Scheduling for restart.
...

Enter를 눌러주세요 이후의 메시지가 너무 빨리 반복되어(다소) 직접 읽을 수 없어서 사진을 찍어 수동으로 메시지를 썼습니다.

Enter 키를 여러 번 눌러도 성공하지 못했습니다. Ctrl + Alt + Del을 누르거나 tty7, tty6 또는 tty1로 전환하려고 하면 아무 일도 일어나지 않습니다.

처음에 왜 tty5에 대해 불평하는지 모르겠습니다.

내가 전에 했던 일:

AUR에서 android-studio를 설치했습니다( android-studio 사용 git clone) makepkg -si.

업데이트했습니다 pacman -Syu(실제로 언제 업데이트했는지 100% 확신할 수는 없습니다).

Android 스튜디오는 Android SDK와 같은 것을 설치하려고 합니다. 공간이 충분하다고 주장합니다. 표시된 정확한 숫자는 기억나지 않지만 표시된 여유 공간이 실제일 수 없다고 확신하여 미리 데이터 파티션에서 35GB 정도를 정리했습니다(SDK를 설치해야 한다고 명시적으로 말했습니다). 프로세스는 공간 부족을 나타내는 여러 오류 메시지와 함께 종료됩니다. 데이터 파티션에 확보한 35GB의 공간을 거의 사용하지 않고 대신 시스템 파티션(1~2GB 미만의 여유 공간이 있음)에 설치하려고 하는 것 같습니다.

Android 스튜디오에서는 내 컴퓨터가 Android 에뮬레이터를 가속화할 수 있다고 말하지만 실제로 KVM을 설치하려고 시도하지는 않습니다.

그래서 한 번 설치를 시도했지만 실제로 사용하지 않은 일부 AUR 패키지(약 3개)를 제거하여 시스템 파티션에서 일부 공간을 확보하려고 했습니다. 설치에 실패했거나 올바르게 구성하지 않았기 때문입니다. 필요한 것과 다름) 처음 실행한 다음 pacman -Rs(대부분의 경우 먼저 설치하지 않았기 때문에 실패함) rm -rf패키지 중 하나는 cdm(로그인 관리자)이지만 그것을 제거했을 때 나는 ly를 사용하고 있다고 확신했습니다.

그 이후로 나는 다음을 시도했습니다.

업데이트하기 전에 읽어야 할 내용을 읽었습니다. https://www.archlinux.org/news/ 그러나 마지막 업데이트 이후 새로운 것은 없습니다.

아치 시스템 파티션이 완전히 채워지지 않았으며 664MB가 남아 있음을 확인했습니다.

나는 arch-chroot활성 스틱에서 시스템에 들어가서 pacman -Syu무엇이 잘못되었는지 알려주기를 기대하면서 실행했지만 두 개의 새로운 패키지가 행복하게 설치되었습니다.

/etc/init.d/rcS가 존재하지 않음을 확인했습니다(전체 디렉토리 /etc/init.d가 누락됨). /etc/init.d도 Live Stick에 존재하지 않습니다. 그래서 나는 그것이 애초에 존재하지 않았다고 가정하고 있습니다. 그런데 왜 갑자기 존재하지 않는 파일을 실행하려고 하는 걸까요? 이 파일은 일반적으로 아치에서 다르게 호출된다는 내용을 어딘가에서 읽은 것 같은데 소스를 다시 찾을 수 없습니다.

대신 무엇을 해야 하며 /etc/init.d/rcS그렇게 하도록 어떻게 지시합니까? 아니면 존재하는 경우 어떻게 다시 만들 수 있나요?


편집하다:rescue및 커널 매개변수를 사용하여 시스템 부팅을 시도했지만 emergency아무런 차이가 없습니다.

init=/bin/sh커널 매개변수는 다음과 같은 오류 메시지를 제공합니다.

[   3.058545] Failed to execute /init (error -13)
/bin/sh : can't access tty; job control turned off

답변1

나는 에서 답을 찾았습니다 /var/log/pacman.log. mkinitcpio를 업데이트하려고 하면 "장치에 남은 공간이 없습니다"라는 줄이 많이 나타납니다.

  1. 그래서 Live Stick을 부팅하고 로컬 SSD의 아치 시스템에 아치 루트로 설정했습니다.

    # loadkeys ...  # change keyboard layout if needed
    # mount /dev/sda1 /mnt
    # arch-chroot /mnt
    
  2. android-studio 설치 중에 생성되어 더 이상 필요하지 않은 파일(약 5GB)을 제거했습니다.

  3. 다시 설치mkinitcpio:

    # pacman -Sy mkinitcpio
    
  4. exit, poweroff내 아치 시스템으로 부팅

이제 다시 실행 중입니다.

관련 정보