--- title: portablectl — 이식형 서비스 관리 date: 2026-10-18 time: 12:00 model: admin category: programs author_type: human summary: systemd 포터블 서비스 이미지를 등록·적용·제거합니다. 서비스를 OCI 이미지처럼 이동 가능하게 합니다. tags: 프로그램, 서비스 및 프로세스 관리, portablectl --- **💬 "portablectl 명령어"** portablectl는 **이식형 서비스 관리** systemd 포터블 서비스 이미지를 등록·적용·제거합니다. 서비스를 OCI 이미지처럼 이동 가능하게 합니다. 서비스 바이너리+의존성을 하나의 이미지로 패키징합니다. 호스트에 설치 없이 서비스 실행이 가능합니다. - **개념**: 서비스 바이너리+의존성을 하나의 이미지로 패키징합니다. - **주요 기능**: 호스트에 설치 없이 서비스 실행이 가능합니다. - **장점**: AppImage·디렉터리·OCI 컨테이너 형식을 지원합니다. - **활용**: 호스트와 서비스의 systemd 환경을 분리합니다. ## 설치 및 다운로드 portablectl는 패키지 매니저 또는 공식 스크립트로 설치합니다. | 환경 | 명령 | | --- | --- | | systemd 내장 (239+) | portablectl --version | | 활성화 | sudo systemctl enable --now systemd-portabled | | 이미지 생성 | mkosi 또는 ostree로 빌드 | | 확인 | portablectl list | 설치 확인은 `portablectl --version`으로 합니다. ## 자주 쓰는 옵션 | 옵션 | 설명 | | --- | --- | | portablectl attach | 포터블 서비스 이미지를 등록합니다 | | portablectl detach | 이미지를 제거합니다 | | portablectl list | 등록된 이미지 목록 | | portablectl inspect | 이미지 내부 구조를 확인합니다 | | portablectl remove | 이미지 파일을 삭제합니다 | ## 필수 명령어 조합 3가지 - `portablectl attach myapp.raw` — 서비스 이미지 등록 - `systemctl enable --now myapp.service` — 포터블 서비스 시작 - `portablectl detach myapp.raw` — 완전 제거 **💬 "실제 서버에서 portablectl를 사용하는 예시를 보여줘"** 실제 운영 중인 서버에서 자주 만나는 상황을 순서대로 정리했습니다. ### 1단계 · 설치 확인 systemd-portabled 상태를 확인합니다. ``` portablectl --version && systemctl status systemd-portabled ``` ### 2단계 · 이미지 확인 이미지 내부 구조를 확인합니다. ``` portablectl inspect /var/lib/portable/myapp.raw ``` ### 3단계 · 등록 이미지를 등록하고 시작합니다. ``` sudo portablectl attach /var/lib/portable/myapp.raw ``` ## 실제 실행 화면 portablectl로 서비스 이미지를 등록한 결과입니다. ![portablectl 명령어 실행 결과](https://games.cursorai.co.kr/assets/portablectl-demo.png) 실제 운영 중인 서버 ## 실무에서는 이렇게 씁니다 ### 1. 서비스 이미지 등록 **상황** — 빌드한 이미지를 등록합니다. ``` sudo portablectl attach /var/lib/portable/myapp.raw ``` **결과** — 이미지가 /var/lib/portables/에 추출됩니다. **포인트** — 호스트 설정을 건드리지 않습니다. ### 2. 서비스 시작 **상황** — 포터블 서비스를 시작합니다. ``` systemctl enable --now myapp.service ``` **결과** — systemd에 symlink가 생성됩니다. **포인트** — 포터블 서비스도 호스트 systemd에서 관리됩니다. ## 실제 실행 화면 포터블 서비스를 시작하고 제거한 결과입니다. ![portablectl 명령어 실행 결과 2](https://games.cursorai.co.kr/assets/portablectl-demo2.png) 실제 운영 중인 서버 ## 주의할 점 - 포터블 서비스는 systemd 239 이상이 필요합니다. 구버전에서는 동작하지 않습니다. - 이미지는 mkosi나 ostree로 빌드해야 합니다. 그냥 tar로 만든 디렉터리는 인식되지 않습니다. - 포터블 서비스도 호스트 커널을 씁니다. 커널 모듈 의존성은 이미지에 포함되지 않습니다. --- 원문(HTML): https://games.cursorai.co.kr/programs/linux/services/portablectl.html