블로그 이미지
훅크선장

카테고리

분류 전체보기 (362)
사진이야기 (23)
펭귄컴퓨팅 (121)
컴퓨터보안 (84)
절름발이 프로그래머 (59)
하드웨어개조 (23)
멀알려줄까 (35)
홈베이킹&홈쿠킹 (2)
잡다한것들 (15)
Total
Today
Yesterday

달력

« » 2024.4
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

공지사항

태그목록

최근에 올라온 글

칼리 리눅스 롤링 버전(Rolling version)를 한글화된 버전으로 만드는 방법을 공개합니다.

백트랙 리눅스에서 칼리 리눅스로 발전하면서, DVD 커스터마이징은 Live-Build 라는 도구를 이용하여 만들 수 있습니다.


다음은 언제든 업데이트된 상태로 자신만의 칼리리눅스 또는 데비안 리눅스의 Live 버전을 만들어내는 방법이라고도 할 수 있습니다.

많이들 이용하셔서, 자신만의 칼리 리눅스 한글화 버전을 만드시기 바랍니다.


--------------------------------------------------------------------------------------------------------------------------


1. 사전준비 


1) 먼저 칼리 리눅스 2.0 영어 원본을 구합니다.

https://www.kali.org/downloads/

에서 다운로드 받을 수 있습니다.


2) 칼리 리눅스를 설치합니다. (실제 컴퓨터면 더 좋겠습니다만, VMware 같은 가상 PC 환경도 상관없습니다.)

다만, 우리는 새로운 DVD ISO 파일을 생성해야 하기때문에, 칼리리눅스 운영체제를 제외하고, 하드디스크 공간이 적어도  10GB 가 필요할 것입니다. 

(굳이 설치를 하지 않고, Live 부팅 상태에서도 가능합니다만, 이 경우에는 리눅스 ext4 파일시스템을 만들고, 포맷해서 mount 하는 과정을 할 수 있어야 합니다. 리눅스를 사용한 경험이 필요합니다.  리눅스 전문가는 설치가 굳이 필요없을 것입니다. 여러분이 리눅스 초보자라면, 설치를 권장합니다.)

설치에 관련된 내용은 아래 링크들에서 찾을 수 있습니다. 인터넷 검색으로 “칼리 리눅스 설치”를 찾으시면 될 것입니다.

http://bigsecurity.tistory.com/3

http://cherub.sungkyul.edu/~web/jinboard/files/122_Kali-Linux%20%20insatll.pdf


한글 환경후에 설치했는데, 한글이 안보일때는, 아래 링크를 보고 해결하시면 됩니다.

http://lureout.tistory.com/573

※ 꼭 한글화된 칼리 리눅스에서만 한글화 ISO가 만들어지는 것은 아닙니다. 영문판에서도 다 됩니다.


상용 VMware 가 아닌, 무료 VirtualBox 버추얼박스 가상머신에서 칼리 리눅스를 설치하는 법도 있습니다. 참고하시기 바랍니다.

http://blog.naver.com/agboy/220545961824


3) 반드시, 인터넷에 연결되어 있어야 합니다. 가능하면 빠른 인터넷 속도가 좋습니다. (여러분 집에서 쓰는 ADSL 정도 수준이면 충분합니다.)

Live-Build는 인터넷상에서 모든 패키지 파일들을 다운받아오기 때문에, 인터넷 속도가 중요합니다. 

제 경험상 한번 빌드가 시작되면, 2시간 정도 걸립니다. 빌드 명령이 내려지고 나면, 인터넷 속도와 시스템 속도에 따라 2~3시간이 걸릴 것으로 예상됩니다. 그래서, 한번의 실수는 2~3시간의 낭비가 발생합니다만, 어쪌 수 없습니다. 

(저는 항상 칼리리눅스 한글화를 i7 CPU를 장착한 윈도우즈 컴퓨터에서 VMware  가상 환경으로 생성합니다. 가상 환경에서 램은 4GB, 하드디스크는 40GB 정도를 잡고 있습니다. 참고하시기 바랍니다.)


2. Live-Build 패키지 설치하기

설치된 칼리 리눅스 또는 Live 상태의 칼리 리눅스로 부팅한 다음, 터미널 창을 하나 열고 시작합니다.

(인터넷 브라우저를 하나 열고, 여기 제 블로그에 접속해서, 명령어들을 하나씩 Copy & Paste 로 참조하는 것이 좋은 팁입니다.  명령어를 직접 타이핑하는 것보다는 실수가 줄어들 수 있습니다.)


