USB 하나로 가지고 다니는 나만의 휴대용 Ubuntu 작업 환경 만들기

노트북을 여러 대 쓰거나, 회사·집·카페를 왔다 갔다 하다 보면 “그냥 내 환경 그대로 들고 다닐 수 없을까?”라는 생각이 한 번쯤은 듭니다. Ubuntu를 5년 정도 쓰다 보니, 결국 제일 현실적인 답은 외장 USB/SSD에 나만의 Ubuntu 환경을 통째로 만들어 놓고, 필요할 때 부팅해서 쓰는 방식이었습니다.

이 글에서는 라이브 USB 실습용이 아니라, 실제로 일을 할 수 있는 “작업용 휴대 OS”에 초점을 맞춰서 정리해 보겠습니다. 완벽한 정답이라기보다는, 제가 직접 써보면서 “이 정도면 지하철에서 내려도 그대로 이어서 쓸 수 있겠다” 싶었던 기준들에 가깝습니다.

먼저 개념 정리: 라이브 USB vs. 진짜 설치된 Ubuntu

USB에 Ubuntu를 넣는 방법은 크게 두 가지로 나눌 수 있습니다.

  • 라이브 USB: 설치 이미지 그대로 만들어서, 체험·복구용으로 쓰는 방식
  • USB에 ‘그냥 하드 디스크처럼’ Ubuntu를 설치해서 쓰는 방식

라이브 USB는 가볍게 써보기엔 좋지만, 아무 설정도 안 남거나(비영구), 남기더라도 구조가 복잡해지는 편입니다. 저는 단순 체험이 아니라 개발·문서 작업까지 같이 하려다 보니, 결국 외장 SSD를 하나 정식 시스템 디스크처럼 만들어 버리는 쪽으로 정리하게 됐습니다.

정리하면, 이 글에서 말하는 “휴대용 작업 환경”은 라이브 USB보다는 “외장 SSD에 설치된 Ubuntu 하나를 계속 들고 다니며 부팅하는 구조”에 더 가깝습니다. 저장 장치는 USB 메모리든, USB-C 외장 SSD든 상관없지만, 체감 성능은 SSD 쪽이 훨씬 좋았습니다.

어떤 USB/외장 SSD를 쓸지 현실적으로 고르기

하드웨어 선택이 꽤 중요합니다. 이론상 아무 USB나 다 되긴 하지만, 실제로 써 보면 조건이 조금 보였습니다.

  • 용량: 최소 64GB 이상, 가능하면 128GB 이상을 추천합니다. OS만 두고 살 게 아니라, 에디터·도커·git 저장소·캐시까지 쌓이기 때문입니다.
  • 속도: USB 3.0 이상, 실사용에서는 외장 SSD가 일반 USB 메모리보다 훨씬 쾌적했습니다. 작은 파일을 많이 읽는 개발 작업에서는 차이가 더 컸습니다.
  • 포트: 요즘 노트북은 USB-A가 없는 경우도 많아서, USB-C 지원 모델이거나, 안정적인 젠더 하나를 같이 들고 다니는 게 현실적입니다.

저는 한동안 128GB USB 메모리로도 버텨 봤는데, 패키지와 로그가 쌓이고, 프로젝트가 늘어나니 여유가 너무 빨리 줄어들었습니다. 결국 외장 SSD 250~500GB 정도를 하나 정해 두고, 그걸 “휴대용 Ubuntu 전용 디스크”로 쓰는 게 훨씬 마음이 편했습니다.

설치할 때 꼭 신경 쓸 포인트: 어디에 부트로더를 넣을 것인가

휴대용 Ubuntu를 만들 때 가장 조심해야 하는 부분이 바로 부트로더를 어디에 설치하느냐입니다. 설치 마법사에서 잘못 선택하면, 노트북 내부 디스크의 부트로더가 바뀌어 버릴 수 있습니다.

설치할 때 저는 항상 이런 순서를 지켰습니다.

  • 설치 전에 외장 SSD만 꽂고, 가능하면 내부 디스크는 건드리지 않는다.
  • 파티션 설정 단계에서 대상 디스크를 외장 SSD로 확실하게 확인한다.
  • “부트로더 설치 위치”도 반드시 외장 SSD로 지정한다.

노트북마다 설치 화면에서 보이는 디스크 이름이 조금씩 다르기 때문에, 용량과 제조사 이름을 보고 “이게 진짜 외장 SSD가 맞나?”를 한 번씩 더 확인했습니다. 설치 후에는 외장 SSD가 꽂혀 있을 때만 그 디스크로 부팅이 가능하도록 만들어 두는 게 핵심입니다.

이렇게 해두면, 외장 SSD가 없는 상태에서는 원래 설치되어 있던 OS(윈도우든, 내부 Ubuntu든)로 평소처럼 부팅이 되고, 외장 SSD를 꽂고 부트 메뉴에서 선택했을 때만 휴대용 Ubuntu가 올라옵니다.

여러 컴퓨터에서 쓸 걸 고려한 최소 설정

