스냅 패키지가 존재하는 이유-실제로 필요한가?


11

가정

솔직히, 나는 스냅 패키지에 대해 많이 알지 못하지만 이것은이 질문과 관련이 없습니다. 아래를 참조하십시오. 시스템이 기존 시스템과 크게 다르다고 가정합니다.

변화가 의미가 있습니까?

실질적인 필요가 충분히 있습니까? 즉, 새로운 사용 사례가 있습니까? 새로운 형식과 관련 인프라를 개발하기에 충분히 중요합니까?

새로운 사용 사례를 다루기 위해 현재 방법을 변경할 수 없었습니까?

아니면 요점을 놓치고 있습니까?

내가 보는 것은 대부분 마케팅이 될 수 있습니다. 최소한의 기술적 변화를위한 새로운 이름과 프리젠 테이션으로, 어떤 단체라도 "새롭고 더 나은"것으로 생각하고 실제로 사용될 수 있습니다. 또한 새 패키지는 기존 형식을 기반으로하기 때문에 대부분 사용자에게 표시되는 변경 사항 일 수 있습니다. 물론 좋은 해결책이 될 수 있습니다. 이 경우이 질문은 그다지 관련성이 없습니다.

그런 다음, 이것이 측면에 대한 답을 얻을 수있을 정도로 유용하기를 바랍니다. 질문이 새로운 사용자에게 도움이되지 않거나 혼란 스러우면 알려주십시오. 기꺼이 삭제하겠습니다.

그래서 왜 존재합니까?


배경

나의 첫 반응은 "그건 말이되지 않는다!"였습니다.

이것은 물리학 사이트에서 누군가가 왜 그의 새로운 아이디어에 대해 답하지 않는지 불행한 질문을 한 상황과 비슷합니다. 그것은 크랙 팟 아이디어처럼 강하게 보였다. 실제 물리적 지식과는 거리가 멀어 시작점을 찾기가 어려웠습니다. 나는 한 단어로 자신의 아이디어를 건드리지 않는 대답을 썼지 만 왜 크랙 팟 아이디어를 가정하지 않는 이유를 설명했습니다. 대답은 실제로 요점을 맞추고 있다고 생각합니다.

내 가정이 옳다면이 경우도 비슷합니다.

그러나 아마도 아닐 수도 있습니다.


"주된 의견 기반"이라는 찬성표가 있습니다. 답변이 의견 기반 일 것으로 예상됩니까? 기본적으로 그 자체로 답이 될 것입니다. 변경이 필요하다는 합의가 이루어지지 않았기 때문입니다. 따라서 반대 주장이있을 것입니다. 그것은 내 질문이 실제로 요점까지 매우 많으며 예상보다 유용하다는 것을 의미합니다!
Volker Siegel 2016 년

2
이 질문을 다시 열기로 투표했습니다. 패키지 관리자가 이미 존재하고 우분투 (및 다른 OS)에 이미 스냅이 있었을 때 스냅이 왜 도입되었는지 묻는 것입니다. 이것이 맞습니다. 이것이 실제로 주로 의견 기반의 질문이라면, 사실과 경험을 바탕으로 그에 대한 대답을 할 수 없다는 것을 의미합니다. 그러나 muru의 훌륭한 답변 에서 보았 듯이 이것은 사실이 아닙니다. 스냅을 사용해야하는 경우 (또는 경우에 따라)는 여전히 사람들이 주로 의견 기반 토론을 할 수있는 것입니다. 그러나 이것이 아닙니다.
Eliah Kagan

답변:


17

예, 실제로 필요합니다.

한 소프트웨어가 다른 소프트웨어에 의존 한 이후로 이와 같은 것이 실제로 필요했습니다.

이것을 분명히하자 :

의존성 관리는 어렵다 .

그것이 종속성 지옥 이라고 불리는 이유가 있습니다 . 의존성 지옥을 피하기 위해 RPM 및 데비안과 같은 패키징 시스템이 만들어졌습니다. 그러나 누군가 비용을 지불해야합니다.

  1. 프로그램이 종속성을 번들로 제공하는 Windows에서 사용자는 업그레이드 (및 보안 문제가없는 보안 문제)를 처리해야합니다. 개발자가 내 앱을 위해 X 버전을 원한다면 간단합니다. 앱과 함께 제공합니다. 이제 업데이트를 어떻게 처리합니까?
  2. 프로그램이 저장소의 소프트웨어에 의존 할 수있는 대부분의 Linux 배포판 (Debian 또는 Red Hat 다음)에서는 저장소의 프로그램이 저장소의 소프트웨어에 의존 해야 합니다. 내 앱을 위해 X 버전을 원하고 배포판에서 X를 제공하면 간단합니다. 그리고 배포판이 그렇지 않다면? 그런 다음 ???
    • 배포판에 여러 버전을 추가하면 관리자의 부하가 증가합니다.
    • 선택한 종속성 버전을 사용할 수 없게되면 개발자의 부담이 증가합니다
    • 응용 프로그램 선택 버전을 사용하는 능력을 상실하면 사용자가 실망합니다

