Wednesday, April 12, 2017

Save as PDF… in iPhone 6s or higher

"Save as PDF" in iPhone 6s or higher

"Save as PDF" in iPhone 6s or higher


이 문서는 eEsc m⌥⌘Meta aAlt c^Ctrl sShift org-mode로 작성된 글입니다.


System Environments

Operating Systems

  • Main- : OS X El Capitan (10.11.6)
  • Sub- : Debian GNU/Linux Wheezy (7.11)
  • Server: Debian GNU/Linux Jessie || Wheezy || Squeeze
  • Mobile: iOS 10.3.1

Hardware Systems

  • OS X installed : MacBook Pro(13-inch, Mid 2009) 2.53 GHz Intel Core 2 Duo
  • Debian installed: Zotac ZBOX ID12 Intel Atom D525
  • iOS installed : iPhone 6s

OS X에는 Save as PDF… 라는 기능이 있다. 애플리케이션에서 Print (⌘p)를 실행하면 왼쪽 아래에서 선택할 수 있다.

34000495685_25b973cfdd_o.png

Web browser, Notes, TextEdit, Mail, Preview, 등의 기본 애플리케이션에서는 물론 시스템 차원에서 Print가 가능한 다른 애플리케이션, 이를테면 Mathematica, Libre Office, Aquamacs 에서도 바로 사용할 수 있다. 이렇게 PDF로 저장하면 당연하게도 그 안의 텍스트도 선택할 수 있고 ⌘f 로 검색 역시 가능하다. Linux나 Windows (최신 버전은 나아졌지만)에서는 없거나 구현하기 힘든 기능으로 나의 paperless 환경을 구성하는데 한 축을 책임지고 있다. 여기까지는 웬만하면 누구나 아는 것이다.

비슷한 기능을 아이폰에서 구현할 수 있을까? 내가 아는 바로는 불가능하거나 매우 까다로웠다. 예를 들어, 보고 있는 웹페이지를 텍스트 검색 가능한 PDF (이하 Searchable PDF)로 저장하는 유일한 방법은 Save PDF to iBooks 뿐이다. 그런데 이렇게 저장한 Searchable PDF는 iBooks에서 Email이나 Print밖에 할 수 없다. DropboxPDF Expert 같은 3rd party App으로 보내려면 꼼수 (Email로 자신에게 보낸 후 첨부 파일을 여는 방법 같은…)를 써야 했다. 기본적으로 아이폰 Print에서는 Save as PDF… 같은 옵션을 제공하지 않기 때문이다.

아이폰 6s (혹은 그 이상)에서는 조금 더 직관적인(?) 방법이 있다. 예를 들어, 현재 보고 있는 Safari에서 Searchable PDF로 3rd party App에서 저장하는 (혹은 불러오는) 방법은

  1. Safari 하단의 Sare button (혹은 share sheet)을 열어
  2. Print를 선택하면
  3. 미리보기처럼 보이는 페이지가 3D Touch 가능하다. Peek and Pop 에서 멈추지 말고 더 깊게 누르면 완전히 새로운 화면을 볼 수 있다.
  4. 여기서 다시 Sare button (혹은 share sheet)을 열면 Save PDF to iBooks 은 물론이고 바로 메시지를 보내거나 3rd party App에서 바로 열 수 있다.

아래는 이를 보여주는 GIF이다.

33844102592_39c1e41bf7_o.gif

왜 이런 훌륭한 기능을 숨겨 놓았는지 알다 가도 모를 일이다. 뭐, 이것도 찾는 재미라고 해야 하나… 1

FYI) 불행하게도 iOS 버전보다 3D Touch 가 핵심이라 아이폰 6나 그 이하에서는 사용할 수 없다. 3D Touch 가 안되는 아이폰에서는 Pinch-to-Zoom으로 가능하다. 즉, 위의 3) 미리보기에서 두 손가락으로 화면을 오므렸다 피면 (Zoom-in) 4)로 넘어갈 수 있다.


Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License

