TL;DR
- NSL은 Linux 호스트에서 여러 배포판을 지속적으로 실행하며, 각 머신은 자체 패키지와 서비스를 갖춘 systemd-nspawn 컨테이너로 작은 가상 머신 하나에서 동작함.
- 머신은 사용할 때 시작되며, 현재 디렉터리와 호스트 파일을 사용하고 로그인 셸이나 단일 명령 실행을 제공함.
- 호스트의
$HOME,/run/media/USER,/mnt가 머신의/mnt/host에 나타나며, 사용자 이름·UID·GID와 비밀번호 없는sudo를 유지함. - Debian, Ubuntu, Fedora, CentOS Stream, Arch, openSUSE Tumbleweed, Leap 등 서명된 배포판 7종을 주 단위로 다시 빌드하고 사용 전에 검증함.
--isolated옵션은 호스트 파일·데스크톱·호스트 작업에 접근하지 못하는 별도 가상 머신을 제공하며, NSL 자체는 호스트 패키지 설치나 장치 권한·그룹·sudoers 변경 없이 사용자 권한으로 실행됨.
작동 방식
nsl create debian --distro debian:13명령으로 서명된 이미지를 검증하고 Debian 13 머신을 생성하며, 첫 머신은 기본 머신이 됨.nsl명령은 현재 디렉터리에서 기본 머신의 로그인 셸을 엶.nsl run make test명령은 머신에서 단일 명령을 실행하고 종료 상태를 반환함.
머신이 제공하는 기능
원하는 배포판을 한 명령으로 실행
nsl은 기본 머신의 로그인 셸을 현재 디렉터리에서 열며,nsl run은 단일 명령을 실행하고 종료 상태를 반환함.
호스트 파일과 계정
- 호스트의
$HOME,/run/media/USER,/mnt가 머신의/mnt/host에 나타남. - 머신 내부에서도 사용자 이름, UID, GID가 유지되며 비밀번호 없는
sudo를 사용할 수 있음.
호스트의 포트와 창
- 머신 내부에서 수신 대기하는 서버는 호스트의 동일한 포트와
127.0.0.1을 통해 접속 가능함. - Wayland 애플리케이션은 호스트 데스크톱에 창을 표시함.
서명된 배포판 7종
- Debian, Ubuntu, Fedora, CentOS Stream, Arch, openSUSE Tumbleweed, Leap을 제공함.
- 이미지는 매주 다시 빌드되며, 사용 전에 서명된 Frostyard 게시 워크플로에 따라 검증됨.
필요한 경우 격리
--isolated옵션을 사용하면 머신마다 자체 가상 머신이 제공됨.- 격리된 머신은 호스트 파일, 데스크톱, 호스트 작업에 접근하지 않으며 신뢰하지 않는 소프트웨어 실행에 사용할 수 있음.
깨끗한 호스트
- NSL은 사용자 권한으로 실행됨.
- 호스트 패키지를 설치하지 않으며 장치 권한, 그룹, sudoers를 변경하지 않음.
시작하기
- 시작 안내: 호스트를 확인하고 NSL을 설치한 뒤 첫 머신을 생성하는 절차임.
- 아키텍처: 가상 머신 하나에서 여러 머신을 실행하는 구조와 각 머신이 호스트에서 접근할 수 있는 대상을 설명함.
- 참조 안내: NSL의 모든 명령,
nsl.conf의 모든 설정, 게시된 모든 이미지를 다룸.
사전 릴리스
- NSL은 아직 안정 버전이 없음.
v0.4.0은 이 설계의 첫 릴리스이며,v0.3.0이하 버전은 폐기된 프로토타입임.- 테스트된 호스트 환경은 x86-64 기반 Snow Linux 13, systemd 261.2, QEMU 10.0.13, virtiofsd 1.13.2, GNOME Wayland임.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요