Ubuntu가 Snappy 패키지로 이동하는 이유는 무엇입니까?


127

Ubuntu가 .deb 패키지를 덤프하고 .snappy 패키지로 이동하는 이유는 무엇입니까? (적어도 현재는 정규 배포를 위해 .deb 패키지를 유지하고 있습니다). .deb는 이미 가장 인기있는 패키지입니다.

이것은 Snappy 패키지 형식이 무엇인지에 대한 아이디어를 제공합니다. 그러나 기존 deb 패키지는 어떻게됩니까? Snappy로 이전 할 때 분명한 이점이 있습니까? 고통받을만한 가치가 있습니까?


링크는 borken
y30

답변:


145

Snappy 는 데스크탑 운영 체제로서 Linux의 근본적인 문제 중 하나를 해결하려는 시도 이며이 문제는 패키지 가용성 및 패키지 배포입니다. 그러나 Snappy는 뎁을 완전히 대체하기위한 것은 아닙니다. 스냅과 뎁은 서로 함께 작동합니다.

저는 Linux 애호가이며 Linux 응용 프로그램의 프로젝트 관리자입니다. Linux 시스템 전체를 좋아하지만 패키지 배포의 현재 상태를 멸시합니다. Snappy는이 근본적인 문제를 해결하는 것을 목표로합니다.

Linux에서 패키지는 대부분 배포판에 따라 다르지만 (다양한 데비안 기반의 모든 시스템에서 실행되지만 어떤 방식 으로든 제한하는 하나의 DEB를 만들 수는 있지만) 패키지는 배포판에만 한정되지 않습니다.

Ubuntu 16.04에 대한 deb 패키지를 만들면 해당 패키지가 Ubuntu의 모든 버전에서 작동하지 않습니다. 또한 14.04, 15.04, 15.10 등을 만들어야합니다. 이것들은 단지 Ubuntu debs입니다. 또한 데비안 용으로 만들어야합니다. 그런 다음 Fedora 21, 22, 23 등의 RPM을 만들어야하며 해당 RPM은 openSUSE를 포함하지 않습니다.

즉, 새로운 버전의 응용 프로그램을 배포하고 배포판 관리자가 저장소에 포함시킬 때까지 기다리지 않으려면 (일반적으로 터무니없는 시간이 걸립니다) Linux 배포판의 대부분을 다루기 위해 20 개 이상의 패키지를 제공해야합니다 그리고 여전히 모든 것을 다루지는 않을 것입니다.

Ubuntu의 Snap은 Snap을 지원하는 모든 Ubuntu 버전에서 실행되는 하나의 Snap을 만드는 방법을 제공합니다. 더 이상 배포판 버전이 아닙니다.

스냅은 다른 배포판에 통합 될 수 있습니다. 더 이상 배포판이 구체적이지 않습니다.

스냅은 패키지 개발자가 관리 할 수있는 리포지토리에서 제어되므로 새 버전을 출시하려고 할 때 다른 사람을 기다릴 필요가 없습니다.

기본적으로 Linux 패키지 배포에 대해 싫어하는 모든 것은 Snappy에 의해 해결됩니다. 이러한 문제는 AppImagesFlatpaks에 의해 해결 될 것 입니다.

TL; DR

리눅스 패키지 배포는 개발자와 사용자 모두에게 끔찍합니다. Snappy (AppImages 및 Flatpak)는 Linux 기반 시스템의이 근본적인 문제를 해결하기위한 것입니다.


이 질문은 실제로 왜 이사했는지에 관한 것이지만 누군가 Snap이 무엇이고 어떻게 작동하는지에 대해 더 배우고 싶다면. 이 비디오 를 만들어 구조를 심층적으로 설명했습니다.


12
그 누구도 페도라, 데비안 또는 우분투의 많은 버전을 지원하지 않는다는 점을 제외하고는 소리를 너무 어렵게 만듭니다. 16.04가 종료 될 때 15.04는 EOL입니다. Fedora 23이 나올 때까지 F21은 한 달도 남지 않았으며 사람들이 릴리스를 건너 뛸 수있을 정도로 길었습니다. 그것은 중요하지 않습니다. 기본 RPM 사양 파일 또는 기본 데비안 패키지를 작성했으면 다른 배포판은 수정 된 버전이며 모든 새 릴리스에 대해 해당 파일을 빌드하는 것은 Jenkins 작업입니다.
존 프랭클린