Created: 2018-06-26 Tue 15:20

Emacs 24.3.1 (Org mode 8.2.10)

Saturday, March 11, 2017

Sunday, September 4, 2016

DFU mode

iOS dictionaries are gone

iOS dictionaries are gone


This post is written with eEsc m⌥⌘Meta aAlt c^Ctrl sShift org-mode.


System Environments

Operating Systems

  • Main- : OS X El Capitan (10.11.6)
  • Sub- : Debian GNU/Linux Wheezy (7.11)
  • Server: Debian GNU/Linux Jessie || Wheezy || Squeeze
  • Mobile: iOS 9.3.5

28835097763_6916e01340_o.png

Figure 1: No dictionaries via Notes in iOS

If you delete all dictionaries on your iPhone accidentally or deliberately and hereby no cloud[☁] appears any more after the [Manage]-button clicked in the list, then you need iPhone DFU(Device Firmware Upgrade) mode.

Be aware of the following.

  • Any attempts within iPhone itself do not work such as [Reset Keyboard Dictionary], [Reset Network Settings], [Erase All Content and Settings], adding a few other languages like French, and even [Reset All Settings]! I had tested them all. None of them can bring a dictionary back to your iPhone.
  • [Restore iPhone] functionality via iTunes on your Mac or PC after backing up your iPhone first does not work either!

The latter was suggested by Apple Support (@AppleSupport) via Twitter. There was a long conversation. They looked kind, but failed.

A deep search of many possible combinations of key words of mind leaded me to the iPhone DFU(Device Firmware Upgrade) mode. It is the real [Factory Reset] you expect, not [Reset All Settings] or anything else, even though they are often called [Factory Reset] as well. It would be quite unclear why there exist two types of factory resets in iOS. I say again that the DFU(Device Firmware Upgrade) mode is the real [Factory Reset] you expect.

There are plenty of descriptions of how to get into the DFU mode you can find in web. I just summarize the steps how to get my dictionaries back in iPhone.

  1. Make it clear that you remember the password for your iTunes Account that is linked to your iPhone.
  2. Backup your iPhone. The [Encrypt iPhone backup] via iTunes is my recommendation.
  3. Turn off your iPhone.
  4. While your iPhone is still connected to your Mac or PC, Hold the Home and Power buttons together till the Apple logo appears. About 5 seconds later after it shows on the screen, release the Power button only but keep holding the Home button about 15 seconds. Then your iPhone goes to the DFU mode.
  5. Follow what iTunes says.
  6. Restore your iPhone from the backup you made in the second step.

FYI) In the case that you are using the two-step verification by your iPhone, do not worry. You can receive a secure code during the procedure when it is required.


Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License

Created: 2016-09-04 Sun 22:08

Emacs 24.3.1 (Org mode 8.2.10)

Saturday, September 3, 2016

ebooks

전자책과 책 읽기

전자책과 책 읽기


이 문서는 eEsc m⌥⌘Meta aAlt c^Ctrl sShift org-mode로 작성된 글입니다.


한국에 있던 동안의 책 읽기는 사건 빌리건 온전히 종이책을 통해서였다. 그때 전자책이라는 것은 완전 초창기라 난 존재하는 지도 거의 몰랐으리라. DRM (Digital Rights Management, 이하 DRM)이 걸린 줄도 몰랐던 지금은 기억조차 나지 않는 형식의 리쌍과 드렁큰 타이거의 음원들만이 갓 칼라 화면으로 전환된 모토로라 피처 폰에서 싸구려 이어폰을 통해 흐르고 있을 시절이었다. 랩탑도 들어있지 않은 가방과 혼자 사는 집 한구석을 차지 하기에 종이책은 크게 거추장스러울 것도 없었다. 그러나 한국을 떠나기로 결정된 순간, 많지는 않았지만 소중히 아끼던 책들은 다른 사람들 손에 넘기거나 버려져야만 했다. 꼭 가져갈 전공책들 만으로도 부담이라 당시로는 어쩔 수 없었다고 생각했지만, 지금 돌이켜보면 그냥 무리해서라도 다 보낼 것을 하고 후회한다. 이렇게 오래 여기 있을 줄 알았다면 말이다.

