· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
Linuxdoc Sgml/UMSDOS-HOWTO

UMSDOS HOW-TO

UMSDOS HOW-TO

Jacques Gelinas, jacques@solucorp.qc.ca

v1.1, 13 November 1995 남상현 ( nsh@asp-linux.co.kr) v1.1 2000년 7월 29일
UMSDOS 는 linux 파일 시스템이다. EXT2 파일 시스템의 대신에 이용 할 수 있다. 최대의 목적은 같은 파티션을 공유 하여, 보다 간단하게 MS-DOS의 데이터 공존을 도모하는 것이다. 이 문서는, 처음에 여러가지 구성에서의 Umsdos 이용법을 설명하고, 그 뒤에서 운용에 대한 설명을 하고, 그것이 좋은 선택인지를 알려 주기 위한 정보를 제공한다. (마지막 UMSDOS-WHY-TO 를 봐 주세요).

1. UMSDOS: 어디에 있는가?

1.1 역사

Umsdos 프로젝트는 1992년에 시작하고, 1994년의 1 월에 패치의 형태로 공개 되고, 7 월에는 표준 커넬에 포함되게 되었다 (1.1.36 이후 ).

Slackware 배포본에서는, 공식 커넬에 확보되어지기 이전의 빠른 시기부터 Umsdos 가 채용되고 있었습니다.

Umsdos 는 커넬 1.1.60 로부터 개선하기 시작해, 특히 기술로서, 그 성과는 극적으로 향상했다. 1.1.70 무렵부터는 안정되어있다. 중요한 버그가 Linux 1.2.2에서 해결되었다. 이 버그는 처음로부터 사용자에게 해를 끼치는 것이었다 (마음대로 파일명이 바뀌어 버리고, 삭제된 것 같은 효과를 주는 것). Slackware 2.2 에는 커넬 1.2.1 이 포함되어있지 때문에, 아직 이 버그가 있다.

1.2 Availability

커넬 1.0.x 에서는 패치의 형태로 제공 되고 있지만, 커넬 1.2에서는 내장이다. 그것은 같이 컴파일 할수도, 모듈로서 적재 할 수 있다. 여기서 주의하지 않으면 안 되는 것은, 만약 umsdos 를 모듈의 형태로 적재된다면, MS-DOS 파일 시스템도 모듈로서 취급할 필요가 있을 것이다. 이것은 모듈 시스템의 제한 사항인 것이다(모듈로서 인스톨되었을 때에만 export 되는 심볼이 있으므로).

1.3 제공하고 있는 배포물

Slackware 뿐이라고 생각한다. 아마 틀릴수 있으므로, 이것을 수정 할수 있는 정보를 제에게 보내 주세요. [역주 : 디폴트로 umsdos 파일 시스템에 인스톨을 지원하고 있는 것]

1.4 홈사이트

Umsdos 의 홈 사이트는 sunsite.unc.edu 이다. 디렉토리 /pub/Linux/system/Filesystems/umsdos 를 참조 바란다.

1.5 기술 문서

Umsdos의 내부에 대한 문서는 꽤 갖추어져 있다. 그것은 HTML뿐만 아니라 유틸리티등과같은 로케이션에서 텍스트 포맷에서도 사용 가능하다.

내가 알고 있는 한, HTML 버젼은 web 사이트에 온라인의 형태에서는 제공 하고있지 않다. 다운 로드해서 tar를 풀어 로컬에서 읽어야만 한다.

1.6 누가 쓰고 있는가

Jacques Gelinas jacques@solucorp.qc.ca

2. ROOT Partition으로서의 Umsdos

2.1 pseudo-root의 개념

Umsdos를 사용하면, Linux 를 표준 DOS 파티션에 인스톨하는 것이 가능하다. Linux 는 그 파티션에서 두번째의 (혹은 세번째의)OS로서 인스톨 된다. 이름의 충돌을 막기 위해서 (드라이브 C: 에 bin 과 tmp 와같은 디렉토리가 이미 있을지도 모른다), Umsdos는 스마트한 트릭을 사용한다. 이것이 Pseudo-root 이다.