1) 설치 패키지 목록을 최신으로 업데이트합니다.

root@kali:~#  apt-get update


2) 커스텀 빌드에 필요한 패키지 설치

root@kali:~#  apt-get install curl git live-build cdebootstrap apt-cacher-ng


3. 칼리 리눅스를 커스텀 빌드하기 위한 설정


1) 커스텀 빌드를 위한 디렉토리 이동후, 칼리리눅스의 기본 템플릿 가져오기 

(여기서는 /mnt 디렉토리를 빌드용으로 사용합니다. 다른 디렉토리를 선택해도 무방합니다.)

root@kali:~#  cd /mnt

root@kali:/mnt# git clone git://git.kali.org/live-build-config.git


2) 한글 로케일과 키보드 레이아웃을 설정하기

root@kali:/mnt# cd /mnt/live-build-config/auto

root@kali:/mnt/live-build-config/auto# vi config

...

                --bootappend-live "boot=live username=root hostname=kali" \

...


config 파일의 137번째 라인에 있는 이 부분을 다음과 같이 수정하고 저장합니다.

...

                --bootappend-live "boot=live noconfig=sudo username=root hostname=kali ignore_uuid locales=ko_KR.UTF-8 keyboard-layouts=kr keyboard-variants=alt-intl" \

...


config 파일을 수정할 때는 정말 진짜로 너무나도 주의를 기울여야 합니다. 원래 칼리 개발팀은 이 파일을 절대로 손대지 말라고 경고하고 있습니다. 그러나, 이 파일을 수정해야만 한글판을 만들 수 있습니다. 최대한 실수를 하지 않도록, 확인하고 또 확인해서 수정하시기 바랍니다.


3) 한글화를 위한 폰트와 입력기, 그리고 추가 패키지 설정하기

한글화를 위해 반드시 필요한 패키지들과 추가적인 패키지들의 목록을 만들어 줍니다. 그 목록이 들어가는 파일명은 mypackages.chroot.list 입니다.

root@kali:/mnt/live-build-config/auto# cd /mnt/live-build-config/kali-config/common/package-lists

root@kali:/mnt/live-build-config/kali-config/common/package-listsvi mypackages.chroot.list

nabi

libhangul-data

libhangul1

fonts-nanum

fonts-nanum-coding

fonts-nanum-eco

fonts-nanum-extra

fonts-unfonts-core

fonts-unfonts-extra

im-config

iceweasel

iceweasel-l10n-ko

icedove

icedove-l10n-ko

wicd-gtk

lynx

etherape

gdebi

gtk-recordmydesktop

remmina

htop

nethogs

filezilla

filezilla-common

tor

unace

rar

p7zip-rar

file-roller

pepperflashplugin-nonfree

open-vm-tools

open-vm-tools-desktop

open-vm-tools-dev

open-vm-tools-dkms

gnuradio

gr-osmosdr

osmo-sdr

inspectrum


저는 한글입력기로 nabi 를 선호하고, 한글 폰트는 나눔폰트와 은폰트를 선호하기 때문에, mypackages.chroot.list  파일에 그 패키지들의 이름을 넣었습니다. 만약 다른 입력기나 다른 한글 폰트를 좋아하시면 바꾸시면 됩니다. 

위 mypackages.chroot.list  파일의 내용을 천천히 보시면, 제가 추가한 패키지들의 성격을 알 수 있습니다. 저는 가상 환경은 선호하기 때문에, 가상환경에 필요한 open-vm-tools 패키지들을 추가하고 있습니다.


-------------------------------------------------------------------------------------------------------------------------------

한글 입력기를 nimf 프레임워크로 바꾸는 방식을 고려하고 있습니다. 공통입력기 프레임워크인 ibus가 많이 좋아졌다는 이야기가 있습니다만, 제 개인적인 선호에 따라서, nimf 프레임워크로 만들어보려고 합니다.

(다만, nimf를 사용하면, 최초부터 일본어와 중국어 입력기가 활성화되기 때문에, 일단 로그인한 후에, 설정프로그램에서 일본어와 중국어 입력기를 비활성화해야하는 단점이 있습니다.)

root@kali:/mnt/live-build-config/kali-config/common/package-listsvi mypackages.chroot.list

anthy 

anthy-common 

kasumi 

libanthy0 

libappindicator3-1 

libdbusmenu-glib4 

libdbusmenu-gtk3-4 