어느덧 내 손에는 아이폰이 들려있고 책상 위엔 맥북프로와 리눅스가 깔린 미니피씨에 조그만 모니터 그리고 기계식 키보드와 트랙패드 등이 널브러져 있다. 가끔 들른 한국에서 한두 권씩 사온 종이책들도 한 귀퉁이를 차지하고는 있지만 현재는 거의 아이폰 화면을 통해서 책을 읽고 있다. 몇 해전까지 만해도 맥북프로에서도 가끔 읽기는 했지만 그때도 책 읽기는 거의 조그만 화면의 아이폰4를 사용했었다. 지금은 아이튠즈로 동기화 시킨 mp3와 m4a 음원들이 아이폰6s에 연결 된 블루투스 헤드폰을 통해 흘러나오고 있고 조금은 커진 화면을 보며 무언가를 읽고 있다. 그건 트위터에서 지저귀는 날 것의 140자이거나 피들리(Feedly)를 통해 구독하는 누군가의 블로그나 언론사의 조금은 긴 글일 수도 있으며 DRM의 각종 제한이 걸려있지만 차근차근 시간을 들여 읽어야 하는 전자책일 때도 있다.

음원에서는 거의 사라진 아니 완전히 사라졌다고 해도 좋을 DRM이 DVD와 전자책에는 아직 버젓이 존재하며 조만간 없어질 기미도 전혀 보이지 않는다. 솔직히, 스트리밍과 CD 그리고 불법(?) 사이트가 판치던 당시 격동의 음원 시장에서 변화의 요구와 거기에 부흥하는 애플 같은 기업이 나서서 mp3의 DRM을 없애지 않았다면, 지금은 어떨지 쉽게 예상하긴 어렵다. 다만 분명해 보이는 건 DVD와 전자책에서는 아직까지 격동이라 부를 시대적 변화와 요구는 커녕 보통은 거기에도 DRM이 걸려있다는 사실조차 모른다. 합법(?)적으로 구매하는 모든 제품에 걸려있는데 말이다. 하지만, 안타까운 지난날의 기억과 존재 자체가 내 철학과는 대치 되는 DRM에 한쪽 무릎을 꿇기로 했다.

우선 저작권이 만료되었거나 없는 책 혹은 어둠의 경로로 얻은 txt에서 현재 전자책 표준으로 자리 잡은 epub으로 변환이 번거롭고 손이 많이 가며 그래도 만족할만한 성과가 나오기에는 근본적 한계가 있다. 못 읽을 수준은 아니지만 그렇다 하더라도 시간을 너무 잡아먹는다. 더욱 큰 문제는 읽고 싶은 많은 책들의 경우, 이를테면 교양 과학 서적이나 인문학 서적 같은, 위험성은 둘째 치고 이런 식으로는 구하기가 극도로 어렵거나 아예 불가능하다. 있지 않은 txt를 어찌 구할 수 있겠는가 말이다. 대부분은 저작권에서 자유로운 흔히 얘기하는 고전들이다. 내가 좋아하기는 하지만 고전만 읽고 살 수는 없지 않은가. 게다가 한국의 전자책 환경도 바뀌어서 이제는 꽤 최신의 작품도 전자책으로 출판하는 경우도 심심치 않게 볼 수 있다. 여전히 많이 부족하지만 말이다. 아이북스(iBooks) 서점에서도 한국어 책들이 꽤 있으며 리디북스(Ridibooks)나 예스24 eBook(Yes24 eBook)에서는 그보다 더 많다. 리디북스(Ridibooks)가 책 읽기 경험이 가장 나은 것 같다. 교보문고 쪽은 별로 쓰고 싶지 않다. 이 셋이 내가 주로 쓰는 전자책 서점들이다.

