Linux 시스템에서 컨테이너 서비스가 실행되고 있는지 확인하는 명령이 있습니까? 누군가 제안했지만 unshare
이것이 최선의 접근 방식인지는 확실하지 않습니다.
답변1
업데이트: 귀하의 질문을 다시 읽은 후 답변이 약간 다르다는 것을 깨달았습니다. 서비스가 실행되고 있는지 알고 싶어서 원래 패키지가 설치되었는지 확인하는 방법에 대해 답변했습니다. 실제 질문에 대답하려면 초기화 시스템에 따라 다릅니다.
systemd - 기본 명령은
systemctl
모든 서비스와 해당 상태를 나열하므로 수동으로 찾아보거나grep
다음과 같은 명령을 통해 파이프 할 수 있습니다systemctl | grep -e cgmanager -e cgproxy -e cgroupfs-mount
. 또는 사용자 muru가 의견에서 제안한 대로 간단히systemctl status 'cg*'
.sysVinit - 기본 명령은
service --status-all
, grep 명령은 입니다service --status-all 2>&1 | grep -e cgmanager -e cgproxy -e cgroupfs-mount
. 이 경우 실행 중인 서비스는 접두사 표기법으로 표시됩니다[+]
. 또한 grep이 올바르게 작동하려면2>&1
명령을 리디렉션해야 합니다service
.
원래 답변:
아마도 가장 쉬운 일은 시도하는 것입니다
man cgroups
. 설명서 페이지가 나타나면 호스트에 이미 패키지가 설치된 것입니다. 그러나 일부 설치는 "인색"하여man
페이지를 설치하지 않습니다.시도해
cgm
보고 출력이 생성되는지 확인할 수 있습니다. 대부분의 설치에는cgroups
이 명령이 포함되지만 반드시 그런 것은 아닙니다.호스트 배포판에 대한 패키지 목록을 찾을 수 있습니다. Debian 파생 제품에서는 가 되지만
dpkg -l |grep cgroup
때때로 시스템이root
또는 에 대한sudo
액세스를 제한합니다dpkg
.
다른 방법도 많이 있을 것입니다.
답변2
다음 명령을 사용하여 커널 구성에서 어떤 cgroup 기능이 활성화되어 있는지 확인할 수 있습니다:
# zcat /proc/config.gz | grep CGROUP
CONFIG_CGROUPS=y
CONFIG_BLK_CGROUP=y
# CONFIG_DEBUG_BLK_CGROUP is not set
CONFIG_CGROUP_WRITEBACK=y
CONFIG_CGROUP_SCHED=y
CONFIG_CGROUP_PIDS=y
# CONFIG_CGROUP_RDMA is not set
# CONFIG_CGROUP_FREEZER is not set
CONFIG_CGROUP_HUGETLB=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_CGROUP_PERF=y
# CONFIG_CGROUP_DEBUG is not set
# CONFIG_SOCK_CGROUP_DATA is not set
# CONFIG_NETFILTER_XT_MATCH_CGROUP is not set
# CONFIG_CGROUP_NET_PRIO is not set
# CONFIG_CGROUP_NET_CLASSID is not set
(참고: /proc/config.gz
보여주기 위해
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
설정 필요)