Ubuntu 14.10 초기화 스크립트: 쉘 함수 "clean_all"을 어디에서 찾을 수 있나요?

Ubuntu 14.10 초기화 스크립트: 쉘 함수 "clean_all"을 어디에서 찾을 수 있나요?

방금 우분투 14.10을 설치했습니다. 데스크탑에서 제가 가장 좋아하는 점 중 하나는 /tmp를 지우지 않는다는 것입니다. 14.10에서 동일한 작업을 수행하려고 합니다. 부팅 시 /tmp가 지워지는 것을 방지하는 것입니다.

시작 스크립트( /etc/init.d/mountall-bootclean.sh) 중 하나에서 "clean_all"이 호출되어 /tmp를 지웁니다. 이제 나는 그것이 정의된 위치를 찾을 수 없습니다.

 % sudo grep -r -w -l clean_all /etc
 /etc/init.d/mountall-bootclean.sh
 /etc/init.d/checkroot-bootclean.sh
 /etc/init.d/mountnfs-bootclean.sh

그 중 하나를 살펴보겠습니다 /etc/init.d/mountall-bootclean.sh. 그것은 다음으로 시작됩니다:

. /lib/lsb/init-functions

. /lib/init/bootclean.sh

둘 다 그것을 정의하지 않습니다. 좌절감을 느끼고 SSD를 장착하여 다음을 시도했습니다.

sudo find /bin /boot /etc /lib* /sbin /usr /var -type f -print0 | xargs -0 -s 4096 sudo grep -s -w -l clean_all

결과? 다음 파일에만 존재합니다.

/etc/init.d/mountall-bootclean.sh
/etc/init.d/checkroot-bootclean.sh
/etc/init.d/mountnfs-bootclean.sh
/usr/lib/gimp/2.0/python/gimp.so
/var/log/auth.log

clean_all어디서도 정의를 찾을 수 없는 것 같기 때문에 매우 분명한 것을 놓치고 있는 것 같습니다 ! 어떤 아이디어가 있나요?

추신: 확인해 보니 이것도 파일이 아닙니다.

답변1

나는 당신이 보고 있는 이 스크립트가 어떻게 작동하는지 전혀 확신하지 못합니다. 그것들을 살펴본 후에는 clean_all 함수가 없기 때문에 전혀 작동하지 않는 것 같습니다. 어쩌면 /lib/init/bootclean.sh에 있어야 할 수도 있지만 해당 파일이 내 14.10에 존재하지 않습니다.

당신이 찾아야 할 것은갑자기 나타나다재부팅할 때마다 /tmp를 지우면 작동합니다.

 /etc/init/mounted-tmp.conf

시작 시 호출됨:

# mounted-tmp - Clean /tmp directory
#
# Cleans up the /tmp directory when it does not exist as a temporary
# filesystem.

description     "Clean /tmp directory"

start on (mounted MOUNTPOINT=/tmp) or (mounted MOUNTPOINT=/usr)
# The "/tmp" here is just a default and is overridden by the "start on"
# case above. It protects someone from running this job directly and
# having no $MOUNTPOINT defined.
env MOUNTPOINT=/tmp

[...]

관련 정보