28808952644_9c7f3ff1fd_o.png

Figure 1: 리디북스(Ridibooks) in iOS

29398583856_c2d1d8c422_o.png

Figure 2: 예스24 eBook(Yes24 eBook) in iOS

당연히 이 모두 DRM이 적용되어 있다. 사용자 입장에서 이에 따른 불편은 우선은 세 곳의 전용 뷰어를 따로 설치해야 한다는 점과 이들의 책 읽기 환경이 조금씩 다르다는 점을 들 수 있겠다. 친구에게 주거나 도서관에 기증할 수도 없다. 그러나 지금의 내 입장에서 얻는 것들이 더 많다고 결론 내렸다. 이제는 거의 항상 가방의 한자리를 차지하고 있는 무거운 옛 맥북프로와 남은 자리를 메꾸는 갖가지 논문들과 A4 종이 뭉치가 더 이상 종이책을 들고 다니게 허락하지 않는다. 차도 없는 비천한 몸뚱이의 뚜벅이에게는 지금 가방도 무겁다. 게다가 이 세 곳을 통하면 나름 보고 싶었던 책들을 만족할 만하게 읽을 수 있다. 아이폰6s 화면은 책 읽기에 그렇게 작지는 않다. 또한 내가 변환할 때 썼던 시간들을 절약할 수 있다는 것 또한 아주 큰 장점이다. 물론 돈이 든다. 종이책 살 때와 비교해서 그만큼 이거나 좀 더 쓰는 것 같다. 그래도 그 돈으로 가방의 무게도 줄이고 읽고 싶은 책을 아이폰에 넣고 무엇보다 시간을 살 수 있다면 그로 족하다. 이것이 한쪽 무릎을 꿇기로 결정한 이유라고 변명해 본다.

굳이 이 세 곳을 이용하게 된 까닭이 있다. 모두 맥에서 결재가 가능하다. 아이북스(iBooks)에서는 근처 슈퍼에서 구매한 아이튠즈 기프트 카드(iTunes Gift Card)로 충전해서 쓰고 리디북스(Ridibooks)와 예스24 eBook(Yes24 eBook)에서는 무통장 입금이 가능하다. 맥에서 아직까지 유일하게 제대로 쓸 수 있는 어플리케이션을 제공하는 신한은행을 이용하면 국외에서도 무통장 입금 선택 시 생성되는 계좌로 바로 이체할 수 있다. 좀 더 정확하게 정리하자면, 리디북스(Ridibooks) 경우는 낱권 구매 시 무통장 입금은 불가능하다. 하지만 리디캐시 충전을 이용하면 무통장 입금이 가능하고 이 캐시를 통해서 구매하면 된다. 윈도우즈가 설치된 기계는 하나도 없지만 하자고 하면 가상 머신을 통해 할 수 있기는 할 것이다. 하지만 그러고 싶지 않다. 이미 쓰레기가 된 한국의 온라인 결제 환경에 이미 두 손 두 발 다 들었다. 진작 폐기 처분 됐어야 할 액티브엑스라는 거대 똥에 카카오페이니 삼성페이니 그게 뭐던 간에 덕지덕지 신문지로 감싸고 박스에 넣은 후 리본으로 장식하고 있을 뿐이다. 긴 이야기는 여기서 할 얘기가 아니니 줄이겠다.

이에 더해 한 가지 더 기대하지 않았던 장점이 있었다. 리디북스(Ridibooks)에서 구매한 "박경리의 토지" 리뷰란에서 우연히 발견하게 된 문구가 후두부를 강타했다.

"차에서 운전하면서 들으니 너무 좋아요"

