맥 설치와 환경 설정을 최대한 자동화하기

07 May 2015

목차

맥을 맥답게 사용하자. 윈도 기기와 달리 맥은 유닉스 기반의 OS(현재는 OS X)를 탑재하고 있다. 터미널 명령어만으로도 많은 부분을 설치하고 설정하고 실행할 수 있다. 그리고 그것이 크게 변경되지 않아 한번 익혀두면 몇년 또는 몇 십년을 동일하게 써먹을 수 있다. 윈도를 사용할 때는 뒤에 붙은 버전 숫자만큼 설치해야 한다는 우스개 소리가 있었을 정도로 재설치도 자주 해야 했고, 독자적인 터미널 명령어를 따로 사용해야 했다. 지금 생각해도 참 멍청한 짓을 많이 했다.

윈도를 사용할 때의 버릇도 있고 이것저것 많은 앱을 설치하고 지우고하는 경우가 많아 맥에서도 시스템이 조금 이상하거나 느려지면 OS X를 깨끗이 재설치하는 방법을 택한다. 그나마 맥이니까 그 빈도는 많아야 6개월에 한번 정도다. 윈도 때는 정기적으로 3개월에 한번은 재설치를 하였다. 하긴 그 덕분에 클라우드 사용을 누구보다 열심히 하게되었지만..

각설하고 맥 설치와 환경 설정을 최대한 자동화하는 방법을 살펴보자. 실제로 맥을 재설치할 때 따르는 순서대로 포스팅하려고 하였다.

맥앱 목록 작성

맥앱 목록을 터미널에서 텍스트 에디터로 리스팅하는 것만 사용했는데, 영수증이 있는 목록 등 다른 방법들도 소개한 기시가 있어서 링크한다.

OS X를 재설치하기 전에 먼저 환경설정을 백업한다.

환경설정 백업(Mackup)

Mackup을 이용하여 기존 맥 OS X와 맥앱의 설정을 드랍박스에 저장한다. Homebrew로 설치하고 설정을 저장한다:

brew install Mackup
mackup backup

Mackup은 맥 OS X 환경설정과 주요 앱들의 환경설정 파일을 드랍박스나 구글 드라이브의 mackup 디렉토리에 백업(복사)한 후 나중에 각 환경설정 디렉토리에 심링크를 생성하는 방식이다. 거의 모든 환경설정을 한방에 복원해주어서 한번 써보고 나서는 계속 쓰지 않을 수 없었다.

nvALT, Sublime Text, WebStorm, IntelliJIDEA, Emacs, Vim 등의 주요 에디터와 ITerm2, Oh My Zsh와 같은 터미널 관련 앱, Flux, VLC 등의 유틸리티, Filezilla, Git, Heroku, IPython, Dash와 같은 프로그래밍 관련 앱과 더불어 Fantastical, OmniFocus, PopClip과 같은 유무료 앱들의 환경설정 백업과 복원을 지원하다. 지원되는 앱들의 리스트는 여기에서 볼 수 있다.

이제 환경설정을 백업했으니 OS X를 새로 설치한다.

매버릭스 설치

부팅시 cmd+option+r로 복구모드에 들어가면 재설치하거나 디스크유틸리티를 사용하여 데이타 전체를 지우고 매버릭스를 클린 설치한다. 디스크 데이터를 지우지 않고도 가능하다는 이야기가 있는데 난 실패했다.

이젠 요세미티가 안정적으로 동작하여 업그레이드한 상태이다.

드랍박스 설치 및 동기화

  1. 커맨드 라인에서 설치를 원활히 하기 위해서는 앱스토어에서 Xcode를 미리 설치한다.

  2. Mackup 설정화일과 설치와 관련한 문서가 들어있으니 제일 먼저 드랍박스를 설치한다. Dropbox 공식 사이트에서 맥용 프로그램을 다운로드하여 설치하고 바로 동기화 시작한다. getmacapps.com이나 brew cask로도 설치할 수 있으나 번거롭거나 매우 느리다.

시스템 환경설정

OS X 환경설정 중 일단 하지 않으면 답답한 부분부터 먼저 하고 글 후반에 다시 설명한다.