두 방법 모두 상당한 자유 손실이 있습니다.

그리고 이것은 스냅이 들어오는 곳입니다. 개발자가 버전 X를 포함하게하고 패키징 시스템이 업데이트를 관리하게합니다. 누가 비용을 지불합니까? 사용자:

  • 더 많은 공간이 필요합니다.
  • 의존성이 패치 될 때 스냅을 다시 작성하지 않는 부주의 한 개발자로 인해 위험에 처하게합니다.

대가로 어떤 혜택을 받습니까?

  • 솔직히 사람들이 신경 쓰지 않는 업데이트를 통한 보안 외에도 사용자는 스냅으로 인한 종속성에 대해 걱정할 필요가 없습니다. 이 단어는 대부분 의미를 잃습니다.
  • 보안 업데이트 외에도 소프트웨어 개발자는 사용자가 올바른 종속성을 설치하도록하는 것에 대해 걱정할 필요가 없습니다.

3
그렇습니다 . 종종 지옥 은 그것을 잘 묘사 한다고 생각 합니다.
Volker Siegel 2016 년

반대의 목소리를 만들어 보자 :) 왜 사용하지 않는가 /opt?
user.dz 2016 년

@Sneetsher는 다음과 같이 생각합니다. / opt의 한 앱이 / opt의 다른 앱을 쓰지 못하게하는 이유는 무엇입니까? 더 나쁜 것은, 한 앱이 다른 앱의 개인 키를 읽지 못하게하는 방법은 무엇입니까?
Evan

@Evan, 잘 AppArmor커버하기 위해 이미 종료되었습니다. 그러나 보호 방법이 다를 수 있습니다. 어쨌든 주제는 탑승입니다.
user.dz 2016 년

muru,이 모든 것을 써 주셔서 감사합니다. 그건 그렇고, 왜 구글에 대한 첫 번째 대답이었습니다. 그래도 궁금합니다. 시스템에서 Chromium에 스냅을 사용하고 있음을 알 수 있습니다. 이제 Skype를 설치하고 싶습니다. 보통 나는 그럴 수 sudo apt-get install skype있지만 스냅으로 사용할 수 있음을 알았습니다. 그러나 Chromium을 설치할 때 스냅을 사용하기 위해 특별한 작업을 수행하지 않았습니다. 그러나 그렇습니다. 이제 스냅이 존재하는 이유를 이해하고 있습니다. 걱정해야하는지 궁금합니다 sudo snap install skype.
SDsolar

3

유용한 스냅 기능 중 하나는 release , 후보 , master 등과 같이 둘 이상의 채널을 제공하는 개발자를위한 채널을 선택할 수있는 기능입니다 .

예를 들어 채널 버튼을 클릭하면 nextcloud아래 스크린 샷에 대화 상자가 표시됩니다.

다른 강력한 판매 포인트는 보안 정책 컨텍스트에 의해 제어되는 격리, 불변성 및 샌드 박싱입니다 .이를 통해 '플러그'라고도하는 앱별 권한을 정의 할 수 있습니다.

  • 읽기 / 쓰기 위치
  • 이동식 저장소에 액세스
  • 스냅이 허용 된 / 블랙리스트 된 국가
  • 네트워크 액세스
  • 카메라, 프린터, 조이스틱, GPS 위치
  • 환경 설정
  • ... 스냅 인터페이스의 전체 목록

이 접근 방식은 어느 정도의 권한 및 컨텐츠 제공자 / 수신자와 함께 MacOS 앱 번들 및 Android의 앱 샌드 박싱을 모방합니다.

우분투 스냅 패키지 선택 채널

이제 고유 한 버전의 특정 라이브러리, 고유 한 버전의 Python / Ruby / NodeJS 런타임으로 각각 12 개의 앱을 실행해야하며 의존성 문제가 발생하여 시스템 라이브러리를 엉망으로 만들거나 오염시키고 싶지 않은 경우, 시스템 Python / Node / Perl / Ruby 모듈 등

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.