"/etc/rc.local 호환성을 위해 시작 작업이 실행 중입니다.": 해결 방법은 무엇입니까?

"/etc/rc.local 호환성을 위해 시작 작업이 실행 중입니다.": 해결 방법은 무엇입니까?

오늘 방금 Ubuntu Vivid(15.04)로 업그레이드했는데 다시 시작한 후 부팅 프로세스가 매우 길어졌습니다. 내 노트북은 보통 5초 이내에 부팅되는데 이제는 몇 분이 지나도 완료되지 않았습니다.

누르면 Esc다음 화면이 나옵니다.

여기에 이미지 설명을 입력하세요

마지막 줄에는 "/etc/rc.local 호환성을 위해 시작 작업이 실행 중입니다(7분 24초 / 제한 없음)"라고 표시되어 있습니다. "제한 없음" 부분에도 불구하고 정확히 10분 후에 포기(또는 완료?) 했고 부팅 프로세스가 완료되었습니다.

이것은 부팅할 때마다 발생합니다.

systemd로의 전환과 관련이 있을까요? 이 문제를 어떻게 해결할 수 있나요? (지금은 노트북을 종료하기 전에 두 번 생각합니다.) 버그를 신고해야 하나요? 그렇다면 어디에서?

/etc/rc.local파일:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
fstrim -v /
fstrim -v /home
exit 0

파일은 실행 가능합니다.

$ ls -l /etc/rc.local
-rwxr-xr-x 1 root root 333 aug 14  2013 /etc/rc.local

fstrim거의 2년 전 SSD를 설치할 때 다음 지침에 따라 2줄을 추가했습니다.쉬운 리눅스 팁 프로젝트.

분명히 이것이 내 문제의 원인이지만(제거하고 재부팅했습니다. 문제가 사라졌습니다), 그래도 시스템이 10분 동안 그렇게 멈춰서는 안 된다고 생각합니다. 또한 fstrim지금 부팅 시 어떻게 실행할 수 있나요?

답변1

에 장기 실행 명령을 넣으면 rc.local시작이 지연됩니다. 다음을 백그라운드로 보내야 합니다.

( fstrim -v /; fstrim -v /home ) &

즉, 이 작업을 직접 수행할 필요는 없을 것입니다. 우분투 14.10 추가됨매주 하는 일fstrim.

답변2

이것이 Ubuntu 15.04에서 갑자기 문제가 되는 것이 이상합니다. 반면 Ubuntu 14.04에서는 항상 잘 작동했습니다....

또한 트림 전에 절전 매개변수를 추가하여 설정된 시간(초) 후에 두 개의 트림 명령이 실행되도록 할 수도 있습니다. 이렇게 하면 부팅 프로세스가 완료되어 트림 명령이 백그라운드에서 실행됩니다.

다음과 같습니다(40초 지연).

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
sleep 40
fstrim /
fstrim /home
exit 0

그런데 이 경우에는 트림을 위한 -v(verbose) 매개변수가 백그라운드에서 실행되기 때문에 아무 소용이 없습니다. 나는 Easylinuxtips 사용법에서도 그것을 변경했습니다.

메모:저는 Ubuntu 14.04 및 Linux Mint 17.x(trim 이외의 목적으로)의 rc.local에서 이러한 절전 매개변수만 테스트했기 때문에 이것이 Ubuntu 15.04에서도 유사하게 작동할지 잘 모르겠습니다.

답변3

나는 같은 문제가 있었습니다. 기본적으로 이것은 일종의 데몬과 같이 rc.local의 무언가가 정상적으로 종료되지 않을 때 발생합니다. rc.local에서 어떤 명령이 범인인지 찾으려면 간단히 killall -9 명령/from/etc.local을 사용하고 rc.local의 모든 명령이 종료되면 재부팅됩니다.

관련 정보