Co to jest devmode dla snapów?

9

Słyszałem o możliwości używania przystawek w trybie programisty.

Co to jest ten tryb i do czego mogę go używać?

David Planella
źródło

Odpowiedzi:

8

Tryb programisty, lub devmodew skrócie, umożliwia programistom i użytkownikom instalowanie snapów bez egzekwowania zasad bezpieczeństwa. Na przykład

sudo snap install notes --devmode

Po zainstalowaniu w ten sposób przyciągania zachowują się podobnie do tradycyjnych pakietów .deb pod względem dostępu do zasobów systemowych. Oznacza to, że snapy mają dostęp do systemu bez ograniczenia izolacji aplikacji i interfejsów.

Tryb programisty jest przydatny, gdy:

  • Testowanie przystawki w pierwszych etapach rozwoju, aby upewnić się, że działa zgodnie z oczekiwaniami
  • Tymczasowo omijaj wymuszanie bezpieczeństwa, jeśli nie jest jeszcze dostępny interfejs kontrolujący określony dostęp do systemu wymagany przez przystawkę

Jako programista możesz także rozluźnić wymagania bezpieczeństwa na poziomie snapcraft.yaml , deklarując devmodezamknięcie zamiaststrict

confinement: devmode

Będziesz wtedy oznaczać użytkowników, z którymi ta aplikacja musi być specjalnie zainstalowana --devmodedo pracy. Brak określenia przełącznika spowoduje niepowodzenie instalacji.

Oznacza to, że użytkownicy będą musieli wyraźnie potwierdzić, że zainstalują twoją przystawkę w trybie programisty.

David Planella
źródło
2
Warto wspomnieć o nowej confinementwłaściwości obsługiwanej w YAML (więcej informacji tutaj ).
Kyle
1
Może również wspomnieć, że aplikacje z confinement: devmodemożna przesyłać tylko na kanały alfa / beta.
dholbach,
@dholbach dzięki! Które kanały są dokładnie? Widzę beta, ale wydaje się, że nie ma alphakanału na stronie dokumentacji kanałów - oprócz wzmianki na zdjęciu
David Planella
1
David Callé mówi mi: «Alpha nie istnieje w sklepie (stąd został usunięty z dokumentu kanału, który wcześniej o nim wspominał), to„ edge ”i„ beta ”. Interfejs sklepu ostrzega również podczas etapu przesyłania: „Jeśli ograniczenie jest ustawione na devmode, przesyłanie musi być kierowane na kanały rozwoju (beta, Edge). Inne kanały zostaną wykluczone.” »
David Planella