오늘은 다시 한 번 키위(Kiwi)에 대해 이야기해 보겠습니다. 키위는 오픈수세 빌드 서비스(openSUSE Build Service)에 속한 강력한 이미징 시스템으로, 자신의 설치 환경이나 순정 오픈수세, 심지어 다른 리눅스 배포판을 기반으로 어떤 종류의 운영체제 이미지든 자유롭게 만들 수 있는 만능 이미징·가상화 솔루션입니다. 생성된 이미지는 매우 다양한 형식으로 배포할 수 있습니다.
키위는 XML 템플릿 기반으로 동작하며, 자동화와 스크립팅을 선호하는 파워 유저를 겨냥한 도구입니다. 하지만 명령어 작업이 부담스러운 사용자를 위해 이미지 크리에이터(Image Creator)와 제품 크리에이터(Product Creator)라는 훨씬 쉽고 친절한 GUI 프론트엔드도 함께 제공됩니다.

시작하며
앞서 키위 관련 튜토리얼에서는 이미지 크리에이터를 활용하는 방법을 다뤘습니다. 당시에는 기본 오픈수세 빌드를 기반으로 VMDK 가상 머신을 만들고 VMware Server에서 직접 테스트까지 진행했습니다. 같은 방식으로 라이브 CD/DVD, 경량 설치 이미지, Xen 가상 머신, 심지어 아마존 EC2 이미지까지 만들 수 있습니다.
하지만 아직 다루지 않은 주제가 하나 있었습니다. 바로 내가 사용 중인 실제 설치 환경을 재배포 가능한 커스텀 이미지로 변환하는 것입니다. 오늘은 그 약속대로 제품 크리에이터를 사용해 이 작업을 수행해 보겠습니다.
제품 크리에이터는 물리 머신에 설치된 시스템을 새로운 배포용 빌드로 변환해 줍니다. VMware Converter와 비슷한 역할을 하지만, 더 많은 기능과 세밀한 조정 옵션, 그리고 포함할 패키지에 대한 완전한 제어권을 제공한다는 점이 다릅니다.
이미지 크리에이터처럼 제품 크리에이터 역시 친절하고 단순하면서도 강력한 GUI 마법사 형태로 되어 있으니, 함께 따라 하며 또 하나의 가상화 대작전을 즐겨 보시죠.
제품 크리에이터 설치하기
설치 과정은 매우 간단합니다. YaST를 열고 product-creator 패키지를 검색한 뒤 설치하면 됩니다. 설치가 완료되면 YaST의 '기타(Miscellaneous)' 항목에서 이미지 크리에이터와 함께 제품 크리에이터를 찾을 수 있습니다.
이미지 만들기
이제 본격적인 작업에 들어갑니다. 제품 크리에이터를 실행하면 설치 중에 생성할 수 있는 자동 구성 YaST 컨트롤 파일을 사용할지, 아니면 패키지 관리자를 사용할지 묻습니다. 여기서는 첫 번째 옵션을 선택해 진행하겠습니다.

저장소 선택
다음 단계는 이미지에 포함할 저장소를 선택하는 것입니다. 각 저장소를 일일이 클릭해 선택해야 하는 다소 번거로운 과정이지만, 몇 분이면 충분히 정리할 수 있습니다. 이후에는 명령줄에서 기존 설정이나 템플릿을 활용해 이 과정을 생략할 수도 있습니다.

아키텍처 지정
대상 아키텍처(Target Architecture)는 원하는 대로 변경할 수 있지만 주의가 필요합니다. 모든 저장소가 모든 아키텍처를 지원하지는 않기 때문입니다. 특히 i386, i586, i686처럼 모두 32비트 계열이지만 세부 차이가 있는 아키텍처에서는 이런 문제가 자주 발생합니다.

잘못된 조합을 선택하면 프로그램이 경고를 표시해 주므로 너무 걱정하지 않아도 됩니다.
베이스 소스 지정
이제 앞서 선택한 여러 저장소 중에서 부팅에 필요한 기본 파일을 담고 있는 저장소를 하나 골라야 합니다. 이 파일들이 없으면 시스템 이미지를 생성할 수 없으니 반드시 확인하세요.
출력 이름과 형식
다음은 출력 형식을 선택하는 단계입니다. 가장 무난한 선택은 부팅 가능한 ISO 이미지를 만드는 것이지만, 파일과 디렉터리 구조를 확장된 형태 그대로 유지할 수도 있습니다. 출력 경로도 함께 지정해야 하는데, 디스크 여유 공간이 부족하다면 '필요한 파일만 복사(Copy only needed files)' 옵션에 체크해 공간을 절약할 수 있습니다.

