프로그래밍/Linux/Ubuntu

Ubuntu 12.04에서 ubuntu live cd image Custom(uck)하기 (synaptic 실행)

초록생선 2012. 10. 25. 15:51
2012/07/04 - [Research/Ubuntu/Etc] - proxy 환경에서 uck 명령 수행하기
에서 uck를 실행하는 것을 간략하게 보여준적 있습니다.

uck는 ubuntu 설치 iso를 입력받아, 손쉽게 자신만의 설치 iso를 만들 수 있도록 지원하는 툴입니다.

uck는 기존 ubuntu 11.04까지는 제대로 동작하였으나, 이 이후의 버전(11.10~)부터는 완벽하게 지원되지는 않습니다. (*현재 uck 2.4.6 기준)

그래서 본 post에서는 ubuntu 12.04와 uck(2.4.6)를 가지고 custom하는 과정을 보여드리도록 하겠습니다.
물론, 향후 uck가 버전업되어 지원할 수 있겠지만, 그 때 까지 응용하시면 될 듯 합니다.

uck 설치하기


uck는 다음과 같이 설치 가능합니다.
$ sudo apt-get install uck
그리고, 다음 명령으로 실행 가능합니다.
$ uck-gui
그럼, 아래와 같이 welcome 창이 뜨는데, version이 표시됩니다.
현재 apt-get으로 설치하였다면, 2.4.5가 적용되는데, 2.4.5는 버그가 있어 실행도중 강제 종료가 됩니다.
따라서, 2.4.6 이상으로 업그레이드를 하여야 합니다.
uck 페이지(링크)에 "Download"하면 .deb 파일을 다운로드 하는데, 해당 파일을 실행하면 software-center가 연결되고, Install하면 손쉽게 2.4.6으로 판올림 할 수 있습니다.

uck 실행하기

uck는 간단히 uck-gui 를 실행하면 됩니다.
그럼 언어, 환경 변수 입력을 요구합니다. 그냥 en을 선택할 수 있습니다.
그리고, ubuntu 설치 iso 경로도 입력받습니다.  ubuntu-12.04.1-desktop-i386.iso가 저장된 경로를 전달하십시요.
이후, CD의 이름도 물어봅니다.

위와 같이 수동으로 custom할지를 물어보는데 "yes"를 선택합니다.
그 이후엔 window 관련 파일 설치 여부를 물어보는데, 굳이 필요없으므로 "no"를 선택합니다.


ISO/USB hybrid iso를 물어보는데, 이는 아마도 최근의 uck에서 포함된 내용일 듯 합니다.
이전의 iso를 통해서도 usb 혹은 cd로 사용할 수 있기 때문에, (usb는 syslinux 이용) "no"를 선택했습니다.
그리고 마지막 알림창에서 "OK"하면 console에서 몇가지 지루한 작업을 진행합니다.

custom 실행하기

기다리다 보면 위와 같은 창이 생성되는데, 이제부터 실질적인 custom 과정을 진행할 수 있습니다.
- Run package manager : synaptic package 관리자를 실행하여, custom할 image에 들어갈 app을 설치/삭제한다.
- Run console application : 해당 image에 대한 console을 띄운다. (해당 console에서 /bin 경로는 실제 host pc의 /bin 경로와 다름)
그런데 문제는 ubuntu 11.10 혹은 12.04 부터는 synaptic이 기본으로 설치되어 있지 않기 때문에, "Run package manager"를 실행하면 다음과 같이 "Unable to find any package manager application" 오류가 발생합니다.

uck 환경에서 synaptic package manager 설치하기

uck 환경에서 "Run console application"을 통해 synaptic package manager를 설치하면 다음과 같습니다.

# apt-get install synaptic
Reading package lists... Done
Building dependency tree      
Reading state information... Done
Package synaptic is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'synaptic' has no installation candidate
#

와 같이 설치가 진행되지 않습니다. 이는 다음과 같이 해결됩니다.
CTRL+ALT+T를 눌러, Terminal을 하나 생성하고 다음과 같이 실행합니다.
$ sudo cp ~/tmp/remaster-root/etc/apt/sources.list ~/tmp/remaster-root/etc/apt/sources.list.backup
[sudo] password for greenfish:
$ sudo cp /etc/apt/sources.list ~/tmp/remaster-root/etc/apt/sources.list
$
그다음, 이전 "Run console application"을 다시 띄워, 다음과 같이 진행합니다.
# apt-get update
Ign http://kr.archive.ubuntu.com precise InRelease
...
# apt-get install synaptic
Reading package lists... Done
Building dependency tree      
Reading state information... Done
...
ldconfig deferred processing now taking place
#
와 같이 드디어 synaptic이 설치되었습니다.
그러면 synaptic 혹은 "Run package manager"를 통해 synaptic package manager를 실행할 수 있습니다.
단, CTRL+ALT+T를 눌러 새로운 Terminal을 생상한 뒤 다음과 같이 source list를 원상태로 복귀시키는 것은 중요하죠.
$ sudo cp ~/tmp/remaster-root/etc/apt/sources.list.backup ~/tmp/remaster-root/etc/apt/sources.list
[sudo] password for greenfish:
$ sudo rm ~/tmp/remaster-root/etc/apt/sources.list.backup
$

만일 synaptic을 제거하고 싶다면 "Run console applicaton"을 통해,
# apt-get --purge remove synaptic
을 실행하면 됩니다.