예전에 이런 글을 올린적이 있었지요. UCK vs U-customzier http://moordev.tistory.com/42


UCK라는 도구와 U-Customizer란 도구였습니다.


그중 UCK는 우분투 공식 커스터마이징 도구였고 사용은 편하지만 조금 자세한 커스터마이징은 힘들었다고 했었지요.


U-Customizer란 도구는 chroot를 사용해서 굉장히 다양한 커스터마이징이 가능한 도구지만 그만큼 초보자에겐 고역인 물건이라고 소개를 해었습니다. 특히 GUI로 Gambas를 이용했는데 이놈의 설치가 문제가 많아서 특히나 고역이었습니다.


하지만 시간은 흐르고 흘러서 새로운 소스로 U-Customizer(이후 Customizer로 통일하겠습니다.)가 새로 나오게 되었습니다.


Github주소도 바뀌었습니다. 이전의 gambas기반의 소스는 따로 보관하고 PyQT를 기반으로 새로운 GUI를 만들었습니다. 덕분에 반응 속도가 좋아졌습니다.


https://github.com/kamilion/customizer


다만 아쉬운 것이 있다면 PPA를 운영하거나 바이너리를 제공했으면 하는데 예나 지금이나 소스만 내주더군요. 게다가 github의 마스터브랜치의 소스는 말이좋아 마스터 브랜치지 지뢰밭입니다. 버그가 여기저기 산개해 있습니다. 차라리 최신버전의 우분투를 커스터마이징 하지 않는다면 Release페이지(https://github.com/kamilion/customizer/releases)의 소스를 사용하는 것을 추천합니다.


여기서 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 deb


끝입니다.


이러면 소스코드가 있던 곳 상위 폴더에 (그러니까 소스 코드를 ~/SRC/Customizer에 풀었다면 ~/SRC 여기)에 DEB 파일이 하나 생성 됩니다. 우리는 우분투를 쓰고 있고 DEB파일이 있다?

그냥 설치하면 그만이겠지요. Gdebi나 소프트웨어 센터나 dpkg나 아무거나 쓰고 싶은거 쓰세요.


그러면 메뉴에 Customizer라고 생기는데...


이거 문제 많습니다. 사실 chroot를 사용해야 하기 때문에 관리자 권한이 필요하고 GUI에는 진행 상황이 제대로 뜨지 않기 때문에 굉장히 답답합니다. 그러니까 저걸 아직 선택하지는 말아주세요.


그냥 터미널을 열고 다음과 같이 입력하시는 것을 추천합니다.


sudo customizer-gui


이렇게 하면 터미널에 진행상황이 전부 다 뜨고 답답함이 많이 줄어듭니다. 단점이라면 이후 커스터마이징 중에 사용하는 chroot기반 터미널하고 헷갈린다는 것 정도?


하지만 chroot기반은 사용자 이름이 root 일테니 구분하면 편합니다.


이후 작업은 커스터마이징을 할 배포판의 ISO를 선택하고(우분투 기반이 아닌 다른 배포판도 모두 가능하다고 합니다. 어차피 chroot를 이용해서 패키지를 설치하거나 삭제하는 것으로 작업하는 것이라...)


터미널 버튼을 통해서 chroot로 들어간 뒤에 이런저런 작업을(/etc/apt/source.list 파일의 서버를 한국 서버로 바꾼다거나 이런저런 패키지를 추가하거나 미리 업데이트를 해버리거나 한국어 입력기를 설치하거나) 진행하고 ISO가 풀린 곳에 (주로 /home/Filesystem)관리자 권한으로 파일 매니저로 열어서 이런 저런 파일을 넣어주거나 삭제하고 Filesystem/etc/skel 내부에 이런저런 작업을해서 유저모드 설정을 마무리를 지으면 커스터 마이징이 끝나게 됩니다.

그리고 ISO다시 빌드 버튼을 누르면 세팅이 완료된 ISO가 만들어지게 되는 것이지요.


자세한 것은 다음에 알려드리도록 하고 이번에는 Customizer를 설치하는 것까지만 하기로 했으니까요. 이상 Customizer 설치법에 대해 알려드렸습니다.


다음에는 Customizer로 특정 배포판을 미리 한국어 설정으로 해보도록 하겠습니다. 우분투는 UCK로 하는 것이 너무 쉽기 때문에 UCK가 먹히지 않는 LinuxMint나 ElementaryOS를 가지고 해보겠습니다.


그럼 다음에는 Customizer로 한국어 설정을 미리 완료한 배포판을 만들어보도록 하겠습니다.

,