커널 3.2.0-0.bpo.3-amd64에서 실행되는 Debian squeeze 설치의 부팅 프로세스를 정리하면서 /etc/init.d/에서 여러 mountnfs 스크립트를 발견했습니다:
# ls /etc/init.d/ | grep mountnfs
mountnfs-bootclean.sh
mountnfs.sh
umountnfs.sh
삭제에 실패했습니다. 다음 명령어를 사용하세요.
# update-rc.d -f mountnfs remove
update-rc.d: using dependency based boot sequencing
을 위한"NFS 마운트", umountnfs, mountnfs-bootclean, nfs, nfs-common도 시도했습니다.
업데이트 #1 또한 시도했지만 성공하지 못했습니다: umountnfs.sh, mountnfs.sh.
결과적으로 mountnfs-bootclean, mountnfs 및 unmountnfs.sh는 여전히 /etc/init.d/ 및 해당 실행 수준 폴더에 있습니다.
단순히 이러한 파일을 삭제하는 것은 rm
올바른 접근 방식이 아닌 것 같습니다. 나는 이 init.d 파일이 설치된 패키지에 속한다고 생각합니다. 하지만 설치된 NFS 패키지를 찾을 수 없습니다.
# dpkg --get-selections | grep nfs
libnfsidmap2 install
init.d에서 모든 mountNFS 스크립트를 올바르게 제거하는 방법은 무엇입니까?
답변1
파일이 속한 패키지를 확인하려면 다음을 사용하십시오 dpkg -S
.
$ dpkg -S /etc/init.d/mountnfs.sh
initscripts: /etc/init.d/mountnfs.sh
mountnfs.sh 에 속함기초적인initscripts라는 패키지입니다.
스크립트를 직접 작성하지 않는 한 /etc/init.d/에서 스크립트를 제거해서는 안 됩니다. 이것이 update-rc.d 유틸리티가 존재하는 이유입니다./etc/rc*.d/더 간단한 방법으로 디렉토리.
update-rc.d에서는 이름으로 스크립트를 호출해야 하며 종속성으로 인해 다음 순서로 비활성화하면 작동합니다.
update-rc.d mountnfs-bootclean.sh remove ### mountnfs-bootclean.sh first
update-rc.d mountnfs.sh remove
update-rc.d umountnfs.sh remove
그러나 지난 달에 시도했는데 시스템이 손상되었습니다(제 기억으로는 X를 시작할 수 없습니다). 문제는 mountnfs-bootclean.sh
이름에서 암시되지는 않지만 필요한 시스템 정리를 수행한다는 것입니다 mountnfs.sh
. 따라서 비활성화할 수도 없습니다.
이것이 데비안 초기화 스크립트의 버그라고 생각할 수도 있습니다. 네트워크 파일 시스템 없이 초기화 스크립트를 사용해야 합니다. 나는 이것이 성가시다는 것을 안다.
삭제를 고집하고 변경 사항을 되돌려야 하는 경우 먼저 활성화 mountnfs-bootclean.sh
해야 하므로 역순으로 다시 활성화해야 합니다 mountnfs.sh
.
update-rc.d umountnfs.sh defaults
update-rc.d mountnfs.sh defaults
update-rc.d mountnfs-bootclean.sh defaults ### mountnfs-bootclean.sh last