1P by GN⁺ | ★ favorite | 댓글 1개
  • Linux 사용자는 수개월 테스트를 거친 공식 Firefox .deb 패키지를 Ubuntu, Debian, Debian 기반 배포판에서 선택할 수 있게 됨
  • 새 패키지는 Snap·Flatpak 지원을 유지하면서도, 배포판 기본 패키지 흐름에 맞는 네이티브 패키지 선택지를 추가함
  • 기존 .deb 패키지가 배포판별 외부 관리에 의존했다면, 이번 패키지는 Mozilla가 소스 코드에서 직접 빌드·지원하는 방식임
  • Mozilla는 컴파일러 기반 최적화를 적용했지만, 다른 .deb 패키지는 관리 주체에 따라 같은 최적화를 모두 포함하지 않을 수 있음
  • APT 저장소는 Firefox 릴리스 프로세스와 직접 연결되며, 최신 기능과 보안 수정 적용에는 Firefox 재시작이 필요함

Debian 계열을 위한 공식 .deb 선택지

  • Mozilla는 Firefox on Linux 패키지를 Ubuntu, Debian, Debian 기반 배포판용으로 공개함
  • Linux용 Firefox는 여러 공식 형식으로 제공됨
    • Mozilla .tar.bz2 빌드
    • Snap
    • Flatpak
    • Debian 기반 배포판용 새 .deb 패키지
  • .deb 패키지는 Firefox가 Snap과 Flatpak에 계속 호환되면서도, 사용자가 네이티브 패키지를 선택할 수 있게 함

Mozilla 직접 빌드와 성능 최적화

  • 새 패키지는 Firefox를 소스 코드에서 수정 없이 조립하며, Mozilla가 직접 빌드하고 지원함
    • 기존 Firefox .deb 패키지는 Linux 배포판에 따라 Mozilla 외부의 사람이나 조직의 도움이 필요했음
  • Mozilla는 더 나은 성능을 위해 컴파일러 기반 최적화를 적용함
    • 다른 .deb 패키지는 패키지 관리 주체에 따라 Mozilla가 의도한 최적화를 모두 포함할 수도, 포함하지 않을 수도 있음

업데이트와 설치 경로

  • APT 저장소는 Firefox 릴리스 프로세스에 직접 연결됨
    • Mozilla가 최신 업데이트를 제공하면 사용자가 받을 수 있음
    • 최신 버전을 적용하려면 Firefox를 재시작해야 함
  • 많은 Linux 배포판은 이미 패키지 관리자를 통해 Firefox를 사전 설치하고 기본 브라우저로 설정해 제공함
  • 설치 방법은 Firefox on Linux 패키지Linux용 Firefox 설치 가이드에서 확인할 수 있음

댓글과 토론

