systemd를 사용하여 Linux에서 부팅 시 스크립트 실행

2750 단어 systemdbeginnerslinux

소개



이 기사에서는 부팅 시 스크립트를 자동 실행하도록 Linux 컴퓨터를 구성합니다. 이 기사의 목적을 위해 systemd 서비스를 사용할 것입니다.

그런데 저는 Arch Linux를 사용하므로 다른 배포판을 사용하여 차이점이 있으면 주저하지 말고 의견을 남겨주세요.



시스템이란 무엇인가



systemd는 Linux 시스템을 위한 기본 빌딩 블록 모음입니다. PID로 실행되고 나머지 시스템을 시작하는 시스템 및 서비스 관리자를 제공합니다. systemd는 공격적인 병렬화 기능을 제공하고 서비스 시작을 위해 소켓 및 D-Bus 활성화를 사용하고 프로세스를 추적하는 등의 작업을 수행합니다.

systemdhere에서 자세한 내용을 읽을 수 있습니다.

systemd를 검사하고 제어하는 ​​데 사용되는 주요 명령은 systemctl 입니다.

단계


  • 먼저 /usr/local/sbin에 Bash 스크립트를 생성합니다. 예를 들어 [notifyRemote.sh](http://notifyRemote.sh) 부팅되면 원격 시스템에 알리는 것입니다.

  • 다음 명령을 실행하여 파일을 실행 가능하게 만듭니다.

    sudo chmod +x /usr/local/sbin/notifyRemote.sh
    

  • systemd 서비스를 정의하기 위해 startup.service/etc/systemd/system/라는 단위 파일을 만듭니다. 이러한 파일을 변경하거나 생성하려면 루트 액세스( sudo )가 필요합니다.

  • 다음 명령을 실행하여 파일을 실행 가능하게 만듭니다.

    sudo chmod +x /etc/systemd/system/startup.service
    

  • /etc/systemd/system/startup.service에서 아래와 같이 파일에 붙여넣습니다.

    [Unit]
    Description=My Startup
    
    [Service]
    ExecStart=/usr/local/sbin/notifyRemote.sh
    
    [Install]
    WantedBy=multi.user.target
    

  • ExecStart는 서비스가 시작될 때 실행될 Bash 프로그램을 가리키기 때문에 여기에서 가장 중요한 키입니다.
  • 스크립트가 실행되는지 확인하기 위해 sudo systemctl start startup.service를 실행하여 서비스를 테스트할 수 있습니다
  • .

  • 이제 부팅 시 서비스를 실행하려면 다음 명령을 실행합니다.

    sudo systemctl enable startup.service
    


  • 결론



    이제 Linux 시스템을 시작할 때마다 자동으로 실행되는 스크립트를 성공적으로 생성해야 합니다.

    자세한 내용은 systemd man page에 문의하십시오.

    도움이 되었기를 바랍니다. 도움이 되셨다면 좋아요, 댓글, 공유를 남겨주세요. buying me a coffee도 고려해 보세요.

    좋은 웹페이지 즐겨찾기