2P by GN⁺ 16시간전 | ★ favorite | 댓글 1개
  • FreeBSD와 BSD 계열 OS를 통해 기술과의 관계를 새롭게 정비하며 셀프호스팅의 흥미를 되살린 경험
  • BastilleBSD로 jail을, vm-bhyve로 VM을 구성하며 직접적인 실험과 시행착오를 거친 설정 구축
  • 단순한 구조와 우수한 문서화, 그리고 장기 호환성 덕분에 오래된 자료도 여전히 유효한 시스템 환경
  • BSD 커뮤니티의 친절한 지원으로 학습 과정에서 겪은 혼란을 해결하며 초심자의 설렘을 다시 체험
  • 새로운 기술을 배우는 과정 자체에서 오는 즐거움과 지속적 탐구의 가치를 강조

FreeBSD로의 전환과 새로운 시작

  • 기존 기술 사용 방식이 더 이상 맞지 않아 BSD 계열 운영체제에서 새로운 출발을 모색
    • 이전에는 FreeBSD와 OpenBSD를 모두 시도했으며, OpenBSD는 단일 목적 VM과 라우터로 안정적으로 사용
    • 그러나 다중 목적 시스템에는 적합하지 않아, FreeBSD를 선택
  • Hetzner 서버 경매를 통해 적절한 서버를 확보하고 FreeBSD 환경 구축 시작
  • 새로운 시스템을 배우는 과정에서 초기 혼란과 학습의 즐거움을 동시에 경험

시스템 구성과 도구 선택

  • BastilleBSD를 사용해 jail 환경을, vm-bhyve로 가상머신을 관리
    • 대부분의 설정을 처음 접했지만, 시행착오 끝에 자신에게 맞는 구성을 완성
    • 일반적인 설정과는 다소 다르지만, 개인화된 환경으로 만족
  • 향후 환경이 안정되면 세부 구성을 추가로 공유할 계획 언급

FreeBSD의 장점과 철학

  • 단순성우수한 문서화가 가장 큰 장점으로 언급
    • 대부분의 작업이 SSH에서 몇 개의 명령으로 해결 가능
    • 필요한 정보는 온라인 man 페이지나 CLI에서 바로 확인 가능
  • 장기 호환성이 뛰어나, 2008년 포럼의 해결책도 여전히 유효
    • 동시에 새로운 기능도 지속적으로 추가되어 시스템이 낡은 느낌이 없음

학습 과정의 어려움과 커뮤니티 지원

  • 릴리스 주기와 pkg/ports 관계를 혼동하는 등 학습 중 혼란 경험
    • 검색어를 적절히 표현하지 못해 정보 탐색에 어려움 발생
  • BSD 커뮤니티와 Fediverse 사용자들의 도움으로 문제 해결
    • 여러 명이 구체적이고 유용한 답변을 제공
    • 초심자로 돌아간 듯한 즐거움과 커뮤니티의 따뜻함을 느낌

현재의 만족과 향후 방향

  • 장기적으로 이 구성을 유지할지는 미정
    • 그러나 현재는 새로운 기술을 배우는 즐거움이 핵심
  • 학습과 실험을 통해 다시금 셀프호스팅의 재미와 창의성을 되찾은 상태
  • “지금 배우는 과정 자체가 중요하다”는 태도로 마무리