키보드 조합키의 변경 및 윈도우 관련 유틸리티 설치

독의 환경설정을 우클릭하여 트랙패드와 키보드에서 다음과 같이 설정한다.(OS X 기본 설정을 좋아하는 사람은 하지 않아도 된다.)

  1. 트랙패드 > 탭하여 클릭하기를 선택한다.
  2. 키보드 > 키보드탭 > 조합키를 다음과 같이 변경한다.

    Caps Lock > Control Option > Command Command > Option

  3. Spectacle을 설치한다. 앱스토어에서 Window Tidy 설치 후 10x10 그리드 추가한 후 자주 쓰는 가로 2와 가로 8 화면을 설정한다.

한영 변환

구름 입력기를 주로 애용하였으나 시스템 충돌이 날 경우가 있다. 그럴 경우에는 Shift + Space로 변경을 그대로 따라한다. isHUD를 이용하여 우측 CMD키를 추가하고 한영전환을 화면 정가운데에서 크게 볼 수 있게 한다.

기초앱 자동설치(Get Mac Apps)

Get Mac Apps - Install Multiple Apps With Ease에서 원하는 앱을 선택한 후 설치 스크립트를 터미널에서 실행하면 10개 정도의 앱은 10분이면 설치한다. 크롬, 파이어폭스, VLC, Sublime Text 3, iterm2, flux, Alfred, Gimp, FileZilla, Github 등을 설치한다.

자세하게 설명하면, 원하는 앱들을 체크한 후에 제일 밑에 있는 Install These 버튼을 클릭하면 다음과 같은 터미널 명령어가 만들어진다. 그대로 복사한 후에 터미널에서 실행하면 차례대로 설치된다:

curl -s http://www.getmacapps.com/raw/w6htssb0n6p | sh
  • 위의 명령어는 임시 디렉토리를 만들고 선택한 앱의 압축화일을 풀고 애플리케이션 디렉토리로 프로그램을 설치한 후, 마지막으로 필요없는 파일을 제거해주는 커맨드 명령어들을 실행한다. http://www.getmacapps.com/raw/w6htssb0n6p에서 실행되는 명령어들을 미리 볼 수도 있다.

웹브라우저

예전에는 크롬을 주로 사용하였으나 메모리를 너무 많이 잡아먹는 현상때문에 크롬 개발자 도구를 사용할 때 외에는 파이어폭스를 주로 사용한다.

파이어폭스와 크롬 자체의 동기화 기능을 이용하여 북마크와 확장, 히스토리 등을 동기화한다. 애용하는 확장이나 북마클릿은 애용하는 웹브라우저 확장과 북마클릿란 별도의 글로 분리했다.

cask

Homebrew 설치

OS X 용 패키지 관리자인 Homebrew를 설치한다:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Xcode를 설치하지 않았다면 설치한다.

brew doctor

로 시스템을 준비한다.

Homebrew Cask로 앱 설치

Cask를 설치한다.

brew install caskroom/cask/brew-cask

node.js를 검색하고 설치한다.

brew cask search telegram
brew cask install telegram

위와 같은 방식으로 원하는 글 쓰는 현재 2489의 앱을 설치할 수 있고, ~/Caskfile라는 dotfiles을 이용하여 여러 개의 앱을 연이어 설치할 수 있다. 위의 Get Mac Apps의 대부분도 설치할 수 있으니 속도를 신경쓰지 않는다면 Cask로 통합할 수도 있다.

주로 사용하는 맥앱과 웹앱

포스트가 너무 길어져 주로 사용하는 맥앱과 웹앱란 별도의 글로 분리했다.

드랍박스 동기화 완료 후

Dropbox 안의 도큐멘트 디렉토리의 모든 화일을 루트의 도큐멘트 디렉토리로 먼저 이동시킨다.

다시 도큐멘트 디렉토리가 드랍박스와 동기화되도록 다음 명령어로 심볼릭 링크를 만든다.

ln -s /Users/nb/Documents ~/Dropbox/

