Perché Ubuntu sta passando ai pacchetti Snappy?


127

Perché Ubuntu scarica i pacchetti .deb e passa ai pacchetti .snappy? (Almeno per ora mantengono il pacchetto .deb per le normali distribuzioni). .deb è già il packaging più popolare là fuori.

Questo dà un'idea di quale sia il formato del pacchetto Snappy. Ma cosa accadrà ai pacchetti deb esistenti? C'è qualche chiaro vantaggio nel passare a Snappy? Ne vale la pena?


1
Il link è borken
y30

Risposte:


147

Snappy è un tentativo di risolvere uno dei problemi fondamentali con Linux come sistema operativo desktop e tale problema è la disponibilità e la distribuzione dei pacchetti. Tuttavia, Snappy non è completamente destinato a sostituire i detriti. Snaps e Debs lavorano fianco a fianco.

Sono un appassionato di Linux e un project manager di un'applicazione Linux. Mentre adoro i sistemi Linux nel loro insieme, disprezzo l'attuale stato di distribuzione dei pacchetti. Snappy mira a risolvere questo problema fondamentale.

In Linux, i pacchetti sono per la maggior parte specifici della distro (è possibile creare un DEB che gira su tutti i diversi sistemi basati su Debian ma che in qualche modo ti limiti) ma non solo che i pacchetti sono specifici della versione.

Se creo un pacchetto deb per Ubuntu 16.04, quel pacchetto non funzionerà su nessuna versione di Ubuntu. Devo anche fare un 14.04, 15.04, 15.10 e così via. Questi sono solo debs Ubuntu. Devo anche crearne uno per Debian. Quindi devi creare RPM per Fedora 21, 22, 23, ecc. E questi RPM non coprono nemmeno openSUSE.

Questo significa che se voglio rilasciare una nuova versione di un'applicazione e non aspettare che i manutentori della distro la includano in un repository (che di solito richiede una quantità assurda di tempo), allora devo fornire oltre 20 pacchetti per coprire la maggior parte delle distribuzioni Linux e comunque non coprirà tutto.

Gli Snap di Ubuntu forniscono un modo per creare uno Snap che funziona su ogni versione di Ubuntu che supporti gli Snap. Non è più specifica la versione distro.

Gli snap possono essere integrati in altre distro. Potenzialmente non è più specifico per la distribuzione.

Gli snap sono controllati in un repository che deve essere gestito dagli sviluppatori di pacchetti, quindi quando vogliamo rilasciare una nuova versione non dobbiamo aspettare nessuno.

In sostanza, tutto ciò che odio della distribuzione di pacchetti Linux sarà risolto da Snappy. Anche se è importante notare che questi problemi sarebbero risolti anche da AppImages e Flatpaks .

TL; DR

La distribuzione dei pacchetti Linux è terribile sia per gli sviluppatori che per gli utenti. Snappy (anche AppImages e Flatpaks) hanno lo scopo di risolvere questo problema fondamentale con i sistemi basati su Linux.


Questa domanda riguarda davvero il motivo della mossa, ma se qualcuno è interessato a saperne di più su cosa sono gli Snap e su come funzionano. Ho creato questo video per spiegare in profondità la struttura.


13
Accidenti, lo fai sembrare così difficile, tranne per il fatto che nessuno supporta mai molte versioni di Fedora, Debian o Ubuntu. Quando uscirà il 16.04, il 15.04 è EOL. Quando Fedora 23 uscirà, F21 ha ancora meno di un mese di vita, il tempo necessario per saltare un rilascio. Non che avrebbe importanza. Una volta che hai scritto il file delle specifiche RPM di base o il pacchetto Debian di base, le altre distro sono versioni ottimizzate, e quindi è solo un lavoro di Jenkins costruirle per ogni nuova versione.
John Franklin,

