/etc에는 많은 구성 파일이 있습니다. 이들 중 일부는 Samba와 같은 설치된 응용 프로그램에서 사용되지만 커널이 직접 찾는 구성이 있습니까? 비밀번호, 그룹, 호스트 이름 등? 그렇다면 그 중 커널에서 직접 사용되는 것은 무엇입니까?
답변1
없음: 커널은 구성 파일을 직접 읽지 않습니다. 다양한 도구가 구성 파일을 읽고 이를 커널에 설정합니다(예를 들어 sysctl
) 커널 자체는 아닙니다.
답변2
Linux 커널과 그 역할에 대한 몇 마디입니다.
커널 자체는 실제로 아무것도 하지 않습니다. 농담이 아냐. 로드하면 하드웨어 초기화를 시도한 다음 /sbin/init
루트 파일 시스템(마운트된 파일 시스템 /
)에서 실행을 시도하고 그게 전부입니다. 하지만 주의할 점이 있습니다.
커널 자체는 애플리케이션에서 사용할 API(사용자 공간 호출을 하드웨어가 처리할 수 있는 방식으로 변환)를 제공하는 대규모 알고리즘 모음입니다. 해당 애플리케이션이 해당 API를 직접 사용하지 않더라도 다음과 같은 중개인을 거칩니다. glibc(C 언어 API) 또는 Mesa(OpenGL, Vulkan API).
경고는 앞서 언급되었습니다.
커널은 iptables, nftables 등을 통해 네트워크 패킷을 처리하도록 지시받을 수 있지만 커널은 이러한 패킷을 생성하지 않고 외부에서 패킷을 수신하거나 전송을 요청한 애플리케이션을 실행한 결과로 패킷을 보냅니다. 한 가지 작은 예외는 ping입니다. 이는 커널이 작동하는 것처럼 보이지만 ping이 작동하려면 사용자 공간이 커널에 네트워크 구성 방법을 지시해야 합니다. 커널이 부팅되면 네트워크 프로토콜이 전혀 없습니다.
답변3
@Stephen Kitt는 이미 좋은 답변을 제공했지만 파일이 어떤 유틸리티/패키지에 속하는지 알고 싶다면 다음과 같이 시도해 볼 수 있습니다.
Debian 기반 deb 패키지:
find /etc/ -type f -exec dpkg -S {} \;
RedHat 기반 RPM 소프트웨어 패키지:
find /etc/ -type f exec rpm -qf {} \;
이 명령은 /etc/ 디렉터리에서 모든 파일을 찾고 각 파일이 속한 패키지에 대해 쿼리를 실행합니다. 커널(또는 linux-image) 패키지에 대한 결과는 표시되지 않습니다.