Linux 의 파일은 전부 linux 라고 말하는 DOS 의 서브 디렉토리에 인스톨 되어진다. 보통은 C:\LINUX 이다. Linux/UNIX 의 정규의 디렉토리 구조가 여기에 만들어진다. 그 때문에, 아래의 디렉토리 구성이 된다.

  • C:\LINUX\BIN
  • C:\LINUX\ETC
  • C:\LINUX\LIB
  • C:\LINUX\ROOT
  • C:\LINUX\SBIN
  • C:\LINUX\TMP
  • C:\LINUX\USR
  • C:\LINUX\VAR

Umsdos 를 시작할 때에, 먼저 linux 디렉토리를, 그리고 /linux/etc 를 검색 한다. 만약 이 디렉토리들이 존재하면, pseudo-root 모드를 기동한다.

보통 pseudo-root 모드에서는, 일반적인 UNIX의 디렉토리 구성에 있어서의 루트 디레 토리에 부합되게 C:\LINUX로 배치 한다.

  /bin
  /etc
  /lib
  /root
  /sbin
  /tmp
  /usr
  /var
이 리스트에, DOS라고 말하는 디렉토리가 더해집니다. 이것은 가상 디렉토리이다.

2.2 Pseudo-root에 대해서 알아 두어야 할것

  • 이 모드는 기동시에만 유효하다. mount 커멘드로 기동하는 방법은 없다.
  • 이 메카니즘은 보통 Umsdos 파일 시스템과는 완전히 다른 것이다. 아마도, 루트 파티션으로서 보통 사용되고 있는 파티션은, 마운트가 가능하지만, pseudo-root로 마운트했을 때와는 효과가 다르다는 의미이다. [역주 :이 문장의 의미가 이해되지 않으면, 5. 기본 원리를 읽기 바란다.]
예를 들면, 당신이 메인티넌스 floppy로부터 linux 를 기동해 보통 루트파 티션을 /mnt에 마운트하면, 모든 linux 디렉토리는 /mnt/linux/bin 와 /mnt/linux/etc 등에 보인다라는 것이다.

3. Umsdos 의 조작에 관계된 다른 원리

3.1 마운트 옵션

Ms-DOS 파일 시스템에서와 같이 마운트 옵션을 이용하는 것이 가능하다. conv= 옵션은 Umsdos 시스템에서는 문제가 되기 때문에 피하는 편이 좋다. 흔히 쓰이는 옵션은

  • uid=
  • gid=
  • umask=

정도의 것이다. Umsdos에서 확장되고 있지 않은 디렉토리에 관해서는, MS-DOS 파일 시스템과 완전히 동일하게 취급되어진다. 위의 옵션은 확장되고 있지 않은 디렉토리 전반에 관해 적용됩니다. uid 는 디폴트의 소유자를, gid 는 디폴트의 그룹을, umask 는 디폴트의 퍼미션을 설정 합니다

3.2 루트 파일 시스템의 디폴트를 설정하기

루트 파티션에 관한 디폴트의 퍼미션을 설정하기 위해서는, umssetup 라는 커멘드를 사용한다. 기타의 Umsdos 파티션에 대해서는 mount 옵션이 이용가능하고, umssetup 도 가능하다. 루트파티션이 아닌 파티션에 대해서는, /etc/fstab 에 마운트 옵션에 삽입하는 편이 좋다. 예를 들면. 이것을 /etc/rc.d/rc.S 에 삽입한다.

      /sbin/umssetup -u jack -g group -m 0755 /

3.3 스왑 하거나, 또는 스왑하지 않기 위하여

스왑파일을 이용하면, 보통은 스왑파티션을 사용할 때보다 늦어지지만, 유연한 운용을 할 수 있게 된다. 다른 Linux 파일 시스템과 동일한 방법으로 Umsdos 파티션내에 스왑파일을 만들 수 있다. 예로 , 루트 디렉토리에 8메가 바이트의 스왑파일을 만들기 위해서는, 아래와같이 한다.

      dd if=/dev/zero bs=1024k count=8 of=/swap
      mkswap /swap 8192
      sync
      swapon /swap
