Linux 에서 sysctl 파라미터 설정 여부 확인 방법

LinuxBeginner
지금 연습하기

소개

이 랩에서는 Linux 에서 특정 sysctl 파라미터가 설정되었는지 확인하는 방법을 배우게 됩니다. 이를 위해 세 가지 방법을 살펴볼 것입니다: sysctl -a를 사용하여 모든 커널 파라미터를 나열하는 방법, /etc/sysctl.conf에서 시스템의 sysctl 설정 파일을 검사하는 방법, 그리고 /proc/sys 파일 시스템 내에서 파라미터의 값을 직접 확인하는 방법입니다. 이 랩을 마치면 Linux 시스템에서 커널 파라미터 설정을 효과적으로 검사하고 이해하는 기술을 갖추게 될 것입니다.

sysctl -a 로 sysctl 파라미터 목록 확인

이 단계에서는 sysctl 명령을 사용하여 커널 파라미터를 보고 이해하는 방법을 살펴보겠습니다. Linux 커널은 시스템 동작의 많은 측면을 관리하며, 이러한 동작은 런타임에 보고 수정할 수 있는 파라미터에 의해 제어됩니다.

sysctl 명령은 런타임에 커널 파라미터를 수정하는 데 사용됩니다. 이러한 파라미터는 일반적으로 /proc/sys/ 디렉토리에 있습니다.

사용 가능한 모든 커널 파라미터와 현재 값을 보려면 sysctl -a 명령을 사용할 수 있습니다. -a 옵션은 sysctl에게 모든 파라미터를 표시하도록 지시합니다.

터미널이 아직 열려 있지 않다면 엽니다. 데스크탑 왼쪽에서 Xfce Terminal 아이콘을 찾을 수 있습니다.

다음 명령을 입력하고 Enter 키를 누릅니다.

sysctl -a

다음과 유사한 긴 출력 목록이 표시됩니다 (정확한 출력은 시스템에 따라 다릅니다).

abi.vsyscall32 = 1
fs.aio-max-nr = 1048576
fs.aio-nr = 0
fs.dentry-state = 100000, 96000, 0, 0, 0
fs.dir-notify-enable = 1
fs.file-max = 9223372036854775807
fs.file-nr = 1024      0       9223372036854775807
fs.inotify.max_queued_events = 16384
fs.inotify.max_user_instances = 128
fs.inotify.max_user_watches = 524288
...

이 출력은 각 파라미터 이름 (예: fs.file-max) 과 현재 값을 보여줍니다. 이러한 파라미터는 네트워킹, 파일 시스템 동작, 메모리 관리 등과 같은 커널의 다양한 측면을 제어합니다.

이 목록을 스크롤하는 것은 압도적일 수 있지만, 커널이 관리하는 내용을 포괄적으로 보여줍니다. 스페이스바를 사용하여 페이지별로 아래로 스크롤하고, 출력이 길고 less와 같은 페이저에 의해 표시되는 경우 q를 눌러 보기를 종료할 수 있습니다.

지금은 명령을 실행하는 것만으로도 이 단계를 완료하기에 충분합니다. 모든 커널 파라미터를 성공적으로 나열했습니다.

다음 단계로 진행하려면 Continue를 클릭하십시오.

cat /etc/sysctl.conf로 sysctl 설정 확인

이전 단계에서는 sysctl -a를 사용하여 긴 커널 파라미터 목록을 보았습니다. sysctl -a현재 값을 보여주지만, 이러한 값은 부팅 시 구성 파일에서 설정될 수 있습니다.

sysctl 파라미터의 주요 구성 파일 중 하나는 /etc/sysctl.conf입니다. 이 파일에는 시스템이 시작될 때 적용되는 설정이 포함되어 있습니다.

cat 명령을 사용하여 이 구성 파일의 내용을 살펴보겠습니다. cat 명령은 파일의 내용을 표시하는 데 사용됩니다.

터미널에 다음 명령을 입력하고 Enter 키를 누릅니다.

cat /etc/sysctl.conf

