다음 이전 차례

5. 플로피, 하드디스크, 기타

리눅스에서 장치를 관리하는 방법은 DOS 식과 리눅스 식 두 가지가 있다. 좋은 대로 골라서 쓰면 된다.

5.1 DOS 식 디바이스 관리

대부분의 리눅스 배포 판에는 Mtools 수트가 들어 있다. 이는 도스의 해당 명령어를 사용할 수 있게 해주는 것인데 다만 앞에 'm'이 붙는다. 즉 mformat, mdir, mdel, mmd, 기타등등. 이들은 긴 파일 이름도 보존할 수 있는데 파일 permission은 보존되지 않는다. /etc/mtools.conf 라는 파일을 편집하여 Mtools을 설정할 수 있는데(배포 판에 샘플이 들어 있다) DOS/Win 파티션과 CD--ROM, Zip 드라이브도 액세스할 수 있다. 하지만 새 디스크를 포맷하는 것은 mformat 명령으로는 안 된다. 먼저 루트 권한으로 다음의 명령을 선언해야 한다. fdformat /dev/fd0H1440.

less a:file.txt와 같은 방식의 명령으로 플로피에 있는 파일을 액세스 할 수 없다. 이는 DOS 방식으로 디스크를 액세스할 때 약점이다.

5.2 유닉스 방식의 디바이스 관리

유닉스에서는 다른 방식으로 디바이스를 관리한다. 유닉스에서는 A: 또는 C:와 같이 볼륨이 분리되어 있지 않다. 플로피든 뭐든 하나의 디스크는 "mounting"이란 오퍼레이션을 통해서 로컬 파일 시스템의 일부가 된다. 디스크 사용이 끝나면 제거하기 전에 먼저 "unmount" 시켜야 한다. 디스크를 물리적으로 포맷하는 것과 그 위에 파일 시스템을 만드는 것은 별개의 일이다. 도스 명령어인 'FORMAT A:'는 두 가지를 한꺼번에 한다. 하지만 리눅스에서는 개별적인 명령으로 처리한다. 플로피 포맷에 대해서는 위를 참고하고; 파일 시스템을 만드는 것은 다음과 같이 하면 된다.

       # mkfs -t ext2 -c /dev/fd0H1440

ext2 대신 도스, vfat(추천) 또는 그 밖의 포맷을 사용할 수 있다. 디스크가 준비된 다음에는 다음의 명령을 통해서 마운트 한다.

       # mount -t ext2 /dev/fd0 /mnt
위에서 ext2를 사용하지 않을 때에는 해당 파일 시스템을 지정하면 된다. 이제 A:나 B: 대신 /mnt를 사용해서 플로피에 있는 파일들을 어드레스 할 수 있게 되었다.

예:

 
       DOS                                     Linux
       ---------------------------------------------------------------------

       C:\GUIDO>DIR A:                         $ ls /mnt
       C:\GUIDO>COPY A:*.*                     $ cp /mnt/* .
       C:\GUIDO>COPY *.ZIP A:                  $ cp *.zip /mnt
       C:\GUIDO>EDIT A:FILE.TXT                $ jstar /mnt/file.txt
       C:\GUIDO>A:                             $ cd /mnt
       A:> _                                   /mnt/$ _                  
작업을 마친 다음 디스크를 꺼내기 전에 다음의 명령을 사용해서 언마운트 시켜야 한다.
       # umount /mnt
이미 사용하던 디스크가 아니라 포맷되지 않은 디스크만 fdformat과 mkfs 해야 됨은 물론이다. B: 드라이브를 사용하고 싶으면 위 예제에서 fd0H1440과 fd0 대신 fd1H1440과 fd1을 사용하면 된다.

플로피에 적용되는 것이 다른 디바이스에도 적용됨은 말할 필요도 없다. 예를 들어, 하드디스크나 CD--ROM 드라이브를 추가로 마운트 하고 싶다고 가정하자. CD--ROM은 다음과 같이 마운트 한다.

       # mount -t iso9660 /dev/cdrom /mnt

이 방법이 디스크를 마운트 하는 "공식적인" 방법이었다. 하지만 흔히 사용하는 트릭이 있다. 플로피나 CD--ROM을 마운트 하기 위해서 루트가 되어야 하는 것은 좀 귀찮은 일이므로 다음과 같이 하면 모든 사용자들이 그것들을 마운트 할 수 있다.

o 루트로 로그인 하여 다음과 같이 한다:

       # mkdir /mnt/floppy ; mkdir /mnt/cdrom
       # chmod 777 /mnt/floppy /mnt/cd*
       # # make sure that the CD-ROM device is right
       # chmod 666 /dev/hdb ; chmod 666 /dev/fd*
o /etc/fstab에 다음의 행을 추가한다.
       /dev/cdrom      /mnt/cdrom  iso9660 ro,user,noauto          0       0
       /dev/fd0        /mnt/floppy vfat    user,noauto             0       0
이제 도스 플로피나 CD--ROM을 다음과 같은 방법으로 마운트 한다:
       $ mount /mnt/floppy
       $ mount /mnt/cdrom
이제 모든 사용자가 /mnt/floppy와 /mnt/cdrom을 사용할 수 있게 되었다. 이런 방법을 통해서 모든 사용자에게 디스크 마운트를 허락하는 것은 보안 체계에 구멍을 내는 것이라는 사실을 잊지 말도록.

마운트 된 파일 시스템에 대한 정보를 얻는 df와 해당 디렉토리가 차지한 용량에 대해서 알려주는 du dirname 두 개의 명령을 알아두면 편리하다.

5.3 백업

여러 가지 패키지가 있지만 멀티 볼륨 백업을 하는데 최소한의 것은(루트로서):

       # tar -M -cvf /dev/fd0H1440 dir_to_backup/
반드시 드라이브에 포맷된 플로피가 들어 있어야 하며 추가로 여러 장 대기시켜 두어야 한다. 복구할 때에는 첫번째 플로피를 드라이브에 넣고 다음을 입력한다.
       # tar -M -xpvf /dev/fd0H1440

다음 이전 차례