블로그 이미지
훅크선장

카테고리

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

달력

« » 2015.11
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

공지사항

태그목록

최근에 올라온 글

OpenWRT를 사용하다보면, USB 디스크 또는 메모리를 usb 포트에 꽂아서 마운트해서 사용하는데,

매번 시스템이 재시작될 때마다, 마운트를 다시 해주어야 하는 불편함이 있다.

왜냐하면, 기존에는 USB 디스크나 메모리의 파티션이 자동으로 디바이스로 인식되어서, 디바이스 명이 /dev/sda1 형태로 되어야만,

# mount /dev/sda1 /mnt

와 같이 명령어로 써야된다.


근데, 디바이스명은 가끔 부팅될때마다 달라질 수 있기 때문에 한계가 있었다.


최근에 OpenWRT 기능을 둘러보면서, 자동 마운트 방법을 알게 되었다.


root@HomeRouter:/etc/config# block info

/dev/mtdblock2: UUID="7f2dadbc-6ae00ebb-ea880768-13b88c63" VERSION="4.0" TYPE="squashfs"

/dev/mtdblock3: TYPE="jffs2"

/dev/sda1: UUID="db459e28-c32b-4f16-8dc1-2edee96031c2" NAME="EXT_JOURNAL" VERSION="1.0" TYPE="ext4"

root@HomeRouter:/etc/config# 


먼저 위와 같이, block info 라는 명령어로 USB  디스크의 UUID를 알아낸다.


그리고,

/etc/config/fstab 에 가서 다음과 같이 추가한다.

# vi /etc/config/fstab

...

중략

...

config mount

              option uuid 'db459e28-c32b-4f16-8dc1-2edee96031c2'

              option enabled '1'

              option target '/mnt'


그러면, UUID를 'db459e28-c32b-4f16-8dc1-2edee96031c2'로 가진 디바이스가 항상 /mnt 디렉토리로 자동 마운트가 된다.



그냥 아주 쉽게, LUCI 웹 인터페이스에서 메뉴 System -> Mount Points 에 들어가면, 설정할 수도 있다.




Posted by 훅크선장
, |

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

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

최근 2주일 동안, 마음을 다잡고 열심히 노력해서, 드디어 한글화에 성공하였습니다.

현재 X윈도우 매니저를 여러 종류(XFCE, GNOME, LXDE)로 해서 64bit와 32bit로 각각 Build하는 중입니다. 빌드되는 대로, 계속 업데이트할 예정입니다.

※ KDE 버전은 한글화가 안되는 문제점이 발생되어, 너무 어려워서 한글화하지 않을 예정입니다. 대신 XFCE, LXDE를 써보시기를 권장드립니다. XFCE는 이전 Kali 1.1.0까지 디폴트 X윈도우 매니저이었습니다. LXDE는 저도 이번에 봤는데, 매우 깔끔한 인터페이스입니다.

※ 32bit 는 계속 빌드중입니다.  XFCE나 LXDE가 X윈도우 매니저중에서는 가볍고 좋습니다. GNOME는 좀 무겁습니다.


이전의 1.0.9a와 마찬가지로, 필요한 몇 개의 패키지만을 추가하였습니다. 


예전까지 Kali는 배포판을 버전으로만 부르다가, 2.0버전부터는 배포판에 별명을 붙이기 시작했습니다. 마치 데비안 배포판이 하는 방식인데, Kali 2.0은 sana라고 불립니다.

그래서 저도 이번에는 특별히 한글화된 2.0 버전에 별명을 붙였습니다. 제가 사랑하는 가족중의 한명인 제 할머니의 법위와 법명(선타원 황정도화)을 참고하여 별명을 붙여서 배포합니다. 2015년 2월 1일에 열반에 드신 제 할머니의 법명이신 정도화(jungdowha)를 이번 한글화된 칼리 리눅스 2.0의 별명으로 사용합니다.(앞으로 계속 별명을 사용할 지는 고민해보렵니다.)



배포방식은 이전과 동일하게, FTP 하나 입니다. FTP 패스워드만 퀴즈로 풀면 됩니다.


