이 질문은 시작 시 서비스를 제거하는 방법을 묻고 있기 때문에 가능한 후보 질문과 다릅니다.
나는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
확인하다