캘리버 (calibre) 사용법 정리
Updated:
머리말
pdf로 된 책들을 정리하기 위해 오픈소스 전자책 관리 프로그램인 캘리버(calibre) 사용법에 대해 알아보고 나에게 필요한 주요 기능들을 정리하였다. 이 글을 작성하는 주 목적은 나중에 잊어 버릴 것을 대비 하는 것이며 따라서 나의 의식의 흐름대로 작성하였다.
참고 (수정 필요)
- Calibre Quick Start Guide 4th Ed. by John Schember
- calibre User Manual
나중에 더 읽어볼 것
- How To Organize Your Ebook Collection with Calibre
- 시놀로지 NAS 에서 EBook Calibre OPDS 서버 설치하기
- 시놀로지 NAS 로 나만의 온라인 서재를 만들 수 있어요
- 나만의 온라인 서재 구축하기 2. BicBucStriim 설치
초점 (수정 필요)
- 수백개의 pdf 파일을 태그 또는 카테고리 방식으로 관리할 수 있을 것
- 원하는 책을 쉽게 찾을 수 있을 것
- Synology NAS에서 메타데이터가 있는 라이브러리를 저장해 놓고 다양한 기기에서 어디에서든지 접속 할 수 있을 것
- 여러 기기에 접속하려 할 때 Synology NAS 가 계속 대기상태인지 아니면 휴식 시간이 있는지 체크 할 것
- 어떤 종류의 파일들을 수용하지는 체크할 것 (pdf, epub, djvu, txt, 등)
- 백업 방법
- NAS 와 연동 방법
- 다양한 기기로 외부에서 라이브러리 접속 방법
다운로드 및 설치
Windows calibre-64bit-4.8.0.msi 을 다운받고 설치를 진행하였다. 기본 설치 경로는 C:\Program Files\Calibre2
이다. 처음 설치하는 경우, 아래 그림과 같이 calibre 환영 마법사 (welcome wizard)
는 캘리버 서재를 설정하는 단계, eBook 장비 선택, 컨텐츠 서버 켜기 설정을 거친다.
캘리버 서재(calibre library)는 캘리버가 관리하는 디렉토리인데, 캘리버에 추가되는 책 파일 자체가 복사되며 책에 대한 메타데이터 파일도 담고있다. 디폴트 캘리버 서재의 경로는 C:\Users\사용자명\캘리버 서재
인데, 설정에서 언제든지 바꿀 수 있다.
calibre 환영 마법사
를 다시 진행하려면 캘리버를 실행하고 환경 설정
의 아래쪽 방향 화살표를 클릭하고 환영 마법사 실행
을 클릭하면 된다.
프로그램을 재설치 하고 싶다면 프로그램 추가/제거에서 삭제를 하고 다시 설치하면 된다. 그러나 기존 설치에 대한 설정이 남아있기 때문에 완전히 깨끗한 상태로 다시 설치하고 싶다면 설정 보관 디렉토리인 C:\Users\사용자명\AppData\Roaming\calibre
를 지우고 재설치 하면 된다. 설정 보관 디렉토리는 캘리버를 실행한 후 환경설정 > 기타 > 캘리버 설정들을 보관하는 디렉토리 열기
를 하면 확인할 수 있다.
메인 화면
아래 그림은 캘리버의 메인 화면이다. 처음 캘리버를 시작하면 Quick Start Guide가 라이브러리에 이미 추가 되어 있다.
메인 화면은 크게 다음과 같이 구분되어 있다.
- 도구 (tool bar) : 화면 상단에 책 추가, 책 정보 수정, 책 변환, …, 환경 설정 아이콘들이 도구이다. 라이브러리에 책을 추가하거나, 추가한 책의 정보(메타 데이터)를 변환하거나, 다른 형식의 책으로 변환 하는 등의 기능을 한다.
- 검색 막대 (search area) : 도구 아래에 있다. 나중에 라이브러리에 책이 아주 많아 졌을 때 원하는 책을 쉽게 찾을 수 있게 도와 준다.
- 책 목록 (book list) : 메인 화면 중앙에 가장 크게 자리하고 있다. 라이브러리에 추가한 책의 목록을 보여 준다. 태그 선택이나 검색 방식에 따라 목록이 바뀐다.
- 태그 탐색기 (tag browser) : 책 목록 좌측에 있는 창이다. 저자, 언어, 시리즈, …, 식별자 까지 책의 메타데이터에 따라 원하는 책들의 목록을 쉽게 리스트 할 수 있게 도와 준다.
- 책 상세정보 (book details) : 책 목록 우측에 있는 창이다. 현재 선택한 책의 커버와 저자, 형식, 경로(책 파일의 위치)와 정보를 보여준다.
메인 화면의 우측 하단에 보면 배치
라는 작은 아이콘이 있다. 클릭하면 아래와 같은 화면이 뜬다.
현재 활성화 되어 있는 창들을 확인 할 수 있다. 표지 탐색기 (cover brower), 표지 격자 보기 (cover grid), 빠른 검색 (quickview) 등을 클릭하면 어떤 정보를 보여 주는 창인지 확인 할 수 있다.
책 추가
캘리버 서재 (calibre library)에 책을 추가하려면 책 추가
도구를 이용하거나, 추가하려는 책 파일(pdf 등)을 드래그하여 책 목록에 던지면 된다. 그러나 무엇보다 중요한 것은 추가된 책의 메타데이터를 관리하는 것이다. 캘리버는 책이 추가 될 때 추가되는 파일의 메타데이터로 부터 제목, 저자, 태그 등의 정보를 자동으로 읽어온다. 또는 메타데이터가 없는 파일은 파일명으로 부터 제목과 저자 등의 정보를 자동으로 읽어올 수 있다. 이 동작을 이해 하기 위해 두 pdf 파일을 준비해 보았다.
첫 번째는 파일명이 "Core Python Programming - Chun.pdf"
이고 메타데이터는 아래와 같다. (메타데이터는 pdf 뷰어의 파일 > 속성으로 확인)
두 번째는 파일명이 "Fitting Models to biological data - Christopoulos.pdf"
이고 메타데이터는 없다.
위 두 파일을 순서대로 캘리버에 추가하면 아래와 같이 된다.
책 목록을 보면 두 파일 모두 제목과 저자가 비교적 원하는 방향대로 추가되었다. 책이 캘리버 서재에 추가될 때는 환경설정 > 책 추가
의 규칙을 따른다. 초기 설정은 아래와 같다.
메타데이터가 없을때 파일명으로 부터 책 정보를 가져오는데 그 규칙에 대한 정규표현식을 볼 수 있다. 따라서 기존에 아주 많은 책을 가지고 있고 그것을 캘리버 서재에 추가할 것이라면 파일명을 적절히 수정하여 캘리버 서재에 추가하거나 또는 위 정규식 패턴을 적절히 수정하여 추가하면 된다.
발견한 캘리버 정규표현식의 문제
기존에 내가 사용하던 책 파일명은 Book_{year}_{title}_{author}.pdf
방식이었다. 예를 들어 저자가 Martin
인 2009
년에 출판된 clean code a handbook
의 파일명은 Book_2009_clean code a handbook_Martin.pdf
로 저장하였다. 이 파일명에서 title과 author를 추출하는 정규표현식은 Book_\d{4}_(?P<title>.+)_(?P<author>.+)
라고 생각했다.
그러나 결과는 title이 Book 2009 clean code a handbook Martin
로 추출되고 저자는 추출되지 않는다. 내 생각에 calibre에서 파일명을 추출하는 정규표현식 기능은 추출 전에 underscore (_)
를 모두 whitespace
로 변환한 후 적용하는 것 같다. 따라서 파일명에 underscore 로 정보를 구분하면 안된다.
예를 들어 underscore 대신 쉼표를 사용하면 올바로 동작한다. 파일명을 Book,2009,clean code a handbook,Martin.pdf
하고 정규표현식을 Book,\d{4},(?P<title>.+),(?P<author>.+)
로 하면 올바르게 추출할 수 있다.
https://regex101.com/ 에서 정규표현식 테스트를 할 수 있다.
책 정보 수정
책을 추가 할 때 pdf 파일 안에 메타데이터가 있어서 정확한 정보가 추가되면 좋지만, 그렇지 않을 때가 많다. 예를 들어 파일명으로 부터 책 제목과 저자 정보를 가져왔지만 책 제목이 너무 길어서 완벽한 제목을 못 가져왔거나 또는 저자의 일부만 가져온 경우다. 그리고 나중에 캘리버 서재에 책이 아주 많아지면 카테고링을 하고 싶을 것이다. 이럴 때 태그를 이용해야 하는데 태그는 책을 하나씩 추가할 때 마다 적절한 태그를 부지런히 달아 주는게 나중을 위해 좋다.
책 정보를 수정하려면 수정하려는 책을 선택하고 책 정보 수정
도구를 클릭한다. 아래 그림은 책 정보 수정 화면의 위쪽 부분이다.
완벽하지는 않지만 책 제목의 일부분과 저자의 일부분이 입력되어 있다. 이렇게 되어 있는 상태에서 책 정보 수정 화면의 아래쪽에 "책 정보 다운로드"
를 클릭하면 캘리버는 입력된 제목과 저자 정보를 사용하여 구글와 아마존에서 책의 메타데이터가 있는지 검색하고 그것들을 자동으로 가져온다. 그 가져온 것들 중 올바른 것을 선택하면 완벽한 제목, 저자 뿐 아니라 별점, 태그, ID, 출판일자, 출판사, 언어, 책 설명 등이 자동으로 갱신되고 책 표지까지 다운로드 받을 수 있다.
정리: 캘리버 서재에 어떤 책을 추가 할 때 책에 대한 정보가 완전하지 않다면 책 정보 수정
도구를 이용하라. 책 정보 수정
도구에서 제목과 저자를 입력하라. (완벽한 제목과 저자를 입력하지 않아도 된다. 구글과 아마존에서 검색했을 때 검색이 될 적당한 제목과 저자면 충분하다) 그리고 책 정보 다운로드를 통해 책의 메타데이터를 갱신하면 된다.
저장 방식
캘리버 서재에 파일이 저장되는 방식을 확인해 보자. 먼저 책 하나를 선택하면 우측에 책 상세정보 (book details)
를 볼 수 있다. 경로: 열려면 누르세요
를 클릭하면 책이 저장된 폴더가 열리면서 캘리버 서재에 물리적으로 파일이 어떻게 저장되는지 확인할 수 있다. 책이 저장되는 디렉토리의 규칙은 다음과 같다. (편의상 디렉토리 구분자를 백슬래시 대신 슬래시로 표시하며 [calibre library path]는 캘리버 서재 경로를 말한다.)
[calibre library path]/author/title (#)
폴더명이 title (#)
형식으로 책 제목 뒤에 숫자가 붙는 것을 볼 수 있다. 이 숫자는 책이 캘리버 서재에 추가 될 때 마다 1씩 증가하여 붙여지는 숫자이다. 왜 이 숫자를 붙도록 만들었을까 추측해 보면 동일저자 동일한 책 제목에 대해 책이 추가 되었을 때 같은 폴더에 중복이 되지 않도록 하기 위해 만들지 않았을까 생각한다.
책 파일은 title - author.pdf
같은 방식으로 저장된다. 여기서 주목할 건 책 제목이 긴 경우 31 자리 까지만 써진다는 것이다. 이것은 아마도 백업을 하거나 파일을 이동할 때 파일명이 너무 길다는 경고?를 예방하기 위한 것으로 보인다. 캘리버 서재로 책이 적재될 때 파일의 첫 페이지를 자동으로 cover.jpg
로 추출하여 위 경로에 저장한다. 또한 각각의 책 파일에 대한 메타데이터가 metadata.opf
파일에 저장된다.
저장 방식에 대한 설정은 환경 설정 > 디스크에 책 저장
을 보면 확인 할 수 있다.
정리: 아이튠즈 같은 음악 관리 프로그램을 보면 각각의 mp3 파일에 그 음악에 관련된 태그 정보가 저장되어 있고, 이 음악 파일들을 아이튠즈에 적재하는 경우 물리적으로 mp3 파일이 복사되지 않고 링크만 걸린다. 따라서 mp3 파일 원본을 삭제하면 안되고 그대로 저장해 두어야 한다. 반면 캘리버의 경우 원본 pdf 파일을 캘리버로 적재할 때 캘리버 서재로 책이 복사되며 관련된 메타데이터 파일도 같이 생성된다. 따라서 원본 pdf 파일을 삭제하여도 된다. (경험상 동일한 파일이 여러곳에 있으면 머리가 복잡해 지고 관리가 어려워 진다)
검색과 태그 탐색기
책 목록이 아주 많아지면 원하는 책을 검색하여 찾을 수 있다. 검색 막대에 검색할 문자열을 입력하면 캘리버 서재에 있는 메타데이터에 매치되는 책을 찾아 준다. 책 제목, 저자, 태그, 출판사 등 모두 가능하다.
태그 탐색기를 이용해서도 책을 검색할 수 있다. 태그 탐색기에는 저자, 언어, 사리즈, 형식, 출판사, 별점, 뉴스, 태그, 식별자가 있고 각각의 좌측에 오른쪽을 가리키는 작은 삼각형이 있는데 그것을 클릭하면 서브목록이 나온다. 예를 들어 저자 중 하나를 클릭하면 그 저자가 쓴 책만 책 목록에 보인다.
태그 탐색기를 이용할 때 한번 클릭을 하면 +
표시가 뜨고, 다시 클릭을 하면 -
표시가 뜬다. (아래 그림 참고)
+
는 그 저자가 쓴 책만 나열하라는 의미이고, -
는 그 저자가 쓰지 않은 책만 나열하라는 의미이다. 이러한 방식으로 태그 탐색기를 이용할 때 검색 막대에 검색 쿼리 (search query)가 변경됨을 확인하라. 즉, 태그 탐색기는 간단한 검색 쿼리를 사용하는 방식이며 검색 막대에 직접 검색 쿼리를 입력하여 사용할 수 있다.
더 자세한 검색 설정은 환경 설정 > 검색
을 확인하라.
태그 수정
기존에 가지고 있던 200여권 이상의 pdf 전자책을 캘리버 서재에 입력하였고 적절한 메타데이터도 입력하였다. 작업을 완료하고 보니 아래와 같이 소소하지만 크게 느껴지는 관리프로그램 사용의 여러 장점이 있었다.
- 중복된 pdf 파일을 없앨 수 있다. 기존에 폴더로 관리할 때는 동일한 책이 이 폴더, 저 폴더에 중복되어 있었는데 캘리버를 사용하여 중복된 파일을 다 없앨 수 있었다.
- 원하는 책을 검색하기 쉽다. 기존에 폴더별로 있을 때는 오직 파일명에 의존하여 윈도우 탐색기로 검색해서 옛날에 봤던 책을 찾았었는데 그게 깔끔하게 되지 않았었다. 캘리버 검색은 제목, 저자, 태그, 출판사 등에서 입력한 문자열을 검색 하기 때문에 원하는 책을 찾기 쉬웠다.
- 태그가 카테고리 역할을 한다. 기존에는 폴더로 트리식 카테고리를 만들어서 관리했었는데 이 방식의 단점은 카테고리를 수정/관리 하기가 복잡하고 오래 걸린다는 것이다. 캘리버에서 태그를 통해 관리하면 태그 변경도 쉽고 폴더처럼 트리식이 아닌 파일별 다중 태그를 걸 수 있기 때문에 더 편리한 점이 많다.
- 폴더로 관리할 때는 오직 파일명에만 의존했기 때문에 책 내용을 보려면 파일을 열어봤어야 했는데 캘리버는 책 상세정보 (book details) 창이 있기 때문에 파일을 열지 않고도 어떤 내용인지 대충 파악 할 수 있다.
캘리버 서재로 책을 적재할 때 가장 크게 신경써야 할 것은 제목, 저자, 태그이다. 제목과 저자는 정확하게 정해져 있는 반면 태그는 사용자가 적당한 것을 입력해 줘야 한다. 구글이나 아마존에서 책의 메타데이터를 끌어오면 태그도 같이 끌려오는 경우가 많다. 이 때 끌려온 태그가 나한테 필요한 것일까 고민하게 된다. 여기서 필요한 것이란 많은 책들 사이에서 내가 원하는 책을 카테고리하거나 태그 탐색기를 이용하거나 또는 쉽게 검색하기 위해 이 태그가 필요한가를 말한다. 구체적인 예를 들자면 어떤 책의 제목과 저자를 이용해서 구글에서 메타데이터를 가져왔을 때 그 안에 있는 태그가 아래와 같다고 하자.
Computers, Programming Languages, Python, General, Software Development & Engineering, JavaScript
저 목록에서 General
이라는 태그는 책의 특징을 담기에는 (내 개인적으로) 필요없기 때문에 삭제할까 고민하였다. 그런데 앞으로 많을 책을 캘리버 서재로 적재하다 보면 저 태그가 계속 딸려온다. 그래서 개개의 파일에 대해서 삭제하지 않고 나중에 한꺼번에 General
태그가 포함된 모든 책에서 General
태그를 쉽게 삭제할 수 있다.
아래 그림처럼 삭제하려는 태그에서 우클릭하면 해당하는 태그를 지우는 옵션이 나온다.
만약 특정 책들에서만 선택적으로 한꺼번에 태그를 지우려면 아래 그림 처럼 책 목록에서 여러 책을 선택하고 여러 권의 책 정보를 한꺼번에 편집하면 된다.
서재 이동
디폴트 캘리버 서재의 경로는 C:\Users\사용자명\캘리버 서재
인데, 이것을 D 드라이브로 옮기고 싶으면 서재
툴을 이용하자. 아래 그림과 같이 현재의 서재를 새로운 위치로 이동
을 이용하면 된다.
새로운 위치에서 기존의 서재 사용
은 해보진 않았지만 아마도 캘리버를 삭제하고 다시 깔았을 때 기존에 남아있던 캘리버 서재를 캘리버에 다시 등록하여 사용할 때 이용하는 것으로 생각된다.
시리즈
한글 해리포터 시리즈는 아래와 같은 순서로 되어 있다.
- 해리포터와 마법사의 돌 (1, 2편)
- 해리포터와 비밀의 방 (1, 2편)
- 해리포터와 아즈카반의 죄수 (1, 2편)
- 해리포터와 불의 잔 (1, 2, 3, 4편)
- 해리포터와 불사조 기사단 (1, 2, 3, 4, 5편)
- 해리포터와 혼혈왕자 (1, 2, 3, 4편)
- 해리포터와 죽음의 성물 (1, 2, 3, 4편)
전자책으로 해리포터 시리즈를 모두 가지고 있다면 모두 23권의 책을 가지고 있을 것이다. 이것을 캘리버 서재에 적재한다고 해보자. 해리포터와 마법사의 돌 1권을 예를 들면 제목은 “해리포터와 마법사의 돌 1”이 되고 저자는 Joanne K. Rowling 이 될 것이다.
그런데 단순히 제목과 저자만으로 23권을 입력하면 시리즈 순서에 대한 정보가 들어가 있지 않아서 나중에 어떤 순서로 시리즈를 읽어 나갈지 알 수 없을 것이다. 이 때 사용하는 메타데이터가 “시리즈 (series)” 와 “번호 (series_index)”이다. “책 정보 수정” 툴을 열면 상단에 저자를 입력하는 칸 아래에 시리즈를 입력하는 칸이 있고 시리즈에 어떤 문자를 입력하면 우측에 번호 칸이 활성화 된다. 해리포터와 마법사의 돌은 시리즈가 “해리포터”가 되고 번호는 “1” 이 된다. 같은 방식으로 해리포터와 비밀의 방은 시리즈가 “해리포터”가 되고 번호는 “2”가 된다. 이렇게 해두면 나중에 아마존 킨들 같은 전자책 기기에 해리포터 시리즈를 넣었을 때도 시리즈 별로 정렬해서 넣을 수 있다. 그 방법은 How To Use Calibre To Correctly Order Your Ebook Series 참고 할 것.
시리즈 메타데이터를 갖는 책이 있으면 캘리버 좌측의 태그 탐색기에 시리즈를 클릭해서 곧바로 검색할 수 있다.
Leave a comment