그다음에는 ISO 생성 시 적용할 추가 매개변수를 담은 구성 파일을 불러올 수도 있습니다. 마법사를 처음 사용하거나 이 단계가 확실하지 않다면 그냥 건너뛰어도 무방합니다.

소프트웨어 선택
이제 가장 재미있는 단계입니다. 마치 재료를 고르고 케이크를 굽듯, 설치할 패키지를 자유롭게 선택할 수 있습니다. 물론 선택하는 패키지가 많아질수록 최종 이미지 용량도 커진다는 점은 감안해야 합니다.

디지털 서명
원한다면 이미지에 디지털 서명을 추가할 수도 있습니다. 기업 환경에서는 특히 유용한 기능이지만, 개인 사용자라면 굳이 신경 쓰지 않아도 됩니다.

설정 검토
마지막으로 지금까지의 선택 사항을 검토하고 '마침(Finish)' 버튼을 누르면 됩니다.

개요 화면
이미지 구성이 완료되었습니다. 이제 바로 빌드하거나 설정을 수정할 수 있습니다. '닫기'를 눌러도 구성은 사라지지 않으며, 나중에 실제로 이미지를 만들고 싶을 때까지 저장된 상태로 유지됩니다. 이미지 생성은 '제품 생성(Create Product)' 버튼을 통해 진행합니다. 추가(Add), 편집(Edit), 삭제(Delete) 버튼으로 여러 프로파일을 관리할 수 있어 이미지 빌드 작업에 상당한 유연성을 더해 줍니다.

이 메뉴에서 가장 흥미로운 부분은 'KIWI로 이미지 생성(Create Image with KIWI...)' 버튼입니다. 버튼 오른쪽의 작은 화살표를 클릭하면 추가 빌드 옵션이 담긴 드롭다운 메뉴가 펼쳐집니다.
그리고 우리는 다시 키위로 돌아옵니다. 강력한 설정과 다양한 출력 형식을 그대로 활용할 수 있기 때문입니다. 라이브 ISO, USB 스틱, Xen 가상 머신, 가상 디스크(VMDK/QEMU) 이미지 중에서 원하는 형식을 고르면 됩니다.

이미지 빌드 실행
적절한 버튼을 클릭하면 이미지가 빌드되고 검증 과정을 거칩니다.
이미지 테스트하기
마지막 단계는 완성된 ISO를 구워 실제 머신에서 테스트하는 것입니다. 결과물은 아래 스크린샷과 같습니다. 표준 오픈수세 11 설치본이 아니라 제가 직접 만든 빌드라는 것이 믿기 어려울 수도 있지만, 사실입니다.
추가 팁: 아마존 EC2
여러 글에서 언급했던 내용 때문에 키위의 아마존 EC2 머신 생성 능력에 대해 문의하신 독자분이 계셨습니다. 결론부터 말하면 키위는 EC2 이미지 생성을 지원하며, /usr/share 디렉터리에 샘플 구성 파일까지 포함되어 있어 참고하기 좋습니다.
마치며
제품 크리에이터는 이미지 크리에이터만큼 쉽고 재미있게 사용할 수 있으며, 결과물의 완성도 역시 손색이 없습니다. 시스템 내부 구조에 대한 전문 지식이 없어도 누구나 자신만의 커스텀 이미지를 만들 수 있습니다.
키위와 이미지 크리에이터, 제품 크리에이터로 이루어진 이 도구 모음은 설치 환경을 최대한 세밀하게 다듬을 수 있는 강력한 멀티퍼포스 스위트입니다. 다섯 여섯 가지 형식으로 시스템을 배포하고, 패키지와 저장소를 추가·제거하고, 이미지 크기를 조정하고, 이미지를 변환하고, 데스크톱 환경을 선택하는 등 할 수 있는 일이 무궁무진합니다. 키위는 상상력과 창의력을 마음껏 발휘해 아름다운 솔루션을 만들 수 있는 완전한 자유를 제공합니다.
오늘은 키위 시스템의 두 번째 절반, 즉 기존 설치 환경으로부터 이미지를 만드는 방법을 배웠습니다. 이 튜토리얼은 외부 저장소를 기반으로 이미지를 만드는 첫 번째 파트와 함께 완결됩니다.
다음 연재 글에서는 빌드 서비스(Build Service)와 SUSE Studio를 집중적으로 다룰 예정입니다.
그럼, 즐거운 리눅스 되세요!