한 번 스왑파일을 만들면, /etc/fstab 에 이것을 추가할수 있다.

      /swap   swap    swap    default
스왑파일은 부팅시마다 유효하게 된다 (보통, /etc/rc.d/rc.S 에 "swapon -a" 가 들어있다. ).

4. Umsdos 시스템 부팅 방법

4.1 Loadlin

lodlin15.tgz 라는 패키지가 sunsite.unc.edu 의 /pub/Linux/system/Bootutils 에 있다. 이 유틸리티는 Umsdos 시스템 을 부팅하기에 적당하다. 보통은 아래와 같다.

DOS를 부팅한다. C:>loadlinx zimage root=D: [역주 :C 드라이브가 있는 디렉토리에 loadlinx.exe 와 zimage 가 있다고 가정. 상세한것은 loadlin 문서를 참조]

여기서, zimage 는 보통 (압축된) 커넬 이미지로서, 단순히 DOS 드라이브 의 어딘가에 복사된 것이다. D:는 Linux를 인스톨한 DOS 드라이브이다.

4.2 floppy로부터

Umsdos 시스템을 부팅하는 것은, Ext2 시스템을 부팅하는 것과 어떠한 변화도 없다. 커넬 이미지 zImage 에, Umsdos 의 루트 파티션이 어디에 있는지 설정해 둘 필요가 있다. 이것은 보통 커멘드 rdev로 할 수 있다. 이하의 순서로 zImage를 초기화 floppy에 넣는다.

      rdev zImage /dev/hda1
      rdev -R zImage 0
      dd if=zImage bs=8192 of=/dev/fd0
만약 이것이 번거롭게 생각되었다면, 기동가능한 DOS floppy를 만들어 이하의 파일을 그곳에 넣어 둔다.
  • loadlin.exe
  • loadlinx.exe
  • zimage
그리고, autoexec.bat 에 이와 같이 입력한다.
      loadlinx zimage rw root=C:

4.3 LILO

Linux 공식 부트 로더인 LILO도 Umsdos 시스템을 부팅하는데 이용 할 수 있다. 그러나 내가 실제로 경험한 것이 아니다. 1.1.60 이후에서, 이용 가능하다. 무엇인가알고 있는 것이 있으면 메일을 바란다.

4.4 Umsdos 파티션을 defragment하는 방법

인기있는 DOS 툴로 defragment할 수 있다. Umsdos에서 제공되고 있는 파일에 나쁜 영향은 없다. Umsdos는 DOS 파일 시스템 상에서 특수한 것을 (디렉토리 레이아웃, 디렉토리 엔트리의 차례, 등) 요구하지 않는다. 내가 알고 있는 한, Linux 상에서 defragment해 주는 툴은 없다.

4.5 Advance tricks

Umsdos는 DOS 디렉토리에 있는 --linux.--- 에 의해 성립되어있다. 대수롭지 않은 실험을 해 보고 싶게 될지도 모른다. umssync 와 umssetup는 모두 umsdos_progs 패키지에 들어 있다, udosctl 라는 유틸리티를 사용하면, --linux.--- 와 DOS 디렉토리와는 무관하게, listing, 삭제하는 기초 본적인 디렉토리 조작을 할 수 있다.

4.6 기본 원리

4.7 Introduction

Umsdos는 Linux 파일을 직접 Ms-DOS 파일에 할당한다. 이것은 일대일의 대응으로서, 파일의 내용은 전혀 조작되지 않는다. Umsdos는 파일명에 대해서 만 취급한다. 링크와 장치 파일등 특수 파일에 대해서는 달리 취급 한다.

각각의 디렉토리에, --linux-.--- 라는 파일이 위치한다.

4.8 Umsdos can replace the Ms-DOS file-system.