Hacker News 의견들
  • Firefox를 .deb로 설치했을 때 백그라운드 업데이트가 되면 브라우저 재시작을 강제하는 습관이 성가셨음
    평소처럼 쓰다가 갑자기 모든 URL이 about:restartrequired로 리다이렉트되어 작업을 멈춰야 했음
    이번 발표만으로는 이 문제가 고쳐졌는지 불분명하고, 아니라면 계속 Mozilla가 제공하는 .tar.gz 파일을 쓸 것 같음
    쓰기 권한이 있는 디렉터리에 풀어두면 Windows처럼 Firefox가 자체 업데이트를 하며 강제 중단이 없음
    https://otechworld.com/wp-content/uploads/2022/04/restart-fi...
    https://support.mozilla.org/en-US/kb/install-firefox-linux#w...

    • 안정 버전 패키지는 모르겠지만, 최근 도입된 Nightly 패키지는 APT 업그레이드 후에도 계속 탐색할 수 있다고 명시돼 있음
      “Firefox can continue browsing after an APT upgrade, allowing people to restart at their convenience”라고 업데이트됨
      https://blog.nightly.mozilla.org/2023/10/30/introducing-mozi...
    • 이 .deb에서도 여전히 문제가 남을 것 같음. 패키지 관리자가 업데이트를 수행하는 방식 자체가 Firefox에 문제를 일으킴
      재시작 알림은 디스크의 바이너리와 실행 중인 바이너리가 맞지 않는다는 걸 Firefox가 사용자에게 알리는 수단임
      예전에는 이 경고가 없어서 새 프로세스를 만들 때 무작위로 충돌했고, 경고 덕분에 그나마 질서 있게 재시작할 수 있음
      부모 댓글처럼 .tar.gz는 여러 플랫폼에서 쓰는 Mozilla 업데이트 절차를 사용하므로 이 문제를 피할 수 있음. 최소 절차는 /opt/firefox/ 같은 곳에 압축을 풀고, 사용자나 그룹이 읽기·쓰기·실행 권한을 갖게 한 뒤, Firefox.desktop 파일을 만들거나 복사해 올바른 폴더에 넣어 런처에 보이게 하는 것임
      https://specifications.freedesktop.org/desktop-entry-spec/de...
      https://specifications.freedesktop.org/menu-spec/latest/ar01...
    • 새 탭을 열 때마다 재시작을 요구했고, 재시작하지 않으면 그 탭을 쓸 수 없었던 것으로 기억함. 이미 열려 있던 탭은 계속 동작했음
      이후 Ubuntu에서 Debian으로 옮기고 Mozilla의 .tar.gz를 설치했는데, 말한 대로 자체 업데이트됨
      마침 지금 버전을 확인해 보니 Help, About Firefox 대화상자에 업데이트 상태가 보였고, Firefox 디렉터리의 updates/0/update.status에는 downloading이 있다가 지금은 applied가 됨
      update.version에는 122.0이 들어 있고, update.mar라는 20MB 파일도 있음. last-update.log에는 공유 라이브러리와 다른 파일에 대해 PREPARE PATCH, EXECUTE PATCH, FINISHED PATCH 줄이 많았고, 새 버전은 updated/ 디렉터리에서 대기 중인 듯함
      About 대화상자는 아직 121.0.1이라고 표시하고 Restart to update Firefox 버튼을 보여줌. 새 버전으로 전환해야 하기 전까지 현재 버전을 얼마나 오래 쓸 수 있는지 지켜볼 생각임
    • .tar.gz 빌드도 본질적으로는 같은 문제가 있음. 다만 불평하지 않을 뿐이고, 예전 패키지의 파일을 닫고 새 패키지의 파일을 열어야 하므로 결국 재시작이 필요함
      중단 시간을 줄이려면 브라우저를 재시작한 뒤 History | Restore previous session을 쓰면 됨
      Flatpak 빌드는 앱을 종료할 때까지 두 버전을 디스크에 함께 보관해서 이 문제를 피함. 종료 시점에만 이전 버전이 제거되고, 다음 시작부터 새 버전이 사용됨
    • 이건 끔찍한 사용자 경험임. Firefox를 .deb 파일이나 Arch AUR 패키지로 썼을 때 그런 일이 있었던 기억은 없음
      백그라운드에서 실제 업데이트가 진행되는 건 원하지 않음. 업데이트 확인이나 다음 브라우저 재시작 때 적용할 파일을 미리 준비하는 건 괜찮음
      실행 중인 브라우저 프로세스 밑에서 앱 파일을 몰래 바꿔서 새 콘텐츠를 열 수 없게 만드는 건 별로임
      어쩌면 .deb가 아니라 .tar.gz를 썼을 수도 있겠음. Firefox용 .desktop 파일을 만들고 편집했던 기억이 있음
      더 공식적인 패키지 관리자로 관리하라고 만든 패키지 파일보다, 수동으로 관리하는 .tar.gz 압축 해제 디렉터리에서 업데이트 경험이 더 낫다는 건 직관에 어긋남
  • 이미 ~mozillateam PPA를 쓰고 있었음. Snap은 싫으니까. 그래도 공식 Firefox 저장소가 생기는 건 좋음
    Ubuntu가 듣고 있다면: Snap은 절대 안 쓸 것임. 모든 Ubuntu 머신에서 제거했고, 강제로 밀어붙이면 아무리 고통스럽더라도 Debian으로 옮길 것임

    • Linux Mint로 옮길 수도 있음. 거기는 anti-snap 입장이 아주 확고함
      다만 공식 KDE 스핀을 다시 내줬으면 좋겠음
    • Debian으로 가면 어떤 고통을 예상하는지 궁금함. 실제로 전환한 뒤 매일 쓰고 있어서 관점이 궁금함
    • PopOS는 사실상 강제 Snap이 없는 Ubuntu이고, 드라이버 지원도 더 좋으며 실제 Firefox 패키지도 있음
      개인적으로는 보안상 몇 가지 추가 이점이 있어 Flatpak Firefox를 쓰지만, 원하면 네이티브 Firefox가 있다는 걸 알고 있음
    • Ubuntu를 최근 설치한 초보 입장에서 snap이라는 말을 자주 봤고, 좋든 나쁘든 HN의 무작위 의견을 인터넷 평균보다 더 신뢰하는 편임
      Snap의 무엇이 그렇게 싫은지 궁금함. 그리고 마음에 안 들 경우 머신에서 제거하는 팁도 있으면 좋겠음
  • Chromebook에서는 반가운 추가임. 이제 Crostini에서 Flatpak 없이 최신 Firefox, 즉 ESR이 아닌 버전을 설치할 수 있음
    아쉽게도 Mozilla는 아직 공식 채널에서 Firefox용 aarch64-linux 빌드를 제공하지 않으므로, ARM64 Chromebook 사용자는 다른 방법이 필요함
    예를 들어 Nix를 쓰고 있지만, 하드웨어 가속을 동작시키려면 nixGL 같은 복잡한 설정이 필요함

    • Chromebook에서 동작하는 Linux Arm64 바이너리를 컴파일하는 방법을 배울 만한 좋은 자료가 있는지 궁금함
      GCC 4.8과 오래된 Debian으로 x86 및 Amd64 Debian 빌드를 만들고 있는 C 코드가 있는데, Chromebook에서도 같은 식으로 실행되는 바이너리를 만들려면 무엇을 해야 하는지 알고 싶음
    • ChromeOS에서 Firefox를 쓸 때 Chrome과 비교해 어떤지 궁금함. 2등급 앱처럼 느껴지지는 않는지?
  • 그냥 Debian testing이나 unstable에 들어 있는 걸 쓰지만, Mozilla에서 Firefox를 직접 다운로드하면 최신 버전으로 자체 업데이트되게 하는 건 매우 간단함
    아래는 Firefox를 /usr/local에 넣지만, ~/, /opt 등으로 바꿔 쓰기도 쉽고 생성한 심볼릭 링크만 $PATH 어딘가에 두면 됨
    데스크톱 통합은 쓰는 데스크톱 환경이나 창 관리자에 따라 다르지만, 자동이 아니어도 알아내기 어렵지 않을 것임
    wget -O firefox-latest.tar.bz2 \
    "https://download.mozilla.org/?product=firefox-latest-ssl&os=linux6…;
    tar xjf firefox-latest.tar.bz2
    sudo rm -rf firefox-latest.tar.bz2 /usr/local/bin/firefox /usr/local/firefox
    sudo mv firefox/ /usr/local/
    sudo ln -s /usr/local/firefox/firefox /usr/local/bin/firefox

    • Firefox Developer Edition을 그렇게 쓰고 있음. 백그라운드에서 업데이트됐다고 동작을 거부하는 문제는 없고, 햄버거 메뉴에 원할 때 재시작하라는 작은 초록 점만 표시됨
  • PPA 패키지(https://launchpad.net/~mozillateam/+archive/ubuntu/ppa)를 쓰고 있어서 이제 헷갈림
    이게 같은 패키지인지, 갈아타야 하는지 모르겠음. 글에서 최소한 언급이라도 해줬으면 좋았을 것임

    • 보기에는 “Ubuntu Mozilla Team”이 Mozilla 사람들로 구성된 게 아니라, Ubuntu용 Mozilla 소프트웨어를 패키징하는 사람들인 듯함
      해당 PPA의 최신 패키지는 Rico Tzschichholz가 올렸고, Mozilla 소속으로 보이지 않음
    • PPA 패키지를 없애고 공식 저장소를 쓰는 편이 거의 모든 경우 99.9% 더 나을 것임
      방법은 Google이나 YouTube에 자세히 있고, HN에 다 적기엔 너무 김. Google이나 DuckDuckGo 첫 페이지에 나올 것임
      공식 저장소가 생겼으니 PPA를 관리하던 사람들도 시간이 지나면 업데이트를 중단할 가능성이 큼
  • Debian/Ubuntu는 Spotify와 Signal의 1차 네이티브 패키지가 선택하는 유일한 배포판이기도 함
    가능하면 Fedora를 쓰려고 해서 더 눈에 띄는데, 클라이언트형 소프트웨어에서도 Debian이 첫 선택인 경우가 많음
    Ubuntu와 Debian의 인기와 상호 호환성을 생각하면 말이 됨
    Fedora에서도 보통 쓸 수는 있음. Firefox는 자체 패키지가 있고, Signal은 Flatpak이 있음

    • 지금은 모르겠지만, 예전에는 그들의 .deb 패키지가 Snap 패키지보다 늦게 업데이트됐음
  • Mozilla 팀의 좋은 업데이트임. 계속 힘써줬으면 함
    다만 빠진 건 프라이버시와 자유에 대한 지속적인 약속임
    CEO Mitchell Baker의 악명 높은 “We Need More Deplatforming (2021)” 글 이후 무엇이 달라졌는지 모르겠음. 이건 도저히 넘어갈 수 없고, Mozilla가 시민권에 대해 강한 약속을 해야 한다고 봄
    https://blog.mozilla.org/en/mozilla/we-need-more-than-deplat...

    • 링크한 글의 제목은 “We need more than deplatforming”이라서 잘못 인용한 것으로 보임
      그리고 그 글이 플랫폼 퇴출을 옹호한다고도 잘 보이지 않음
    • 왜 달라졌다고 생각하는지 궁금함
  • 다시 원점으로 돌아온 건가? 예전에는 .deb 저장소가 있었고, 없어졌다가 이제 다시 생김

    • .deb 패키지는 서버 측 렌더링처럼 새로운 유행이 됨
    • Mozilla가 Debian 패키지 저장소를 가진 적이 있었는지 기억나지 않음. 놓친 게 있나?
  • 빠진 다섯 번째 핵심 장점이 있음:
    sudo apt-get purge snapd를 성가신 원치 않는 결과 없이 실행할 수 있게 해줌

    • 최근에 snapd가 계속 세그멘테이션 폴트를 내는 문제가 있었고, 완전히 제거하는 게 해결책이었음
      알고 보니 Snap에 있던 모든 것이 Flatpak에도 있었고, 어차피 Flatpak을 더 선호함
    • snapd가 부가 의존성으로 다시 설치되지 않게 하려면 sudo apt-mark hold snapd도 잊지 말아야 함
    • Ubuntu에서는 lxd가 아직도 Snap 패키지로만 제공되는 것 같음. 지금은 쓰지 않지만 실제로 꽤 괜찮음
      다행히 이제 incus로 포크됐고 Debian과 openSUSE에는 둘 다 들어갈 예정임. 아마 Red Hat 계열 배포판도 가능할 듯함
    • Snap 사용을 중단하려고 이 새 Firefox 패키지를 기다릴 필요는 없지 않았나?