휴. 드디어 됐다.

먼저 간단하게 GPG에 대해 알아보자

GPG = The GNU Privacy Guard =GnuPG 의약자로 '전자서명'과 '암호화' 의 일종이다. 공개키와 비밀키로 구성되어 있으며 공개키는 모든 사람에게 공개하여 다른이가 공개자에게 메세지를 보낼 때, 공개키를 이용하여 암호화 하여 보내면 공개자는 메일을 받아 자신의 비밀키로 메세지를 해독하여 볼 수 있다. 또한 메세지를 보내는 사람은 자신의 비밀키를 '전자 서명'으로 사용하여 메일을 보내고 받는 사람은 보내는 사람의 공개키로 보낸 사람과 본문의 내용이 일치하는 지 확인 할 수 있다.


이외에 내가 지금 사용하는 목적인 리눅스 패키지 배포에도 사용된다. 이것은 오픈소스(누구나 사용하고 누구나 개발할 수 있는)기반인 리눅스에 누군가 악의적인 목적으로 악성코드나 트로이얀이 포함된 프로그램을 배포하게 될 경우를 대비하여 인증(검증)된 프로그램을 사용하기 위하여 사용한다. gpg키를 통하여 프로그램 제작자(단체)를 확인할 수 있으니까

여기서는 패키지를 배포하기 위해 Launchpad에 가입하고 GPG를 생성하고 키를 활성화(Activation)하는 것에 대해 설명하겠다.

1. Launchpad.net에 회원가입
회원가입시 사용할 이메일 주소를 신중하게 고르자. 앞으로 PPA사용과 GPG키 생성에 동일하게 사용하게 되므로, 기존 메일중에 좀 비중있는(?) 메일주소로..