Hacker News 의견
  • 홈랩의 기반은 OpenBSD임
    DNS, DHCP, 방화벽 라우터, 그리고 작은 웹 서버까지 모두 돌리고 있음
    설정이 Linux보다 훨씬 간단하고 FreeBSD보다도 쉬운 느낌임
    FAQ의 예시를 복사해 수정만 하면 끝이라서, Linux처럼 여러 데몬과 복잡한 설정 파일을 다룰 필요가 없음
    다만 KVM 호스트는 따로 Linux 기반으로 운영 중임

    • OpenBSD는 정말 숨겨진 보석 같은 존재임
      Linux의 기업 인수 드라마나 커뮤니티 소음에서 벗어나 조용히 쓸 수 있는 게 큰 장점임
      ‘toxic slug’ 전략처럼 외부 간섭을 막는 접근이 다른 오픈소스에도 필요하다고 생각함
    • BSD 계열은 네트워크 백본용 소프트웨어 환경에 집중 최적화되어 있음
      rc.conf로 모든 걸 쉽게 제어할 수 있고, 불필요한 구성요소는 기본 설치에서 제외됨
      반면 Linux는 범용성을 추구하다 보니 설정이 복잡해지는 경향이 있음
    • OpenBSD의 vmm 하이퍼바이저로 Alpine Linux를 돌려 docker와 컨테이너를 구동함
      덕분에 최신 서버 기술을 OBSD 상에서도 활용할 수 있게 되었음
    • 혹시 하드웨어 고장이나 불안정성을 겪은 적 있는지 궁금함
      여분 부품이 많지 않으면 원인 파악이 꽤 힘들고, 시간과 집중력이 항상 부족함
  • 나도 FreeBSD로 홈랩을 운영 중임
    ZFS 지원이 훌륭하고, 단순히 다른 방식으로 해보는 재미도 큼
    기본 설정은 README.md로 관리하고, 나머지는 Ansible로 자동화함
    각 서비스는 jail 안에서 돌아가며, 데이터는 ZFS 서브볼륨을 /bucket에 마운트함
    덕분에 jail을 언제든 버리고 다시 올릴 수 있고, SSH로 개별 접근도 쉬움

    • FreeBSD 15에서 새로 추가될 service jail 기능이 흥미로움
      호스트 파일시스템을 그대로 공유하면서도 네트워크 접근은 제한됨
      관련 문서는 FreeBSD Handbookman 페이지에 있음
    • CUDA 지원만 필요하지 않다면 완전히 FreeBSD로 옮겼을 것임
      systemd도 없고, 컨테이너 개념도 예전부터 내장되어 있었음
  • FreeBSD를 정말 좋아하고 싶었지만 현실적으로 설정의 고통이 너무 컸음
    방화벽 설정은 자료도 부족하고, pm2는 프로세스 ID 문제로 버그가 있었음
    결국 일반적인 서버 작업을 위해 매번 바퀴를 다시 만들어야 해서 포기했음
    OS 개발자가 아닌 나에게는 너무 벅찼음

    • 나도 비슷한 경험이 있었는데, 요즘은 LLM 덕분에 설정이 훨씬 쉬워졌음
      예전 문제를 지금의 LLM으로 다시 시도해봤는지 궁금함
    • pf를 처음 배울 때는 어렵게 느꼈지만, 방화벽의 원리를 이해하니 훨씬 명확해졌음
      FreeBSD에는 IPFW 기반의 기본 템플릿도 있음
      rc.conffirewall_type 옵션을 보면 간단한 NAT 게이트웨이부터 클라이언트 방화벽까지 쉽게 설정 가능함
      세부 내용은 /etc/rc.firewall 참고
    • 공식 방화벽 문서는 FreeBSD Handbook - Firewalls에 잘 정리되어 있음
    • pf는 여전히 내가 써본 최고의 방화벽 중 하나임
      예전에 FreeBSD와 openvpn으로 VPN 서버를 직접 구축해 수백 명의 고객을 지원했음
      지금도 Linux 방화벽보다 pf를 더 선호함
      다만 docker swarm 같은 멀티호스트 오케스트레이션 기능이 그립음
    • PF는 DSL 기반 설정이 깔끔하고, IPFW나 IPFILTER 같은 대안도 있음
      FreeBSD 지식은 Linux보다 오래 유효하다고 느낌
      Linux의 혼란스러운 환경을 보면 오히려 BSD가 편안하게 느껴짐
  • 기술을 바꾸는 이유가 단순히 배움의 즐거움 때문일 때가 있음
    나도 셀프호스팅 플랫폼을 만들며 ‘편리함’을 추구했지만, 진짜 마법은 직접 해결하는 과정에 있었음

    • 편리함을 포기하고 직접 부딪히면 스택의 본질을 배우게 됨
      docker/podman, flatpak 같은 기술 덕분에 이제는 접근성이 꽤 좋아졌음
      다만 CLI 앱이 flatpak으로 배포되는 경우는 드물어 아쉬움
  • 25년 전부터 BSD, 특히 FreeBSD를 사랑했음
    DragonflyBSD를 데스크톱으로 써보기도 했는데, 요즘 BSD가 받는 관심이 너무 적어 아쉬움
    iOS와 macOS의 기반에도 BSD가 큰 역할을 했다는 점을 잊지 말아야 함

    • 나는 지금도 FreeBSD를 데스크톱 OS로 사용 중임
      안정적이고, Linux처럼 기업의 유행에 휘둘리지 않음
      KDE 같은 최신 앱은 rolling으로 유지되고, 문서도 훌륭함
      ZFS on root도 기본 지원이라 마음에 듦
      소수의 유지보수자가 꾸준히 잘 버티고 있음
    • 혹시 Monero의 fluffypony인가요?
      예전에 당신이 FreeBSD를 칭찬하던 팟캐스트를 듣고 입문했었음
  • 집에서는 일과 다른 환경을 원해서 FreeBSD를 썼었음
    하지만 ARM RockChip과 Intel Alder Lake 같은 big.LITTLE 구조 CPU를 쓰기 시작하면서 FreeBSD 스케줄러가 이를 제대로 활용하지 못했음
    그래서 Linux로 돌아와 Nix 생태계에 빠졌음
    ULE 스케줄러가 개선되면 다시 돌아갈 생각임

  • 최근 OpenBSD 기반 라우터를 구축했는데 정말 상쾌한 경험이었음
    자세한 내용은 내 블로그 글에 정리했음

    • 글 잘 봤음!
      OpenBSD는 기본적으로 모든 파일 세트 설치를 권장함
      일부 포트가 예상치 못한 라이브러리를 요구할 수 있기 때문임
      또 OpenBSD Handbook은 공식 문서가 아니므로 man 페이지나 openbsd.org, misc@ 메일링리스트를 참고하는 게 좋음
      IPv6 설정까지 마친 점이 인상적임
  • Jellyfin과 n8n을 자가 호스팅 중이지만, 점점 클라우드로 이전 중임
    서비스 가용성을 유지하는 데 드는 시간이 너무 커졌고, 블로그는 Cloudflare Pages로 옮김
    45TB의 미디어 데이터를 클라우드에 올리면 월 $250~$1500이 들어서 현실적으로 어렵지만 언젠가 옮기고 싶음

    • 어떤 부분이 그렇게 시간 소모였는지 궁금함
      나는 셀프호스팅을 하지만 1년에 몇 시간 정도만 관리함
    • 45TB를 pCloud에 일시불 $5,000으로 저장할 수도 있음 (고객 입장에서 추천)
    • Jellyfin 10.11로 업그레이드했더니 DB 마이그레이션 버그로 망가졌음
      이슈 링크 참고
  • Linux, Windows, macOS만 써봤는데 BSD를 시작하려면 뭘 알아야 할지 궁금함
    coreutils 명령어들이 그대로 동작할까? Emacs 패키지 호환성은 어떤지 알고 싶음

    • BSD의 유틸리티는 GNU가 아니라 BSD 버전이라 약간 다름
      하지만 POSIX 범위 내에서는 문제 없음
      GNU 도구도 설치 가능하며, 예를 들어 makegmake로 사용함
      1999~2015년까지 썼을 때 큰 문제는 없었음
    • 특별한 요구사항이 없다면 대부분 동일하게 동작함
      gnu/coreutils를 몰라도 큰 차이는 없을 것 같음
  • BSD에서 애플리케이션 지원은 어떤지 궁금함
    대부분 deb나 rpm만 보이는데, FreeBSD 포트로 얼마나 커버되는지 알고 싶음
    하드웨어 드라이버, 특히 최신 Wi-Fi 칩 지원도 궁금함

    • repology.org에 따르면 FreeBSD는 전 세계 4번째로 큰 패키지 저장소
    • 어떤 종류의 앱을 말하는지에 따라 다름
      데스크톱 환경은 까다롭지만, BSD는 웹 서버용으로 최적화되어 있음
      Bastille 같은 툴로 jail 기반 배포를 쉽게 할 수 있음
      직접 FreeBSD VM이나 USB로 설치해보는 걸 추천함
      문서와 포럼이 매우 친절함