윈도우, 맥, 리눅스에서 동시에 사용 가능한 파일 시스템은 있을까?

지금 규링의 경우에는 윈도우, 맥, 리눅스를 동시에 쓴다. 집에는 윈도우 깔린 i7-3770k 오버클럭하고 램 32GB 박고, 660 ti SLi 박아놓고, SSD 캐시 기능을 쓰면서 도합 16TB가 탑제되어 수냉으로 냉각하는 적절한 사양(?!)의 컴과, 맥북 프로 레티나와 우분투용 머신이 있다. (데탑, 서버) 그리고 연구실에서도 아이맥과 우분투 데탑이 있다. 이러다 보니 세곳에서 쓰이는 파일 시스템이 다 달라서 서로 공유하기가 힘든 점이 있다. 그냥 파일 얼마 안되고 하면 FTP나 서비스에서 지원하는 프로토콜과 적절한 인코딩으로도 파일 전달이 되긴 한다만… 그래도 외부에서 스토리지로 연결해서 쓰고 싶을 때가 꼭 있다.

근데 여기서 문제가 발생하는데… 이 세 시스템에서 적절하게 써먹을 파일 시스템이 있는지 없는지 모르겠다는 것이다.파일 시스템이 다른 경우에는 읽기는 되는데 쓰기가 안된다거나, 둘 다 안되어서 인식 자체가 안된다거나 하는 경우가 수두룩하기 때문이다. 당장 주변을 둘러보자. 윈도우에서 쓰는 외장하드 들고 가서 맥북에 연결했더니 파일이 안써진다고 하는 친구들 하나쯤은 꼭 볼 수 있을 것이다. (그만큼 요즘 맥북 많이 들고 다닌다. 맥 OS를 쓰는지는 의문이지만…) 사실 파일 시스템이 윈도우만 쓰면 잘 모르는데 유닉스나 리눅스, 맥으로만 넘어와도 뭐 이리 많나랑 생각 쉽게 하는 녀석이다보니 뭐….

일단 윈도우와 맥에서 동시 사용 가능한 파일 시스템으로 ExFAT가 있다. 맥에서 디스크 유틸리티를 통해 ExFAT로 포맷을 하면 윈도우에서도 읽기 쓰기가 된다. USB 같이 FAT를 써도 되는 정도의 용량이라면 모를까, 외장하드를 쓰는 입장에서는 확실히 매력적인 파일 시스템이다. (그러니 이 글 읽는 여러분도 한번 해보세요)

근데 이게 리눅스에서도 적용 되나…?!?! 난 그전까지 못들어 본 거 같은데?!?! ㅇㅁㅇ?!?! 그렇다면 바로 뒤져보는 거다. 검색!!!!!

우분투의 경우에는 아래에 적어놓은 명령어 세 줄이면 끝난다.

sudo add-apt-repository ppa:relan/exfat
sudo apt-get update
sudo apt-get install exfat-fuse exfat-utils

12.04 이후에는 아무런 조치 없이 자동으로 마운트 되는 걸로 봐서는 문제없이 쓸 수 있는 것으로 보인다.

일단 이렇게 하면 윈도우, 맥, 리눅스에서 동시에 쓸 수 있는 외장하드를 만들어서 쓸 수 있다. 맥 사용자의 경우에는 NTFS 읽고 쓰는 퓨즈를 유료로 구입해서 쓰는 사람들도 많은데, 이런 것을 안다면 돈주고 구입하지 않고 쓸 수 있다. 다만 모르는 사람이 아무거나 막 꼽으면 그땐 왜 안되냐고 물어보고 하겠지. ㅡㅅㅡ

터미널에서 특정 폴더에 디스크 이미지 마운트하기

이전에 쓴 Case-sensitive partition 생성에 그냥 이어서 진행합니다.

디스크 이미지를 마운트 하는 것도 hdiutil을 이용합니다. 작업 순서는 다음과 같습니다.

  1. 마운트할 폴더를 생성한다. 본인이 쓰기 편한 폴더를 만들어서 거기에 마운트 시키면 된다.
  2. 해당 폴더에 아래 명령어를 입력하여 마운트를 시킨다.