Umsdos는 linux의 Ms-DOS 파일 시스템의 상위 호환을 목적으로 한 것을 들 수가 있다. 그렇지만 실제로는, 이 능력과 유연성이 Umsdos에 관계된 혼 란을 일으키고 있다. 여기에 이유가 있다. 새롭게 포맷하는 DOS floppy를 이와 같이 마운트해 봅자.

      mount -t umsdos /dev/fd0 /mnt

   그리고, 이렇게 한다. 

      ls / > /mnt/LONGFILENAME
      ls -l /mnt

   이같은 결과가 얻어진다. 

      -rwxr-xr-x   1 root     root          302 Apr 14 23:25 longfile
여기까지 보면, Linux의 MS-DOS 파일 시스템 이상의 것을 하고 있는 것처럼 보이지 않죠(실제아무것도 하고 있지 않기 때문이지만 …).

???

4.9 디렉토리의 확장

여기까지는 아무런 흥미꺼리가 없다. 여기에 트릭이 있다. Umsdos는, 확 장하지 않는 한, DOS의 디렉토리를 Ms-DOS 파일 시스템과 같은 방법으로 취급한다. Umsdos는 Umsdos에서 확장된 기능(긴 파일명, 소유자, 등)을 제한된 DOS 파일 시스템으로 변환하기 위해서, 서브 디렉토리마다 특별한 파일 만든다. 이 파일은 Umsdos의 사용자에게는 보이지 않지만, DOS를 부팅하면 보이는것과 같게 된다. DOS 파티션에 이 파일 (--linux.---)이 필 요이상으로 흐트러지는 것을 막기 위해서, 확장할것이지는 선택할 수 있다. 확장하지 않는다면 , Umsdos는 Ms-DOS 와 같게 행동한다.

디렉토리를 확장하면, Linux 와 Unix의 사용자에게 표면적으로는 완전하게 정상적인 조작할 수 있다. 확장된 디렉토리에 서브 디렉토리를 만들면, 자 동적으로 확장된다.

이 기능에 의해, DOS의 파티션을 DOS의 부분과 Linux의 부분으로 논리상 정리할 수 있다. 이것들의 --linux.--- 파일은 다소의 공간(보통 디렉토리에 대하여 2k)를 이용하는 것을 이해 해야한다. DOS는 보통 큰 클러스터(500 메가의 파티션이라면 16k크기)를 사용하므로, 모든 장소에 --linux.--- 를 삽입하지 않으면, 디스크를 절약할 수 있다.

4.10 어떻게 확장하는가 :/sbin/umssync

디렉토리는, /sbin/umssync를 사용해서 언제라도 확장할 수 있다. 언제나 사용가능하다. 디렉토리의 확장에서는 아래와같은 일이 행해진다.

  • --linux.--- 를 만들기
  • --linux.--- 와 현재의 디렉토리의 내용과 일대일 대응을 확립하기

/sbin/umssync는, 이미 --linux.--- 가 존재하는 경우는, 그것을 생성하지않고, 업 데이트만 한다. 그 중 빠져 있는 엔트리(DOS 세션에서 만들어진 파일)을 추가하는 것뿐이다. 그 DOS 디렉토리에 이제 존재하지 않게 된 파일은, --linux.--- 로부터 삭제됩니다. umssync 라는 이름은, 그것이 --linux.--- 를 원래 DOS 디렉토리의 내용과 일치시키는 곳으로부터 오고있다.

4.11 /sbin/umssync를 부팅시에 사용하기

만약 거기에 없으면, /etc/rc.d/rc.S의 끝에 /sbin/umssync를 호출하는 것은 좋은 아이디어 이다. 많은 시스템에서는, 이하의 커멘드로 충분하다.

      /sbin/umssync -r99 -c -i+ /
-c 옵션은 umssync에 디렉토리의 확장을 시키지 않는 옵션이다. 이전 에 존재하는 --linux.--- 를 업 데이트하는 것뿐이다.

이 커멘드는 DOS 세션 동안 Linux 디렉토리에 접근한 경우에 유효하다. Linux 에는 DOS에 의해 디렉토리가 변경된 것을 알아내는 효율적인 방법이 없기 때문에, 필요에 따라서 (자동적으로) umssync를 기동하는 것은 할 수 없다.