/etc/sysctl.conf 파일의 내용이 표시됩니다. 이 파일에는 종종 다양한 설정의 목적을 설명하는 주석 처리된 줄 ( #로 시작) 과 parameter = value 형식을 사용하여 특정 커널 파라미터를 설정하는 줄이 포함되어 있습니다.

다음은 표시될 수 있는 예시입니다 (정확한 내용은 다를 수 있습니다).

## /etc/sysctl.conf - 시스템 변수 설정을 위한 구성 파일
#
## 자세한 내용은 sysctl(8) 및 sysctl.conf(5)를 참조하십시오.

## Debian GNU/Linux용 커널 sysctl 구성 파일
#
## 바이너리 값의 경우 0은 비활성화, 1은 활성화입니다. 자세한 내용은 sysctl(8)을 참조하십시오.

## 소프트웨어 일시 중단을 활성화하려면 주석 처리를 제거하십시오.
#kernel.suspend_state = 1

## IPv4 전달을 활성화하려면 주석 처리를 제거하십시오.
#net.ipv4.ip_forward = 1

## IPv6 전달을 활성화하려면 주석 처리를 제거하십시오.
#net.ipv6.conf.all.forwarding = 1

## TCP SYN 쿠키 보호를 활성화하려면 주석 처리를 제거하십시오.
## 이는 SYN 플러드 공격으로부터 보호합니다.
#net.ipv4.tcp_syncookies = 1

## 시스템의 최대 열린 파일 수를 늘립니다.
#fs.file-max = 100000

## 최대 TCP 연결 수를 늘립니다.
#net.ipv4.tcp_max_syn_backlog = 2048
#net.ipv4.tcp_max_tw_buckets = 4096

주석 처리되지 않은 줄 ( #로 시작하지 않음) 은 적용될 활성 설정입니다. 예를 들어, net.ipv4.ip_forward = 1과 같은 줄은 IP 전달을 활성화합니다.

이 파일을 보면 시스템 시작 시 명시적으로 설정되는 커널 파라미터를 이해하는 데 도움이 됩니다.

sysctl 구성 파일의 내용을 성공적으로 보았습니다.

다음 단계로 이동하려면 Continue를 클릭하십시오.

/proc/sys 에서 파라미터 확인

이전 단계에서는 sysctl -a를 사용하여 커널 파라미터를 나열하고 cat /etc/sysctl.conf를 사용하여 구성 파일을 보았습니다. 이제 이러한 파라미터가 파일 시스템에서 실제로 어떻게 표현되는지 살펴보겠습니다.

sysctl에서 관리하는 커널 파라미터는 /proc/sys에 위치한 특수한 가상 파일 시스템을 통해 노출됩니다. 이 파일 시스템은 디스크에 실제 파일을 저장하지 않고, 대신 커널 데이터 구조에 대한 인터페이스를 제공합니다.

/proc/sys 디렉토리의 구조는 sysctl 파라미터의 계층적 이름과 일치합니다. 예를 들어, net.ipv4.ip_forward 파라미터는 /proc/sys/net/ipv4/ip_forward 파일에 해당합니다.

cat 명령을 다시 사용하여 /proc/sys 파일 시스템에서 특정 파라미터의 값을 직접 살펴보겠습니다. 시스템의 호스트 이름을 보여주는 kernel.hostname 파라미터를 살펴보겠습니다.

터미널에 다음 명령을 입력하고 Enter 키를 누릅니다.

cat /proc/sys/kernel/hostname

이 환경에서는 시스템의 호스트 이름인 labex가 표시됩니다.

labex

이제 sysctl -a 출력에서 보았던 fs.file-max 파라미터의 또 다른 예를 살펴보겠습니다.

다음 명령을 입력하고 Enter 키를 누릅니다.

cat /proc/sys/fs/file-max

시스템에서 허용되는 현재 최대 열린 파일 수를 볼 수 있습니다.

9223372036854775807

이는 sysctl -a로 보는 값이 /proc/sys 디렉토리 내의 파일에서 직접 접근하고 읽을 수 있음을 보여줍니다. cat과 같은 표준 파일 조작 명령을 사용하여 해당 값을 읽을 수 있습니다.

/proc/sys 파일 시스템을 이해하는 것은 sysctl이 상호 작용하는 기본 메커니즘이므로 커널 파라미터 작업을 하는 데 중요합니다.

/proc/sys에서 해당 파일을 보면서 커널 파라미터를 성공적으로 확인했습니다.

이 랩을 완료하려면 Continue를 클릭하십시오.

요약

이 랩에서는 Linux 에서 sysctl 파라미터가 설정되었는지 확인하는 방법을 배웠습니다. 먼저 sysctl -a 명령을 사용하여 사용 가능한 모든 커널 파라미터와 현재 값을 나열하여 커널의 런타임 구성에 대한 포괄적인 보기를 제공했습니다.

다음으로, cat 명령을 사용하여 /etc/sysctl.conf 파일을 검사하여 영구적인 sysctl 구성을 확인하는 방법을 살펴보았습니다. 마지막으로, /proc/sys 디렉토리 내에서 해당 파일을 직접 검사하여 특정 파라미터의 현재 값을 확인하는 방법을 배웠습니다. 이러한 단계는 커널 파라미터의 상태를 이해하고 확인하는 여러 가지 방법을 제공합니다.