※ 11월 1일에 처음 올렸던 ISO 파일들에서 일부 설정을 추가하였습니다. 64bit gnome과 xfce를 11월 3일에 다시 올렸습니다. 혹시 11월 3일 이전에 64bit gnome과 xfce버전의 ISO 파일을 받으신 분들께서는 해쉬값을 검사해서, 다시 받으시기 바랍니다. (큰 설정 변화는 없습니다. 세벌식 자판 사용을 위한 설정파일과 alias ll='ls -la' 설정만 바뀌었습니다. 이전 ISO와 기본 기능상의 차이는 없습니다.


64비트 파일명(UTF-8, GNOME)은 kali-linux-2.0-jungdowha-amd64-ko-utf8-gnome.iso 입니다.

SHA-160     : 62c9c90ff58f73318fd9b3bfc781747e3a6caa17

MD5         :  9ecccf7ae63cf89b8ed2222363a0d7f4

GNOME버전에서 나비 입력기의 패널아이콘이 보이지 않는 문제가 있습니다만, 나비입력기는 잘 동작하므로, Shift+Space 키로 한글과 영문을 전환하시면 됩니다. 이 문제는 해결하도록 노력해 보겠습니다. 


혹시, 한글 3벌식을 쓰시는 분 계시면, 다음과 같이 nabi를 재시작하시면 됩니다.


터미널에서

# ps aux | grep nabi

해서 나오는, nabi의 프로세스 번호를 확인하신 후,

# kill -9  [nabi 프로세스 번호]

 해서, nabi를 일단 종료한 다음,


nabi의 config 설정파일을 수정합니다.

# vi /root/.nabi/config


hangul_keyboard=2

부분을

hangul_keyboard=3f

로 바꿉니다.  3f는 세벌식 최종을 의미합니다. 390자판을 쓰신다면, 3f를 390으로 바꿉니다.


설정이 완료되었으면, 

 # nabi & 

로 재시작하면 됩니다. 그러면, 한글이 세벌식 자판으로 입력됩니다.


64비트 파일명(UTF-8, XFCE)은 kali-linux-2.0-jungdowha-amd64-ko-utf8-xfce.iso 입니다.

SHA-160     : 3525d1374b6b910432702b9944dcd4fa62ad1d46

MD5         :  772eddd09c51d2a96dd8a04ed8234e81


64비트 파일명(UTF-8, LXDE)은 kali-linux-2.0-jungdowha-amd64-ko-utf8-lxde.iso 입니다.

SHA-160     : 60E5F648857776A9D9A861203C37F65D0F792541

MD5         :  5e860976994185b9f7131c9e0f4e24c0


32비트 파일명(UTF-8, GNOME)은 kali-linux-2.0-jungdowha-i386-ko-utf8-gnome.iso 입니다.

SHA-160     : 07b8cdfb66749bcc3f315a2c8f58dcc3902933a7

MD5         :  ded7590b7768766c18b29df5a9a64297


32비트 파일명(UTF-8, XFCE)은 kali-linux-2.0-jungdowha-i386-ko-utf8-xfce.iso 입니다.

SHA-160     : 7cbc42f7da85144c2a87004174fe445ad74db4b8

MD5         :  750da9b1ca63bd07660cb8c7422c173c


32비트 파일명(UTF-8, LXDE)은 kali-linux-2.0-jungdowha-i386-ko-utf8-lxde.iso 입니다.

SHA-160     : 0a722db414a2fe300a13726ebccce592399ca62c

MD5         :  ce0d419e7118ff7c60029a97eca7e670


다른 버전들도 있으니, 한꺼번에 받지 마시고, 필요한 것만 받아가시기 바랍니다.


FTP 서버: hook7346.ignorelist.com

FTP 포트: 21번

FTP 계정: kali109ako

FTP 패스워드는 퀴즈입니다. => 영문자판상태에서 한글로 치시면 됩니다.

1) 패스워드는 한글 4글자와 특수문자 1개로 구성되어 있습니다.

2) 패스워드의 첫 두 글자는 우리나라 문자 이름입니다. 이미 1) 문장에서 나온 단어입니다.

3) 패스워드의 세번째와 네번째 두 글자는 3.1절에 외치던 문장에 있는 두 글자입니다.

“대한 독립 OO”에서 OO에 들어가는 단어입니다.

4) 마지막에 들어가는 특수문자는 3)의 단어뒤에 자주 붙는 특수문자입니다. 느낌이 오시나요? (이거 자주 헷갈리시는데, 쩜은 아닙니다. 느낌입니다.)


다시한번 말씀드리지만, 영문자판상태에서 한글로 치시면 됩니다.

한글 4글자와 특수문자 1개로 구성되어 있습니다.(영문자로는 총 12글자입니다.)


퀴즈가 안풀리시는 분은 이전과 동일하게, 밑에 답글로 이메일주소 적어주시면, 이메일로 접속 정보와 패스워드 알려드립니다.


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


# GNOME 데스크탑 화면


# XFCE 데스크탑 화면


# LXDE 데스크탑 화면




Posted by 훅크선장
, |