4.12 UN-promote 방법

DOS를 사용해 --linux.--- 를 삭제 하시오. 반드시 후회 할것이다.

4.13 DOS 세션사이에 만들어진 파일은 어떻게 되는가?

DOS에 의해 파일이 더해지거나 삭제된 디렉토리에서 umssync를 실행하지 않으면, 몇개의 문제에 부딪친다.

  • 시스템을 파괴하는 것도 큰 문제가 일어나는 것도 없지만, 귀찮을 것이다 :-)
  • DOS에 의해 만들어진 파일
  • 이것들은 Linux 에서는 보이지 않는다.
  • (보이지 않는 파일과)같은 이름의 파일을 만들려고 하면, 파일이 이미 존 재한다고 말하는 에러 메세지가 나온다.
  • 이 것으로 실제적인 문제가 생기면 착각으로 혼란스럽다. 파일 시스템 자체에는 해를 끼치지 않는다.
  • DOS에 의해 삭제된 파일은 문제를 일으키지 않다. Umsdos는 최초의 접근으로서 파일이 없어지고 있는 것을 검지한다. 메세지가 출력될것이다 (그리고 보통은 /var/adm/syslog 에 쓰여진다).

5. Installation/UN-installation 그리고 몇개의 트릭

Umsdos의 인스톨은 보통의 (Ext2 기본의)Linux 시스템과 다르지 않다.

큰 차이는 두개입니다.

5.1 pseudo-root /mnt/linux

인스톨의 전형적인 순서는 아래와같다.

  1. fdisk로 파티션을 설정하고 포맷한다.
  2. 루트 디스크를 /mnt에 마운트한다.
  3. 패키지를 모두 /mnt에 복사한다.
Umsdos 에서는, step 1이 필요 없다. (재포맷하지 않는 것이 Umsdos의 목적이다 ).

단순히 모든 패키지를 /mnt에 복사하는 것만으로 Umsdos 시스템을 인스톨할수 있다. 이것은 확실히 동작한다. 그러나 DOS의 루트 디렉토리 (C:\)에 한 무리의 서브 디렉토리를 만들기 때문에, 그것이 마음에 들지 않을 수도있다. 그것이 pseudo-root 사용해 Umsdos의 인스톨을 하는 이유이다. 그리고 이것이 Ext2의 인스톨과 Umsdos의 그것과 큰 차이다 :(pseudo-root를 사용하면) 모든 파일은 /mnt/linux 에 복사된다.

5.2 /mnt/linux 의 준비

/mnt/linux 는 일반적인 디렉토리가 아니다. Linux의 긴 파일 이름과 특수 파일(링크, 디바이스)을 정확하게 취급하기 위해서, 디렉토리 확장 해야만 한다. /mnt/linux를 확장하는데 필요한 순서는 아래와 같다.

  1. mkdir /mnt/linux
  2. umssync /mnt/linux
여기까지 이다!

5.3 /mnt/linux가 정확하게 셋업되는지를 확인

/mnt/linux의 셋업은 위와같이 간단하지만, 인스톨 패키지 중에는 아직도 잘못된것이 있다. 어떻게 해야하나?.

인스톨상의 최대의 문제는 umssync 프로그램의 비호환성으로부터 발생한다. Umsdos는 linux 1.1.88(정확하게 기억하지 못한다)에 업 데이트되고, umssync의 결점은 노출된다. Linux community의 혼란을 피하기 위해서, 필요로 여겨진 호환 레벨을 모든 Umsdos 툴로 규정했다 했습니다. 낡은 버젼의 툴은 단순히 배제되었다.

이것은 많은 배포물이 인스톨 디스크상의 umssync 유 티리티를 업 데이트하고 있지 않기 때문이라고 생각한다.

이러한 인스톨 패키지가 아직도 많이 존재하는 것이다. 결과적으로 /mnt/linux가 전혀 확장되지 않기 때문에, 긴 파일명이 잘려져 버려지거나, 특수파 일을 작성할 수 없게 된다.

