본문 바로가기
개발자 일기/기록

[Mac]개발자의 맥북 초기화 전 백업 및 초기 설정

by MS_developer 2024. 5. 17.



최근 일하는 도중 갑자기 맥북이 꺼졌다 켜지는 현상이 발생했다.

 

순간 놀랐지만, 맥북이 잘 켜져서 괜찮겠구나~ 했는데...

 

맥북의 키 설정 전반이 꼬여버렸다.

 

WHY? 내가 뭘 했는데...

 

이게 정말 짜증 나는 부분이었던 게 웹스톰을 쓰면 space 키를 누를 수가 없었다. (누르면 탭처럼 작동 - 심지어 인터넷을 비롯한 앱 전반에서도 자꾸 윈도우에서 탭 키를 누른 것처럼 포커스가 잡혔다)

 

사진 출처: 김주형님 벨로그 ( https://velog.io/@urtimeislimited )

 

원인은 맥북 키설정과 webStorm의 키설정이 충돌을 일으킨다고 했다.

 

하지만 맥북 내 키설정도 바뀐 게 없었고, 웹스톰도 설정을 확인해봐도 바뀐 게 없었다. 약 1시간 반가량 검색을 하면서 여러 방법(키보드 교체, 블루투스 연결 재시도, 웹스톰 재설치, 맥북 환경설정 초기화 등등)을 시도했지만, 나랑 완전히 동일한 케이스는 없었고 문제는 해결되지 않았다.

 

당시엔 급해서 화면기록을 찍을 생각을 못했는데 찍어둘 걸 그랬다..

 

 

당장 웹스톰으로 일해야되는데 불편해서 하긴 힘들고, 그렇다고 마땅한 해결책도 없이 시간은 흐르니 정신이 나갈 것 같아 결국 "공장 초기화"라는 특단의 조치를 취했다. 경험상 오히려 초기화가 더 빠른 편이기 때문 아빠가 능력이 부족해서 미안해

 

사실 개발하면서 여러 이유로 인해 공장 초기화를 여러 번 해봤기 때문에 어렵지는 않았다.

인터넷에 "맥북 초기화"라고 검색만 해도 여러 포스팅에서 상세하게 가르쳐주기 때문에 이번 포스팅에서는 초기화 부분은 생략하겠다.

 

이번 포스팅에서는 매번 초기화를 하면서도 특정 파일에 대한 백업을 까먹는다던가, 새로운 설정을 할 때 헷갈리는 부분들을 까먹고 또 까먹는 미래의 나멍청이를 위해 기록해두려고 한다.

 


필요한 파일들 백업하기

 

 

맥북 초기화를 진행하면 Time Machine을 많이 활용하는 것 같다. 원하는 시점의 파일을 사용 환경, 데이터를 가져올 수 있고 원하는 파일과 폴더만 복원도 가능하기 때문이다.

 

나는 Time Machine을 쓰지 않았다.

우선 복원에 필요한 파일들을 일일이 확인하기엔 바탕화면에 쓸데없는 파일들이 너무 많아 시간적 소요가 컸고, 복원에 필요한 파일들을 가져오는 시점의 파일이 혹시라도 문제가 될 수 있는 소지를 두고 싶지 않았다. 그리고 기왕 초기화 하는 것 확실하게 다 지우는 편이 마음이 더 가벼울 것 같았다. 

 

하지만 매번 파일들을 다 잘 기억하지 못하니, 다음번엔 미리 Time Machine으로 백업해 두는 것도 나쁘지 않겠다는 생각이 들었다.

 

 

 

조금 구식이지만 나는 파일들을 직접 찾아 iCloud로 저장하는 방식을 택했다.

 

이때 아래와 같은 파일들을 백업하면 좋다. (개발자 기준)

 

  • 특정 프로젝트들(React-native)에서 사용된 keyStore 파일들
  • 프로젝트들에 있는 env 파일들
  • 업무에서 사용된 화면 기록 및 문서들
  • ssh 키, zshrc 설정
  • Chrome 북마크 (못 챙김 <- 바보)

 

여기서 특히 중요한 게 ssh키 zshrc 설정이다. 둘 다 보이지 않는 파일들이기 때문에 cmd + Shift + . 키로 숨김 설정된 파일들을 표시하고, 복사해야 한다.

 

 

위치는 데스크톱 기준으로 이전 경로인 사용자 이름으로 된 폴더에 있다.

 

ssh 키는 gitHub 설정에서 사용되는 키로, 보통 깃헙에서 권한을 승인받은 리포지토리에 접근하기 위해 사용되는 시스템 내 고유 ID로, 다시 발급받고 설정하기 좀 귀찮다. SSH 키를 기반으로 git clone을 많이 진행하기 때문에 미리 챙겨두어야 한다.

 

zshrc는 oh-my-zsh에 사용되는 초기 설정과 bun, ruby, node 등에 대한 기본 설정들이 포함되어 있는 매우 중요한 파일이다. 특히 앱 개발에 있어 rbenv, ruby 등에 관한 설정들은 시간이 다시 설정하는데 시간이 오래 걸리기 때문에 반드시 백업해 두어야 한다.

 

 

 

의외로 백업하는 걸 자주 까먹는 게 있는데, 바로 Chrome 북마크다. 보통은 구글 계정과 연동해서 사용하는 경우가 많은 것 같은데, 나 같은 경우 같은 계정으로 여러 기기에서 사용하다 보니 윈도우에서 사용하는 북마크와 맥북에서 사용하는 북마크가 각각 다르다. 

 

따라서 반드시 북마크를 백업해두어야 하는데, 이번에 또 까먹었다. 벌써 3번째다.

 

방법은 위 사진과 같이 매우 간단하다. 크롬에서 설정 메뉴에서 가져오기만 하면 된다.

 

해당 파일들을 iCloud로 옮기고, 모든 파일들이 업로드된 것을 확인한 후 초기화를 진행하면 된다.


맥북 초기 설정

 

여기부터는 내가 한 초기 설정들을 순서대로 적어두겠다.

 

진행하기에 앞서,. zshrc 파일과. ssh 폴더는 이전에 있었던 위치로 붙여넣기해서 미리 준비해 두도록 하자.

 

0. 기본 Dependency 설정

  • Homebrew 설치 - 맥북에서 설치할 때 사용하는 패키지 관리자, 터미널에서 설치하면 모든 게 다 편하다. (이후 버전 업데이트 시 일괄 업데이트 및 관리가 가능해서 편하다.)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  • Node.js 설치 - 웹 개발에 있어 필수라고 봐도 무방하다. 자바스크립트 런타임 환경을 제공함으로써  npm 을 비롯한 명령어를 사용할 수 있게 해 준다.
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
  • Java JDK 설치 - 안드로이드 앱 개발 Java 언어 기반으로 사용하기 위해서 필요한 기본 패키지. 인텔 맥북이 아니라면 ARM64 기반으로 한 버전을 설치하면 된다.
  • Ruby 설치 - Homebrew로 설치 가능. 앱 개발에서 사용되는 프로그래밍 언어. Cocoapods 설치를 위해 필요하다.
brew install ruby
  • Cocoapods 설치 - 마찬가지로 Homebrew로 설치 가능. 앱 개발 시 ios 환경에서 Podfile을 기반으로 빌드하기 위해 필요하다.
brew install cocoapods

 

1. 터미널 설정

  • iTerm2 설치 -  기본 터미널보다 더 깔끔하고 CPU 사용량, 배터리, 날짜 등을 볼 수 있게 설정이 가능하다. 카페에서 개발자라고 티내기 좋다. Homebrew로 설치하면 된다.
brew install --cask iterm2
  • Oh-my-zsh 설치 - zsh 프레임워크. 터미널을 좀 더 이쁘게 쓸 수 있다. 커스텀이 가능해서 더러운 파일 경로를 깔끔하게 볼 수 있게 해 준다. 원래는 bash 기반으로 된 터미널 사용자들이 zsh를 사용할 수 있게 해 주는데 의미가 있는 프레임워크(?)였으나 맥북이 zsh를 기본 쉘로 설정한 이후엔 그냥 터미널 이쁘게 해주는 툴로 인식되고 있다. (본인도 그 정도 이해밖에 못하고 있다. 참고)
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

 

단, oh-my-zsh 설정은 여러모로 다양하고 복잡하니 나중에 별도의 포스팅으로 다루도록 하겠다.

 

본인의 취향에 맞는 Theme을 잘 고르자.

 

  • Naver D2 폰트 설치 - zsh 설정을 마쳤다면 폰트가 깨져 보일 것이다. 이를 보완하기 위한 여러 폰트가 있는 것 같던데, 본인은 D2 폰트를 지금까지 잘 사용하고 있다. 링크에서 다운로드하고 서체 관리자에 등록한 후 iTerm 설정에서 Preferences > Profiles > Text 탭에서 설정을 변경하고 적용하면 된다.

마찬가지로, 더 자세한 포스팅은 oh-my-zsh 설정과 함께 추가해 놓도록 하겠다.

 

2. 개발 툴

  • Jetbarin-toolbox 설치 - Webstorm, Android Studio, DataGrip, PyCharm 등 Jetbrain과 관련하여 텍스트 에디터를 비롯한 개발에 필요한 다양한 앱들을 원클릭으로 설치할 수 있다. 유료 구독비가 드는 계정들도 있지만 무료 프로그램들도 다운받을 수 있어 한꺼번에 관리하기 좋다.
brew install --cask jetbrains-toolbox
  • Visual Studio Code 설치 - 수많은 개발자들이 애용하는 텍스트 에디터. 주관적인 의견이지만, Webstorm이 더 편하고 좋다고 생각해서 VScode에서 넘어왔다. Homebrew로 설치할 수 없다.
  • Xcode 설치 - 앱 개발자라면 꼭 필요한 툴. ios는 이걸로 해결해야 한다.
  • Postman 설치 - Swagger가 있다면 크게 의미없지만, 그럼에도 종종 쓰이곤 한다. API 연동 시 큰 도움이 된다.
  • SourceTree 설치 - 본인이 사용 중인 버전 관리 툴. 다른 툴들도 찍먹 해봤는데, 본인은 소스트리가 가장 편했다.
brew install --cask sourcetree

 

3. 기타

  • 맥북 설정 - 키보드, 트랙패드, 핫코너, 미션 컨트롤 등등 입맛에 맞게 수정
  • Logi Options+ 설치 - 수많은 사무직 종사자들이 애용하고 있는 유틸리티 앱. 로지텍 관련 마우스, 키보드의 설정을 커스터마이징 할 수 있다.
  • 메신저 - Slack, Notion, 카카오톡, 디스코드, 이 외에도 현업에서 Jira나 여러 가지 메신저들을 사용하는 것 같다.
brew install --cask slack
brew install --cask discord
  • 유틸리티 - Itsycal, Rectangle 정도 쓰는 것 같다. 메모는 기본 앱을 애용한다.
brew install --cask itsycal
brew install --cask rectangle

 


 

여기까지만 하면 기본적인 설정은 얼추 다 했다고 본다.

 

 

이 외에는 필요에 따라 추가하면 된다. 롤이라던가, 스팀이라던가...근데 맥북은 비추

'개발자 일기 > 기록' 카테고리의 다른 글

[글또]개발자 심민섭의 삶의 지도  (10) 2024.09.22
SI 기업에서 프론트엔드 개발자로 살아간다는 것  (2) 2024.03.01
간단한 용어 정리  (0) 2024.03.01
11월 개발 일기  (0) 2023.11.26
(근황) Ready to Go  (0) 2023.05.16

댓글