10
I pacchetti Ubuntu sono realizzati per molte versioni: 14.04, 15.10, 16.04 e alcuni continuano a supportare vecchi LTS come 12.04 che è ancora supportato. || Fedora non ha LTS, quindi meno versioni da supportare ma comunque almeno 2 versioni con possibili 3 versioni da supportare. || Cosa ti suona meglio? A. crea pacchetti multipli per ogni versione della stessa applicazione per una distribuzione e fallo per più distribuzioni. OPPURE B. esegui uno snap per ogni versione della tua app e che funzioni su qualsiasi distribuzione e su qualunque versione di detta distribuzione. Sì, voto per gli scatti in quegli scenari.
Michael Tunnell,

4
@ user447607 Stai fraintendendo cosa sono Snaps e Snappy. Non ci sarà un sacco di ridondanza, ci saranno tempi di autonomia e ci saranno opzioni per fare in modo che gli snap dipendono da altri snap per risparmiare spazio. Questo è già possibile, in effetti. Snappy è un diverso sistema di gestione dei pacchetti che gestisce gli snap e apt è ancora coinvolto nei DEB. Gli snap non sostituiscono i DEB, ma aumentano i DEB in modo da ottenere un approccio ibrido che copre entrambi i metodi. In effetti, gli snap possono essere generati automaticamente tramite DEB esistenti.
Michael Tunnell,

2
@konung Docker è puramente containerizzazione laddove Snaps lo possiede e l'integrazione con i componenti principali del sistema. Ad esempio, Docker richiede che tutto sia incluso nel contenitore per usarlo. Tuttavia, gli snap richiedono solo l'inclusione delle necessità e quindi potrebbero apparire al di fuori dello snap per utilizzare altre cose. Gli Snap hanno anche un'infrastruttura MOLTO migliore perché Docker non ha un vero meccanismo di aggiornamento ma gli Snap utilizzano un sistema di gestione dei pacchetti simile a APT per Debian. Suggerisco di guardare il video che ho collegato nel post originale. Ho intenzione di fare presto una versione aggiornata.
Michael Tunnell,

6
Gli snap @konung non sono contenitori. Molte persone li confrontano con Docker, ad esempio, ma Docker è un vero contenitore dove gli Snaps non lo sono. Gli snap sono simili a contenitori ma non sono contenitori completi perché consentono eccezioni al di fuori del confinamento. Ad esempio, le impostazioni / configs / data stuff sono archiviate all'esterno dello Snap all'interno della cartella / home. In questo modo puoi avere tutte le versioni di uno snap quante vuoi tutte condividendo gli stessi dati / configurazioni.
Michael Tunnell,

20

È semplicemente semplice. Il pacchetto Snappy contiene tutti i file richiesti , dove i pacchetti .deb hanno dipendenze da altri pacchetti.

Il lato negativo è che snappy è più grande perché contiene tutti i file. Ma il grande vantaggio è che non si hanno problemi con altri pacchetti e se si rimuove questo pacchetto, nessun altro pacchetto sarà influenzato dalle dipendenze mancanti.


7
Significa anche incubo di sicurezza. Oh, per favore, dimostrami che ho torto ... perché avere ragione sarebbe così orribile.
Jürgen A. Erhard,

27
Quindi, in sostanza, stanno prendendo il percorso di Windows, che ironicamente è stato deriso in passato dagli utenti Linux.
Pithikos,