그렇다. 리디북스(Ridibooks)와 예스24 eBook(Yes24 eBook)의 아이폰 앱에서는 듣기가 가능하다. 전자책 구매 시 정보란을 자세히 보면 "듣기 가능"이라는 문구가 있었는데 몰랐던 것이다. 성우 윤소라씨가 읽어주는 것에 비할 바는 못 되지만 기계 목소리로 읽어 주는 것이 영 못 들어줄 정도는 아니다. 그렇다고 너무 큰 기대는 하지 말았으면 하지만 생각보다 들어줄 만 하다. 산책할 때 읽었던 책을 다시 들으면 다시 되짚어 보게 되는 문구들이 새롭고 재미있다.

FYI) 지난 Posts 보러 가기


Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License

Created: 2016-09-03 Sat 22:21

Emacs 24.3.1 (Org mode 8.2.10)

Sunday, July 31, 2016

makeMKV

DVD 추출: makeMKV와 Handbrake

DVD 추출: makeMKV와 Handbrake


이 문서는 eEsc m⌥⌘Meta aAlt c^Ctrl sShift org-mode로 작성된 글입니다.


System Environments

Operating Systems

  • Main- : OS X El Capitan (10.11.6)
  • Sub- : Debian GNU/Linux Wheezy (7.11)
  • Server: Debian GNU/Linux Jessie || Wheezy || Squeeze
  • Mobile: iOS 9.3.3

Debian을 날린 후, photorec로 살릴 것은 대충 복구하고, 이 중 이빠진 Collections에서 빈 episodes를 채우려 오래된 DVD set를 꺼내 들었다. 목표는 Sex And The City(이하 SATC). 그런데 예상치 않았던 문제가 발생했다.

2010년 MacBook Pro 구입 후 HandBrake를 이용해 SATC DVD에서 바로 .m4v 변환해서 그동안 잘 사용했었는데, 이번에는 생각처럼 되지 않았다. 어떤 Presets을 사용해서 변환해도 볼 수 없을 정도로 화면이 깨졌다. 변환 속도가 가장 빠른 [Presets:Devices:iPod]을 가지고 세부 설정을 다양하게 변경하면서 확인 결과, 어떤 것도 제대로 된 화면을 만들어내지 못했다. Googling을 해보니 x264 codec 관련해서 DVD에서 파일을 읽는데 쓰는 것으로 보이는 library 가, HandBrake가 판올림하는 중간에 libdvdread 에서 libdvdnav 으로 바뀐데 기인하는 것으로 생각되는데, 전문가가 아니라 자세한 것은 모르겠다. 다만 확실한 것은 DVD에서 문제 없이 변환했던 환경은 OS X Snow Leopard (10.6.x)에서 HandBrake 버전 0.9.5였었고 지금은 El Capitan에서 HandBrake 0.10.5이며, library 가 중간에 libdvdread 에서 libdvdnav 로 바뀌었다는 점이다. 이것이 OS X만의 문제인지 HandBrake 문제인지 확인하고 싶었지만 Sub-machine인 Debian이 설치된 녀석은 CD/DVD Drive가 없고 External CD/DVD Drive는 더더욱 없다. 하나 살까 잠시 고민했지만 CD/DVD에 걸려있는 Regional DRM 문제가 떠올라 포기했다. (이 문제에 관해서는 따로 언급할 기회가 있었으면 좋겠다.)

FYI) 문제없이 동작하던 HandBrake 버전을 0.9.5로 확정할 수 있었던 이유는 간단하다. VLC에서 Media Information을 보면 어떤 프로그램으로 동영상을 제작했는지 Metadata가 Encoded by 아래 적혀있다. iTunes로 동영상을 관리한다면 Get Info에서도 확인할 수 있다. 물론 PhotoRec로 복구한 동영상의 Metadata가 아직 살아있다는 것이 가장 신기하긴 하다.

