부팅 시 이 서비스가 시작되지 않도록 하는 방법

부팅 시 이 서비스가 시작되지 않도록 하는 방법

이 질문은 시작 시 서비스를 제거하는 방법을 묻고 있기 때문에 가능한 후보 질문과 다릅니다.

나는Seeed ReSpeaker 코어 v2.0판자. UART 인터페이스를 사용하여 이 보드가 다른 보드와 통신하도록 하고 싶습니다. 그러나 UART 포트 /dev/ttyS2는 콘솔에 연결되어 있습니다. 부팅 시 시작되지 않도록 비활성화하려는 마더보드에 연결된 서비스를 식별했습니다.

userk@glutamate:~$ sudo systemctl status | grep ttyS2
           │ │ ├─[email protected]
           │ │ │ └─1078 /sbin/agetty --keep-baud 115200,38400,9600 ttyS2 vt220
               │ ├─1093 grep ttyS2

공식 페이지에는 부트로더와 관련된 정보가 없습니다. 이미 하나 물어봤어질문그들의 포럼에서.

편집 0

서비스가 정적으로 활성화되었습니다.

userk@glutamate:~$ systemctl list-dependencies --reverse serial-getty@ttyS2
[email protected]
● └─getty.target
●   └─multi-user.target
●     └─graphical.target

중지하고 비활성화하면 상황이 괜찮아 보입니다.

userk@glutamate:~$ sudo systemctl stop [email protected] 
userk@glutamate:~$ sudo systemctl disable [email protected] 
userk@glutamate:~$ sudo systemctl status | grep ttyS2
               │ ├─1135 grep ttyS2

하지만 시스템을 다시 시작하면 다시 나타났습니다.

편집 1

  • 저는 데비안 9(확장)을 사용하고 있습니다. SeedStudio에서 제작한 이미지를 사용했습니다.
  • 이 서비스와 관련하여 또 다른 질문을 했습니다.여기. @JdeBP가 그의 답변에서 말했듯이

이를 구동하는 기본 구성 항목은 부트로더를 통해 명령줄에서 커널에 제공되는 콘솔 설정입니다. 시작할 직렬 콘솔 서비스를 생성기에 알려줍니다. 커널 콘솔 출력을 보낼 위치를 커널에 알려줍니다. /dev/console 출력을 보낼 위치를 커널에 알려줍니다. 직렬 장치를 콘솔로 사용하지 않으려면 조정이 필요합니다.

편집 2

못찾 겠어요[이메일 보호됨]/lib/systemd/system 폴더에 있습니다. 나는 사용하고 있습니다.grep -rl [email protected] /lib/systemd/system

답변1

다음과 같은편집 2, 이 답변은 오래되었습니다.


이와 같은 구성을 작성해서는 안 됩니다 /lib/. 귀하(또는 다른 관리자)가 실수로 구성을 만들었기 때문에 더 이상 복잡한 문제가 발생하지 않기를 바랍니다. 이 경우 복원할 수 있습니다.

rm /lib/systemd/system/getty.target.wants/[email protected]

그런 다음 다시 시작할 수 있습니다. (또는 실행 systemctl daemon-reload한 후 서비스가 제대로 비활성화되었는지 다시 확인하세요.)

파일을 삭제하기 전에 패키지가 원치 않는 링크를 제공하지 않는지 다시 한 번 확인할 수 있습니다.

dpkg-query -S /lib/systemd/system/getty.target.wants/[email protected]

실제로는 심볼릭 링크입니다.

ls -l /lib/systemd/system/getty.target.wants/[email protected]

관리자가 부적절하게 배치한 다른 파일도 확인할 수 있습니다. 데비안 패키지를 설치 cruft하고 cruft -d "/lib/systemd/system".

답변2

0.소개[이메일 보호됨]

$ sudo systemctl status [email protected][email protected] - Serial Getty on ttyS0
     Loaded: loaded (/lib/systemd/system/[email protected]; enabled-runtime; vendor preset: enabled)
     Active: active (running) since Wed 2022-06-08 02:20:07 CST; 2min 7s ago
       Docs: man:agetty(8)
             man:systemd-getty-generator(8)
             http://0pointer.de/blog/projects/serial-console.html
   Main PID: 420 (agetty)
      Tasks: 1 (limit: 4336)
        CPU: 12ms
     CGroup: /system.slice/system-serial\x2dgetty.slice/[email protected]
             └─420 /sbin/agetty -o -p -- \u --keep-baud 115200,57600,38400,9600 ttyS0 vt220

1. systemd-getty-generator 정보

man systemd-getty-generator
https://man.archlinux.org/man/systemd-getty-generator.8.en

이러한 사항은 시스템이 시작될 때마다 및  생성기(및 활성화된) 인스턴스 console=에서 구문 분석됩니다 ./proc/cmdline
serial-getty@[email protected]


2. 잊혀지지 않는 일을 멈추세요

A. systemd-getty-generator 비활성화

sudo chmod -x /lib/systemd/system-generators/systemd-getty-generator

이 폴터가이스트를 멈춰라



또는

B. 부트로더에서 커널 명령줄 변경

console=ttyS0뭔가 삭제

cat /proc/cmdline확인하다

관련 정보