"다시 시작"을 수행하기 전에 물어보시겠습니까?

"다시 시작"을 수행하기 전에 물어보시겠습니까?

나는 자주(매일 하루 종일) minicom 터미널 탭을 열고 Ubuntu 랩탑에서 임베디드 Linux 시스템에 대한 명령을 실행합니다. 때로는 명령을 실행해야 할 때도 있고 reboot, 때로는 인정하기 부끄럽지만 실수로 reboot잘못된 탭에서 명령을 실행했는데, 내 노트북은 아무 질문 없이 설계된 대로 정확하게 작동합니다...

Ubuntu 16.04 LTS를 사용하고 있으며 molly-guard 설치를 시도했지만 효과가 없습니다.

100번 중 99번은 문제를 일으키지 않지만 노트북을 재부팅하는 데 10분이 걸리고 reboot짜증날 정도로 자주 재부팅합니다.

내 사용자 정의 터미널 창 설정 bash 스크립트에 추가하여 다른 항목에 매핑되도록 할 수 있는 몇 가지 흑마법이 있습니까 reboot(해당 bash 세션에만 해당)?

답변1

내 노트북에 있는 ~/.bashrc파일(아니요임베디드 머신의 경우) 다음 줄을 추가합니다.

reboot() { echo  "Hey, don't do that!"; }

reboot정말로 노트북에서 실행 하고 싶다면 sudo reboot또는 를 실행하여 이를 우회 할 수 있습니다 /sbin/reboot.


또는 다음과 같이 보다 사용자 친화적으로 만들 수 있습니다.남자 0V다음을 사용하는 것이 좋습니다:

reboot () { echo 'Reboot? (y/n)' && read x && [[ "$x" == "y" ]] && /sbin/reboot; }

~/.bashrc대화형 bash 세션에서 사용할 수 있기를 원하므로 이와 같은 기능을 추가하는 것이 좋습니다 .

선택하다

molly-guard예상치 못한 종료나 재시작으로부터 시스템을 보호하도록 설계된 소프트웨어 패키지를 고려할 수도 있습니다 . 그것은 사용될 수 있습니다데비안다음을 통해 설치할 수 있습니다.

apt-get install molly-guard

답변2

글쎄, 몇 가지 노력 끝에 좋은 해결책을 찾았습니다.

/usr/sbin/에 "reboot"라는 bash 파일을 만들고 전체 경로 /usr/sbin/reboot를 $PATH 앞에 추가했습니다.

스크립트는 다음과 같습니다.

read -p "Are you sure? " -n 1 -r
echo    
if [[ $REPLY =~ ^[Yy]$ ]]
then
    /sbin/reboot
fi

어쩌면 최선의 해결책은 아닐 수도 있습니다 ...

관련 정보