혹시 Sharewares로 범위를 넓히면 어이없게 간단히 해결될 수도 있으나 시도해보지 않았다. 웬만하면 Free-/Open-source softwares 안에서 문제를 풀어보고 싶었다. 해결책은 생각보다는 간단했다. MakeMKV beta를 쓰면 된다. MakeMKV beta는 open-source는 아니지만 무료로 배포하고 있다. 카피라이트는 GuinpinSoft inc에 있다. [Copyright © 2008-2016 GuinpinSoft inc]

MakeMKV beta에서 바로 외부 자막 파일(예를들어, .smi 혹은 .srt)까지 넣어서 .m4v.mp4 로 만들 수 있는 것은 아니다. 소프트웨어 이름 그대로 CD/DVD를 Matroska(.mkv) 파일로 추출하는 프로그램이다. CD/DVD에 포함된 bitmap 형식의 자막 파일은 함께 포함해서 만드는 것은 가능하다. 다시 말하자면, CD/DVD 안의 동영상과 자막을 그대로 Matroska(.mkv) 파일로 변환해주는 프로그램이다. 사용법은 직관적이라고 얘기하긴 어렵지만 자세한 설정을 바꿀 필요가 없어서 클릭 몇 번이면 바로 파일을 만들기 시작한다. (Handbrake 사용법이 훨씬 복잡하다.) 아래 GIF는 SATC DVD에서 .mkv 를 만드는 과정을 보여준다.

28387196180_ff0b751bf3_o.gif

FYI) beta 딱지가 붙어있지만 사용에는 전혀 문제가 없었다.

나처럼 외부 자막을 포함한 .m4v 를 만들려면, 이렇게 만든 .mkv 를 source로 해서 다시 HandBrake로 변환하자.


Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License

Created: 2016-07-31 Sun 14:34

Emacs 24.3.1 (Org mode 8.2.10)

Thursday, June 30, 2016

Lunar

음력 기념일 입력

음력 기념일 입력


이 문서는 eEsc m⌥⌘Meta aAlt c^Ctrl sShift org-mode로 작성된 글입니다.


System Environments

Operating Systems

  • Main- : OS X El Capitan (10.11.5)
  • Sub- : Debian GNU/Linux Wheezy (7.11)
  • Server: Debian GNU/Linux Jessie || Wheezy || Squeeze
  • Mobile: iOS 9.3.2

아이폰과 맥에서 음력 기념일을 입력하는 방법은 몇 가지 있다. 네이버에서 제공하는 달력을 사용하는 방법은 네이버 아이디가 필요한데 있지도 않고 만들 생각도 없어 탈락. 구글 캘린더를 구독하는 방법은 아이디는 있지만, 개인정보 접근 요청에 주소록까지 포함! 찜찜해서 탈락. 역시 맥에 관한 거의 모든 것을 찾을 수 있는 ONE님의 BACK TO THE MAC에서 힌트를 찾았다. 맥용 어플리케이션 Lunar를 사용하는 방법이다.

ONE님의 소개글과는 조금 다르게 현재 (<2016-06-30 Thu>) Mac App Store에서 공식적으로 배포하고 있으며 (댓글에서 제작자가 직접 언급), 이 방법으로 해야 아이폰과 동기화가 된다.

몇 가지 주의 사항이 있다.

  • Mac App Store 배포하는 어플리케이션을 써야하니, 아쉽게도 맥을 가진 사용자만 가능하다.
  • 이벤트를 생성한 달력을 아이폰과 동기화할 수 있다.
  • 버그: 캘린더 선택 시, 선택한 캘린더 보다 하나 위의 캘린더가 선택된다.
  • 단점: 한번 만든 이벤트를 지우는 기능이 없다.

따라서 새로운 캘린더를 하나 (혹은 두 개 이상)을 만들어 이벤트를 생성할 것을 추천한다. 그래야 잘못 만든 이벤트를 생성한 캘린더를 지움으로써 단점을 보완할 수 있다.

사용법

우선 Lunar를 맥에서 다운받는다.