1
Hey @ JürgenA.Erhard, a quanto ho capito, ogni pacchetto avrà le sue librerie, ad esempio la crittografia, quindi invece di verificarne una (ovvero l'auto-compilazione), devi praticamente affrontare ogni pacchetto individualmente, è quello che intendevi "incubo di sicurezza"?
Ilya,

Correzione: "contiene tutti i file richiesti" non è preciso in quanto vi sono scatti di base che agiscono come runtime. Tuttavia, questo è stato aggiunto dopo la risposta originale, quindi era corretto al momento, ma da allora molte cose sono cambiate.
Michael Tunnell,

7

Snappy Personal, il loro nuovo approccio alla gestione / aggiornamento dei pacchetti progettato per essere più veloce, più affidabile, transazionale e con una maggiore sicurezza.

Snappy per almeno uno dei loro giri sul desktop - il piano è quello di cambiare lo spin Desktop-Next di Ubuntu da .deb a Snappy Personal.

.deb sarà ancora lì e un utente normale può ancora usarlo regolarmente convertendo il .deb in scattante.

Snappy verrà utilizzato per unificare il concetto di gestione dei pacchetti tra lo ioT che ora utilizza snappy come Os principale. inoltre snappy fornisce un modo migliore di aggiornamento e di liberarsi del problema durante l'aggiornamento / upgrade poiché utilizza il concetto di intera immagine, il che significa che l'aggiornamento sarà solo un pezzo e quindi nessun modo di fallire

Leggi quegli articoli per maggiori informazioni:

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

C'è anche un video QA di Ubuntu in onda che risponde a molte domande https://youtu.be/lHO8j8uo5Z4


9
perché non possono creare un pacchetto .deb versione 2 con retrocompatibilità? Perché fare una divisione nella comunità di Linux? Per ora il piano è migrare lentamente su Snappy a meno che non sia un totale flop.
Vishnudev K,

vogliono unificare il concetto di gestione dei pacchetti tra lo ioT che sta usando snappy come Os principale. inoltre snappy fornisce un modo migliore di aggiornamento e di liberarsi del problema durante l'aggiornamento / upgrade poiché utilizza il concetto di intera immagine, il che significa che l'aggiornamento sarà solo un pezzo e quindi nessun mezzo di errore
Maythux,

3
È abbastanza male con la grande varietà di metodi per il packaging in Linux (che già causa problemi con programmi di terze parti), un altro farà solo un casino più grande: - /
Wilf

@Maythux. Che cos'è uno ioT?
TRiG

4
@Maythux xkcd.com/927
un CVn

4

Prova a passare a Ubuntu Core scattante oggi se stai pensando di creare qualcosa per gli altri da usare, in altre parole, un prodotto .

Il software viene distribuito in modalità istantanea , che, date le sue caratteristiche, possiamo avere fiducia che l'installazione e gli aggiornamenti funzioneranno su ogni sistema come previsto dal creatore originale. Altre caratteristiche sono la sicurezza, come l'esecuzione isolata e le interfacce pulite per comunicare con il sistema e configurare gli snap installati.

Per ottenere una cosa del genere, gli snap differiscono molto da quelli molto diversi da un pacchetto debian:

  • gli snap vivono in una posizione determinata dal sistema isolato mentre i pacchetti debian possono diffondere file ovunque.
  • non ci sono script del manutentore per gli snap.

Tornando alla domanda originale di usare o non usare , se hai intenzione di sostituire il tuo desktop con Ubuntu Core ti suggerisco di restare con il normale desktop di Ubuntu. Ubuntu Core, personalmente mi piace chiamare, la nulla distro , perché da sola non è niente, ma fornisce un ottimo componente per offrire qualcosa ed è per questo che è popolare in IoT in questi giorni.


3
In altre parole è proprio come fa Windows?
Vishnudev K,

1
Questa è una domanda ampia. Cosa fa Windows in particolare?
sergiusens,

4
Sto installando VLC in Windows, installa tutti i pacchetti necessari per riempire lo spazio. dove come in Linux otteniamo solo i pacchetti che non abbiamo. È abbastanza conveniente in termini di aggiornamenti e utilizzo di hdd.
Vishnudev K,

2
Simile, si. Non è diverso da installare un apksul telefono. Le applicazioni possono evolversi con le loro dipendenze quando lo ritengono opportuno. Ci sono modi per dividerlo però, come usando gli frameworksnap, questo richiede una stretta revisione della sicurezza. La differenza con Windows è che qui non ci sono installatori potenzialmente in grado di atterrare dove vogliono.
sergiusens,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.