휴대용 OS의 특징은 “하나의 환경을 여러 하드웨어에서 쓴다”는 점입니다. 이 말은 곧 “그래픽·와이파이·블루투스 드라이버가 상황마다 달라질 수 있다”는 의미이기도 합니다. 저는 데스크톱과 노트북 몇 대를 오가면서 이런 기준을 잡았습니다.

  • 특정 장비 전용 드라이버(예: 특정 그래픽 제조사 전용) 설치는 최소한으로 줄인다.
  • 와이파이, 블루투스, 그래픽은 기본 드라이버로 충분한지 먼저 보고, 정말 필요할 때만 별도 드라이버를 추가한다.
  • 잠자기/절전 관련 설정은 너무 공격적으로 건드리지 않는다. 하드웨어마다 잠자기 복귀 동작이 달라질 수 있기 때문입니다.

실제로 한 기기에서 잘 되던 전용 그래픽 드라이버가 다른 기기에서는 부팅 문제를 만들 수도 있습니다. 그래서 저는 휴대용 Ubuntu에서는 “웬만하면 기본 드라이버 위주 + 너무 최신이지 않은 LTS 버전” 조합을 선택했습니다. 일종의 “보수적인 안전 모드”라고 보면 됩니다.

개발·작업용으로 쓸 때의 디렉터리 구성

휴대용 환경도 결국 하나의 Ubuntu 시스템이라, 홈 디렉터리 안이 금방 어지럽혀집니다. 저는 나중에 다른 곳으로 옮길 수 있도록, 처음부터 디렉터리를 조금 나눠 두는 편이 편했습니다.

예를 들어 이런 식입니다.

/home/me/projects → 코드·리포지토리 /home/me/docs → 문서·노트 /home/me/tmp → 임시 파일, 테스트용 자료 /home/me/tools → 포터블 도구, 스크립트 

이렇게 나눠 두면, 휴대용 OS를 나중에 교체해야 할 때에도 projectsdocs만 통째로 다른 장치로 복사하면 되는 구조가 됩니다. 시스템 설정이나 패키지는 버전이 바뀌면 어차피 다시 잡아줘야 하는 부분이라, 저는 아예 “언젠가 설치를 다시 하게 된다”는 가정하에, 데이터와 설정을 분리해서 생각하는 쪽이 마음이 편했습니다.

암호화와 백업: 휴대용이라는 특성이 주는 리스크

휴대용 OS의 장점은 어디서나 쓸 수 있다는 점이지만, 단점은 잃어버리기 쉽다는 점입니다. 가방에서 떨어뜨리거나, 카페 테이블에 두고 나오는 상황을 완전히 막을 수는 없습니다.

그래서 저는 두 가지 원칙을 지켰습니다.

  • 가능하면 홈 디렉터리 또는 디스크 전체를 암호화해서 설치한다.
  • 휴대용 Ubuntu에만 존재하는 중요한 데이터는 만들지 않는다. 항상 다른 곳에 한 벌 이상 두고 다닌다.

디스크 암호화는 설치 단계에서 옵션으로 제공되는 경우가 많고, 성능이 크게 민감한 작업만 아니라면 체감 속도도 괜찮았습니다. 이렇게 해두면 설령 디스크를 분실해도, 암호를 모르면 내용에 접근하기 어려워집니다. 백업 쪽에서는, 휴대용 Ubuntu를 “메인 저장소”가 아니라 “작업 캐시”쯤으로 생각하고, 최종 문서와 코드 원본은 Git 리포지토리나 다른 스토리지에 두는 식으로 운용했습니다.

실제로 써보니 좋았던 사용 패턴

마지막으로, 휴대용 Ubuntu를 몇 년간 쓰면서 “이럴 때 특히 좋았다” 싶은 패턴을 몇 가지 적어 보겠습니다.

  • 회사 PC는 윈도우만 허용하지만, 회의실 남는 모니터에 제 USB를 꽂아서 제 환경으로 코드 리뷰를 할 수 있을 때
  • 카페에서 빌린 노트북이나 친구 노트북에 제 계정을 만들 필요 없이, USB만 꽂아서 부팅해 짧게 작업하고 나올 때
  • 새 노트북을 사기 전에, 그 기기가 Ubuntu와 잘 맞는지 테스트해 볼 때

반대로, 모든 상황에서 완벽하게 통하진 않았습니다. 회사 보안 정책 때문에 USB 부팅 자체가 막혀 있는 곳도 있었고, UEFI 설정을 아예 못 건드리게 해 둔 장비도 있었습니다. 그래서 “어디서나 100% 된다”라기보다, “가능한 곳에서는 내 작업 환경을 거의 그대로 들고 다닐 수 있는 옵션을 하나 더 갖고 있다” 정도로 이해하는 게 현실적이었습니다.

정리하자면, USB 하나로 휴대용 Ubuntu 작업 환경을 만드는 과정은 생각보다 단순합니다. 외장 SSD를 하나 정하고, 거기에 Ubuntu를 정식으로 설치하되 부트로더 위치를 조심하고, 여러 기기에서 무리 없이 돌아갈 수 있게 드라이버와 설정을 보수적으로 잡는 것. 그 위에 개인 프로젝트와 문서를 폴더 구조만 잘 나눠서 쌓아두면, 어느 컴퓨터에서든 “내 책상 같은 느낌”을 꽤 가볍게 재현할 수 있습니다.

댓글

이 블로그의 인기 게시물

라즈베리파이 대신, 오래된 노트북에 Ubuntu 깔아서 집 서버 만드는 법

Ubuntu에서 게임 스트리밍 클라이언트 세팅하기: Steam Link·Moonlight 활용법

Ubuntu에서 터미널 안 쓰고도 할 수 있는 관리 작업 10가지