아래 그림을 참고해서 순서대로 진행한다.

  1. [+]새로운 캘린더 키를 클릭해서 새로운 캘린더를 하나 (혹은 두 개 이상)을 만든다.
  2. 이벤트를 생성할 캘린더를 선택한다.
  3. 이벤트 이름과 음력 날짜, 알람을 선택 후,
  4. 이벤트 생성 키를 클릭해서 새로운 이벤트를 선택한 캘린더에 추가한다. 이 때 팝업창에 추가될 캘린더가 맞게 선택되어있는 지 확인한다. 아니라면 원하는 캘린더 보다 하나 위의 캘린더를 선택해 보자.

27953615376_fae39d2d38_o.png

Calendar.app을 열어 새로 만든 이벤트가 선택한 캘린더 아래 생성되어있는 지 확인해 보자. 이벤트를 생성할 캘린더를 아이폰에서 볼 수 있을 것이다. 선택하면 동기화가 이루어진다.


Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Created: 2016-06-30 Thu 00:37

Emacs 24.3.1 (Org mode 8.2.10)

Sunday, June 26, 2016

exFAT and Automount

exFAT & Automount

exFAT & Automount


이 문서는 eEsc m⌥⌘Meta aAlt c^Ctrl sShift org-mode로 작성된 글입니다.


System Environments

Operating Systems

  • Main- : OS X El Capitan (10.11.5)
  • Sub- : Debian GNU/Linux Wheezy (7.11)
  • Server: Debian GNU/Linux Jessie || Wheezy || Squeeze
  • Mobile: iOS 9.3.2

Hardware Systems

  • OS X installed : MacBook Pro(13-inch, Mid 2009) 2.53 GHz Intel Core 2 Duo
  • Debian installed: Zotac ZBOX ID12 Intel Atom D525
  • iOS installed : iPhone 6s

exFAT & File Systems

exFAT은 Extended File Allocation Table의 약어로 기존의 FAT (File Allocation Table)에서 4 GB 이상의 단일 파일을 다룰 수 없었던 한계 벗어나 512 TiB까지 다룰 수 있는 파일 시스템 (File System) 중 하나로 Microsoft에서 개발하였다.

파일 시스템 (File System)에 대해서 간단히 설명하자면, 하드 (HDD or SSD)나 USB를 포맷할 때, 맨 처음 지정하는 것으로 이해하면 쉽다. 대부분의 USB는 FAT 로 포맷되어 나오는데 이는 4 GB 이상의 단일 파일을 다룰 수 없다는 한계에도 불구하고 현재까지 범용성이 최고라서 대부분의 OS (OS X or Macintosh, Linux, Windows)는 물론 프린터/스캐너 같은 USB 포트가 있는 대부분의 기기에서 별다른 설정없이 꽂으면 바로 사용할 수 있기 때문이다. USB와는 다르게 OS에서는 각자 고유의 File System을 쓰고 있는데, OS X (or Macintosh or MacOS)에서는 HFS+ (Hierarchical File System Plus), Linux 계열 대부분은 ext4 (Fourth extended file system), Windows 계열은 NTFS (New Technology File System)으로 포맷되어 사용된다. 이들 모두는 당연히 4 GB 이상의 단일 파일을 다룰 수 있지만, 서로 호환되는데 설정이 필요하거나 안되는 경우가 있다. 예를들어, 시중에서 백업용으로 판매하는 외장하드 대부분은 Windows OS를 대상으로 한 경우가 많아 NTFS 형식으로 주로 포맷되어 나온다. 이들은 OS X는 물론 Linux에서 바로 인식되지 않는다. 그러니 본인의 OS가 Windows가 아니라면 HFS+ext4 으로 포맷을 먼저한 후 사용하는 것이 대부분이다.