libhangul-data 

libhangul1 

libindicator3-7 

libsunpinyin3v5 

sunpinyin-data

nimf

fonts-nanum

fonts-nanum-coding

fonts-nanum-eco

fonts-nanum-extra

fonts-unfonts-core

fonts-unfonts-extra

im-config

iceweasel

iceweasel-l10n-ko

icedove

icedove-l10n-ko

wicd-gtk

lynx

etherape

gdebi

gtk-recordmydesktop

remmina

htop

nethogs

filezilla

filezilla-common

tor

unace

rar

p7zip-rar

file-roller

pepperflashplugin-nonfree

open-vm-tools

open-vm-tools-desktop

open-vm-tools-dev

open-vm-tools-dkms

gnuradio

gr-osmosdr

osmo-sdr

inspectrum


3-1) 한글화를 위한 nimf의 deb 파일 추가하기 

한글 입력기 프레임워크인 nimf 패키지는 아직 데비안 정식패키지가 아니기 때문에, 별도록 빌드 과정에서  .deb 파일을 지정된 디렉토리에 추가해야 한다.

~/live-build-config/kali-config/ 밑에 packages.chroot 디렉토리를 생성하고, 그 안에 deb 파일을 데비안 파일명칭 형식에 맞게 해서 넣어주어야 한다. 

root@kali:/mnt/live-build-config# cd kali-config/common

root@kali:/mnt/live-build-config/kali-config/common# mkdir packages.chroot

root@kali:/mnt/live-build-config/kali-config/common/packages.chrootwget https://dl.dropboxusercontent.com/u/54450962/nimf/nimf_2016.07.23-2~xenial_amd64.deb

-------------------------------------------------------------------------------------------------------------------------------


4) 한글 입력기의 설정을 위한 자동 스크립트 작성하기

앞에서 한글 입력기 nabi를 위한 패키지를 추가했습니다만, 패키지가 설치되었다고 바로 입력기를 쓸 수 있는 것이 아닙니다. 입력기가 디폴트로 설정될 수 있도록 하는 명령어를 실행해야 합니다. 이 과정은 Live-Build 에서 hook 이라고 하는 과정을 이용해서 완성합니다. hook 이라는 쉘 스크립트를 작성해서 추가하면, Live-Build가 수행되는 과정중에 ISO 만들어지기 전에 스크립트를 실행시켜줍니다. 

이 hook 기능을 사용하기 위해서, 한글입력기 설정을 위한 쉘 스크립트를 작성합니다.

root@kali:/mnt/live-build-config/kali-config/common/package-lists# cd /mnt/live-build-config/kali-config/common/hooks/live

root@kali:/mnt/live-build-config/kali-config/common/hooks/livevi 0500-enable-hangul-xim.hook.chroot 

#!/bin/sh

# Enable hangul-xim setting to use nabi

im-config -n hangul


위와 같이, 쉘스크립트 내용을 작성해서 저장한 다음, 쉘스크립트가 실행될 수 있도록 실행권한을 줍니다.

root@kali:/mnt/live-build-config/kali-config/common/hooks# chmod 755 0500-enable-hangul-xim.hook.chroot 


-------------------------------------------------------------------------------------------------------------------------------

만약에 nimf를 한글입력기로 쓰려고 설정했다면, 다음과 같이 자동 스크립트를 바꿔줘야 합니다.


root@kali:/mnt/live-build-config/kali-config/common/hooks/livevi 0500-enable-hangul-xim.hook.chroot 

#!/bin/sh

# Enable hangul-xim setting to use nimf

im-config -n nimf

-------------------------------------------------------------------------------------------------------------------------------


5) 기타 설정파일을 추가하기 또는 임의의 파일을 Live 파일시스템에 추가하기(이 과정은 필수적이지는 않습니다, 필요할 때 사용하면 됩니다. 필요없다면, 건너뛰어도 상관없습니다.)

칼리 리눅스가 Live 상태로 부팅되었을 때, 그 파일시스템에 특정한 설정파일 또는 임의의 파일이 필요한 경우가 있습니다. 저에게는 대표적으로  기존에 존재하는 /root/.bashrc 파일이 원하는 대로 수정된 상태로 필요하며, 세벌식 자판을 nabi 입력기에서 디폴트 설정이 되도록 하기 위해서 필요할 수도 있습니다. 이런 임의의 파일이 Live 부팅된 파일시스템에 존재하도록 하기 위해서는 /mnt/live-build-config/kali-config/common/includes.chroot/ 디렉토리 하위에 리눅스 파일시스템과 동일한 디렉토리 구조를 만들고, 파일을 생성·추가해주면 됩니다. 그러면, DVD ISO가 부팅되자마자, 해당 파일들이 파일시스템쪽으로 복사되게 됩니다.

