저는 제 입맛에 맞게 커스터마이징을 한 리눅스 ISO를 만들때 이 도구를 사용합니다.
이름이 직설적이게도 Customizer입니다. 옛날에는 우분투만을 지원했던 시절이라 U-Customizer란 이름으로 불렸는데 지금은 그냥 Customizer라고 바뀌었습니다.
https://github.com/kamilion/customizer
다만 아쉬운 것이 있다면 PPA를 운영하거나 바이너리를 제공했으면 하는데 예나 지금이나 소스만 내주더군요. 게다가 github의 마스터브랜치의 소스는 말이좋아 마스터 브랜치지 지뢰밭입니다. 버그가 여기저기 산개해 있습니다. 차라리 최신버전의 우분투를 커스터마이징 하지 않는다면 Release페이지(https://github.com/kamilion/customizer/releases)의 소스를 사용하는 것을 추천합니다.
Release에 올라온 코드는 버그가 어느정도 해결된 소스코드만 올라오거든요. zip을 쓰셔도 좋고 tar.gz를 쓰셔도 좋습니다.
어차피 압축은 어떤 것으로도 풀리니까요.
만약 자신만의 우분투를 만들기 위해 Customzier에 입문하시는 분들이라면 소스코드를 보자마자 난감해 하실 겁니다. 그도 그럴것이 요구하는 패키지에 대해 설명을 안 해 놓았더군요.
sudo apt-get install git build-essential fakeroot make binutils g++ \
python python-dev python-qt4 pyqt4-dev-tools squashfs-tools \
xorriso x11-xserver-utils xserver-xephyr qemu-kvm dpkg-dev \
debhelper qt4-dev-tools qt4-linguist-tools
이겁니다. 사실 Customizer는 python3와 QT5를 이용해서 새로 만들고 있기 때문에 위의 패키지 중에서 pyqt4와 python2.7을 대신하려고 하고 있습니다. 하지만 2017년 7월 기준으로 마스터 브랜치가 아직 문제가 많습니다. Python3와 QT5를 이용해서 컴파일 했는데 (소스 루트에 있는 Makefile을 수정하면 됩니다.) ISO를 도로 묶는 것이 안 되거나 chroot가 안 되면서 파일 시스템을 꼬아버리는 문제가 있습니다. 그런데 그게 같은 상황에서 일어나면 이해하겠는데 가끔 그런 일이 일어나니 그게 더 머리 아플 지경입니다. 버그 리포팅을 하고 싶어도 언제 그런 일이 벌어지는지 설명을 할 수가 없어요. 버그 상황 재현이 안 된다고 할까요.
그래서 2017년 7월 현재 아직은 Python2.7과 QT4를 기반으로 한 버전을 사용하겠습니다.
이제 설치를 어떻게 할까요? Installer.py를 실행하면 될까요? 이것을 써도 되는데 우리는 바로 DEB을 만들어서 설치를 하도록 합시다.
터미널 작업 당연히 들어갑니다. Customzer로 chroot 작업하는 것도 순전 터미널 삽질이니 터미널에는 친해져야 합니다. 더군다나 소스 컴파일이라 터미널이 어쩔 수가 없더군요. (훗날 누군가가 제대로 된 GUI 도구를 만들어 줬으면 합니다. 그런데 이놈의 make 옵션 들 때문에...)
cd 소스압축 푼 곳
make
make deb
이렇게 하면 끝입니다.
이러면 소스코드가 있던 곳 상위 폴더에 (그러니까 소스 코드를 ~/SRC/Customizer에 풀었다면 ~/SRC 여기)에 DEB 파일이 하나 생성 됩니다.
DEB파일을 그냥 설치하면 그만이겠지요. Gdebi나 소프트웨어 센터나 dpkg나 아무거나 쓰고 싶은거 쓰세요. 보통 DEB을 더블클릭하면 설치하기 위한 창이 뜹니다.
그러면 메뉴에 Customizer라고 생기는데...
이거 문제 많습니다. 사실 chroot를 사용해야 하기 때문에 관리자 권한이 필요하고 GUI에는 진행 상황이 제대로 뜨지 않기 때문에 굉장히 답답합니다. 그러니까 저걸 쓰는 것은 추천하지 않습니다. (후에 앞에 앞에 gksu를 넣어 달라고 따로 요구할 예정입니다.)
그냥 터미널을 열고 다음과 같이 입력하시는 것을 추천합니다.
sudo customizer-gui
이렇게 하면 터미널에 진행상황이 전부 다 뜨고 답답함이 많이 줄어듭니다. 단점이라면 이후 커스터마이징 중에 사용하는 chroot기반 터미널하고 헷갈린다는 것 정도?
터미널 버튼을 통해서 chroot로 들어간 뒤에 이런저런 작업을(/etc/apt/source.list 파일의 서버를 한국 서버로 바꾼다거나 이런저런 패키지를 추가하거나 미리 업데이트를 해버리거나 한국어 입력기를 설치하거나) 진행하고 ISO가 풀린 곳에 (주로 /home/Filesystem)관리자 권한으로 파일 매니저로 열어서 이런 저런 파일을 넣어주거나 삭제하고 Filesystem/etc/skel 내부에 이런저런 작업을해서 유저모드 설정을 마무리를 지으면 커스터 마이징이 끝나게 됩니다.
그리고 ISO다시 빌드 버튼을 누르면 세팅이 완료된 ISO가 만들어지게 되는 것이지요.
자세한 것은 다음에 알려드리도록 하고 이번에는 Customizer를 설치하는 것까지만 하기로 했으니까요. 이상 Customizer 설치법에 대해 알려드렸습니다.
다음에는 Customizer로 특정 배포판을 미리 한국어 설정으로 해보도록 하겠습니다. 우분투는 UCK로 하는 것이 너무 쉽기 때문에 UCK가 먹히지 않는 LinuxMint나 ElementaryOS를 가지고 해보겠습니다.
그럼 다음에는 Customizer로 한국어 설정을 미리 완료한 배포판을 만들어보도록 하겠습니다.
여기가 출처입니다. MoorDev의 우분투 분투기 (그러니까 제 블로그지요...)
감사합니다. 다음 편도 기대되고 어서 완결까지 본 후에 직접 따라서 응용해보고 싶네요.