어떤 것이 잘못되었을지를 발견하기위하여 , 인스톨 초기에 테스트하는 것도 가능하다. Linux 가상 콘솔의 메카니즘 덕택으로, 인스톨 프로 그램을 종료하는 일없이 이것을 할 수 있다. 이하의 순서를 실행하라.

  1. Alt-F2 누른다 (Alt 키와 F2 키를 동시에 누른다)
  2. root로 로그인한다
  3. cd /mnt/linux 이 작업을 빠리 실행하면, 실패 한다. 패키지의 선택을 종료한 시점에서 이 작업을 행하는 것이 적당하다.
  4. >TOTO
  5. ls -l
TOTO 라는 대문자의 이름이 붙은 빈 파일이 있다. 소문자로 보인다면, 그것은 무엇인가 잘못된 것이다. umssync의 단계를 한번 더 실행하시오. umssync 는 몇번을 반복해도 문제는 일어나지 않는다.

umssync .

만약 에러 메세지가 없다면, 다시 한번 TOTO 테스트를 해 보시오. 만약 TOTO가 올바르게 표시되면, 만사 OK 이다. 이 인스톨에서 무엇인가가 이상해도, 단지 저장하고 계속한다.

6. 설치 스크린에 돌아가기 위하여 Alt-F1을 누르십시오.

만약 테스트에 실패하면, 새로운 루트 디스크를 사용하는 것이 제일 좋은 해결 방법이다. 새로운 버젼의 umssync를 루트 디스크에 설치 하는 것으로 해결할 수 있다. 이것은 어렵지는 않지만, 이미 가동하고 있는 Linux 시스템이 필요하게 된다. 단순히 루트 floppy disk를 마운트하고, umssync를 새로운 것으로 바꾸어야만 한다.

6.1 Oops releasing pseudo root ...

Umsdos의 인스톨이 실패될 때에는, 대체로 이같은 생소한 메세지가 표시된다. 이 메세지는 이상해 보이지만, Umsdos의 버그가 아니다. 알려진 원인은 다음과 같습니다.

  • 가장 일반적인 것 Slackware의 installer는 인스톨 동안에 매우 이른 단계에서 스왑파일을 설정하려고 시도한다. 그 때문에, 파티션(dos 드라이브)를 선택하도록 요구한다. 그 뒤, 파티션을 마운트하고, 스왑파일을 설정한다. Slackware 시스템의 인스톨에서는, 인스톨 전에 목적의 파티션을 셋업하지 않으면 안 된다. 보통 DOS 파티션을 /mnt에 마운트하고, /mnt/linux 디렉토리를 만들어 거기에서 umssync 를 실행한다. 대부분의 문제는 여기서 일어난다. 대부분의 사용자는 "setup target partition" 의 스텝을 잊어 버리고, 나머지의 인스톨에서 직접 실행한다. /mnt가 이미 마운트되어 있기 때문에 이 잘못은 지나쳐 버린다. 이것은 /mnt/linux가 정확하게 만들어지지 않는(확장되지 않는)것을 의미한다. 모든 특수 파일과 링크, 그리고 긴 파일명은 알맞게 생성될수 없다.
  • 무가치한 umssync 유틸리티 /mnt/linux가 바르게 셋업되고 있지 않다. 보통, 인스톨 루트 디스크에 들어 있는 umssync 유틸리티에 의해 발생한다.
  • umsdos의 오래된 버그 Linux 1.2.2 이전의 Umsdos에는 버그가 있다. 파일 /etc/init가 없어 pseudo-root 모드가 옳게 기동되지 않다. init는 지금은 /sbin에 설정되고 있다. 새로운 커넬 을 입수하여 해결할 수 있다. 다른 버그도 커버되어 있지 않아, 그것이 1.2.2 에서 해결되고 있으므로, 이렇게 하는 것이 좋을 것이다.
만약 upgraded할 수 없는 것이라면, 아래와같이 하지오.
  1. 인스톨 디스크로부터 부팅한다.
  2. root로서 로그인한다
  3. mount -t umsdos /dev/hdXX /mnt 여기서, /dev/hdXX는 DOS 파티션
  4. cd /mnt/linux/etc
  5. ln -s ../sbin/init init
  6. cd /
  7. Ctrl-Alt-Del
  8. 정상적으로 Umsdos을 부팅한다.

