본문 바로가기

728x90

systemd

우분투에서 Docker 컨테이너 내에서 systemd를 실행하는 방법 우분투에서 Docker 컨테이너 내에서 systemd를 실행하는 방법 Docker 컨테이너 내에서 systemd를 실행하는 것은 기본적으로 권장되지 않지만 가능합니다. systemd를 사용하려면 컨테이너가 호스트의 init 프로세스로 설정되어야 합니다. Dockerfile 작성 vim Dockerfile FROM ubuntu:22.04 # systemd를 사용할 수 있도록 환경 변수 설정 ENV container docker # 패키지 설치 및 설정 RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \ systemd \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* /tmp/* /va.. 더보기
System V init(init)와 Systemd의 특징과 주요 차이점 System V init(init)와 Systemd의 특징과 주요 차이점 System V init(init)와 Systemd는 모두 Linux 시스템의 초기화 프로세스를 담당하는 시스템 서비스입니다. 두 시스템 모두 다양한 서비스를 시작하고 중지하며 시스템을 종료하는 데 사용됩니다. System V init(init) System V init는 Linux 시스템의 초기화 프로세스를 담당하는 가장 오래된 시스템 서비스입니다. 1980년대에 처음 개발되었으며 Linux 커널의 초기 버전에서 사용되었습니다. System V init는 다음과 같은 특징이 있습니다. 단순하고 이해하기 쉽습니다. 다양한 서비스를 시작하고 중지하는 데 사용할 수 있습니다. 시스템을 종료할 수 있습니다. Systemd Systemd는.. 더보기
도커 컨테이너에서 systemd를 실행하는 방법 도커 컨테이너에서 systemd를 실행하는 방법 기본적으로 Ubuntu의 Docker 이미지는 init 시스템이 없으며, systemd를 사용하지 않습니다. 이는 Ubuntu 컨테이너가 주로 단일 프로세스로 실행되도록 설계되어 있기 때문입니다. 만약 init 시스템을 사용하고 싶다면, systemd를 사용하는 Ubuntu 이미지를 선택해야 합니다. 하지만 이 방법은 보통 권장되지 않습니다. Docker 컨테이너는 단일 프로세스로 동작하는 것이 이상적이며, 여러 서비스를 동시에 관리하기 위해 컨테이너를 여러 개 실행하는 것이 일반적입니다. systemd를 사용하는 Ubuntu Docker 이미지를 실행하려면 다음과 같이 하실 수 있습니다. Docker Hub에서 systemd를 사용하는 Ubuntu 이미지.. 더보기
우분투에서 부팅 모드를 변경하는 방법 우분투에서 부팅 모드를 변경하는 방법 우분투에서는 기본적으로 그래픽 모드(GUI)로 부팅됩니다. GRUB 부트로더로 작업하기 시스템을 재부팅하고, 부팅 중에 GRUB 부트로더 화면이 나타날 때까지 기다립니다. GRUB 부트로더 메뉴에서, "Ubuntu" 항목을 선택한 후 "e" 키를 눌러 편집 모드로 들어갑니다. 편집 모드에서, "linux" 또는 "linux16" 라인을 찾습니다. 해당 라인에서 "quiet splash"를 찾아서 지워주고, "text"를 입력합니다. Ctrl + X 또는 F10 키를 눌러 부팅을 시작합니다. 이제 시스템이 CLI 모드로 부팅됩니다. 명령어로 작업하기 터미널 창을 열고 "sudo nano /etc/default/grub" 명령어를 입력하여 GRUB 부트로더 설정 파일을 .. 더보기
[리눅스] systemd의 로깅 설정을 변경하기 systemd의 로깅 설정을 변경하기 systemd 로그 Created slice User Slice of user1. Removed slice User Slice of user1. "User Slice"는 시스템에서 사용자 세션을 추적하기 위해 systemd가 생성하는 슬라이스입니다. 이 슬라이스는 일반적으로 사용자가 로그인할 때 생성되며, 사용자 세션과 관련된 프로세스가 이 슬라이스에서 실행됩니다. 이 슬라이스의 메시지 로그가 불필요하거나 방해가 된다면, systemd의 로깅 설정을 변경하여 해당 로그를 제거하거나 제한할 수 있습니다. 로그 제거를 위해선, /etc/systemd/journald.conf 파일을 열고 다음과 같은 설정을 추가하면 됩니다. User Slice 로그를 전체적으로 비활성화하.. 더보기
[aws] systemd 로그 메시지 중 사용자 슬라이스(user slice) 로그 메시지를 제거하는 방법 systemd 로그 메시지 중 사용자 슬라이스(user slice) 로그 메시지를 제거하는 방법 테스트 환경 $ cat /etc/os-release NAME="Amazon Linux" VERSION="2" ID="amzn" ID_LIKE="centos rhel fedora" VERSION_ID="2" PRETTY_NAME="Amazon Linux 2" ANSI_COLOR="0;33" CPE_NAME="cpe:2.3:o:amazon:amazon_linux:2" HOME_URL="https://amazonlinux.com/" messages 로그 tail -f /var/log/messages $ tail -f /var/log/messages Feb 22 20:51:01 aws-server-01 systemd.. 더보기
Docker 컨테이너 내에서 systemd 또는 /sbin/init을 사용하는 방법 Docker 컨테이너 내에서 systemd 또는 /sbin/init을 사용하는 방법 Docker 컨테이너 내에서 systemd 또는 /sbin/init을 사용하려면 몇 가지 제약 사항과 접근 방법을 고려해야 합니다. 일반적으로 Docker 컨테이너는 경량화된 프로세스로 실행되는데, 이는 기본적으로 Docker의 설계 철학에 따라 "한 개의 프로세스가 하나의 컨테이너에서 실행되어야 한다"는 원칙에 기인합니다. 그럼에도 불구하고, 특정 상황에서 systemd 또는 /sbin/init을 사용해야 할 경우, 아래의 접근 방법을 고려해 볼 수 있습니다. 1. systemd 사용 방법 컨테이너 내에서 systemd를 실행하려면 몇 가지 설정이 필요합니다. 그러나 이는 꽤 복잡한 작업이며, 호스트 시스템의 초기화 프.. 더보기
[리눅스] 서비스(데몬) 등록 방법 리눅스 서비스(데몬) 등록 방법 chkconfig --add [서비스 명] chkconfig --level [서비스 명] chkconfig --del [서비스 명] chkconfig --list [서비스 명] CentOS 6 chkconfig 명령으로 서비스 관리 zabbix-agent 서비스 등록 chkconfig --add zabbix-agent zabbix-agent 서비스 확인 $ chkconfig --list | egrep zabbix zabbix-agent 0:off1:off2:off3:off4:off5:off6:off level 3, 5 일 경우 zabbix-agent 서비스 부팅 chkconfig --level 35 zabbix-agent on zabbix-agent 서비스 확인 $ chk.. 더보기

728x90