시스템화 된 명령 줄 옵션“--switched-root”및“--deserialize”는 무엇입니까?


17

ps내 Linux에서 상자를 수행하면 systemd명령 행 옵션 --switched-root및로 실행되는 것으로 표시 됩니다 --deserialize. 매뉴얼 페이지에는 아무것도 /usr/share/doc/systemd언급되지 않았으며 Google은 그다지 도움이되지 않았습니다. 그래서 그들은 무엇을합니까? 그것은 그것이 pivot_root--switched-root 와 관련 이 있다고 생각하지만, 그것은 단지 추측 일뿐입니다.


1
좋은 점, 여기 아치에서와 동일 : 내 프로세스 n. 1은 systemd --system --deserialize 18입니다. 다시 인간의 실마리는 없습니다.
— MariusMatutiae

답변:


18

이들은 의도적으로 문서화되지 않은 시스템 내부 부품입니다. 따라서 매우 간단합니다.

  • --deserialize의 이전 호출 것을 저장된 내부 상태를 복원하는 데 사용됩니다 systemd, exec()이 일을 보내고는, 파일에 기록했습니다. 옵션 인수는 해당 프로세스에 대한 열린 파일 디스크립터 입니다 .
  • --switched-root이 호출은 initramfs 관리systemd 에서 호출되었다는 것을 알리는 데 사용되며 , 따라서 발생하는 일부 동작을 끄는 것을 포함하여 그에 따라 동작해야합니다 .systemd--deserialize

3
좋은 대답입니다. --deserialize --switched-root로 실행하는 systemd는 본질적으로 systemit이 initramfs에서도 사용되었음을 의미합니다. 요즘은 이것이 일반적이므로 PID 2의 명령 행
— 에서이

@zbyszek 그래서 요점은 무엇입니까? 좋은 대답이라면 왜 공개적으로 노출 된 내부 부분이 systemd아직 공식 systemd문서에 포함되어 있지 않습니까? systemd우리가 보는 것을 설명하기 위해 공식 문서에 설명을 포함 시켜서는 안 systemd-cgls | grep deserialize됩니까 ( )? 벌써 2020 년입니다! Google과 SO가 실제로 공개적으로 제공되는 내부 부분을 systemd우리와 같은 미성년자에게 설명해야하는 유일한 장소 입니까?
— 티노
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.