스냅, appimage, flatpak 및 기타의 차이점은 무엇입니까?


105

나는 최근에 학생들 로부터이 질문을 받고 있으며 많은 정보를 제공 할지라도 사람들이 업데이트 답변을 읽을 수있는 곳을 가리킬 수있는 출처를 찾지 못했습니다 (많은 잘못된 정보와 오래된 정보를 발견했습니다) ). 따라서 스냅, appimage, flatpak 및 이와 같은 범용 패키징 시스템의 진화와 같은 패키지 형식에 대한 몇 가지 질문은 다음과 같습니다.

  • 누가 패키지 형식을 만들었습니까?
  • 어떤 기능을 제공합니까?
  • 어떤 기능이 독특합니까? (다른 사람들은 아직 가지고 있지 않습니다)
  • 누가 그것을 지원합니까?
  • 어떤 배포판에서 사용합니까?
  • 패키지에는 어떤 초점이 있습니까? (데스크톱, 클라우드, 모바일 등의 경우)
  • 어느 쪽이 더 적극적으로 개발됩니까?

답변:


68

다음은 AppImage와 Snap 및 Flatpak 기능의 긴 테이블 형식 비교입니다. GitHubAppImage Wiki에서 가져온 것입니다 .

AppImage vs. Snap vs. Flatpack 비교


43
이 차트는 AppImage 관점에서 작성되었다는 것을 지적 할 가치가 있다고 생각합니다. 즉, 기본 기능 세트는 AppImage의 기능 세트이며 다른 기능은 해당 기능과 비교됩니다. 그것은 AppImage에 치우친 가장자리를 제공합니다. 또한 다소 오래된 것입니다. 예를 들어 Snap은 이번 가을에 테마를 추가했습니다.
Dan

1
@ Dan : Snap의 추가 지원에 대해 알고 있다면 차트를 편집하지 않으시겠습니까? 또한 Snap 및 / 또는 Flatpak에있는 다른 기능에 대해 알고있는 경우 AppImage 위키의 각 항목으로 차트를 수정하도록 초대하십시오.
Kurt Pfeifle

11
@Kurt를 어떻게 말할 수 있는지 잘 모르겠습니다. 예를 들어 "목표"섹션을 살펴보십시오. 다른 프로젝트에 목표가없는 것처럼 AppImage의 목표를 독점적으로 보여줍니다. 마치 AppImage의 목표 만 중요합니다.
Dan

5
나는 당신의 요점을 얻는다-나는 위키를 편집 할 수 있었다. 그러나 귀하의 답변은 Wiki가 변경 되더라도 영구적으로 그대로 유지되는 거대한 이미지입니다. 나는 미래의 우분투 독자들에게 당신의 대답과 관련하여 편견이 언급 될 가치가 있다고 생각합니다.
Dan

2
@ Dan : 7 월 4 일에 웹 사이트에서 업데이트 된 스크린 샷 버전을 삽입하기 위해 답변을 편집했습니다 (정확하게 위키에 발생한 수정 사항을 포함시키기 위해). 원래 위키를 편집하고 새 스크린 샷을 만든 다음 새 스크린 샷으로이 답변의 수정을 제안하는 데 문제가있는 곳은 어디입니까?
Kurt Pfeifle

51

스냅 은 Canonical에서 우분투를 위해 만들었습니다. 스냅의 주요 장점은 다음과 같습니다.

  • 종속성에 대한 독립성-모든 라이브러리 및 종속성이 패키지에 포함됩니다. 또한 동일한 프로그램의 더 많은 버전을 가질 수 있습니다.
  • 샌드 박싱-스냅은 수정 된 AppArmor를 사용하여 응용 프로그램을 샌드 박싱
  • 델타 업데이트-스냅은 델타 업데이트도 허용해야합니다

스냅의 주요 단점은 소프트웨어가 패키지에 포함 된 라이브러리 만 사용할 수 있다는 것입니다. 패키지 작성자가 모든 라이브러리를 패치하고 업데이트해야하므로 잠재적 인 보안 위험이 있습니다.

스냅은 현재 Ubuntu, Arch Linux, Fedora, Linux Mint, CentOS 및 Gentoo에서 실행할 수 있습니다. 그들은 Ubuntu Touch에서도 사용됩니다. 데스크톱, 서버, 전화, IoT 및 라우터 용으로 설계되었습니다.

Flatpak 은 스냅과 동일한 장점을 가지고 있습니다. 그러나 샌드 박싱에는 AppArmour 대신 네임 스페이스를 사용합니다. 주요 차이점은 Flatpak은 패키지에 포함 된 라이브러리와 다른 Flatpak의 공유 라이브러리를 모두 사용할 수 있다는 것입니다.

Flatpak의 개발자는 Red Hat 직원 Alexander Larsson입니다. Flatpak 소프트웨어는 현재 Arch Linux, Debian, Fedora, Mageia, Solus 및 Ubuntu에서 사용할 수 있습니다. 데스크탑에만 중점을 둡니다.

AppImages 는 Simon Peter에 의해 개발되었습니다. 스냅 또는 Flatpak에서와 같이 패키지에는 프로그램을 실행하는 데 필요한 모든 라이브러리가 포함됩니다. AppImage 프로그램은 샌드 박스가 아니며 실행하기 위해 루트 권한이 필요하지 않습니다. 프로젝트 웹 사이트에 따르면 AppImages는 Arch Linux, Centos, Debian, Fedora, OpenSUSE, Red Hat Linux 및 Ubuntu에서 실행되어야합니다.


3
솔 루스는 발표했다 flatpak에 대한 지원을 년 1 월 2017 년
안톤

8
그들은 모두 appimage를 기반으로해야합니다. 동일한 이데올로기를 재발 명하고 단편화와 혼란을 도입하는 대신. 또한이 휴대용 패키지에는 모든 라이브러리가 있으므로 apt 또는 .deb를 통해 설치된 공유 라이브러리를 사용하는 앱에 비해 크기가 훨씬 더 큽니다. 어느 것이 더 인기가 있는지 알아야하는 경우 flatpak은 현재 스냅을 치고 있습니다.
answerSeeker

스펙터 (Spectre) 공격이 이제 막 강해짐에 따라 보안상의 이유로 공유 라이브러리에 대한 관심이 줄어들 것입니다. :-)
Chris

4
@answerSeeker : apt 또는 .deb를 통해 설치된 공유 라이브러리를 사용하는 앱과 비교했을 때 휴대용 패키지의 크기가 상당히 크다는 의견은 실제 사실에 의해 반드시 뒷받침되는 것은 아닙니다. AppImages 및 Snap은 SquashFS 이미지로 압축됩니다 (Flatpak에서는 해당되지 않음). 런타임 중에도 디스크에 추출되지 않습니다. AppImages는 실행될 때 자체적으로 임시로 생성 된 마운트 포인트에 자동 마운트되어 /tmp/.mount_<random-chars>그곳에서 실행됩니다. 여전히 압축되어 있습니다! 아래 답변의 스크린 샷에서 LibreOffice 예제의 숫자를 참조하십시오.
Kurt Pfeifle

1
@PabloBianchi : 최신 AppImage (최신 '유형 2'버전 )는 기본 제공 업데이트 메커니즘을 가질 수 있습니다. 새 버전이 제공되고 사용자가 원하는 것으로 표시 한 후 원래 AppImage 위치에서 이진 델타 차이를 다운로드하여 다운로드 크기와 시간을 절약합니다. 도구 appimageupdatetool(CLI) 및 AppImageUpdate-Qt(GUI) 가이를 도와줍니다.
커트 파이 플
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.