나는 자주(매일 하루 종일) 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
어쩌면 최선의 해결책은 아닐 수도 있습니다 ...