6.2 Umsdos 시스템을 un-install하는 방법

Umsdos와 그 pseudo-root 메카니즘으로 인해, 아무 어려움없이 un-install한다. DOS를 부팅하고, linux 디렉토리를 재귀적으로 삭제하는 것뿐이다. Umsdos는 config.sys에 특별한 장치를 필요로 하지 않고, linux 디렉토리의 이외에 무엇인가 특별의 것을 만들거나 하지않는다.

6.3 Umsdos 시스템을 다른 DOS 드라이브로 이동한다.

이것은 Linux에서도 DOS에서도 가능하다. linux 디렉토리를 재귀적으로 한개의 드라이브로부터 다른 드라이브로 옮기는 것뿐이다. 그 후, 부트의 순서(보통, loadlin 커멘드)와 /etc/fstab 파일을 변경할 필요가 있다.

Umsdos는 어느 DOS 드라이브에도 위치할 수 있다. C: 드라이브에 인스톨 할 필요는 없고, 첫번째의 하드 디스크 드라이브에 가지고 있는 것은 중요하지 않다. 이것은 완전히 문제가 되지 않는다.

상실상, 몇개의 서로다른 드라이브에 Umsdos의 인스톨을 해 보는 실험마저 가능하다.

6.4 50 대에 Umsdos 시스템을 인스톨하는 것에 대해서

시간이 없을 때에 한 무리의 Linux 시스템을 인스톨하는 것은 어떨까?

Umsdos 시스템은 DOS의 분야에서 살아있다. Linux를 간단하게 인스톨 했다면 이것은 유리하다.

당신의 사이트로 Umsdos 시스템을 인스톨하고, 설정할 수 있다. 당신이 선택한 패키지와 설정에 만족 한다면, DOS를 부팅해 linux 디렉토리의 모두를 DOS 서버에 복사 할 수 있다. 그리고, 당신은 다른 DOS 스테이션에 가서, 네트워크 드라이브로부터 로컬 드라이브에 파일을 복사하는 것뿐이다. 이것뿐이다. boot script (Loadlinx)를 수정해 시작할 수 있다.

최소한의 수정(호스트명, IP 어드레스)을 하면, 누구라도 간단하게, 몇분만에 Linux 시스템을 인스톨할 수 있다.

현명한 독자는, Ext2 기본의 것도 포함하는 어떤 Linux 시스템에서도, 가동하고 있는 시스템을 복사하는 것으로 인스톨할 수 있는 것을 깨달았을지도 알수 없다.

무엇을 하고 있는지 모르는 installer에 의해서, 알지 못하는 사이에 숨겨진 파일이 인스톨되지 않는 것은, Linux 장점의 한나이다.

7. DOS 파티션에 Linux 섹션을 작성하기

Umsdos는, 심지어 Ext2(native인 Linux 파일 시스템) 사용자들을 위해 몇개를 사용한다. 하나의 공통된 시나리오는 이러한 것이다

  • Linux가 마음에 들어, 나날이 Linux 파티션이 가득 채워진다.
  • DOS 파티션은 반쯤 비워저, 공간모음을 하고 있다.
  • 돌연 Ext2 파티션의 빈 영역이 없어져 버렸다.
  • DOS를 지원도 좋은지를 결정하지 못한다.
이러한 때, Umsdos로 위기를 극복 할 수 있다. DOS 파티션을 Linux 파티션으로서 사용할 수 있고, 게다가 그것에 의해 Linux의 기능이 제 한된는 것도 없다. 예를 들면, C: 드라이브에 "extra" 라는 이름의 새로운 디렉토리를 작성하고 싶다고 합자. 그리고 이 디렉토리를 보통 Linux 디렉토리로서 이용하고 싶다고 합시다. 다음처럼 하시오. (C: 는 /dev/hda1 라고 가정하자.)

      mkdir /c
      /sbin/mount -t umsdos /dev/hda1 /c
      mkdir /c/extra
      umssync /c/extra