2. GPG 생성
먼저 생성되어 있는 키가 있는지 확인해 본다. 터미널을 열고, gpg --list-keys 명령으로 확인할 수 있다.
readytoact-dev@ubuntu9:~/Desktop$ gpg --list-keys
/home/readytoact-dev/.gnupg/pubring.gpg
---------------------------------------
pub   1024D/9A30EC52 2009-06-20
uid                  Lee won-hee (readytoact, #ubuntu@irc.hanirc.org) <a********@paran.com>
sub   2048g/75D558D5 2009-06-20
특정 배포자의 키를 확인하려면 뒤에 e-mail을 입력하면 확인 가능하다

gpg --list-keys your@e-mail.address
이미 생성해 놓은 키가 하나 존재 한다. 다른 키를 생성해 보겠다.

readytoact-dev@ubuntu9:~/Desktop$ gpg --gen-key
gpg (GnuPG) 1.4.9; Copyright (C) 2008 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Please select what kind of key you want:   // 암호화 방식 선택
   (1) DSA and Elgamal (default)
   (2) DSA (sign only)
   (5) RSA (sign only)
Your selection?                                    // 엔터 (1, default)
DSA keypair will have 1024 bits.
ELG-E keys may be between 1024 and 4096 bits long.
What keysize do you want? (2048)            // 암호화 키 사이즈 선택. 엔터(기본값, (2048)
Requested keysize is 2048 bits
Please specify how long the key should be valid.
         0 = key does not expire
      <n>  = key expires in n days
      <n>w = key expires in n weeks
      <n>m = key expires in n months
      <n>y = key expires in n years
Key is valid for? (0)                                // 키의 유효기간 설정
Key does not expire at all                        // 설정 내역확인 y선택
Is this correct? (y/N) y

You need a user ID to identify your key; the software constructs the user ID
from the Real Name, Comment and Email Address in this form:
    "Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>"

Real name: Ubuntu.or.kr                          // 서명에 사용될 이름
Email address: tester@ubuntu.or.kr            // 이메일
Comment: PGP key generation test           // 코멘트 (옵션)
You selected this USER-ID:
    "Ubuntu.or.kr (PGP key generation test) <tester@ubuntu.or.kr>"

Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? o       // 수정여부확인 없으면 'o'입력후엔터
You need a Passphrase to protect your secret key.

We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
+++++++++++++++++++++++++.+++++.+++++++++++++++.+++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++.++++++++++>++++++++++......+++++
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
+++++.++++++++++..++++++++++++++++++++++++++++++.++++++++++...++++++++++..+++++.++++++++++...++++++++++.++++++++++.++++++++++++++++++++++++++++++++++++++++.+++++>.+++++..+++++>+++++.>+++++...........................................<+++++..............>.+++++...........................<+++++.........................>+++++...............<+++++........>+++++...........................+++++^^^^
gpg: key 752485E5 marked as ultimately trusted
public and secret key created and signed.

gpg: checking the trustdb
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0  valid:   2  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 2u
pub   1024D/752485E5 2009-06-21
      Key fingerprint = A7B8 9302 1174 9594 C8B9  52D1 CF11 6397 7524 85E5
uid                  Ubuntu.or.kr (PGP key generation test) <tester@ubuntu.or.kr>
sub   2048g/76412845 2009-06-21
생성된 키를 확인해보자
readytoact-dev@ubuntu9:~/Desktop$ gpg --list-keys
/home/readytoact-dev/.gnupg/pubring.gpg
---------------------------------------
pub   1024D/9A***C52 2009-06-20
uid                  Lee won-hee (readytoact, #ubuntu@irc.hanirc.org) <a********@paran.com>
sub   2048g/75***8D5 2009-06-20

pub   1024D/752***E5 2009-06-21
uid                  Ubuntu.or.kr (PGP key generation test) <tester@ubuntu.or.kr>
sub   2048g/76***845 2009-06-21

생성된 키를 키서버와 동기화 한다.
gpg --send-keys --keyserver keyserver  key-id
키서버 : keyserver.ubuntu.com
키ID : 생성된 키 pub   1024D/75***5E5 2009-06-21
                                      Key ID
readytoact-dev@ubuntu9:~/Desktop$ gpg --send-keys --keyserver keyserver.ubuntu.com  75***5E5
gpg: sending key 75***5E5 to hkp server keyserver.ubuntu.com

핑거프린트 추출
readytoact-dev@ubuntu9:~/Desktop$ gpg --fingerprint 752485E5
pub   1024D/75***5E5 2009-06-21
      Key fingerprint = A7B8 9302 **** **** C8B9  52D1 CF11 6397 7524 85E5
uid                  Ubuntu.or.kr (PGP key generation test) <tester@ubuntu.or.kr>
sub   2048g/76***845 2009-06-21
3. 런치패드(Launchpad.net)에 키 등록
로그인하여 화면 좌측 자신의 id를 클릭하여 프로파일 페이지로 이동
사용자 삽입 이미지
화면 아랫쪽으로 이동하면
사용자 삽입 이미지
'Ubuntero : No' 옆의 화살표를 클릭하여 1.Register an OpenPGP Key. 를 선택하여 진행
사용자 삽입 이미지


 Importign OpenPGP Key - 3. Enter your key fingerprint Use 에 아까 2번 과정에서 생성된 키의 Fingerprint입력
사용자 삽입 이미지

키 import후 암호화 된 키를 등록된 이메일로 보냈다는 안내메세지를 받을 수 있다.
사용자 삽입 이미지

메일을 확인하면 다음과 같은 제목의 메일이 도착하며 내용은 아래와 같다.
사용자 삽입 이미지

사용자 삽입 이미지

중요한 부분은 --BEGIN PGP MESSAGE--에서 -END PGP MESSAGE-- 까지이다. 이 암호화 키부분을 아래와 같이 드래그하여 복사한다.
사용자 삽입 이미지

이제 터미널을 열고 pgp라는 이름으로 파일을 생성하고 위 내용을 붙여넣는다.

readytoact-dev@ubuntu9:~/Desktop$ vi gpg

----BEGIN PGP MESSAGE----- Version: GnuPG v1.4.6 (GNU/Linux) hQIOAwJbz7l2QShFEAgAv9SyK/Qd6mTfon4q9xYyYuxjjm68FtjtguG2AsV7YnTf kn5nMuqB1Zr8kgbR6vneR6RHwCLpjDAx3ndgthH+Tz6xyKot3JxqKvgpddq4fvxE ffuZuU/bmHS/TmKtQaApGU9LniF6XIyKU9MPhgeev5C9+GAcPpSTGsK3lXRaBtY7 3zsq0qt29eMhGMre5IsXRSy062VY7nX5MkpejOmgLWXpnffCMKRZ7jUODHR8V2Sq SKmkzrnL2+I+lqXbRohPq7Qw/21M97D9Ns8Mo3ke3b6IHZZA0pC3ysmMWVB6fgrg 5rkP/9gwKtetdp3iTRGlyuTv2nG69nu85eKYIfN/IggA2o8elA1JJTldVt32cuwH AKIHHiJi1rRlzehpM+HzlH3PaqnW9EZb0A41aD9auCNwjwLAQAqO/4ucHvmjeou6 CoDRMReSLhqTA0M4wefkV3c2w0xHKt17aqaDIDdzcR34udPG8j1XfKQ/Jhtqizsx z5rYzjM/ACv3tT44sIjtHO8TUC1Wy87bpK6Zzz0JH9pIiJpHls6nJlzojxxyRGAr vfdP8wW3BmVBZcsZ3nu30Qxobw10oGhnFwpfn313JH1T1VYnz2Hfye09LlNpHt// 6rPUhM2cEGp8oWT2bRir9PPvTuv2rs2rEgwHDlqSJcdVk4GfZE6OjXR9YMiairNC LdLAvQGUBYReBdALajYsu9t6wi+Tidj6hNJLQSMJTxV0ty6ozOfTLclBfMopOL5k SpKt120civi0uPLw+/ppNEMo2l5HHjOoj+ywKA3JYbDR8Q/8opajk0rE5NPUGG/b MYuB1L5WMi1o5U4HlS1WeoY5aj0phOEAvWkYd3LKgiOZBovHsRFwFS6DJ5OcLhF1 B/jTx9MJ5mYk8/uZR4HzhXzFi9q+k7Zc7OOVbZx+O7fzXFeEfDXR1134wfhPbpiq 0d27ujcujXrk7mCp8eeSg9Lhg5E4e30jSBdxwg41H34XxDogc99RXOdvGosPau+C GjPaMtJ77s/eAukntyIACd7p48WNrX6dqrGUhxqUv6XLZwrt4w91Z9/7CqCuFLW6 iYIv3Pf/2yDADSwdm4CEG1orDwIsUYpjGPXOwMCqEXjJ5I23GMbBPPZHjmhGtfi7 9mxg4q9Dlxu4WsFTaWVuCPz9PGWwypGT+drsMwag5qPvSVg0LiXDzTSkONTyglgD 8A== =grvt -----END PGP MESSAGE-----
파일을 저장하고,
readytoact-dev@ubuntu9:~/Desktop$ gpg --decrypt pgp

You need a passphrase to unlock the secret key for
user: "Lee won-hee (readytoact, #ubuntu@irc.hanirc.org) <a*******@paran.com>"
2048-bit ELG-E key, ID 75***8D5, created 2009-06-20 (main key ID 9A30EC52)

gpg: encrypted with 2048-bit ELG-E key, ID 75***8D5, created 2009-06-20
      "Lee won-hee (readytoact, #ubuntu@irc.hanirc.org) <a********@paran.com>"

Here are the instructions for confirming the OpenPGP key registration that we
received for use in Launchpad.

Requester details:

    User name    : readytoact
    Email address: a*********@paran.com

Key details:

    Fingerprint : 166885BF********9B8E97B10D36A3789A30EC52
    Key type/ID : 1024D/9A***C52

UIDs:
    a*******@paran.com

Please go here to finish adding the key to your Launchpad account:

    https://launchpad.net/token/xnLxgmtHKpf2j5zCbQzm
readytoact-dev@ubuntu9:~/Desktop$
정상적으로 진행되면 등록완료를 위한 링크 주소가 보인다.

본인은 여기서 고생을 했다. 이후에 암호키를 복호화(decryption) 해야하는데 이런 메세지가 자꾸 나왔다..무려 두시간이 넘도록..
readytoact-dev@ubuntu9:~/Desktop$ gpg --decrypt pgp
gpg: no valid OpenPGP data found.
gpg: decrypt_message failed: eof
이렇게 되는 원인은 붙여넣기 할 때, 암호화 메세지의 포멧이 변경되어 gpg가 암호화 파일을 해독할 수 없어 이렇게 된다. 내 위 그림에서 보면 메일로 수신된 메세지는 총 5줄로 구성되어 있는데,

1. ---- BEGIN PGP MESSAGE ----
2. Version: GnuPG v1.4.6 (GNU/Linux)
3. 공백라인
4. 암호키(길지만 한줄이다
5. ---- END PGP MESSAGE ----

그런데 어쩐지 붙여넣기를 하면 이게 한 줄로 몰려버리니.. 그래서 포멧을 위와 같이 맞춰 주었다. 이 때, 4번줄 암호키는 공백없이 정확하게 한줄로 자르는게 좋은듯하다. 공백문자등으로 킷값이 변하면 안될테니까(추정일뿐. 테스트하기도 힘들다;;)

위와 같이 작업하면 다음과정으로 진행한다.

위에 보여진 링크를 브라우저 주소창에 붙여넣기 하면 Confirm 페이지가 나타난다
사용자 삽입 이미지
Continue 하면 다시 개인정보 페이지로 이동한다.
사용자 삽입 이미지

화면 아랫쪽 Ubuntero : No 옆 느낌표를 다시한번 클릭하면 Ubuntu Codes of Conduct페이지로 이동한다.
사용자 삽입 이미지

'2. Donwload the Code of Conduct'를 선택하면 'UbuntuCodeofConduct-1.0.1.txt파일을 다운받는다

다운받은 파일을 아래와 같이 실행

readytoact-dev@ubuntu9:~/Desktop$ gpg --clearsign UbuntuCodeofConduct-1.0.1.txt

You need a passphrase to unlock the secret key for
user: "Ubuntu.or.kr (PGP key generation test) <tester@ubuntu.or.kr>"
1024-bit DSA key, ID 752485E5, created 2009-06-21

gpg: problem with the agent - disabling agent use
readytoact-dev@ubuntu9:~/Desktop$ ls
UbuntuCodeofConduct-1.0.1.txt     
UbuntuCodeofConduct-1.0.1.txt.asc
'3. Sing it' 을 클릭하고 보여지는 폼에 생성된 .asc 파일을 에디터로 열고 내용을 복사하여 붙여넣기
사용자 삽입 이미지

서명이 활성화 되었다.
사용자 삽입 이미지


자 이제, 조금 쉽게 가보자. 위 2. PGP 생성과정을 터미널에서 CUI로 진행하지 말고 쉽게 하는 방법을 알려주겠다.
프로그램 -> 보조 프로그램 -> 암호 및 암호화 키 를 실행한다.
사용자 삽입 이미지

기존에 생성된 키가 보인다. 새로운 키를 생성해 보자. 파일-새로 만들기 또는 Ctrl + N
사용자 삽입 이미지

사용자 삽입 이미지

암호를 입력하면 암호를 생성한 뒤 새로운 키가 생성된다.
사용자 삽입 이미지

훨씬 쉽지 않은가?

왜 이걸 이제 갈켜줬냐면.. :p 알지 않는가.. 훗-



출처 : http://mr-dust.pe.kr/entry/font-packaging-and-upload-to-ppa

글꼴 패키징과 PPA 등록       in 電子計算機 理解

얼마전 무려 "우분투 전용" 이라는 타이틀을 단, 렉시 글꼴이 발표되었다.

공개용 한글 글꼴의 부족이 끊임없이 재기되어온 상황에서 정말 단비와 같은 글꼴이었지만, 글꼴 자체의 완성도(글자수)와 다른 부차적인 문제로 잡음이 조금씩 있었는데, 하나씩 해결이 되어 며칠 전에는 총 11,172자를 가진 제대로된 글꼴이 되었다. 그래서 패키징을 해보았다.(라기보다 공모 씨가 하도 갈궈싸서.. -_-;)

참조 문서 : [우분투 - 여름 파튀:소세미나] 우분투 패키징과 PPA
                   데비안 패키징 매뉴얼

참조 패키지 : 은글꼴 데비안 패키지
                       백묵글꼴 데비안 패키지
                       alee 글꼴 데비안 패키지


1. Gnu PG 설정


2. 기본 환경 및 준비물(우분투 8.10 환경)
$ sudo apt-get install dh-make dpkg-dev debhelper fakeroot lintian dput devscripts


3. 기존 패키지 분석
글꼴 패키징을 해본 적이 없어, 기존 글꼴 패키지를 분석하여 비슷하게 사용해보기로 했다.

백묵 글꼴

은 글꼴

alee 글꼴


우선 필요한 파일은 글꼴, COPYING, 그리고 debian 디렉토리..


4. debian 패키징 준비
디렉토리를 생성하고, 글꼴 파일과 COPYING을 복사한 뒤에 dh_make 를 실행한다.
$ mkdir ttf-lexi-1.5   (디렉토리명을 '패키지-버전' 으로 생성한다.)
$ export DEBFULLNAME="Jihui Choi" (패키지 관리자 이름)
$ export DEBEMAIL=jihui.choi@gmail.com (자신의 이메일 주소)
$ dh_make -c GPL --createorig (-c 는 저작권 내용 삽입, --createorig 는 orig.tar.gz 파일 생성)

Type of package: single binary, multiple binary, library, kernel module or cdbs?
[s/m/l/k/b] s

Maintainer name : Jihui Choi
Email-Address   : jihui.choi@gmail.com
Date            : Thu, 16 Apr 2009 23:12:19 +0900
Package Name    : ttf-lexi
Version         : 1.5
License         : gpl
Using dpatch    : no
Type of Package : Single
Hit <enter> to confirm:
Currently there is no top level Makefile. This may require additional tuning.
Done. Please edit the files in the debian/ subdirectory now. You should also
check that the ttf-lexi Makefiles install into $DESTDIR and not in / .
dh_make 에서 패키지 종류는 s, License 는 GPL 로 선택한다.
완료되면 debian 이란 폴더가 생성된다.
$ cd debian
$ ls
README.Debian cron.d.ex emacsen-startup.ex menu.ex rules
changelog dirs ex.doc-base.package postinst.ex watch.ex
conffiles.ex docs init.d.ex postrm.ex
control emacsen-install.ex manpage.1.ex preinst.ex
copyright emacsen-remove.ex manpage.sgml.ex prerm.ex


5. ./debian 디렉토리 내 파일 설정
가장 머리 아픈 부분이다.
그래서 어떻게 바꾸었나만 기록한다. 각 파일의 용도나 내용에 관해서는 위의 참조 문서를 참조할 것.
아래에 표시하지 않은 파일은 전부 삭제했다.

control : alee 글꼴 패키지 참조

changelog : ppa 용으로 unstable 을 intrepid 로 변경

copyright

postinst : alee 글꼴 패키지 참조(노란색 부분 삭제)

dirs
usr/share/fonts/truetype/lexi

rules : alee, 백묵 글꼴 패키지 참조

compat : 수정안함


6. 패키징 하기
$ dpkg-buildpackage -rfakeroot
앞서 생성한 gpg 의 접근 암호를 물어본다.
정상적으로 패키징이 되면 다음과 같은 파일이 생성된다.
$ ls ..
ttf-lexi-1.5                 ttf-lexi_1.5-1.diff.gz
ttf-lexi_1.5-1.dsc           ttf-lexi_1.5-1_all.deb
ttf-lexi_1.5-1_i386.changes  ttf-lexi_1.5.orig.tar.gz 

이제 정상적으로 패키징이 되었는지 패키지를 검사한다.
$ cd ..
$ lintian ttf-lexi_1.5-1_i386.changes
E: ttf-lexi_1.5-1_i386.changes: bad-distribution-in-changes-file intrepid
W: ttf-lexi source: binary-arch-rules-but-pkg-is-arch-indep
W: ttf-lexi source: out-of-date-standards-version 3.7.3 (current is 3.8.0)
W: ttf-lexi: readme-debian-contains-debmake-template
W: ttf-lexi: copyright-contains-dh_make-todo-boilerplate
W: ttf-lexi: copyright-without-copyright-notice
W: ttf-lexi: description-synopsis-might-not-be-phrased-properly
E: ttf-lexi: extended-description-is-empty
W: ttf-lexi: new-package-should-close-itp-bug
뭔가 에러와 경고가 많다. 하나씩 확인해서 처리한다. 참조 : Lintian Tags
E: ttf-lexi_1.5-1_i386.changes: bad-distribution-in-changes-file intrepid
=> lintian 에서 우분투 버전명을 인식못하는 버그임.
W: ttf-lexi source: binary-arch-rules-but-pkg-is-arch-indep
=> 아키텍쳐와 무관한 패키지를 데비안룰을 이용해 패키징했단 얘기.
W: ttf-lexi source: out-of-date-standards-version 3.7.3 (current is 3.8.0)
=> 오래된 표준안을 따른다는 얘기?
W: ttf-lexi: copyright-contains-dh_make-todo-boilerplate
=> copyright 를 제대로 체크하지 않았다는 얘기.
W: ttf-lexi: copyright-without-copyright-notice
=> copyright 안내 문구가 없다는 얘기
W: ttf-lexi: description-synopsis-might-not-be-phrased-properly
=> control 파일의 설명 부분이 제대로 안되어 있다는 얘기
E: ttf-lexi: extended-description-is-empty
=> 추가 설명이 없다는 얘기
W: ttf-lexi: new-package-should-close-itp-bug
=> 뭔 소린지 잘 모르겠 ;;;


7. PPA 에 올리기
~/.dput.cf 수정
[jihui-choi]   // 구분 이름
fqdn= ppa.launchpad.net
method = ftp
incoming = ~jihui-choi/ubuntu/  // 올릴 계정 주소
login = anonymous
allow-unsigned-uploads = 0

[ko]
fqdn= ppa.launchpad.net
method = ftp
incoming = ~ubuntu-ko/ubuntu/
login = anonymous
allow-unsigned-uploads = 0

debian/changelog 수정 : unstable 로 되어 있는 것을 원하는 배포판 버전명으로 바꾼다.
ttf-lexi (1.5-1) intrepid; urgency=low

  * Initial release.

-- Jihui Choi <jihui.choi@gmail.com>  Thu, 16 Apr 2009 23:12:19 +0900

debuild
$ debuild -S -sa

이상없으면 업로드
$ cd ..
$ dput jihui-choi ttf-lexi_1.5-1_source.changes

정상적으로 업로드가 끝나면, 이메일 주소로 안내 메일이 온다.



'TechNote > Ubuntu Packaging' 카테고리의 다른 글

Launchpad PPA사용을 위한GPG 생성하기  (0) 2009.06.21
[Linux] Ubuntu Customization Kit - UCK  (0) 2009.06.20

[Linux] Ubuntu Customization Kit - UCK

TechNote/Ubuntu Packaging 2009. 6. 20. 12:52 Posted by harim~♥
패키징에 대해 공부를 시작해 본다..(왠지 큰 사고 치는 느낌... 이랄까.)


출처 : http://doraki.net/437

윈도우XP를 커스터마이징 했던 nLite와 비슷한 도구입니다.

우분투 9.04 베타 때  Ubuntu Customization Kit 이 있는 것을 확인했는데 이번에 사용 해보고 글 올려보네요.


설치

sudo apt-get install uck

다음과 같은 기능이 가능합니다.

1. 설치 언어의 개별 선택이 가능(선택한 언어로만 설치되며 나머지 기본적으로 포함된 언어팩은 제거됨)

2. 우비와 같은 윈도우 설치 실행 파일의 삭제 여부

3. 설치 CD에 포함될 기본 패키지의 자유로운 선택! (삭제 하거나 추가 가능)

4. 데스크톱 환경 선택 가능 (그놈,KDE,기타)

5. 우분투,쿠분투,주분투 같은 원본 iso 이미지 파일로 작업 가능


저는 한국어 추가에 리듬박스,브라세로,토템 등 잘 안쓰는 패키지를 삭제 했습니다. 작업 하실때 반드시 우분투 설치 iso 원본이 있어야 됩니다. 설정이 끝나고 iso 빌드를 시작하고 나온 리마스터 iso 파일을 시디로 레코딩 하시거나 usb에 담아 우분투를 설치해주시면 됩니다.

[Linux] gedit에서 CP949 인코딩 표시

TechNote/Linux 2009. 6. 20. 02:36 Posted by harim~♥
CP949로 인코딩 된 파일이 gedit에서 제대로 인코딩이 되지 않는 문제가 있는데, 별 생각없이 그냥 쓰다가 Mr.Dust님이 찾으시길래 구글링하다 찾아 실제로 작업을 해보았다.

  • Alt + F2 (프로그램 실행)

  • gconf-editor 실행
  : M$윈도의 레지스트리 편집기 비슷한 화면 등장
사용자 삽입 이미지

  • /apps/gedit-2/preferences/encodings/로 이동하여 auto_detected키를 찾아 UHC를 추가하고 UHC를 가장 위로 순서를 올려준다.


ies4linux를 사용중에 ie6의 불안정함과 여러가지 자잘한 불편함으로 인해 고생하던 중 채널 지인의 도움으로 패치를 진행하게 되었다.

kernel32.patch인데 이 패치의 효과는 다음과 같다고 한다.

  • 우분투에서 IE 사용시 CPU점유율이 100%로 치솟는 문제 해결
  • wineserver의 메모리 누수 해결
  • IE 종료 후에도 계속 프로세스에 잔류하는 문제 해결

이번 작업을 통해 개인적으로 패키지에 패치를 적용하여 패키지를 다시 빌드하는 방법을 새로이 알게 되었다.

그럼 패치를 적용해 보자.

1. 패치다운로드
 : 원래 링크가 어딘지 모르겠다.

2. 패키지 다운로드
 : 일반유저로 apt-get source를 실행한다

$ cd tmp
$ apt-get source wine
$ ls
wine-1.0.1                   wine_1.0.1-0ubuntu6.dsc
wine_1.0.1-0ubuntu6.diff.gz  wine_1.0.1.orig.tar.gz
3. 패키지 빌드에 필요한 패키지 설치
$ sudo apt-get build-dep wine
$ sudo apt-get install fakeroot fakeroot-ng
4. 패치
다운받은 kernel32.patch 파일을 wine-1.0.1 디렉토리로 복사한 뒤 아래와 같이 진행한다
$ patch -p1 < kernel32.patch
patching file dlls/kernel32/sync.c
Reversed (or previously applied) patch detected!  Assume -R? [n]  y 를 입력
5. 패키지 빌드(생성)
$ fakeroot debian/rules binary
컴파일 과정이 마치고 나면 현재 디렉토리의 상위 디레토리에 빌드한 패키지가 생성된다.

6. wine 재설치
$ sudo dpkg -i wine_1.0.1-0ubuntu6_i386.deb

참고 patch 에서 -pNum 옵션
 출처 : http://coffeenix.net/board_print.php?bd_code=110


-pNUM 옵션은 패치 파일에 명시되어 있는 '패치할 파일의 위치'를
제대로 찾아주게 하기위한, 'path에서 제거할 prefix의 개수'정도
의 의미를 지닌다고 할 수 있습니다. --strip=NUM 과 같습니다.

예를 들어, 패치 파일에 '패치할 파일의 위치(이름)'가
/home/dcpark/idst/src/test.c 와 같이 적혀 있을 경우...
-p0 는 '하나도 수정하지 않은' 전 path가 포함된 것을,
-p1 은 '첫번째 슬래쉬가 빠진' home/dcpark/idst/src/test.c를,
-p4 는 '내번째 슬래쉬 앞까지 빠진' src/test.c를
'패치할 파일의 이름'으로 인식하게 합니다.
-p 옵션을 주지않는 다면, test.c 만 파일이름으로
간주하고 패치를 시도합니다.

보통의 경우, 소스 디렉토리 전체를 백업해두고
(cp -rf /home/dcpark/package /home/dcpark/package.orig)
소스(예: /home/dcpark/package/src/test.c)를 수정해서
패치파일을 만들기때문에
(diff -uNr package.orig package > patch.diff)...
패치할 소스 패키지의 루트디렉토리에서
-p1 을 사용하여 패치를 하는 것입니다.
(cd /home/dcpark/package/ && pach -p1 < where/patch.diff)



이게 왜 카테고리가 테크노트인지는 모르겠지만.. 뭐.. [생활기술]이라 치자.

개인이 차량을 매도(판매) 할 경우 필요한 서류이다

  •  신분증
  •  인감증명
  •  차량등록증 원본
  •  차량양도 증명서(양도인.양수인 직접 거래용)

  : 작성하여 판매자와 구매자가 나눠 갖게 되며 차량등록시에 필요하다. 만일 판매자가 함께 등록소에 가지 못할경우 양도증명서 '양도인'란에 반드시 도장(인감 아니어도 상관없음)가 인감증명을 포함한다.



차팔면.. 노트북.. 사달라고 그럴까..그럴까.. 그럴까..그럴까..

[Linux] How many files to be contain in Linux file system?


유용한 정보를 찾았습니다. 특히 디렉터리내에 생성가능한 파일의 개수는 참조하면 좋을 것 같습니다.

참조: http://serna.tistory.com/7

1. ext(ext1)

ext는 ext1으로도 불리며, 리눅스 운영 체제를 목표로 만들어진 첫 번째 파일 시스템입니다. Extended File System을 줄여 extfs 또는 ext로 씁니다. ext는 Rémy Card가 MFS(MINIX File System)의 한계를 극복하기 위해 만들었으며, 1992년 4월에 구현되어 Linux 0.96c에 추가되었습니다.
MFS는 파일 시스템의 최대 크기가 64MB였지만, ext에서는 2GB로 늘어나며, 파일 이름 최대 길이도 MFS는 14byte[각주:1] 또는 30byte였지만 ext는 255byte까지 지원합니다. 하지만 분리 접근, 아이노드(inode) 수정, 자료 수정 타임스탬프[각주:2] 등의 기능을 지원하지 않으며, 프리 블록과 아이노드의 트랙을 다루기 위해 연결 리스트를 사용했기 때문에 사용하면 할수록 리스트가 뒤죽박죽이 되고 파일 시스템이 조각화된다는 단점이 있었습니다.

참고 자료
http://e2fsprogs.sourceforge.net/ext2intro.html

2. ext2

ext2는 Rémy Card가 1993년 1월에 알파 버전을 공개한 파일 시스템입니다. 정식 이름은 Second Extended File System입니다. 이 파일 시스템은 ext의 문제를 해결하기 위해 나온 파일 시스템입니다.
ext2 파일 시스템은 ext 파일 시스템 코드를 바탕으로 했으며, 많은 재구성과 개선이 있었습니다. ext2 파일 시스템은 나중에 있을 개선도 고려해 만들어진 파일 시스템이었습니다. ext2 파일 시스템은 점점 많이 쓰이게 되면서 버그도 고쳐지고 계속해서 새로운 기능이 추가되어, 현재 아주 안정한 파일 시스템이 되었습니다.
ext2 파일 시스템은 255자까지의 긴 파일 이름을 지원합니다. ext2 파일 시스템은 세 타임 스탬프[각주:3]를 지원하며, 확장이 쉽습니다. 그리고 ext에 있었던 여러 단점(분리 접근, 아이노트 수정 등 지원 안 함)도 개선되었습니다. 파일 시스템의 최대 크기는 블록 사이즈에 따라 2 TiB ~ 32 TiB이며, 서브 디렉토리 개수 제한은 32768개입니다.

Block 크기 파일 크기 제한 파일 시스템 크기 제한
 1 KiB  16448 MiB (약 16 GiB)
 2048 GiB (2 TiB)
 2 KiB
 256 GiB
 8192 GiB (8 TiB)
 4 KiB
 2048 GiB (2 TiB)
 16384 GiB (16 TiB)
 8 KiB
 65568 GiB (약 64 TiB)
 32768 GiB (32 TiB)

참고 자료
http://e2fsprogs.sourceforge.net/ext2intro.html
http://linuxreviews.org/sysadmin/filesystems

3. ext3

ext3는 Stephan Tweedie가 개발하여 2001년 11월에 Linux 2.4.15에 추가되었습니다. ext2에 저널링, 온라인 파일 시스템 증대, 큰 디렉토리를 위한 HTree[각주:4] 인덱싱 등의 기능이 추가되었습니다. ext3 파일 시스템은 ext2 파일 시스템을 바탕으로 만들었기 때문에, ext2 파일 시스템을 자료 손실 없이 ext3 파일 시스템으로 바꿀 수 있습니다.
저널링은 주 파일 시스템을 수정하기 전에 저널에 수정 사항을 먼저 기록해 놓습니다. 이렇게 함으로써, 전원이 갑자기 나가거나 시스템 충돌이 일어났을 때 데이터 손실 가능성을 줄일 수 있습니다.
ext3 파일 시스템은 ext2 파일 시스템과의 호환을 목표로 설계되었기 때문에 많은 구조가 ext2 파일 시스템과 비슷합니다. 그래서 아이노드의 동적 할당, 다양한 블록 크기 등과 같은 기능이 부족합니다. 또한 extends 기능도 지원하지 않습니다. 또 다른 ext3의 단점은 온라인 조각모음 프로그램이 없다는 것입니다. 오프라인 조각모음 프로그램이 있기는 하지만, 이를 사용하기 위해서는 ext2 파일 시스템으로 변환시켜야 하며, ext3에서 ext2로 변환 후 조각모음을 하면 조각모음 프로그램이 ext3의 새로 추가된 기능을 인식하지 못해 자료가 손상될 수 있습니다. ext3가 조각모음이 필요 없다는 주장이 있는데, FAT 시스템보다는 덜 조각화되기는 하지만 계속된 사용으로 인해 ext3도 조각화 될 수 있습니다. 이는 ext4에서 다시 조각모음 프로그램이 만들어지는 계기가 됩니다. ext3 파일 시스템은 또한 저널링을 할 때 체크섬을 검사하지 않습니다.
한 디렉토리 당 서브 디렉토리 개수 제한은 31998개입니다.

Block 크기 최대 파일 크기 최대 파일 시스템 크기
 1 KiB  16 GiB
 < 2 TiB
 2 KiB
 256 GiB
 < 4 TiB
 4 KiB  2 TiB  < 8 TiB
 8 KiB  2 TiB  < 16 TiB

4. ext4

ext4는 Mingming Cao, Andreas Dilger, Alex Tomas, Dave Kleikamp, Theodore Ts'o, Eric Sandeen, Sam Naghshineh와 그 외 여러 사람에 의해 ext3를 바탕으로 하여 개발되었습니다. 2006년 8월 10일 리눅스 2.6.19에서 Unstable 버전이 공개되었으며, 2008년 8월 21일에 Stable 버전이 공개되었습니다. 주요 특징은 다음과 같습니다.

(1) 큰 파일 시스템
1 EB[각주:5]까지의 볼륨과 16 TB까지의 파일을 지원합니다.
(2) Extents
ext2, ext3의 block mapping 방식 대신 extends 방식을 새로 사용합니다. 이는 큰 파일 처리를 개선하고 조각화 현상을 줄여줍니다.
(3) 호환성
ext2, ext3를 ext4 방식으로 마운트하여 성능이 향상된 상태로 사용할 수 있으며, ext4는 ext3 방식으로 마운트될 수 있습니다. 그러나 extends를 사용하는 ext4 파티션은 ext3 방식으로 마운트 될 수 없습니다.
(4) 저널 체크섬
ext3 파일 시스템에 없었던 저널 체크섬 기능이 추가됨으로써, 파일 시스템 손상 가능성이 더 줄어들었습니다.
(5) 32000개 서브 디렉토리 제한이 깨짐
서브 디렉토리 개수 제한이 32000개에서 64000개로 늘어납니다.
(6) 온라인 조각모음
ext4는 ext3에서 지원하지 않았던 온라인 조각모음을 지원할 수 있습니다.
(7) 빠른 파일 시스템 검사
ext4는 디스크 검사를 할 때 사용하지 않는 부분은 건너뜀으로써 시스템 검사를 빨리 할 수 있습니다.
(8) 파일스탬프 향상
타임스탬프가 초 단위가 아닌 나노초 단위로 재어지며, ext2, ext3에서는 1901년 12월 14일 ~ 2038년 1월 18일을 지원했지만 ext4에서는 1901년 12월 14일 ~ 2514년 4월 25일을 지원합니다.
(9) 영속적 선행 할당
디스크 공간을 프로그램이 실제로 사용하기 전에 할당해야 한다면 대부분의 파일 시스템은 아직 사용하지 않은 공간에 0을 기록함으로써 선행 할당을 하지만, ext4는 이렇게 하지 않고도 선행 할당을 할 수 있습니다.
(10) 지연 할당
ext4는 디스크 공간 할당을 마지막까지 지연하므로 성능이 향상됩니다.
(11) 그 외
Multiblock allocator, 파일 복구 기능 추후 구현 가능성

참고

1 KiB = 1024 byte, 1 MiB = 1024 KiB, 1 GiB = 1024 MiB, 1 TiB = 1024 GiB, 1 PiB = 1024 TiB, 1 EiB = 1024 PiB
1 MB는 1000 KB로 쓰이기도 하고 1024 KB로 쓰이기도 합니다. KB, GB, TB, PB, EB 등의 단위도 마찬가지이기 때문에 KiB, MiB, GiB, TiB, PiB, EiB 등의 단위를 주로 사용했습니다.
이 단위에 대해 더 자세한 정보를 알고 싶으시면 위키백과(키비바이트, 메비바이트, 이진 접두어)를 참조해 주세요.
  1. 0.99p7 전의 커널은 이것만 지원합니다. [본문으로]
  2. 파일을 수정된 날짜, 파일에 접근한 날짜 등을 기록하는 것 [본문으로]
  3. 수정(mtime), 속성 수정(ctime), 접근(atime) [본문으로]
  4. B-tree의 변형 [본문으로]
  5. 1 EB = 1024 PB = 1048576 TB [본문으로]

Ready's Additional :
위 설명에 보면 각각의 파일시스템에서 디렉토리당 생성가능한 파일의 개수가 나오는데, 파일/디렉토리의 개수 = inode개수이다. 파일시스템의 파일의 개수가 inode의 사용량인 것이다. 아래와 같이 확인해 보았다
$ df -i               # 디스크의 i노드 확인
파일시스템            I노드   I사용됨 I미사용 I사용율% 마운트 됨
/dev/sda2             625856  257086  368770   42% /
tmpfs                 218730       3  218727    1% /lib/init/rw
varrun                218730      62  218668    1% /var/run
varlock               218730       2  218728    1% /var/lock
udev                  218730    1610  217120    1% /dev
tmpfs                 218730       2  218728    1% /dev/shm
/dev/sda5            2444624    7784 2436840    1% /home
/dev/sda6            2031616      98 2031518    1% /home2
/dev내 파일 개수를 확인해 보았다

$ cd /dev
$ find .  -print |wc -l
1612
dev/ 내 포함된 디렉토리 2개를 제외하고 파일의 개수는 동일하다.

최대 파일개수를 분할된 파티션의 용량에 따라 나누고 계산해 봐야하지만.. 알아서들..(쿨럭)

참고로, JFS, XFS의 경우 inode의 수가 제한이 없다고 한다.




[Linux] Ghost for Linux - g4l

TechNote/Linux 2009. 6. 16. 10:23 Posted by harim~♥
원문 : http://www.linux.co.kr/home/lecture/?leccode=10722


Ghost for Linux

squirrelmail로고

프로그램명

Ghost for Linux

리뷰버전

g4l-v0.21

운영체제

POSIX(Linux)

라이센스 GPL
홈페이지

ftp://fedoragcc.dyndns.org/

제작(자)사

Frank

작성자

수퍼유저코리아 서버팀http://www.superuser.co.kr

 
  • 소개 및 작동원리
  • top

    Ghost for Linux(이하 'g4l')은 "Norton Ghost"(c) Symantec과 유사한 하드디스크와 파티션 이미지을 클로닝 툴이다.


    g4l은 사용자편의를 위해 bootable CD image 패키지를 지원한다.

    g4l을 이용하여 생성한 이미지는 로컬 하드디스크 드라이버 또는 원격 FTP서버에 압축파일로 존재한다면, 간단한 조작 클릭만으로 복원 및 이미지화가 가능하다.

    g4l의 특징은 2GB이상을 쓰기 할 수 없는 파일시스템을 위해 파일 분할저장이 가능한 기능을 제공한다.

    g4l사용의 편의성을 위행 제공하는 bootable CD image는 커널단에서 ATA, serial-ATA 그리고 SCSI 드라이버 지원 및 네트웍 카드를 지원하므로 디스크 이미지화 및 저장이 용이하다는 장점이 있다.


  • 특징 및 역사
  • top

    - Bootable CD image 패키지를 지원

    Bootable CD image의 리눅스 커널은 ATA, serial-ATA 그리고 SCSI 및 네트웍 카드를 지원하므로, 디스크 이미지화 및 저장이 용이하다.

    - 이미지 저장을 위한 저장장소는 로컬 하드디스크 드라이버 또는 원격 FTP서버에 저장이 가능하며, 간단한 조작만으로 복원 및 이미지화가 가능하다.

    - 2GB이상을 쓰기를 할 수 없는 파일시스템에서는 파일 분할저장이 기능을 통해 이미지를 저장할 수 있다.

    - 인터페이스가 간단하여 몇 번의 조작만으로 쉽게 사용법을 익힐 수 있다.


  • 사용방법
  • top

    - Ghost for Linux의 사용용도는 앞에서도 설명한 하드디스크와 파티션 이미지을 클로닝 하는 것이다.

    - 클로닝한 이미지를 이용하여 동일 사양의 동일 서버 셋팅을 할 수 있다.

    그리고 또한 서버의 OS와 기타 설정한 프로그램들을 다시 방법 설치 없이 동일 서버에 설정할 수도 있다. 이는 서버를 빠른 시간내 복구해야 할 경우 유용하게 사용할 수 있다.

    기타 다양한 방법으로 사용자 편의를 위해 사용할 수 있으니 방법은 각자가 고민 해보기 바란다.


    Bootable CD로 부팅을 한다. 부팅 후 Ghost for linux의 'g4l' 명령어를 실행한다.

    위 기본 실행화면에서는 yes 버튼을 눌러 다음단계인 MAIN MENU로 넘어간다.

    MAIN MENU에서 이용하고자 하는 메뉴를 선택한다.

    참고로 고스트를 이용한 기본환경은 보통 로컬 서버에 저장된 이미지 파일을 이용하므로 여기서는 “File Mode"를 선택한다. 그 외 각 옵션들은 개인적으로 연습해보길 바란다.

    File Mode에서는 시스템에서는 이미지를 생성하기 위해서는 Select partition을 선택하여 각 파티션별 이미지를 받아 낼수 있고, 복원을 위해서는 Launch client(로컬 시스템 모드로 마운트)선택하여 이미지를 Restore한다.

    위 그림에서 설명한 것처럼 각각의 설정에 알맞은 설정 및 선택 후 키보드의“F5”를 선택하면 Target 파티션에 이미지를 설치 진행된다.

    주의) 설치가 진행중 팝업 창으로 Error 라는 문구가 뜨는 것은 단순 Warning 문구이며 OK 버튼을 눌러 다음 단계로 넘어가면 된다.


     

    Partimage 사용법<Linux용 Ghost 만들기>


    0. 리눅스를 인스톨 할때 하드가 sda일때 sda1, sda2, sda3 등과 같이 파티션 하지 말고,

       sda1만 ext3 포맷으로 만들어서 어서 LinuxOS를 인스톨해야 한다.

       여러 파티션을 만들어도 될 수도 있으나 필자는 한개만 만들어서 실험을 해 보았다.



    1. 아래 사이트에서 PartImage ISO를 받는다.

       http://www.partimage.org/Download

       Stable:  Bootable CD-Rom image with Partition Image 0.6.4: 

        "SystemRescueCd (122 MB)" 이것을 받아 cd로 만든다.

       위에서 ISO 찾기가 어려 우신 분들을 위해 아래 사이트에서 바로 받는다.     http://downloads.sourceforge.net/systemrescuecd/systemrescuecd-x86-0.3.4.iso?modtime=1174423433&big_mirror=1

     

          partimage 메뉴얼

         http://www.partimage.org/Doc/index-4.html

     

    ## 리눅스 고스트 만들기(backup)

    * 우선 리눅스 서버에 하드를 2개 장착해 놓는다.

       한개는 리눅스OS용이고, 또 하나는 PARTIMAGE로 만든 고스트파일을 저장해 놓는

       하드이다.

       필자는 sda중에 sda1에 리눅스를 깔아 놓았고, hda에는 만드는 partimage 고스트를 파

       일를 저장할 것이다. 

    0. 위의 ISO 파일을 CD로 만든다.

    1. 만든 부팅용 CD를 넣고, 부팅 한다.

    2. 질문이 나오면 모두 엔터를 누른다.

    3. PartImage용 리눅스 OS가 부팅이 된다.

    4. 고스트 이미지를 저장할 하드가 /dev/hda 이면 아래와 같이 마운트 한다.

       %> cd /mnt

       %> mkdir backup

       %> mount -t ext3 /dev/hda /mnt/backup

    5. partimage를 실행한다.

       %> partimage

           

          Partition to save/restore: 고스트를 만들 디바이스(하드디스크파티션)

          Image file to create/use : 고스트를 저장할 디바이스 및 파일이름

                                    /mnt/backup/linux-redhat.partimage.tar

          Action to be done: Save partition into new image file 선택

          Connect to server: 네트워크를 이용해서 고스트 파일 저장(본 설명에서 사용안함)

         위와 같이 설정하고 F5 키를 누른다.

       

         

      Compression level : 압축포맷, 여기서는 None을 선택한다.<최고스피드>

      Options : Enter description 만 선택

      Image split mode : Automatic split 선택

    F5키를 누른다.

    You can enter a description of the saved partition: sda1

    <ok>


    <ok>

    고스트라 만들어지는 과정이 보인다.





    ## 리눅스 고스트 복원(restore)

       

        Partition to save/restore: 고스트를 restore할 디바이스(하드디스크파티션)

        Image file to create/use: 고스트 파일이 저장된 곳 및 파일이름

                                    /mnt/backup/linux-redhat.partimage.tar.000<시작번호>

        Action to be done: Restore partition from an image file

        Connect to server: 네트워크를 이용해서 고스트 파일 저장(본 설명에서 사용안함)

       위와 같이 설정하고 F5 키를 누른다.


       

      <F5>


    <yes>

    restore 가 진행된다.. <시간이 조금 오래 걸린다>


    위도우즈에 사용되는 노턴고스트보다 시간은 많이 걸린다.

    노턴고스트도 그렇듯이 일단 os를 이미지로 만들어 놓으면 아주 많은 편리 하게 된다.

    특히 리눅스 서버는 설정할것이 많은데 이를 해결 할수 있다.

    1. 삼바설정,

    2, ftp서버 설정,

    3, telnet서버 설정

    4. 제로보드설정

    5, fax서버 설정

    6. mysql 설정

    7. 한글깨지는것 설정,

    8. php 설정,

    9, crond 설정

    10, php가속기 설정

    11. 등등 ......



    출처: http://www.MADIXON.COM 

    알아두어야할사항>

     1.  리눅스의 boot 부분은 복구가 않됩니다. hdd가 완전히 망가졋을 경우 linux(백업한리눅스버젼이일치하는것으로) 를 다시 인스톨해야합니다. 아주 기초적인것만 인스톨하면 됩니다. 대략 5분정도도 안걸립니다.


     2. sata(sda..) 하드를 이미지backup 한후 pata(hda...) 하드에 restore하면 않됩니다.

     위의 내용만 주의하면 완전100% 복구 됩니다..   



     
     


    원문 :무료 디스크 이미지 저장/복원 프로그램 CloneZilla Live

    이미지 복구 과정
    이미지가 복구되는 대상 파티션은 저장된 이미지의 원래 파티션 크기(이미지 크기가 아닌)보다 같거나 커야 합니다. 크면 공간이 낭비된다고 하니 일반적인 경우 동일한 크기의 파티션으로 복구하는 것을 권장합니다.
    아래 메뉴가 나올 때 까지는 이미지 생성 과정과 동일합니다. 앞의 내용을 참고하세요. 이미지가 저장되어 있는 파티션과 해당 디렉토리 선택이 먼저 나온다는 것에 유의하시구요.


    생성 시 saveparts를 선택했지만, 이번에 복구에는 restoreparts를 선택합니다.


    원하는 복구 이미지를 선택합니다.


    복구될 대상 파티션을 지정합니다. 여기에 있는 내용은 모두 지워지므로 안에 들어있는 파일 중 백업이 필요한 파일들은 반드시 다른 곳에 옮겨 놓으세요!


    다양한 옵션이 있지만 기본값

    역시 잘 모르면 기본값


    끝나고 뭐할 지 그냥 기본 값


    고급 사용자를 위한 명령어 보여줍니다. Enter.


    대상 파티션이 몽땅 날아간다고 정말 진행할거냐고 두번 확인합니다. 정말 맞으면 둘 다 y.


    이미지가 마구마구 압축 해제되면서 진행됩니다.
    모두 끝나면 재부팅할 지 끌지 등 물어봅니다.
    이미 작업이 끝났고, Fail이 나와도 무시하면 됩니다.
    재부팅 결과 원하는 이미지에 들어있던 환경으로 부팅되면 성공!! 축하합니다. ^^

    접기


    이상으로 CloneZilla Live의 소개와 이미지 생성/복구 과정을 알아보았습니다.
    상용 프로그램이 아니라 사용자 인터페이스는 최악이지만 사용 방법만 알아두면 비싼 상용 프로그램 없이도 편리하게 시스템 복구를 하실 수 있을 것 같습니다.
    원문 :무료 디스크 이미지 저장/복원 프로그램 CloneZilla Live

    CloneZilla Live를 수행하기 위한 부팅 디스크 제작
    먼저 이미지 저장 및 복구를 위해서 CloneZilla Live를 실행하기 위해서는 부팅  CD를 만들어야 합니다. CD 외에도 부팅 가능한 USB 장치 등의 방법이 있지만, 여기서는 CD를 이용한 방법만 소개합니다. 이외의 부팅 수단에 대한 자세한 것은 CloneZilla 홈페이지의 내용을 참고하세요(영문).
    우선 CloneZilla의 부트 이미지가 링크되어 있는 페이지를 방문하여 iso 이미지(약 100MB)를 받습니다.
    다음 CD 굽는 프로그램(보통 CD/DVD-ROM 드라이브를 구입하셨다면 같이 들어있겠지요)으로 해당 이미지를 통째로 굽습니다. 만일  ISO 굽는 프로그램이 없으시다면, 무료로 제공되는 InfraRecorder를 다운 받아서 사용하시면 됩니다.
    CD가 다 구워지면  컴퓨터를 재부팅 하고 바이오스 기능으로 들어가서(보통 처음 부팅 시 F2나 DEL키를 눌러서 들어갑니다.) 부트 메뉴의 부팅 순서에서 CD/DVD가 HDD보다 앞으로 가게 순서를 바꿉니다. 나중에 작업이 다 끝나면 필요에 따라 원상복구시킵니다.
    이제 만들어진 CloneZilla 부트 디스크로 부팅이 되는지 확인합니다. 이 부트 CD는 이미지 생성 뿐 아니라, 나중에 이미지를 복구하는 경우에 반드시 필요하니 잘 보관해 두세요. 이제 본격적인 이미지 생성/복구를 해보겠습니다.

    이미지 생성 과정
    운영체제가 들어 있는 시스템 파티션과 데이터 등이 저장되는 데이터 파티션이 두 개 이상으로 나뉘어 있고, 시스템 파티션을 백업 및 복구한다고 가정합니다. 이전 글 백업, 포맷을 위한 시스템 설치 전략 참조.
    이미지 생성은 현재 컴퓨터에 내장되어 있는 로컬 디스크 내의 데이터 파티션에서 이루어 진다고 가정합니다.
    백업 이미지들은 디렉토리 형태로 저장이 되는데, 저장 위치를 지정할 수 있습니다. 백업 이미지 들을 관리하기 좋게 최상위 디렉토리(루트 디렉토리 D:\ 등) 밑에 백업 이미지 저장할 폴더를 하나 만들어 두는 것이 좋을 것 같습니다. 한글 이름이 되는 지 확인을 안해봤는데, 혹시 모르니 영어로 만드실 것을 권장합니다. 저는 D:\Clone 이라고 만들었습니다.
    그리고, 하드 디스크 파티션 이름이 윈도우 처럼 C:, D: 로 표시되는 것이 아니라, PATA면 pda, SATA면 sda 와 숫자 조합으로 표기되므로, 각 파티션 크기를 미리 알아두어 디스크를 잘못 선택하는 일이 없도록 합니다. (파티션 크기가 우연히 byte 단위로 똑같으면 곤란하네요!)
    당연한 얘기지만, 이미지가 저장될 파티션은 이미지가 충분히 저장될 만큼 큰 공간이 남아있어야 합니다.
    메뉴에서 항목간의 이동은 TAB키로 하며, OK나 Cancel에서 Enter를 눌러 선택합니다. 여러 개 선택할 수 있는 항목에서는 SPACE키로 선택/해제를 할 수 있습니다. 앞 메뉴로 되돌아가기 메뉴가 없으므로, 선택에 신중하시기 바랍니다. -_-;
    다음은 메뉴 선택 내용을 차례로 찍은 사진입니다. 파티션 선택을 빼고는 대부분 기본 옵션을 사용하시면 되겠습니다.


    부팅 후 첫 화면 대만 글자들이 보입니다. 그냥 기본값인 첫번째 항목으로 시작합니다.
    주의 Asus M3A78-EM 메인보드를 사용하는 경우 위에서 기본값 설정 시 메뉴 진입이 안되는 문제가 보고된 바 있습니다. Clonezilla live (Failsafe mode)로 진입하면 사용 가능합니다. 다른 메인보드의 경우도 혹시 다음 메뉴 진행이 안되는 문제가 발생한다면 Failsafe mode로 설정해 보시기 바랍니다. (2009.5.15)


    여러 언어가 지원됩니다만, 잘 모르신다면 그냥 기본값 영어


    뭔지는 모르지만 그냥 기본값 -_-;


    명령어를 손으로 입력해서 사용할 고급 사용자가 아니라면 기본값


    통째로 이미지를 복사하는 것이 아니고, 이미지로 만들어 두었다가 복구하는 것이므로 기본값인 device-image disk/partition to/from image를 선택하면 되겠습니다.


    윈도우에서 로컬 디스크에서 백업하므로 local_dev 를 선택. 선택하고나면 연결된 하드디스크를 찾습니다. 외장 하드 등을 이 때 연결해도 됩니다. 저는 그냥 로컬 하드로만 진행합니다.


    이미지가 저장될 파티션을 지정합니다. 저는 C:, D:, E: 세개의 파티션이 있는데, sda1이 C, sda2가 E, sda5가 D 드라이브고, E 드라이브인 sda2에 이미지를 저장하고자 합니다. 흔히 보이는 C:, D:, E:가 아니라, sdaX, 혹은 pdaX 로 표기되므로, 앞서 주의 드린 것처럼 파티션의 크기를 정확히 알고 있어야 합니다. (위 예에서 처럼 숫자 순서가 디스크 라벨 순서와 일치하지 않습니다.)
    생성, 복구 동일하게 이미지가 저장되거나, 이미지를 읽어올 파티션을 먼저 선택합니다.


    다음은 이미지가 저장될 디렉토리를 지정해 줍니다. 아까 만들어 둔 Clone 디렉토리를 선택했습니다. 딱히 만들어 둔 곳이 없다면 / Top_directory_in_the_local_device를 선택하면 됩니다. 파티션을 잘못 선택했다면 여기서 엉뚱한 디렉토리를 보게 됩니다.


    이미지 저장을 위해 saveparts 항목을 선택합니다.


    이미지 이름(실제는 폴더명)을 바꿀 수 있습니다. 날짜, 시간은 보존하는 것이 좋겠지요?


    이미지로 만들어질 파티션을 지정합니다. 여러 개를 선택할 수도 있습니다. 해당 위치에서 SPACE로 *가 나오게 체크합니다.


    잘 모르면 기본값


    다양한 옵션이 있지만 잘 모르면 기본값


    압축률 옵션이지만 별 일 없으면 기본값


    이미지가 커지면 얼마씩 끊어서 저장할 지를 묻습니다. 0 으로 입력하면 통째로 만들어지긴 하는데, 보통은 2GB가 넘어가는 파일에 대해서는 문제가 발생할 여지가 있으므로 그냥 기본값 선택합니다.


    끝나고 뭐할 지 묻는데 그냥 기본값
    다음 나중에 고급 사용자가 되면, 위의 메뉴 선택 과정을 명령어 입력으로 할 수 있도록  만들어진 명령어를 보여줍니다.
    다음 확인 과정에서 저장할 파티션 -> 이미지가 저장될 파티션(/home/partimag 로 마운트 되어 있습니다.)로 저장할 것인가 확인합니다. y 선택후 OK, 다음 Enter 입력.


    마구마구 압축해서 저장하는 과정을 보여줍니다.
    다 끝나면, 결과를 보여주고 다음 메뉴에서 재부팅하거나 끄면 됩니다. 오류가 나도 재부팅 과정에서 Fail이 발생해도 무시하면 되겠습니다.
    이렇게 힘들게 이미지 저장 과정을 마쳤습니다.
    이미지 저장할 공간이 부족하면 에러가 나고 멈출 수 있으니 유의하세요.

    출처 : 무료 디스크 이미지 저장/복원 프로그램 CloneZilla Live

    이번엔 하드 디스크를 통째로 이미지 형태로 저장해 두었다가 복원할 수 있도록 해주는 프로그램인 CloneZilla에 대해서 알아보겠습니다.

    하드 디스크 이미지 백업과 복구로 유명한 프로그램은 시만텍(Symantec)사노턴 고스트(Norton Ghost)입니다.
    원래 노턴(Norton)사는 1980년대부터 MS-DOS의 디스크 유틸리티 등을 모아 놓은 노턴 유틸리티로 유명한 회사입니다. 노턴 유틸리티는 윈도우용으로 바뀌어서 최근까지도  나오는 것으로 알고 있습니다만, 예전의 도스 시절만큼의 유명세는 없는 것 같습니다. 윈도우에 기본으로 들어가있는 디스크 검사, 디스크 조각 모음, 디스크 관리자 등과 비슷한 기능을 한다고 보면 될 것 같습니다. 아뭏든 1990년에 시만텍사로 인수되긴 했지만, "노턴(Norton)"이라는 브랜드 네임을 계속 가지고 갈만큼 실력을 인정 받았지요. 이렇게 디스크에 해박한 지식을 가지고 있는 노턴사가 하드 디스크의 이미지를 통째로 떠서 저장하고 관리해 주는 툴을 만들었는데, 그것이 바로 노턴 고스트입니다.

    사실 전 이야기만 들었지 노턴 고스트를 써 보진 않았습니다. 그런데, 최근에 시스템 포맷을 자주해야 할 지도 모르는 상황이 발생해서, 노턴 고스트와 비슷한 무료 프로그램을 찾던 중 알게 된 것이 CloneZilla입니다.
    그럼, 이 프로그램은 도대체 어디에 쓰면 좋을까요?
    브랜드 PC를 구입하면, 딸려오는 CD중에 복구 디스크라는 것을 보신 적이 있을겁니다. 컴퓨터를 여러 해 마구 굴리다보면, 설치되었다 제거된 여러 프로그램들이 얽히고설켜서 도저히 회복이 안되는 경우가 생기게 마련입니다.
    이 때 복구 디스크 혹은 복구 CD를 넣고 실행시키면, PC를 새로 샀을 때의 상태로 돌려줍니다.
    OS를 새로 설치하고 응용 프로그램들을 차례로 깔고 하는 복잡한 과정을 거치는 것이 아니라, 모든 것이 설치되어 있는 상태로 돌려준다는 것이지요.
    조립 PC를 가지고 있는 분들이나, 복구 CD를 가지고 있지만, 필요없는 프로그램들은 빼고 자신에게 꼭 맞는 복구 CD를 다시 만들고 싶으신 분들에게 하드 디스크의 현재 상태를 그대로 이미지 형태로 백업했다가 나중에 필요할 때 다시 복구할 수 있도록 해주는 이런 프로그램이 필요하게 됩니다. 이미지를 압축하는 기능도 지원하여 저장 공간을 절약할 수도 있습니다.

    CloneZilla
    홈페이지 http://clonezilla.org
    최신버전 1.2.1-39 (live)

    CloneZilla는 대만의 NCHC(National Computer for High-Performance Computing)라는 기관의 Free software 그룹의 Steven Shiau 등이 만들어서 무료로 배포하고 있는 프로그램입니다.
    CloneZilla에는 하나의 PC 상에서 백업/복구를 지원하는 CloneZilla Live와 PC방이나 학교와 같이 여러 대의 PC에 동시에 복구를 할 수 있게 해주는 CloneZilla SE(Server Edition)의 두 가지 버전이 있습니다.
    여기서는 개인 사용자를 위한 CloneZilla Live만 다루도록 합니다.
    윈도우 XP 상에서 백업/복구하는 테스트를 해 보았습니다. 원래 CloneZilla는 윈도우용 프로그램이 아니라, Linux 계열에서 돌아가는 프로그램으로 Linux등에서 쓰는 ext3 디스크 포맷 뿐 아니라 윈도우에서 사용하는 FAT나  NTFS는 물론, Mac 에서 사용한다는 HFS+ 등의 다양한 포맷을 지원합니다. 단순히 대상이 되는 파일 포맷의 차이만 있을 뿐 다른 운영체제에서의 사용 방법도 비슷할 것으로 여겨집니다.

    테스트 및 결과
    사용된 환경은 다음과 같습니다.

    CPU Intel Core2 Duo E6400
    M/B
    ASUS P5B-E
    RAM
    DDR2 PC2-6400 1GB
    HDD
    Seagate Barracuda 7200.9 250GB

    먼저 Windows XP SP2를 설치하고, SP3로 업데이트 한 후, 각종 드라이버들과  백신 프로그램, 권장 보안 업데이트들을 설치한 순수한 시스템 패키지인 Clean-System, 다음으로  앞의 구성을 포함하고, 추가로  오피스 프로그램들과 압축 유틸리티를 설치한 Clean-Office, 마지막으로 앞의 구성을 포함하고 메신저, 웹캠 프로그램, 프린트 유틸리티, 파일 뷰어 등을 포함한 Clean-Basic의 3가지 설치  내용을 가지고 테스트하였습니다.
    이미지 생성에 사용한 옵션 등은 기본값을 그대로 선택했습니다. (압축 성능 등)
    3가지 디스크 이미지를 생성해 본 결과를 아래 표로 정리했습니다. (표가 잘 안보이는 경우 클릭해서 원래 크기로 보시기 바랍니다.)
    복구 소요 시간은 CloneZilla를 부팅하고 메뉴를 선택하는 시간을 제외한 순수하게 파일의 압축을 푸는 시간입니다. Clean-Office와 Clean-Basic의 경우는 실제로 해보지 않고, 이미지 생성 시간과 Clean-System에서의 복구 시간을 바탕으로 대략 예측한 값입니다. 보통 압축 해제가 압축 할 때 보다 2배 정도 빠른 것 같습니다.
    시간 절약 비율은 설치에 들어간 총 소요 시간에 대한 복구 시간의 비율입니다. 2.1%라는 것은 원래 들어간 시간의 2.1% 밖에 안된다는 것입니다. 98%에 해당하는 시간이 절약되었다는 것이지요.
    참, 설치 소요 시간은 앞서 수행한 패키지 설치 시간을 합한 시간이고, 조각모음 시간은 앞서 수행한 패키지에서의 조각모음 수행 시간을 제외한 순수하게 추가된 시간입니다. 저도 조금 헷갈리는군요.



    원래 2-3 시간 이상 걸리는 설치 시간을 대략 3-7분, 여기에 CloneZilla 부팅 및 메뉴 선택 시간을 합친다고 해도, 20분 이내면 되는군요! 10여번의 재부팅도 필요 없습니다. 이를 위해 추가로 들어가는 시간은 이미지 만드는 시간과 역시 CloneZilla를 부팅하고 메뉴 선택하는 시간을 합해서 20분 정도에 불과합니다.
    특히나 설치를 여러 번 하게 되는 경우에는 이러한 시간이나 노력 상의 이득이 어마어마합니다.

    다음은 이미지를 만들고 복구하는 과정입니다.
    이 과정에서 이미지 생성 시 대상이 되는 디스크나 복구 과정에서 대상이 되는 디스크를 잘못 지정하게 되면(특히 복구의 경우),  원치 않는 시스템이나 데이터 손실이 있음을 유의하시기 바랍니다! 이는 이미지를 그대로 덮어써 버리기 때문이지요.
    아래의 과정은 초보자의 경우 실수로 인한 심각한 손실을 입을 수도 있는 내용이므로 접어두겠습니다. 내용을 보시려면 더보기를 클릭하세요. 아래 과정을 따라했다가 입는 손해에 대해서는 저한테 책임을 물으시면 안됩니다. ㅎㅎ 중요한 데이터들은 반드시 백업 후 작업하시기 바랍니다.

    너무 길어서 두 개로 나누어 접어 놓았습니다. 필요한 부분을 펼쳐서 보시기 바랍니다.
    아래 패키지를 설치한다

    poppler-data 0.2.1-3  : Encoding data for the poppler PDF rendering library

    sudo apt-get install poppler-data
    설치 후 다시 PDF파일을 로딩하면 잘 보인다.

    파티션의 이해

    TechNote/Linux 2009. 6. 15. 14:58 Posted by harim~♥

    원문 : KLDP WiKi http://wiki.kldp.org/wiki.php/%C6%C4%C6%BC%BC%C7


    파티션의 이해

    파티션(Partition)의 목적

    • 첫째 : 하나의 물리적 디스크를 몇개의 영역으로 나누어 관리가 용이하도록 하는 것.
    • 둘째 : 운영체제가 여러가지인 경우 그러한 각각의 고유 파일시스템을 단일 영역에 독립적으로 유지할수 있게 하기 위해서.
    • 셋째 : 한 파티션이 손실되더라도 다른 파티션 영역은 손실로부터 보호할수 있는 확률을 높이기 위한 수단.

    먼저 알아둘 필요가 있는 C/H/S, LBA mode란?

    CHS모드

    Cylinder(0~1023), Head(0~15), Sector(1~63) 이렇게 3가지 요소를 통한 주소매핑을 하여 최대 528MByte가 주소매핑 가능합니다.

    그러나 만약 BIOS가 LBA를 지원하게 되면 내부적으로 LBA로 바꾸어 헤드수를 늘려 가상적인 헤드수를 갖게 될수 있는데 이를 이용하면 Head의 범위는 0~15가 아닌 0~255 의 범위를 주소매핑 가능하게 됩니다. 그렇게 되면 최대 주소매핑 가능한 공간은 8GByte가 됩니다. 바로 이 크기가 1024실린더 제약이라는 말이 나오는 근거가 됩니다. 그리고 BIOS를 통하지 않고 PIO/DMA를 통한 접근을 시도하면 추가적으로 Cylinder는 0~65535의 범위를 가질수 있고 반면에 Head는 0~15의 범위가 되며 Sector는 0~255의 범위를 가질수 있도록 되어 있습니다. 이는 2의 28승을 뜻하며 가능한 주소매핑 영역은 총 128GByte가 되는 비약적인 발전을 가질수 있습니다. 그리고 이는 한 블럭에 512바이트라는 것을 가정한 계산 이며 블럭당 크기가 커질수록 그 용량은 늘어납니다.

    LBA모드

    0 ~ 268435456(2의 28승)Blocks의 범위를 갖는 선형 주소방식으로 물리적 위치 주소를 나타내는 방식입니다. 그리고 1개의 Block은 통상 512/1024/2048/4096Bytes 로 구성되며 보통 대부분의 HDD는 512로 구성됩니다. 그러므로 계산해보면 약 128GByte가 최대 주소매핑공간이 되는 방식입니다. 점차 HDD의 용량이 증가함에 따라서 충분할줄 알았던 LBA 주소에 사용되는 bit 가 모자르게 됨에 따라서 최근(2008년 4월 16일 현재 기준) 에는 이것을 좀더 늘려 48bit address 지정할수 있도록 확장되었습니다.

    파티션은 어디에 위치한 것일까?

    파티션은 주 파티션확장 파티션으로 나뉘어 지는데 주 파티션의 경우는 LBA방식으로 나타낸다면 0번 섹터이며 CHS방식으로 나타낸다면 0/0/1 에 위치한것이 됩니다. 즉, 물리적으로 가장 처음부분이 주 파티션이 위치하는 곳이며 이곳을 Master Boot Record(MBR)이라고도 불리워집니다. 도스에서 "fdisk /MBR" 명령은 이곳을 초기화 하는 명령이 되는 것이고요. 또한 이곳에는 파티션정보만 있는것이 아니고 PC가 부팅되면 이곳에서 부팅코드를 읽어와서 부팅하게 됩니다. 즉, 만약 이곳이 읽어질수 없는 상태(파괴?)가 된다면 하드디스크는 무용지물이 되버리는 중요한 영역이 되는 것입니다.

    MBR의 구조

    MBR은 1개의 Sector로 보통 구성되어지는데 이 크기는 통상 512바이트입니다. 그리고 이 512바이트중에서 처음 446바이트는 운영체제를 읽어들이기 위한 준비단계 코드가 들어 있으며 나머지 64바이트가 파티션에 대한 정보를 담아두는 테이블입니다. 그리고 마지막 2바이트는 MBR이 맞는지 확인하기 위한 예약값으로 기록되어 있습니다. 즉, 446 + 64 + 2 의 구조를 가지고 있습니다. 파티션 1개를 명시하는데는 16바이트의 영역이 소요되 는데 64바이트뿐이 없으니까 64 / 16 = 4 개의 파티션이 나뉘어 질수 있는 계산이 나옵니다. 여기서 의문을 가지시는 분이 계실텐데 "나는 파티션 5개 나눠서 쓰는데?" 라고 생각하시는 분이 계실겁니다. 맞습니다. 5개건 100개건 용량 남는데로 파티션을 나누는 것이 가능하지만 이것은 주파티션에서 나뉘어진 부파티션에서 그러한 파티션의 증설이 됩니다. 어디까지는 주파티션이건 부파티션이건 하나의 섹터에 4개의 파티션만이 기록되는것을 반드시 알고 계셔야 합니다. 부 파티션은 이 4개의 파티션중에 1개의 파티션에 부파티션의 위치를 명시하여 확장되는 개념이라고 보시면 이해가 되실겁니다. 즉, 다음과 같은 모양새가 될수 있습니다.
    #1 Linux 
    #2 Windows 98
    #3 DataBackup
    #4 Extension --->>>> #1 WindowsXP
    #2 No used
    #3 Extension ->>> ...
    #4 No used
    이런식으로 파티션의 확장개념이 적용됩니다.

    파티션정보 테이블

    위에서 16바이트당 1개의 파티션을 명시할수 있다고 설명하였습니다. 그러면 16바이트에는 어떤것이 기술될까요? 다음과 같습니다.
    OFFSET 내용
    00H
    byte boot indicator
    00H non-bootable partition
    80H bootable partition (one partition only but minzkn is first 80H)
    01H
    byte beginning sector head number
    02H
    byte beginning sector (2 high bits of cylinder)
    03H
    byte beginning cylinder (low order bits of cylinder)
    04H
    byte system indicator
    00H unknown operating system (Empty partition)
    01H FAT12
    02H XENIX
    04H FAT16
    05H Extended partition (DOS)
    06H FAT16 (32bit sector number)
    0BH FAT32
    0CH FAT32 (64bit sector number)
    05H
    byte ending sector head number
    06H
    byte ending sector (2 high bits of cylinder)

    1st byte (sector) Sector offset within cylinder High order bits of cylinder
    07H
    byte ending cylinder (low order bits of cylinder)

    2nd byte (cylinder) Low order bits of cylinder
    08H
    dword number of sectors preceding the partition
    0BH
    dword number of sectors in the partition

    이러한 정보를 통해서 운영체제위치를 찾아 부팅하게 됩니다. 여기서 맨처음 "boot indicator"이 부분이 80h 인가 그냥 0인가에 따라서 부팅가능한 파티션인가를 결정짓게 됩니다. fdisk에서 보면 Active와 같은 개념이 겠죠. 아무리 운영체제가 설치되어 있더라도 이 부분이 80h가 아니라면 부팅을 시도하지 않습니다. 보통 부트매니저는 이를 이용한 방식을 사용하는 경우가 많습니다. 여기서 또 문제가 되는것이 1024실린더를 넘는 영역을 어떻게 부팅할것인가라는 논재의 시점이 발생하는데 이 부분에 대한 설명은 너무 세부적인 부분이라서 접도록 하겠습니다.

    그렇다면 fdisk같은 툴 없이도 파티션 나눠볼수 있을까?

    당연히 가능합니다. Sector Editor같은 것이 있다면 직접 보다 세부적인 내용을 제어할수 있게 됩니다. 예를 들면 파티션 겹치기, 데이터 저장후 파티션 감추기, 바이러스에 의한 MBR 손상시 복구 등의 작업이 가능합니다. 통상 쓰레기값으로 MBR이 파괴된경우 fdisk는 제대로 읽지 못하고 다운되는 현상이 있는 경우가 있는데 이때 또한 직접 수정하여 이를 고칠수 있습니다. 단, 이러한 것이 가능하려면 사용자가 이 구조를 알고 계셔야 겠죠.

    파티션 분할의 문제점

    • 속도개선을 위해서 Cylinder/Head/Sector의 순서를 바꾸어 운영체제를 개발하면 다른 파일시스템과 충돌하여 데이터 유실이 되므로 바꿀수 없다.(단, Sector건너뛰는 방식은 존재함)
    • 보다 큰 용량이 개발됨에 따라서 조만간 다른 구조가 필요. (이미 일부 운영체제 개발사들은 다른 섹터에 추가분을 두어 해결한 경우도 있음.)
    • 새로운 저장매체에 대해서 이방식을 계속 유지할 경우 복잡성이 있는 매체에서는 446바이트의 코드로는 부팅이 어렵다. 또는 에러를 감지할수 없거나...

    ==============================================================================

    첨부로 리눅스OS설치시 파티션 분할에 관련된 자료를 첨부한다. 각 디렉터리의 역할 및 일반적인 용량인데, 참고만 하면 좋겠다. 오래전 문서를 찾은거라.. 요즘은 이렇게 안쓴다..(맘대로)
    파이어폭스 플러그인으로 선택한 문장이나 페이지를 공개 번역사이트를 이용하여 번역한다.

    출처: http://update.mozilla.or.kr/addons/?p=401&application=firefox&addonType=extension


    다운로드 :