위키와 블로그 글을 작성할 때 nvALT와 서브라임을 주로 이용하는데 nvALT는 검색 기능이 탁월하고 빠르나 서브 디렉토리가 지원되지 않는다. 위키 디렉토리와 블로그 글을 한 번에 검색할 때는 서브라임의 검색 기능 CMD+Shift+F을 이용한다. 이를 위해서 위키 디렉토리에 지킬 블로그의 _post의 심볼릭 링크를 만들어 준다:

ln -s /Users/nb/Documents/지킬블로그/_post ~/Dropbox/위키디렉토리

지킬블로그위키디렉토리는 각자의 환경에 맞게 입력하여야 한다. 필자의 경우는 정확히 ln -s /Users/nb/Documents/nolboo.github.io/_post ~/Dropbox/wiki이다.

mackup 복원

Mackup을 설치하고 드랍박스에 미리 저장된 설정을 복원한다:

brew install Mackup
mackup restore

위의 명령어로 전부 복원된다. 간단하다.

시스템 환경설정 나머지

  • 대시보드 없애기: Option+F3으로 “Dashboard를 작업 공간으로 보기”를 체크 해제한다. 잘 쓰지 않는 대쉬보드는 F12로 보는 것이 더 낫다. 데스크탑 보기는 F11이다. 추가로 핫코너에서 네 구석의 마우스 동작을 설정한다.

  • 멀티마크다운 퀵룩QLMarkdown을 다운로드하고, ~/Library/QuickLook/ (없으면 만든다)에 복사한 후 터미널에서 qlmanage -r으로 퀵룩 제너레이터 목록을 재로딩한다. 이제 파인더에서 마크다운을 스페이스 키로 바로 볼 수 있다.

  • 파인더에서 iTerm 열기의 마지막 예제대로 iTerm 실행앱을 오토메이터로 만들어 응용프로그램 디렉토리에 저장한다. cmd 키를 누른 상태로 파인더의 메뉴 아이콘 영역에 드래그앤드랍하여 아이콘을 등록한다. 이제 원클릭으로 현재 디렉토리에서 iTerm을 실행할 수 있다.

  • Oh My Zsh를 설치하여, 터미널을 좀더 편하고 아름답게 사용한다:

curl -L http://install.ohmyz.sh | sh

돗파일(dotfiles)

사실 이 부분 때문에 이 포스팅을 계속 마무리 짓지 못했다. 유명한 돗파일을 살펴봤는데 전부 설정하는 부분만 있고, 다시 복원하는 부분은 수동으로 검색을 해야했다. 돗파일은 맥 시스템의 환경설정 자동화를 위해 꼭 필요하지만 사용자마다 호불호가 갈리는 부분이 많다. 복원하는 명령어를 코멘트 형태라도 제공하지 못한다면 호기심으로라도 돗파일을 실행하는 사람들은 다시 복원하는 데에 애를 먹게 되고, 심하면 OS X를 새로 깔아야 한다. 사용자마다 자신만의 돗파일을 만들고 다른 돗파일을 참조하여 원하는 명령어를 추가하는 것이 나을 것이다. 그래서 유명한 돗파일을 소개하는 정도로만 포스팅하기로 했다.

깃허브에서도 돗파일에 대한 관심이 많아 유명한 돗파일을 모아놓은 페이지를 별도로 서브도메인까지 주어서 운영하고 있다. GitHub does dotfiles - dotfiles.github.io에서 추천하는 Zach Holman’s dotfilesMathias Bynens’ dotfiles만 봐도 재미있는 부분이 많다. 특히 마티아스의 돗파일 중 .osx 부분은 전설적이라고 소개하고 있다. 위에서 설명한 brew와 Cask에 관심있는 분들은 ~/Brewfile 파일과 ~/Caskfile 파일을 살펴보면 도움이 많이 될 것이다.

OS X 환경설정 툴인 osxc도 있으나 아직 테스트해보지는 못했다. 설치와 환경설정 부분을 제대로 테스트해보려면 다시 깔고 설치하고 환경설정하는 것을 반복해야 하는 등의 시간과 수고가 많아서 아직 엄두가 나지 않았다. 일단 소개만 하는 것으로 퉁친다.ㅎㅎ

관련 글

맥을 터미널로 제어할 수 있는 세 가지 명령어 유틸리티 m, mac, mas

추가 링크

Share this:

comments powered by Disqus