블로그 이미지
훅크선장

카테고리

분류 전체보기 (361)
사진이야기 (23)
펭귄컴퓨팅 (120)
컴퓨터보안 (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

공지사항

태그목록

최근에 올라온 글

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

백트랙 리눅스에서 칼리 리눅스로 발전하면서, 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


상용 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 live-build 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" \

...


이 부분을 다음과 같이 수정하고 저장합니다.

...

                --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-lists# vi mypackages.chroot.list

nabi

libhangul-data

libhangul1

fonts-unfonts-core

fonts-unfonts-extra

im-config

iceweasel

iceweasel-l10n-ko

icedove

icedove-l10n-ko

wicd-gtk

lynx

mc

armitage

etherape

gdebi

gtk-recordmydesktop

recordmydesktop

remmina

htop

nethogs

filezilla

filezilla-common

tor

unace

rar

unrar

p7zip

zip

unzip

p7zip-full

p7zip-rar

file-roller

flashplugin-nonfree

open-vm-tools

open-vm-tools-dbg

open-vm-tools-desktop

open-vm-tools-dev

open-vm-tools-dkms


칼리 1.1.0 버전 이전까지는 mypackages.chroot.list  파일의 위치가 /mnt/live-build-config/config/package-lists/ 였습니다. 이 위치를 그냥 사용해도 됩니다만, 가능하면 새롭게 바뀐 /mnt/live-build-config/kali-config/common/package-lists/ 에 생성하시기 바랍니다.


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

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


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

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

#!/bin/bash

# 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 


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 이라는 단축 명령어를 사용할 수 있게 됩니다.

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

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

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

xim_name=nabi

x=0

y=0

show_palette=false

palette_height=24

use_tray_icon=true

theme=Jini

hangul_keyboard=2

latin_keyboard=none

keyboard_layouts=keyboard_layouts

triggerkeys=Hangul,Shift+space

offkeys=Escape

candidatekeys=Hangul_Hanja,F9

output_mode=syllable

default_input_mode=direct

input_mode_scope=per_toplevel

preedit_font=Sans 9

preedit_foreground=#000000

preedit_background=#FFFFFF

candidate_font=Sans 14

candidate_format=hanja

dynamic_event_flow=true

commit_by_word=false

auto_reorder=true

use_simplified_chinese=false

hanja_mode=false

ignore_app_fontset=false

use_system_keymap=false


기본 nabi의 config 설정파일을 직접 만들어줍니다. 

세벌식 최종을 디폴트로 설정해서 사용하고 싶다면, 위 config 파일 내용에서 hangul_keyboard=2 부분의 숫자 2를 3f로 수정합니다. 세벌식 390 자판 사용자는 390 이라고 설정하면 됩니다. (hangul_keyboard=3f  또는 hangul_keyboard=390 으로 수정합니다.)


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


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

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

배포판 이름은 sana 를 쓰면 됩니다. 칼리리눅스 2.0의 배포판 이름이 sana 입니다.

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

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


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

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

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

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


이상입니다.

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






Posted by 훅크선장
, |