저는 예로 /root/.bashrc 파일내에 alias ll='ls -la' 내용을 수정하고, /root/.nabi/config 파일을 추가합니다.

root@kali:/mnt/live-build-config/kali-config/common/hooks# cd /mnt/live-build-config/kali-config/common/includes.chroot

root@kali:/mnt/live-build-config/kali-config/common/includes.chroot# cd root

root@kali:/mnt/live-build-config/kali-config/common/includes.chroot/root# cp /root/.bashrc .

root@kali:/mnt/live-build-config/kali-config/common/includes.chroot/root# vi .bashrc

...

#alias ll='ls -l'

...

위 내용을 아래와 같이 수정합니다.

...

alias ll='ls -la'

...


그러면, bash 환경에서 ll 이라는 단축 명령어를 사용할 수 있게 됩니다.


4. 칼리리눅스 빌드하기

설정이 완료되었으면, 이제 칼리리눅스를 최신판으로 빌드합니다.

먼저 빌드할 수 있는 디렉토리로 이동합니다.

root@kali:/mnt/live-build-config/kali-config/common/includes.chroot/root/.nabi# cd /mnt/live-build-config

빌드를 기본 스크립트를 다음과 같이 그냥 실행하면,

root@kali:/mnt/live-build-config# ./build.sh

현재 시스템 구조(i386 또는 amd64 CPU 환경)와 동일하고, 디폴트 X-Window 매니저인 gnome으로 커스텀 DVD ISO가 /mnt/live-build-config/images 디렉토리에 생성됩니다. (빌드되는 동안의 로그도 .log 텍스트 파일로 동일한 디렉토리에 생성됩니다. 화면에는 아무것도 표시되지 않습니다.)

그러나, 원하는 커스텀 DVD ISO를 빌드하는 옵션을 다음과 같이 줘서, build.sh 스크립트를 실행하는 것이 좋습니다.

root@kali:/mnt/live-build-config# ./build.sh --arch [CPU 타입] --distribution [배포판 이름] --variant [X-Window 매니저 종류] --verbose

가능하면, 다음과 같이, 빌드과정 메시지들이 출력되게 만들면 좋습니다.

root@kali:/mnt/live-build-config# ./build.sh --distribution kali-rolling --verbose


마지막의 --verbose 옵션은 화면에 빌드되는 로그가 표시되도록 합니다. 물론 로그파일은 생성됩니다.

CPU 타입은 i386 또는 amd64 로 지정할 수 있습니다. 32bit 버전인가  64bit 버전인가를 선택합니다.

배포판 이름은 kali-rolling 를 쓰면 됩니다.  2015년 말에 칼리리눅스 2.0 (배포판 이름은  sana)이 나온 이후로, 칼리리눅스는 rolling 버전의 개념으로 바뀌어서, 항상 최신의 배포판 이름은 kali-rolling 입니다.

X-Windows 매니저 종류는 정확하게는 칼리 리눅스의 종류를 지정하는 것입니다만, 종류가 X-Window 매니저를 기준으로 가장 잘 구분되기 때문에 이렇게 표현하였습니다. X-Windows 매니저 종류는 디폴트 설정인 gnome 부터, 1.1.0버전까지 디폴트 매니저였던 xfce, 그리고 kde, e17, i3wm, light, lxde, mate 같은 종류가 다양하게 있습니다.

제 경험으로 현재 한글화가 되는 것은 gnome, xfce, lxde 세 종류뿐입니다. 


예로, 64bit용 xfce 버전을 만들고 싶으면, 명령어는 다음과 같습니다.

root@kali:/mnt/live-build-config# ./build.sh --arch amd64 --distribution kali-rolling --variant xfce --verbose

만약 32bit용 lxde 버전을 만들고 싶으면, 명령어는 다음과 같습니다.

root@kali:/mnt/live-build-config# ./build.sh --arch i386 --distribution kali-rolling --variant lxde --verbose


이상입니다.

앞에서 알려드렸듯이, 이 과정으로 얼마든지 자기만의 칼리 리눅스를 만들어낼 수 있습니다. 많이 응용해서 사용하시기 바랍니다.

Posted by 훅크선장
, |