이것을 실행하기 위해서는 root가 아니면 안 된다.

/etc/fstab를 이와 같이 설정하는 것으로, 항상 /c/extra 디렉토리에 접근 할 수 있게 된다.

8. UMSDOS-WHY-TO

Umsdos 시스템을 어떻게 조작또는 인스톨하는지에 대한 설명은 충분하지는 못하다. 대부분의 사람은 Umsdos를 사용할지에 대해서 다소의 어드바이스를 요구한다.

8.1 Umsdos의 목표

Umsdos의 목표는 Linux의 인스톨을 간단하게 하는 것이다. 또 하나의 목표는 un-install을 간단하게 하는 것이다. 이 아이디어는 Linux의 보급을 촉진하는 것이다. 시스템에 새로운 OS를 인스톨하는 것은 언제라도 귀찮은 것이다. OS/2 등은 한 무리의 새로운 디렉토리로 인해 C:의 루트를 망가트린다. 만약 저와같은 재능이 있다면, config.sys 와 autoexec.bat 마저도 제거해 버릴지도 모른다. :-(

Umsdos pseudo-root 기능이 이 쓸모없는 침입을 막고 있다. Linux는 부작용 없음으로 un-install할 수 있다.

8.2 8.2. 누가 필요로 하고 있는가

가지고 있는 하드 디스크의 용량이 작은 경우는, Umsdos에 의해 DOS 와 Linux 로 디스크 스페이스를 공유하는 것이 가능하게 된다. 나의 의견으로는 300M 이하가 작은 디스크이다. 이 의견은 지금 입수가능한 여러가지 패키지의 사이즈에 의한것이다. 어떤 대중적인 워드 프로세서는 모든 기능을 선택하면 70 메가바이트 정도를 소비해 버린다.

가지고 있는 하드 디스크의 용량이 큰 경우는, Ext2 파일 시스템상에 Linux 전용의 파티션을 만드는 편이 좋을지도 모른다. Ext2는 DOS 보다는 비교적 작은 클러스터 크기(즉 1k)를 사용하기 때문에, 작은 파일을 많이 install할 때에 Umsdos 파티션보다 작은 스페이스를 소비하지 않는다.

8.3 성능에 대해서

Umsdos 와 Ext2를 비교하면, 다음과 같다.

  • 디렉토리의 취급은 Ext2의 방법이 빠르다. 이것은 Umsdos의 이중 디렉토리구 조에 의한 오버헤드가 원인이다.
  • 파일 억세스(읽고, 쓰기)는 Ext2 보다 어쩌면 빠를 것이다. 이것은 DOS에서 채용되고 있는 FAT 파일 시스템이 단순하기 때문이다. 위의 이점에는 희생이 동반하고 있는 것에 주의 :
  • 한개의 파티션에 65,000개 정도의 파일, 또는 클러스터가 최대이다. 이것은 500 메가바이트의 파티션이 16k 크기의 클러스터를 사용하는 것을 의미한다. 말을 바꾸면, 1 바이트 파일에서도 16k의 디스크 용량 을 사용해 버리는 것이 된다.
  • 전체는 하드 디스크 초기에 있는 FAT에 의해 콘트롤되고 있다. DOS 파일 시스템은 이것에 의해 비교적 깨지기 쉬운 것이라고 말할 수 있다.
  • 파일의 fragmentation를 피할 방법은 없다. Umsdos 시스템은 보통, 싱글 사용자의 워크스테이션으로서 사용된다. 이 경우에, 큰 문제는 되지 않는다. multi-user 엔진에서, 파일은 드라이브의 모든 주변에 퍼져 , 파일 접근 성능을 떨어뜨린다.
  • Symbolic link는 표준 파일에서 저장된다. 만약 많은 링크를 다루면, Ext2 과 비교해 Umsdos는 매우 많은 디스크 스페이스를 사용한다고 느낄 것이다.




sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2003-08-10 11:52:30
Processing time 0.0024 sec