10
우분투 패키지는 14.04, 15.10, 16.04와 같은 많은 버전을 위해 만들어졌으며 일부는 12.04와 같은 오래된 LTS를 계속 지원합니다. || Fedora에는 LTS가 없으므로 지원할 버전이 적지 만 지원 가능한 3 가지 버전이있는 최소 2 개의 버전이 있습니다. || 어떤 소리가 더 나아지나요? A. 하나의 배포판에 대해 동일한 응용 프로그램의 각 버전의 여러 패키지를 만들고 여러 배포판에 대해 수행하십시오. 또는 B. 앱의 각 버전마다 하나의 스냅을 만들고 배포판과 배포판의 모든 버전에서 작동합니다. 그렇다. 나는 그 시나리오에서 스냅에 투표한다.
Michael Tunnell

4
@ user447607 Snaps and Snappy가 무엇인지 오해하고 있습니다. 중복성이 많지 않으며 런타임이 있으며 공간을 절약하기 위해 다른 스냅에 의존하는 스냅 옵션이 있습니다. 사실 이것은 이미 가능합니다. Snappy는 스냅을 처리하는 다른 패키지 관리 시스템이며 apt는 여전히 DEB와 관련되어 있습니다. 스냅은 DEB를 대체하지 않고 대신 DEB를 확장하므로 두 방법을 모두 다루는 하이브리드 방식을 사용할 수 있습니다. 실제로 스냅은 기존 DEB를 통해 자동으로 생성 될 수 있습니다.
Michael Tunnell

2
@konung Docker는 Snaps의 시스템 코어 구성 요소와의 통합뿐만 아니라 컨테이너의 순수 컨테이너화입니다. 예를 들어 Docker는 컨테이너에 사용하기 위해 모든 것이 컨테이너에 포함되어야합니다. 그러나 Snap은 필요한 것만 포함하면되며 다른 것을 활용하기 위해 Snap 바깥 쪽을 볼 수 있습니다. Docker에는 실제 업데이트 메커니즘이 없지만 Snaps는 APT for Debian과 유사한 패키지 관리 시스템을 사용하기 때문에 Snap의 인프라도 훨씬 향상되었습니다. 원래 게시물에 링크 된 동영상을 확인하시기 바랍니다. 곧 업데이트 버전을 만들 계획입니다.
Michael Tunnell

6
@konung Snaps는 컨테이너가 아닙니다. 예를 들어 많은 사람들이 Docker와 Docker를 비교하지만 Docker는 Snap이 아닌 진정한 컨테이너입니다. 스냅은 컨테이너와 유사하지만 제한 외부에서 예외를 허용하므로 전체 컨테이너가 아닙니다. 예를 들어 설정 / 구성 / 데이터 항목은 / home 폴더 내부의 Snap 외부에 저장됩니다. 이렇게하면 동일한 데이터 / 구성을 모두 공유하기를 원하는만큼의 스냅 버전을 가질 수 있습니다.
Michael Tunnell

20

간단합니다. Snappy 패키지에는 필요한 모든 파일이 포함되어 있습니다 . 여기서 .deb 패키지는 다른 패키지에 종속됩니다.

부정적인 측면은 모든 파일을 포함하기 때문에 snappy가 더 크다는 것입니다. 그러나 가장 큰 장점은 다른 패키지에 문제가 발생하지 않으며이 패키지를 제거해도 다른 패키지는 종속성 누락의 영향을받지 않습니다.


7
또한 보안 악몽을 의미합니다. 오, 틀 렸음을 증명해주세요. 옳은 것이 끔찍하기 때문입니다.
Jürgen A. Erhard 2016 년

27
따라서 본질적으로 그들은 과거의 리눅스 사용자들에 의해 아이러니하게 조롱 된 Windows 경로를 취하고 있습니다.
Pithikos

1
안녕하세요 @ JürgenA.Erhard, 내가 이해하는 것처럼 각 패키지에는 암호화와 같은 자체 라이브러리가 있습니다. 따라서 하나의 검증 (즉, 자체 컴파일)을 확인하는 대신 기본적으로 모든 패키지를 개별적으로 처리해야합니다. "보안 악몽"?
Ilya

수정 : 런타임으로 작동하는 코어 스냅이 있으므로 "필요한 파일이 모두 포함되어"정확하지 않습니다. 그러나 이것은 원래 답변 뒤에 추가되었으므로 당시에는 정확했지만 그 이후로 많은 변화가있었습니다.
Michael Tunnell

7

Snappy Personal은 패키지 관리 / 업데이트에 대한 새로운 접근 방식으로 더욱 빠르고, 안정적이며, 거래 적이며 강력한 보안을 제공하도록 설계되었습니다.

데스크톱 스핀 중 하나 이상에 대한 Snappy-Ubuntu의 Desktop-Next 스핀을 .deb에서 Snappy Personal로 전환하는 계획입니다.

