>시스템 튜토리얼 >리눅스 >비공개 스냅이 포함된 공장 이미지를 만들어보세요!

비공개 스냅이 포함된 공장 이미지를 만들어보세요!

WBOY
WBOY앞으로
2024-01-07 10:26:09740검색
소개 이 게시물은 "공장 이미지를 만들고 싶지만 내 스냅을 공개하고 싶지 않습니다"라는 질문에 대한 응답으로 Ubuntu Core에서 프로덕션을 위한 ROS 프로토타입 개발 시리즈에 추가된 것입니다. 물론 이 질문과 답변은 로봇 공학에만 국한된 것이 아닙니다. 이번 포스팅에서는 이 질문에 대해 두 가지 방법으로 답변해 드리겠습니다.

시작하기 전에 Ubuntu Core 이미지 제작에 대한 배경 지식이 필요합니다. [Ubuntu Core 3 시리즈 기사(특히 5부)에서 ROS 프로토타입을 완성품으로 개발)을 읽었다면 이미 필요한 배경 지식을 가지고 있는 것입니다. 아직 보지 못했다면 Ubuntu Core 이미지 만들기에 대한 튜토리얼을 확인해 보세요.

최신 상태이고 내가 "모델 정의" 또는 "모델 어설션"이라고 말할 때 내가 말하는 내용을 알고 계시다면 다양한 방법을 통해 비공개 sanps를 사용하여 Ubuntu Core 이미지를 만들어 보겠습니다.

방법 1: 스토어에 스냅을 업로드하지 마세요

이것이 가장 쉬운 방법입니다. 먼저 모델 정의의 예인 amd64-model.json을 살펴보세요.

으아아아

이를 모델 어설션으로 변환해 보겠습니다.

으아아아

모델 어설션: amd64.model을 얻은 후 지금 ubuntu-image에 제공하면 벽에 부딪히게 됩니다.

으아아아

사실 매장에 kyrofa-test-snap이라는 스냅은 없어요. 여기서 모델 정의(및 변환된 어설션)에는 일련의 스냅 이름만 포함되어 있다는 점에 유의하는 것이 중요합니다. 로컬에 해당 이름의 스냅이 있는 경우 저장소에 없더라도 --extra-snaps 옵션을 통해 어설션에서 해당 이름을 일치시켜 ubuntu-image에 이를 사용하도록 지시할 수 있습니다.

으아아아

이제 스냅을 스토어에 업로드하지 않고 개인 스냅이 사전 설치된 Ubuntu Core 이미지(pc.img)를 얻었습니다. 그러나 여기에는 큰 문제가 있습니다. ubuntu-image는 경고 메시지를 표시합니다. 연결된 저장소를 통해 스냅을 사전 설치하지 않으면 해당 이미지를 구운 장치에서 이를 업데이트할 방법이 없다는 의미입니다. 새 이미지를 만들고 장치에 다시 플래시해야만 업데이트할 수 있습니다.

방법2: 브랜드 매장 이용하기

스토어 계정에 가입하고 Dashboard.snapcraft.io를 방문하면 실제로 표준 Ubuntu 스토어에서 스냅을 보는 것입니다. 시스템에 새로 snapd를 설치한 경우 기본적으로 이 스토어에서 다운로드됩니다. Ubuntu Store에 비공개 스냅을 게시할 수는 있지만 귀하(및 귀하가 추가한 공동 작업자)만이 사용할 권한이 있으므로 이를 이미지에 사전 설치할 수 없습니다. 이 상황에서 미러링을 할 수 있는 유일한 방법은 스냅샷을 공개적으로 게시하는 것입니다. 하지만 이는 이 게시물의 목적에 부합하지 않습니다.

이 사용 사례에는 소위 브랜드 스토어가 있습니다. 브랜드 스토어는 여전히 Ubuntu Store에서 호스팅되지만 특정 회사나 장치에 맞게 맞춤화되고 전문화된 버전입니다. 브랜드 스토어는 표준 Ubuntu 스토어에서 상속되거나 상속되지 않을 수 있으며, 브랜드 스토어는 모든 개발자에게 공개되거나 특정 그룹으로 제한되도록 선택할 수 있습니다(비공개로 유지하는 것이 우리가 원하는 것입니다).

이 기능은 유료 기능입니다. 브랜드스토어 신청이 필요합니다. 요청이 승인되면 사용자 이름 아래의 "접근 가능한 매장"에 액세스하여 새 매장을 볼 수 있습니다.
制作包含私有 snap 的工厂镜像!
거기에서 당신이 접근할 수 있는 여러 상점을 볼 수 있습니다. 최소한 두 개의 표준 Ubuntu 스토어와 새로운 브랜드 스토어가 있습니다. 브랜드 매장(빨간색 상자)을 선택하고 매장 ID(파란색 상자)를 입력하고 기록해 두세요. 나중에 필요합니다.
制作包含私有 snap 的工厂镜像!
브랜드 스토어에 이름을 등록하거나 스냅을 업로드하는 경우 표준 스토어가 아닌 귀하의 브랜드 스토어에 업로드된다는 점만 제외하면 표준 스토어와 동일한 방법을 사용합니다. 브랜드 스토어를 비공개로 설정하면 해당 스냅이 외부 사용자에게 표시되지 않습니다. 하지만 여기서 주목해야 할 점은 처음으로 스냅을 업로드할 때 웹 인터페이스를 통해 조작해야 한다는 것입니다. 그 후에는 평소처럼 Snapcraft로 계속 작업할 수 있습니다.

그럼 이것들은 어떻게 바뀌었나요? 내 "kyrofal-store"는 Ubuntu 저장소에서 스냅을 상속하고 안정 채널에 릴리스된 "kyrofa-bran-test-snap"도 포함합니다. 이 스냅은 Ubuntu 스토어에서 사용할 수 없으며 검색해도 찾을 수 없습니다:

으아아아

하지만 앞서 기록한 스토어 ID를 사용하면 Ubuntu 스토어 대신 브랜드 스토어에서 스냅을 다운로드하는 모델 어설션을 생성할 수 있습니다. 다음과 같이 JSON 파일에 "store" 키를 추가하기만 하면 됩니다.

으아아아

방법 1의 방법을 사용하여 서명하면 다음과 같이 브랜드 스토어 프라이빗 스냅이 사전 설치된 Ubuntu Core 이미지를 간단히 만들 수 있습니다.

으아아아

이제 방법 1의 마지막과 마찬가지로 공장에서 보낼 pc.img가 준비되었습니다. 그리고 이 방법을 사용하여 생성된 이미지의 모든 스냅은 스토어에서 다운로드됩니다. 즉, 평소처럼 자동으로 업데이트됩니다.

결론

지금까지 이를 수행하는 방법은 두 가지뿐입니다. 이 글을 쓰기 시작했을 때 세 번째 방법(스냅을 비공개로 만든 후 이를 사용하여 미러를 만드는 것)이 있을 수도 있겠다고 생각했지만, 그건 불가능하다는 것이 밝혀졌습니다.

이외에도 내부 배포나 기업 매장에 대한 요청도 많이 받았습니다. 아직 해당 제품이 발표되지는 않았지만 매장 팀에서 작업 중입니다. 사용 가능해지면 이에 대한 기사를 작성하겠습니다.

도움이 되길 바랍니다!

위 내용은 비공개 스냅이 포함된 공장 이미지를 만들어보세요!의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 linuxprobe.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제