작성자 : saint Overview BackTrack 는 LILO 를부트로더로사용한다. BactTrack 을기본환경설정그대로설치하면부팅할수없는경우가있는데, 이것은실린더크기가 1024 보다큰하드디스크에설치하면 LILO 가 OS 를정상적으로읽어올수없기때문이다. 요즘나오는 LILO 는이문제를해결했다고하는데 (lba32 옵션을사용하면된다고한다 ), 불행히도 BackTrack 에탑재된 LILO 는그리똑똑하지못하다. 이런이유로, 본문에서는 GRUB 을부트로더로이용하여 BackTrack 을설치하는방법을다룬다. BackTrack? BackTrack 은보안도구 ( 뒤집어생각하면해킹도구 ) 를정보보호프레임워크에따라구성해서패키지로만든리눅스배포본이다. Slackware 를 Live CD 형태로만든 Salx 에기반하고있어서 CD ROM 만있으면어디서든리눅스환경을이용할수있다. 현재최신버전은 2.0 이다. BackTrack 은이전에있던두가지리눅스배포본이하나로합쳐진결과물이다. Auditor's Security Collection 과 WHAX 가그것이다. 물론, 이두가지리눅스도 BackTrack 과동일한목적으로만들어진배포본이다. BackTrack 를자세히알고싶거나 CD 이미지를다운로드하고싶다면 htt://www.remote-exloit.org/backtrack.html 를방문해보기바란다. Contents 1. 실행한환경 2. BackTrack2 부팅 3. 파티션구성 4. 파티션포맷하고마운트하기 5. 콘솔화면에서 TrackBack2 설치하기 6. GRUB 설치하기 7. GRUB 부트에필요한 memu.lst 파일만들기 8. fstab 파일수정 9. 시스템시작 본문닫기 1. 실행한환경내가 BackTrack 을설치한시스템은노트북이다. Fujitsu 7010AM - CPU: Centrino 1.1GHz ULV - Memory: 512MB - Storage: 60GB - Network: Intel wireless 2200, Realtek xxxx ( 뭔지잘모르겠다 =_=;a) - Grhic: Intel 855GME (1280*768)
2. TrackBack2 부팅 TrackBack2 Live CD 를드라이브에넣고부팅한다. boot: 프롬프트가나타나면그냥엔터키를누른다. 리눅스커널을올리고 initrd 가실행되면서시스템이준비되면썰렁한로그인화면이나타난다. 여기서 root 계정으로로그인한다. 로그인화면에출력된메시지를보면 root 의패스워드는 toor 라고친절하게설명해주고있다. 부팅하기전에유동 IP 를받을수있는환경이라면, 노트북을반드시네트워크에연결한다. 왜냐면, GRUB 을인터넷에서다운받아사용할것이기때문이다... (BackTrack2 Live CD 는 GRUB 이포함되어있지않다...) DHCP 환경이아니라면부팅후 "startx" 명령어를입력하여 KDE 환경에서 IP 를구성해준다. ( 필자는명령어로 IP 구성하는법을모르고있다... =_=;a) 3. Partition 구성 saint 는디스크를세개의파티션으로나누어쓰려고한다. 파티션을나누는이유는각파티션마다별도의파일시스템디렉토리를구성해서필요하면언제든갈아엎을수있도록하고, 데이터를안전하게보관하고싶어서다. (OS 를운영하자면이건기본이아닐까싶다...) 본격적인파티션나누기작업을할까한다... # fdisk /dev/hda The number of cylinders for this disk is set to 7296. There is nothing wrong with that, but this is larger than 1024, and could in certain setus cause roblems with: 1) software that runs at boot time (e.g., old versionsl of LILO) 2) booting and artitioning software from other OSs (e.g., DOS FDISK, OS/2 FDISK) Command (m for hel): 파티션을조회 # 하드디스크 Disk /dev/hdb: 60.0 GB, 60011642880 bytes 255 heads, 63 sectors/track, 7296 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System
Partition number (1-4): 1 First cylinder (1-7296, default 1):<Enter> Using default value 1 Last cylinder or +size or +sizem or +sizek (1-7296, default 7296): +64M Partition number (1-4): 2 First cylinder (10-7296, default 10):<Enter> Using default value 10 Last cylinder or +size or +sizem or +sizek (10-7296, default 7296): +1024M Partition number (1-4): 3 First cylinder (135-7296, default 10):<Enter> Using default value 135 Last cylinder or +size or +sizem or +sizek (135-7296, default 7296): +25648M Partition number (1-4): 4 First cylinder (3254-7296, default 3254):<Enter> Using default value 3254 Last cylinder or +size or +sizem or +sizek (3254-7296, default 7296):<Enter> Command (m for hel): a Partition number (1-4): 1 Command (m for hel): t Partition number (1-4): 2 Hex code (tye L to list codes): 82 Command (m for hel): Disk /dev/hdb: 60.0 GB, 60011642880 bytes 255 heads, 63 sectors/track, 7296 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id Syste m /device/hda1 * 1 9 72261 83 Linu x /device/hda2 10 134 1004062+ 82 Linux swa /device/hda3 135 3253 25053367+ 83 Linux /device/hda4 3254 7296 32475397+ 83 Linux Command (m for hel): w The artition table has been altered! Calling ioctl() to re-read artition table. WARNNING: Re-reading the artition table failed with error 16: Device or resource busy. The kernel still uses the old table. The new table will be used at the next reboot. Syncing disk. # reboot 4. 디스크포맷하고마운트하기이젠디스크를포맷하고마운트해서 BackTrack 을설치할준비를한다. # mkfs.ext3 /dev/hda1 # /dev/hda1 을 ext3 파일시스템으로포맷한다. # mkfs.ext3 /dev/hda3 # /dev/hda3 을 ext3 파일시스템으로포맷한다. # mkfs.ext3 /dev/hda4 # /dev/hda4 를 ext3 파일시스템으로포맷한다. 아마도파티션은마운트되어있지않을것이다. 마운트포인트를만들고파일시스템을해당디렉토리에마운트한다. # cd /mnt # mkdir {hda1,hda3,hda4} # 중괄호를이용하면여러개의디렉토리를동시에만든다. # mount /dev/hda1 /mnt/hda1 # 포맷된파일시스템 /dev/hda1 을 /mnt/hda1 에마운트한다. # mount /dev/hda1 /mnt/hda3 # 포맷된파일시스템 /dev/hda3 을 /mnt/hda3 에마운트한다. # mount /dev/hda1 /mnt/hda4 # 포맷된파일시스템 /dev/hda4 를 /mnt/hda4 에마운트한다.
5. 콘솔화면에서 TrackBack 설치하기콘솔화면에서 TrackBack 을설치한다... 라기보다는복사라고생각하자. # c --reserve -R /{bin,dev,etc,home,lib,root,sbin,usr,var,ot,entest} /mnt/hda3 # xcoy # mkdir /mnt/hda3/{boot,mnt,roc,sys,tm} # /boot, /home 은마운트디렉토리로사용한다. # c /boot/vmlinuz /mnt/hda1/ # /mnt/hda1 에커널을복사한다. 6. GRUB 설치하기 GRUB 을설치한다. GRUB 을설치할때사용되는명령어 installkg 는 slackware 배포본에서사용하는패키지관리명령어다. # wget ft://ft.slackware.com/ub/slackware/slackware-current/extra/grub/grub- 0.97-i486-2.tgz # installkg grub-0.97-i486-2.tgz # grub-install --root-directory=/mnt/hda3 /dev/hda3 # cd /mnt/hda1; mkdir grub; mv /mnt/hda3/boot/grub/* /mnt/hda1/grub/ GRUB 을설치하고나면 /dev/hda3/boot/ 에 GRUB 설치파일이만들어진다. 이것들을모두 /mnt/hda1 에옮겨놓는다. 7. GRUB 부트에필요한 menu.lst 파일만들기 vi 편집기를이용해 GRUB 에서부팅시읽어들일부트메뉴파일을작성하고저장한다. # vi /mnt/hda/hda1/grub/menu.lst default 0 timeout 3 hiddenmenu title Back Track v2.0 root (hd0,0) kernel /vmlinuz root=/dev/hda3 ro vga=791 boot 8. fstab 파일수정 fstab 파일을수정해서 /dev/hda1 를 /boot 에, /dev/hda4 를 /home 에마운트하도록한다. /dev/hda1 /boot ext3 defaults 0 0 /dev/hda2 swa swa defaults 0 0 /dev/hda3 / ext3 defaults 0 0 /dev/hda4 /home ext3 defaults 0 0
9. 시스템시작다끝났다. 이제 "reboot" 명령을입력하여시스템을재시작한다. 별다른문제없이부팅에성공한다면 OK. 문제가있다면? 그땐 OTL... 몰라!!!