hdiutil attach ~/ext_disk.dmg -mountpoint ~/ext_disk

스크린샷 2014-02-07 오후 9.40.42

위에 처럼 디스크 정보를 보여주면서 출력 되면 마운트가 된 상황입니다.

근데 이게 글 하나를 쓸 정도의 내용인가요?

이거 자기가 뭔 작업했는지 모르면 무지 헷갈립니다. ㅇㅅㅇ;;

제가 제 홈폴더에 직접 작업을 했습니다. 이걸 파인더로 열어서 보면 어떤 상황일까요? 그냥 ext_disk란 폴더랑 ext_disk.dmg 파일 있겠지라고 생각하시겠죠?

스크린샷 2014-02-07 오후 9.40.47

 

GUI로만 보면 모릅니다. ㅇㅅㅇ 저기 밑에 보면 untitled 라고 되어 있는 장비에 있는 것이 마운트 된 것이라는 건 누구나 알겠지만, 저 홈폴더 밑에 목록에 똑같이 untitled라고 나와 있는 것이 ext_disk 폴더라는 것은 모를 수 있습니다. 이걸 터미널로 확인해 보죠.

스크린샷 2014-02-07 오후 9.41.29

ext_disk 라고 제대로 폴더 표기도 되어있죠? 저기로 이동하면 그대로 파일 쓰고 할 수도 있도록 되어 있습니다. 리눅스에 익숙한 분들이라면 이런 사용방법 좋아하실지도요. ㅇㅂㅇ;

저도 첨에 뭐가 뭔지 몰랐던 바보같은 짓을 했었기에 한번 알려드리려고 적어봤습니다.

p.s. 규링은 첨에 삽질 많이 합니다….
p.s.2. 이건 일본의 어떤 이상한 용자 블로그에서 찾은 글인데.. 저기에 공개 키 이용해서 맘대로 마운트 못하게 하는 디스크 만들고 거기다 ㅇㄷ 넣는 인간들도 있다고 합니다. (왜그러냐..)

Case-sensitive partition 생성

이전 글에서 대소문자 구분 가능한 파티션과 그렇지 않은 파티션이 있다고 대충 알려만 준 상태인데… 그럼 대소문자 구분 가능한 파티션을 일일이 디스크 관리에서 만들고 해야 할까요?

아뇨. 터미널 열고 명령어 한번만 치면 dmg 이미지 파일(디스크 이미지 파일)을 쉽게 만들 수 있습니다. (생성 시간은 좀 걸립니다)

hdiutil create -fs ‘Case-sensitive Journaled HFS+’ -size 40g ~/ext_disk.dmg

스크린샷 2014-02-07 오후 9.21.15

맥 OS X에서의 이미지 생성 툴인 hdiutil 명령을 이용하여 생성할 수 있습니다. 사용 방법은 이 링크를 클릭하시면 애플 개발자 센터 문서를 보실 수 있습니다. 내용이 많기 때문에 우선 명령어로 쓴 부분만 간단하게 설명을 드리기로 하죠.

  • -fs [파일시스템]: 파일 시스템을 적습니다. 오타 하나라도 나면 안되기 때문에 반드시 문서를 보고 쓰셔야 합니다.
  • -size [용량]: 디스크 이미지 파일의 용량을 지정합니다. 고정 용량이기 때문에 저처럼 바로 40g로 잡고 하면 디스크 용량이 40G 줄어들어 있을 겁니다. ㅇㅅㅇ;;
  • [파일 이름]: 생성할 파일 디렉토리와 파일 이름을 지정해 줍니다.

스크립트를 실행한 후에 파일이 생겼는지 확인했습니다.

스크린샷 2014-02-07 오후 9.31.08

 

용량 제대로 먹고 있습니다. ㅇㅅㅇ;;

그럼 이걸 마운트 해서 써야겠죠? GUI 에서 마운트 하는 것이야 더블클릭 하면 됩니다. 그리고 Volume 폴더에서 찾아서 들어가면 됩니다. 그러나, 리눅스와 유닉스 같이 원하는 폴더에 마운트하여 쓸 수도 있습니다. 그 방법을 알려드리겠습니다.