나처럼 두 개 이상의 OS를 사용하는 경우는 조금 상황이 복잡해진다. 외장하드를 ext4 으로 사용하자니 Main OS인 OS X에 무언가 3rd party software를 깔아야 하는데 이는 내 기준에 최후의 선택이며 안정성에서도 조금 의심이 간다. 그렇다고 HFS+ 로 포맷해서 쓰자니 따로 journaling을 없애야 하고 그렇게 해도 2nd OS인 Debian에서 인식이 불안정했다. 남은 선택은 exFAT 뿐이다. 유일한 선택지였지만, 나름 여러모로 장점이 많았다.

  • 첫째, OS X와 Linux 모두에서 포맷 가능한 File System이다.
  • 둘째, 비교적 간단하게 Linux에서 Mount시킬 수 있다.
  • 셋째, Windows에서도 대부분 바로 인식 가능하다.

단점으로는 암호화 (encryption)가 불가능하는 점을 들고 싶다.

exFAT in Debian GNU/Linux

기본적으로 exFAT 형식으로 포맷된 외장하드를 Linux에서 인식시키기 위해서는 exfat-fuseexfat-utils 이 필요하다. Bash shell(Konsole/Terminal)을 열어 아래를 실행해서 설치한다.

$ sudo apt-get install exfat-fuse exfat-utils

이제 외장하드를 (수동으로) Mount 시켜보자.

  • 먼저 exFAT 형식으로 포맷된 외장하드를 USB 포트에 꽂는다.
  • 적당한 이름의 directory/media/ 아래에 만든다. 여기서는 exfatEXT 라 하겠다.
    $ sudo mkdir /media/exfatEXT
    
  • 외장하드 정보를 fdisk 명령어로 확인한다.
    $ sudo fdisk -l
    

    아래 그림은 /dev/sdb1exFAT 으로 포맷한 2 TB 외장하드가 물려있는 모습이다.

27921493245_85005ab5d8_b.jpg

  • 아래의 명령어로 외장하드를 /media/exfatEXT 에 Mount 시킨다.
    $ sudo mount /dev/sdb1 /media/exfatEXT
    

    여기서 /dev/sdb1 는 본인의 환경에 따라 달라질 수 있음에 유의하자. /dev/sdc1 일 수도 있고 /dev/sdb2 일 수도 있다. fdisk 명령으로 어디에 외장하드가 물려있는 지 확인하자.

이제 Dolphin이나 Thunar 같은 파일 탐색기에서 외장하드에 접근할 수 있다.

그럼 매번 수동으로 Mount 시켜야 하는가? 물론 그렇지는 않다.

Automount exFAT external HDD

아래 기술할 방법은 꼭 exFAT 형식에만 적용되는 방법이 아니라 일반적인 모든 외장하드 (external HDD)를 자동으로 Mount 시키는 방법이다. 몇 가지 방법들이 존재하지만, 여기서는 fstab 파일을 수정하는 것으로 Automount를 구현하려 한다.

  • 먼저, 아래 명령어를 Bash shell(Konsole/Terminal)에서 실행해 외장하드의 UUID 정보를 확인하자.
    $ sudo blkid
    

    아래는 /dev/sdb1 에 물려있는 외장하드의 UUID가 5573-0AEE 인 모습이다.

27887358666_ef38e9a021_b.jpg

  • 적당한 editor로 /etc/fstab 파일을 열어 아래를 적어 넣자.
    UUID=5573-0AEE   /media/exfatEXT   exfat   auto,rw,user   0   0
    

    위의 /media/exfatEXT 는 이전에 기술한 Mount Point를 다시 적은 것이고 exfat 은 외장하드의 포맷 형식이며, auto,rw,user 는 읽기/쓰기 가능으로(rw) 부팅 시 자동으로 Mount하라(auto)는 의미이다. 더 자세한 사항은 여기를 참고하자. 1

이제 부팅 시 외장하드가 자동으로 Mount되어 있음을 확인할 수 있을 것이다.


Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Created: 2016-06-26 Sun 23:41

Emacs 24.3.1 (Org mode 8.2.10)