로컬 파일에서 Snap 패키지를 설치하는 방법

로컬 파일에서 Snap 패키지를 설치하는 방법

Python으로 작성된 일회용 프로그램이 있습니다.

Snapcraft가 패키징할 수 있나요? 패키지를 로컬로 어떻게 설치합니까? Snaps용 GDebi 같은 것이 있나요?

답변1

다음은 Snap Store에서 스냅을 로컬로 설치하는 예입니다(원천).

그러나 이 방법은 효과가 없습니다. 작동하지 않는 이유와 대신 사용해야 하는 방법은 아래에 자세히 설명되어 있습니다.

$ snap download hello-world
Fetching snap "hello-world"
Fetching assertions for "hello-world"

$ sudo snap ack hello-world_27.assert 

$ sudo snap install hello-world_27.snap
hello-world 6.3 from 'canonical' installed

$ snap list
Name                   Version                   Rev   Developer      Notes
<snip>
hello-world            6.3                       27    canonical      -
  • 스냅에는 GDebi만한 것이 없습니다.
  • 이미 로컬 스냅이 있으므로 당연히 첫 번째 단계를 건너뜁니다. 다운로드할 필요가 없습니다.
  • 스냅을 만들었으므로 .assert 파일이 없으므로 두 번째 단계도 건너뜁니다.
  • 마지막으로, Snap은 기본적으로 서명을 사용하는 보안을 설정하지만...귀하의 보안은 서명되지 않았기 때문에...3단계에서 플래그를 사용하여 해당 보호를 비활성화해야 합니다 --dangerous.

따라서 로컬에서 만든 서명되지 않은 Snap을 만드는 방법은 다음과 같습니다.

$ sudo snap install /path/to/my-snap.snap --dangerous

답변2

TLDR:

abc.snap예를 들어 현재 폴더에 파일을 다운로드한 경우

노력하다:

snap install ./abc.snap --dangerous

설명:

스냅은 일반적으로 게시자의 개인 키로 서명됩니다. 패키지가 서명되면 개인 키를 가진 누군가가 패키지를 준비했다는 의미입니다. 이는 문자 그대로 다른 의미는 없습니다. 이는 패키지가 컴퓨터에 안전하다는 의미는 아닙니다. 패키지에 포함된 내용이 포함되어 있다는 의미는 아닙니다. 이것이 의미하는 것은 누군가가 자신의 개인 키로 서명했다는 것입니다.

서명 여부에 관계없이 베어 파일이 있는 경우 를 .snap사용하여 서명 확인을 건너뛸 수 있습니다 --dangerous. 사실 인터넷상의 임의의 사람에게 컴퓨터의 콘텐츠를 신뢰하는 것보다 더 위험한 것은 없습니다.

공식 스냅 스토어에서 구입할 수 있는 패키지에는 서명이 되어 있으므로, 만약 진짜 일이 발생하면 패키지가 게시된 계정을 추적하는 것이 가능합니다. 이는 좋은 사람들이 나쁜 패키지를 게시하는 것을 막을 수 있습니다. 패키지가 안전하다는 의미는 아닙니다. 나쁜 배우를 막지는 못할 것입니다.

관련 정보