.deb는 여전히 존재하며 일반 사용자는 .deb를 snappy로 변환 할 때까지 계속 사용할 수 있습니다.

Snappy는 현재 Snappy를 핵심 Os로 사용하고있는 ioT 간의 패키지 관리 개념을 통합하는 데 사용됩니다. 또한 snappy는 전체 이미지의 개념을 사용하기 때문에 업데이트 / 업그레이드 중 업데이트를 개선하고 문제를 해결하는 더 좋은 방법을 제공합니다. 즉, 업데이트는 단 한 가지이므로 실패 할 수있는 수단이 아닙니다.

자세한 내용은 해당 기사를 읽으십시오.

http://www.webupd8.org/2015/04/ubuntu-desktop-to-eventually-switch-to.html

http://www.itworld.com/article/2914850/linux/is-ubuntu-moving-away-from-deb-packages-here-is-the-complete-story.html

또한 많은 질문에 대답하는 Ubuntu on Air의 QA 비디오가 있습니다 https://youtu.be/lHO8j8uo5Z4


9
이전 버전과 호환되는 .deb 버전 2 패키지를 만들 수없는 이유는 무엇입니까? 왜 리눅스 커뮤니티에서 분할을 하는가?. 현재 계획은 완전히 퍼지지 않는 한 Snappy로 천천히 마이그레이션하는 것입니다.
Vishnudev K

그들은 현재 Snappy를 핵심 운영 체제로 사용하고있는 ioT 간의 패키지 관리 개념을 통합하고자합니다. 게다가 snappy는 전체 이미지의 개념을 사용하기 때문에 업데이트 / 업그레이드 중 업데이트를 개선하고 문제를 해결하는 더 좋은 방법을 제공합니다. 이는 전체 업데이트라는 개념을 사용하기 때문에 업데이트가 실패 할 것입니다.
Maythux

3
리눅스에서 패키징을위한 다양한 방법 (이미 써드 파티 프로그램에서 이미 문제를 일으킨다)으로 충분히 나쁘다. 또 다른 방법은 더 큰 혼란을 야기 할 것이다. :-–
Wilf

@Maythux. iOS 란 무엇입니까?
TRiG

4
@Maythux xkcd.com/927
CVn

4

다른 사람들이 사용할 수있는 제품 , 즉 제품 을 만들려고한다면 오늘날 Ubuntu Core 로 전환 해보십시오 .

이 소프트웨어는 특성상 스냅 샷으로 제공되며, 원래 제작자가 의도 한대로 모든 시스템에서 설치 및 업그레이드가 가능하다는 확신을 가질 수 있습니다. 다른 특성은 격리 된 실행 및 시스템과 통신하고 설치된 스냅을 구성하기위한 깔끔한 인터페이스와 같은 보안입니다.

이러한 것을 달성하기 위해 스냅 은 데비안 패키지와 크게 다릅니다.

  • 데비안 패키지는 파일을 여러 곳에 분산시킬 수있는 반면 스냅은 격리 된 시스템에서 결정된 위치에 실시간으로 저장됩니다.
  • 스냅을위한 관리자 스크립트가 없습니다.

다시 원래의 질문에가는 사용 또는 사용하지 당신은 내가 당신이 정기적으로 우분투 데스크톱과 스틱 제안 우분투 코어와 바탕 화면을 대체하려는 경우. 우분투 코어는 개인적으로 아무것도 부르지 않기를 원합니다 . 왜냐하면 혼자이기 때문에 아무것도 제공 할 수없는 아주 좋은 빌딩 블록을 제공하므로 요즘 IoT에서 인기가 있습니다.


3
다시 말하면 창문이하는 것과 똑같습니까?
Vishnudev K

1
그것은 광범위한 질문입니다. Windows는 특히 무엇을합니까?
sergiusens

4
Windows에 VLC를 설치하고 있으며 공간을 낭비하는 데 필요한 모든 패키지를 설치합니다. 리눅스에서와 같이 우리는 우리가 가지고 있지 않은 패키지 만 얻습니다. 업데이트 및 HDD 사용 측면에서 매우 편리합니다.
Vishnudev K

2
비슷합니다. apk전화기에 설치하는 것과 다르지 않습니다 . 응용 프로그램은 적합하다고 생각되는 종속성으로 발전 할 수 있습니다. framework스냅 을 사용하는 것과 같이 이것을 분리하는 방법은 있지만 철저한 보안 검토가 필요합니다. Windows와의 차이점은 여기에 원하는 위치에 착륙 할 수있는 설치 관리자 가 없다는 것입니다.
sergiusens
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.