데비안에는 왜 장치 단위 파일이 없나요?

데비안에는 왜 장치 단위 파일이 없나요?

나는 systemd를 읽고 장치 단위 파일을 탐색했습니다.

매뉴얼 페이지에 따르면:

systemdudev장치 단위는 "systemd" 태그가 지정된 모든 커널 장치 (기본적으로 모든 블록 및 네트워크 장치 및 일부 기타 장치) 에 대해 동적으로 생성됩니다 . 이는 장치와 다른 장치 간의 종속성을 정의하는 데 사용할 수 있습니다. udev장치에 태그를 지정하려면 규칙 파일에서 "TAG+="systemd""를 사용하세요. 리소스를 udev참조하세요 udev(7).

/lib/systemd/system나는 데비안 위키(Debian Wiki)에 명시된 대로 찾아보았습니다 :

데비안에서 제공하는 유닛 파일은 /lib/systemd/system 디렉터리에 있습니다.

그러나 이것들은 어디에도 없습니다.

하지만

~$ sudo systemctl list-units --type=device

장치 단위(예: 디스크, 사운드 카드, 이더넷 컨트롤러 등)를 표시할지 여부

데비안에서 장치 단위 파일을 어디서 찾을 수 있는지 알고 싶습니다. 아니면 이것이 존재하지 않는다면 왜 존재하지 않으며 systemd는 데비안에서 이러한 유닛을 어떻게 처리합니까?

모든 설명/의견/통찰력을 높이 평가하겠습니다.

답변1

그 대답은 당신이 인용한 첫 문장에 있습니다. "systemd는 장치 단위를 동적으로 생성합니다". 단순히 "시작"이 아니라 "만들기"라고 되어 있습니다. udev 데몬과 통합하면 커널이 udev에 새 장치에 대해 알리면 .device 장치가 즉시 합성됩니다. (마찬가지로 장치가 사라지면 .device 단위도 소멸됩니다.)

이는 유닛 파일이 아니라 동적으로 생성된 유닛 자체입니다(따라서 systemd 내의 메모리에만 존재함). 따라서 이는 기본적으로 동적으로 생성된 .scope 단위 또는 임시 .service 단위(생성기를 기반으로 생성된 .mount 단위 파일과 달리 /etc/fstab) 와 동일한 메커니즘입니다 .

따라서 디스크 어디에도 유닛 파일이 없습니다. systemctl status some.device유닛 파일을 참조 systemctl show some.device하지도 않고 FragmentPath.

관련 정보